File size: 3,867 Bytes
0d89931
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
from pathlib import Path
from deepengineer.backend.gradio_tools import parse_markdown_images
from deepengineer.deepsearch.main_agent import create_output_image_path

markdown = """
# Nuclear Reactor: Structure and Components

A nuclear reactor is a complex system designed to initiate and control a sustained nuclear chain reaction. The primary purpose of a 
nuclear reactor is to generate heat through nuclear fission, which is then used to produce electricity. Below is a detailed explanation 
of the main components and their functions, along with a simplified diagram.

## Simplified Diagram of a Nuclear Reactor

![Simplified Diagram of a Nuclear Reactor](nuclear_reactor_diagram.png)

## Main Components and Their Functions

### 1. Reactor Core
The reactor core is the central part of the nuclear reactor where nuclear fission occurs. It contains:
- **Nuclear Fuel**: Typically uranium oxide pellets arranged in fuel rods.
- **Control Rods**: Made of materials like cadmium or boron, these rods absorb neutrons and regulate the fission rate.
- **Moderator**: A material (often water) that slows down neutrons to sustain the chain reaction.

### 2. Pressure Vessel
A robust container that houses the reactor core and coolant under high pressure. It ensures the integrity and safety of the reactor core.

### 3. Coolant
A fluid (usually water) that circulates through the core to absorb the heat generated by fission. The heated coolant is then used to 
produce steam.

### 4. Steam Generator
The heat from the coolant is transferred to a secondary water loop, which turns into steam. This steam is used to drive turbines.

### 5. Turbine
The steam produced in the steam generator is directed onto the blades of a turbine, causing it to spin. The turbine is connected to a 
generator, which produces electricity.

### 6. Cooling Tower
Excess heat that is not converted into electricity is dissipated in the cooling tower. The cooling tower releases this heat into the 
atmosphere.

### 7. Containment Structure
A steel-reinforced concrete dome or enclosure that isolates the reactor from the environment. It is designed to contain any radioactive 
materials and prevent their release.

## How a Nuclear Reactor Works

1. **Nuclear Fission**: In the reactor core, uranium atoms undergo fission, releasing a significant amount of heat energy.
2. **Heat Transfer**: The coolant absorbs this heat and transfers it to the steam generator.
3. **Steam Production**: In the steam generator, water is converted into steam using the heat from the coolant.
4. **Electricity Generation**: The steam drives the turbine, which is connected to a generator, producing electricity.
5. **Cooling**: Excess heat is dissipated in the cooling tower, and the cycle repeats.

## Sources

- [World Nuclear Association - Nuclear Power 
Reactors](https://world-nuclear.org/information-library/nuclear-fuel-cycle/nuclear-power-reactors/nuclear-power-reactors.aspx)
- [Britannica - Nuclear Reactor](https://www.britannica.com/technology/nuclear-reactor)
- [U.S. Department of Energy - How Does a Nuclear Reactor 
Work?](https://www.energy.gov/ne/articles/nuclear-101-how-does-nuclear-reactor-work)
- [Wikipedia - Nuclear Reactor](https://en.wikipedia.org/wiki/Nuclear_reactor)
- [BYJU'S - Introduction to Nuclear Reactor](https://byjus.com/physics/nuclear-reactor-based-on-nuclear-fission/)

This simplified diagram and explanation provide a basic understanding of the structure and function of a nuclear reactor.
"""


def test_parse_markdown_images():
    image_dir = create_output_image_path(4351840)
    real_image_path = image_dir / "nuclear_reactor_diagram.png"
    output_image_path = "data/images_4351840/nuclear_reactor_diagram.png"
    assert real_image_path.exists()
    parsed_markdown = parse_markdown_images(markdown, image_dir)
    assert output_image_path in parsed_markdown