Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
425d958
New updates to the nuclear thermal plant model
Apr 14, 2026
3d0af8e
Updates including test location, but test is not ready to be run yet
Apr 21, 2026
902d1ee
Updates with separate nuclear, HTSE, definitions but intending to hav…
Apr 28, 2026
6c8dd2a
May 12 update to nuclear and HTSE new models
May 12, 2026
3831202
Updates to the nuclear-htse system with the new configuration startin…
May 14, 2026
5d148ee
A couple more adjustments that should allow for the HTSE unit to demo…
May 14, 2026
13f00c2
merge in nuclear+htse branch
jaredthomas68 May 19, 2026
7df8f82
update for current h2i develop
jaredthomas68 May 19, 2026
9978339
merge in develop
jaredthomas68 May 19, 2026
fee9c51
Merge pull request #2 from jaredthomas68/nuchtse-develop
mikkdm May 19, 2026
6c4bd73
Merge branch 'nuchtse-develop' into nuchtse
jaredthomas68 May 19, 2026
e123155
Merge pull request #3 from jaredthomas68/nuchtse
mikkdm May 19, 2026
8c0d981
working example, LCOH too low
jaredthomas68 May 20, 2026
89c72e6
general connection splitting
jaredthomas68 May 20, 2026
bcbbab0
resolve conflicts
jaredthomas68 Jun 2, 2026
520ff99
remove split indices work
jaredthomas68 Jun 2, 2026
aee36a3
get example working with constant sell price
jaredthomas68 Jun 2, 2026
e254417
add tests for nuclear/htse example
jaredthomas68 Jun 2, 2026
d3bdb24
updates to work with new changes to H2I
jaredthomas68 Jun 11, 2026
a10669f
Merge pull request #5 from jaredthomas68/nucdev
mikkdm Jun 11, 2026
d357dca
add test
jaredthomas68 Jun 11, 2026
5b7b812
Merge branch 'develop' into nucdev
jaredthomas68 Jun 16, 2026
6d6011a
Merge pull request #6 from jaredthomas68/nucdev
mikkdm Jun 16, 2026
cd7ec70
resolve merge conflict
jaredthomas68 Jun 17, 2026
8bdbbe3
update naming and units
jaredthomas68 Jun 17, 2026
bba9f26
Merge branch 'develop' into nucdev
jaredthomas68 Jun 23, 2026
183b45e
merge nucdev and resolve conflicts
jaredthomas68 Jun 23, 2026
0082741
update test value since the original test value came from running an …
jaredthomas68 Jun 23, 2026
f6829b4
resolve merge conflict
jaredthomas68 Jun 23, 2026
4c5f108
Merge pull request #7 from jaredthomas68/nucdev
mikkdm Jun 23, 2026
f459eff
add grid sell and demand component, leave heat demand commented out f…
jaredthomas68 Jun 24, 2026
c7219b2
adjust connections to not include heat demand
jaredthomas68 Jun 24, 2026
1cc6659
Some modifiers on nuclear units, and step changes to update HTSE unit
Jun 24, 2026
8f6e544
merge
jaredthomas68 Jun 24, 2026
fbf293f
update units of heat
jaredthomas68 Jun 24, 2026
90378d8
include h2 storage
jaredthomas68 Jun 24, 2026
d3580f9
HTSE and nuclear model updates, HTSE system now outputs consumed elec…
Jun 25, 2026
ccb37ef
Continued updates
Jun 25, 2026
972519d
Nuclear & HTSE updates, along with test value updated
Jun 25, 2026
943bd3d
updated heat demand to piont at hydrogen_demand, which can be dynamic…
Jun 25, 2026
843f154
resolve conflicts
jaredthomas68 Jun 29, 2026
16f3780
update example
jaredthomas68 Jun 30, 2026
c96ee17
refining nuclear htse example system
jaredthomas68 Jul 1, 2026
2deb7c7
Merge branch 'develop' into main
johnjasa Jul 7, 2026
32b4647
Adding figures to documentation on the thermal nuclear and HTSE models.
Jul 8, 2026
6043d37
minor adjustments for deliverable
jaredthomas68 Jul 9, 2026
693c943
Simplified documentation files
Jul 16, 2026
ec08b10
Merge remote-tracking branch 'mikkdm/main' into nuchtse
jaredthomas68 Jul 20, 2026
272ecf0
combine nuclear tech model doc pages
jaredthomas68 Jul 20, 2026
a084eb7
clean up nuclear htse example
jaredthomas68 Jul 20, 2026
7252335
remove unneeded finance model and add print statements
jaredthomas68 Jul 20, 2026
5ce232a
cleanup
jaredthomas68 Jul 20, 2026
c2c49d2
resolve conflict
jaredthomas68 Jul 20, 2026
f99290f
add doc strings for nuclear_thermal and htse
jaredthomas68 Jul 20, 2026
222e3cd
add unit tests for nuclear and htse
jaredthomas68 Jul 20, 2026
1247935
update changelog and minor updates
jaredthomas68 Jul 20, 2026
fbe572b
update class hierarchy
jaredthomas68 Jul 20, 2026
799f3aa
minor doc corrections
jaredthomas68 Jul 21, 2026
c425b65
cleanup
jaredthomas68 Jul 21, 2026
4c5283d
finish example rename
jaredthomas68 Jul 21, 2026
b9ae46c
merge from develop
jaredthomas68 Jul 24, 2026
3147f2a
update docs and figs based on PR feedback
jaredthomas68 Jul 24, 2026
ef4a7c1
remove API details from nuclear and htse doc pages and replace with l…
jaredthomas68 Jul 24, 2026
1751b8d
correct rate units from galUS to galUS/h
jaredthomas68 Jul 24, 2026
580ebdb
update htse electricity produced test value
jaredthomas68 Jul 24, 2026
e1e52a2
update pipe units for water from galUS to galUS/h
jaredthomas68 Jul 24, 2026
a330d0c
update changelog
jaredthomas68 Jul 24, 2026
79f3421
update water rate units and update changelog
jaredthomas68 Jul 24, 2026
4c3344b
merge from develop
jaredthomas68 Jul 27, 2026
b0a0ede
resolve conflict
jaredthomas68 Jul 28, 2026
cc247a7
resolve conflict
jaredthomas68 Jul 28, 2026
c2f654c
Update docs/technology_models/h2_htse.md
jaredthomas68 Jul 29, 2026
47186ad
Update docs/technology_models/h2_htse.md
jaredthomas68 Jul 29, 2026
74a001b
Update docs/technology_models/h2_htse.md
jaredthomas68 Jul 29, 2026
3b72cb7
Update docs/technology_models/nuclear.md
jaredthomas68 Jul 29, 2026
dce9c95
minor changes based on pr feedback
jaredthomas68 Jul 29, 2026
779f1c7
Merge remote-tracking branch 'myfork/nuchtse' into nuchtse
jaredthomas68 Jul 29, 2026
1faba3e
Update h2integrate/converters/hydrogen/htse_electrolyzer.py
jaredthomas68 Jul 29, 2026
baec34c
Merge remote-tracking branch 'myfork/nuchtse' into nuchtse
jaredthomas68 Jul 29, 2026
4b66e1d
doc update and code clean up per PR feedback
jaredthomas68 Jul 29, 2026
5963469
correct varopex in nuclear plant thermal to be annual regardless of t…
jaredthomas68 Jul 29, 2026
6b2e725
adjust nuclear commodity units to avoid manual unit conversions
jaredthomas68 Jul 30, 2026
518eb41
resolve merge conflict
jaredthomas68 Jul 30, 2026
f2ed376
small changes for nuclear elec docs
johnjasa Jul 31, 2026
e17a165
remove nuclear_reactor_ from input names
jaredthomas68 Jul 31, 2026
a799753
Merge remote-tracking branch 'myfork/nuchtse' into nuchtse
jaredthomas68 Jul 31, 2026
d782827
Update h2integrate/converters/hydrogen/htse_electrolyzer.py
jaredthomas68 Jul 31, 2026
ffb4540
remove unused input
jaredthomas68 Jul 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
- Added `calc_azimuth_angle()` to `PYSAMSolarPlantPerformanceModel` to provide default azimuth angle based on whether the site is in the northern or southern hemisphere [PR 806](https://github.com/NatLabRockies/H2Integrate/pull/806)
- Corrected water rate units in pipe feedstock from galUS to galUS/h [PR 813](https://github.com/NatLabRockies/H2Integrate/pull/813)
- Corrected timestamps in OpenMeteo resource downloads when resource data is downloaded in local time [PR #814](https://github.com/NatLabRockies/H2Integrate/pull/814)
- Added a thermal-nuclear (light-water reactor) model and a high-temperature steam electrolysis model. [PR 807](https://github.com/NatLabRockies/H2Integrate/pull/807)

## 0.8 [April 15, 2026]

Expand Down
4 changes: 2 additions & 2 deletions docs/_static/class_hierarchy.html

Large diffs are not rendered by default.

103 changes: 103 additions & 0 deletions docs/technology_models/h2_htse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
# High-Temperature Steam Electrolysis (HTSE) Model

The HTSE model in H2Integrate represents hydrogen production from high-temperature steam electrolysis using electricity and thermal input. In this model, HTSE is represented as a solid oxide electrolyzer cell (SOEC) process. It is implemented as two components:

- `HTSEPerformanceModel`
- `HTSECostModel`

The performance model converts electricity and heat into hydrogen, water demand, and operating signals for connected technologies. The cost model computes installed capital cost and fixed operating cost from installed HTSE size.

## Model Overview

This is a simplified HTSE representation with constant nominal specific energy requirements:

- `nominal_electricity_required` in `kWh/kg`
- `nominal_heat_required` in `kWh/kg`

At each timestep, hydrogen production is determined from:

- installed HTSE size
- available `electricity_in`
- available `heat_in`
- optional `hydrogen_command_value` when system-level control is enabled
- turndown behavior

The model also exposes internal operating signals that are useful for coupled systems, including:

- `heat_demand`
- `electricity_demand`
- `electricity_consumed`
- `water_demand`

```{note}
The current implementation uses `electricity_demand` to report installed electrical demand equal to nameplate size, while `electricity_consumed` reports the timestep electricity required by the energy balance. For coupled analyses, `electricity_consumed` is the more literal consumption signal.
```

## Performance Model

To use this model, within your `tech_config.yaml` file set:

- performance model: `HTSEPerformanceModel`

The HTSE performance model inherits from the electrolyzer base classes, so it is treated as a hydrogen-producing, dispatchable technology with an `electricity_in` input and a `hydrogen_out` output.

```{figure} images/HTSE.png
:alt: HTSE schematic
:width: 100%
:align: center
```

### Dispatch and sizing behavior

Installed size is first calculated as:

$$
\text{electrolyzer\_size\_mw} = n_\text{clusters} \times \text{cluster\_rating\_MW}
$$

The model supports additional sizing modes inherited from the resizeable performance base class:

- `normal`
- `resize_by_max_feedstock`
- `resize_by_max_commodity`

In the current implementation:

- `resize_by_max_feedstock` supports sizing from `electricity`
- `resize_by_max_commodity` supports sizing from `hydrogen`

When system-level control is enabled, hydrogen demand is taken from `hydrogen_command_value`. Otherwise, the model assumes demand equal to rated hydrogen production implied by installed electrical size.

### Energy balance behavior

The model forms:

$$
\text{total\_specific\_energy} = \text{nominal\_heat\_required} + \text{nominal\_electricity\_required}
$$

and computes a nominal heat-to-electricity ratio:

$$
\text{ratio\_heat\_elec\_nom} = \frac{\text{nominal\_heat\_required}}{\text{nominal\_electricity\_required}}
$$

Available heat is used first up to the requested `heat_demand`. The remaining required energy is supplied electrically when possible. Hydrogen production is then limited by the combined energy available and by the turndown threshold.

```{note}
The current implementation is intentionally simple and should be interpreted as a reduced-order plant representation, not a detailed SOEC stack model with thermal transients, degradation coupling, startup dynamics, or detailed balance-of-plant behavior.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For those unfamiliar with SOEC, could you please define it somewhere on this page? It's used here and in one diagram

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

```

### API details
For API details, see the [`HTSEPerformanceModel` and `HTSECostModel` API documentation](../_autosummary/h2integrate.converters.hydrogen.htse_electrolyzer).

## Cost Model

To use this model, in your `tech_config.yaml` file, set:

- cost model: `HTSECostModel`

The cost model is size-based and currently depends only on installed HTSE size.

### API details
For API details, see the [`HTSEPerformanceModel` and `HTSECostModel` API documentation](../_autosummary/h2integrate.converters.hydrogen.htse_electrolyzer).
Binary file added docs/technology_models/images/HTSE.png

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would be nice to have the pump and heat exchanger labeled for those not as familiar with the setup.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Label the heat exchanger? Also, what does the red dashed line represent?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done. I also made a note in the doc page that the red dashed arrow represents the heat extraction (upstream of the LPT).

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
154 changes: 66 additions & 88 deletions docs/technology_models/nuclear.md
Original file line number Diff line number Diff line change
@@ -1,94 +1,72 @@
# Nuclear power plant model

The nuclear power plant model provides a simple, size-based performance model and a type-based cost model.
Cost defaults are intended to be populated from literature, such as Quinn et al. (2023) on SMR LWR techno-economic analysis.
See the paper here: [Quinn et al. (2023)](#references).

To use this model, set the performance model to `QuinnNuclearPerformanceModel` and the cost model to `QuinnNuclearCostModel` in your `tech_config`.

## Performance model

The performance model limits electricity production by the rated capacity and an optional demand signal.

**Inputs**
| Name | Shape | Units | Description |
| --- | --- | --- | --- |
| `system_capacity` | scalar | kW | Rated electrical capacity. |
| `electricity_set_point` | array[n_timesteps] | kW | Optional set point profile; defaults to rated capacity. |

**Outputs**
| Name | Shape | Units | Description |
| --- | --- | --- | --- |
| `electricity_out` | array[n_timesteps] | kW | Electricity produced, capped at `system_capacity`. |
| `rated_electricity_production` | scalar | kW | Rated production (capacity). |
| `total_electricity_produced` | scalar | kW*h | Sum of production over the simulation. |
| `annual_electricity_produced` | array[plant_life] | kW*h/year | Annualized production. |
| `capacity_factor` | array[plant_life] | unitless | Ratio of actual to maximum production. |
| `replacement_schedule` | array[plant_life] | unitless | Placeholder replacement schedule (zeros). |
| `operational_life` | scalar | yr | Operational life (defaults to plant life). |

## Cost model

The cost model uses direct cost parameters to compute capital and operating costs.
It supports optional scaling of capex with size using a reference capacity and scaling exponent.

**Inputs**
| Name | Shape | Units | Description |
| --- | --- | --- | --- |
| `system_capacity` | scalar | kW | Plant capacity used for cost scaling. |
| `electricity_out` | array[n_timesteps] | kW | Output from performance model. |

**Cost parameters (tech_config)**
| Key | Type | Description |
| --- | --- | --- |
| `system_capacity_kw` | float | Rated electrical capacity (kW). |
| `capex_per_kw` | float | Capital cost per kW. |
| `fixed_opex_per_kw_year` | float | Fixed O&M per kW per year. |
| `variable_opex_per_mwh` | float | Variable O&M per MWh. |
| `reference_capacity_kw` | float | Reference capacity for capex scaling (defaults to `system_capacity_kw`). |
| `capex_scaling_exponent` | float | Capex scaling exponent (defaults to 1.0). |
| `cost_year` | int | Dollar year for the input costs. |

The capex calculation follows:
# Nuclear power plant models

H2Integrate currently includes two nuclear converter options:

- `QuinnNuclearPerformanceModel` with `QuinnNuclearCostModel` for an electricity-only nuclear plant, based on Quinn et al. (2023)
- `SimpleThermalNuclearReactorPerformanceModel` with `SimpleThermalNuclearReactorCostModel` for a thermal reactor that can trade off electricity production and process heat delivery. This is a simplified thermal reactor representation intended for coupled workflows such as nuclear plus a high-temp steam electrolyzer (HTSE).

## Quinn electricity-only nuclear model

Use this model by setting:

- performance model: `QuinnNuclearPerformanceModel`
- cost model: `QuinnNuclearCostModel`
Comment on lines +10 to +13

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Use this model by setting:
## Example tech_config
- performance model: `QuinnNuclearPerformanceModel`
- cost model: `QuinnNuclearCostModel`

With the example tech_config below I'd say this isn't needed

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, I removed the example tech config instead as I think that duplicate API documentation.


This model produces electricity only and clips commanded output to rated plant capacity.

### API details
For API details, see the [`QuinnNuclearPerformanceModel` and `QuinnNuclearCostModel` API documentation](../_autosummary/h2integrate.converters.nuclear.nuclear_plant).

(references)=
### References
- Quinn, J. et al., 2023. Small modular reactor light water reactor techno-economic analysis. Applied Energy 120669. https://doi.org/10.1016/j.apenergy.2023.120669

## Simple thermal nuclear reactor model

You can use this model by setting (in your `tech_config.yaml`):

- performance model: `SimpleThermalNuclearReactorPerformanceModel`
- cost model: `SimpleThermalNuclearReactorCostModel`

This model represents a reactor with:

- a high-pressure electric conversion stage
- a low-pressure electric conversion stage
- an extractable process heat stream, extracted upstream of the low-pressure turbine stages (dashed red arrow in the figure)

The model was developed to provide both heat and electricity for high-temperature steam electrolysis as modeled in `HTSEPerformanceModel` and `HTSEPerformanceModel`. The integrated thermal-nuclear and HTSE system is shown in the figure below. However, the models were implemented in such a way as to allow integration with other technologies.

```{figure} images/nuclear_htse_system_diagram.png
:alt: System diagram showing a thermal nuclear reactor with integrated high-temperature steam electrolysis.
:width: 100%
:align: center
```

It supports two operating modes:

- `heat`: In `heat` mode, delivered heat is limited by available process heat and requested heat demand. Remaining low-pressure heat is converted to electricity.

- `electricity`: In `electricity` mode, electricity is limited by the command value and rated capacity. Remaining process heat is then outputted as `heat_out`.

```{figure} images/ThermalNucReactor-H2I.png
:alt: Thermal nuclear reactor schematic
:width: 100%
:align: center
```

### Thermal reactor dispatch logic

The model computes a combined electric efficiency:

$$
C_{\text{capex}} = (c_{\text{capex}} \cdot (P / P_{\text{ref}})^{(k-1)}) \cdot P
\eta_{combined} = \eta_{hp} + (1 - \eta_{hp}) \eta_{lp}
$$

Where $c_{\text{capex}}$ is `capex_per_kw`, $P$ is plant capacity (kW), $P_{\text{ref}}$ is `reference_capacity_kw`, and $k$ is `capex_scaling_exponent`.

**Outputs**
| Name | Shape | Units | Description |
| --- | --- | --- | --- |
| `CapEx` | scalar | USD | Total capital expenditure. |
| `OpEx` | scalar | USD/year | Fixed plus variable O&M. |
| `VarOpEx` | array[plant_life] | USD/year | Variable O&M (repeated each year). |
| `cost_year` | scalar | year | Dollar year of costs. |

## Example tech_config

```yaml
technologies:
nuclear:
performance_model:
model: "QuinnNuclearPerformanceModel"
cost_model:
model: "QuinnNuclearCostModel"
model_inputs:
performance_parameters:
system_capacity_kw: 300000.0
capacity_factor: 0.9
cost_parameters:
system_capacity_kw: 450000.0
capex_per_kw: 6000.0
fixed_opex_per_kw_year: 120.0
variable_opex_per_mwh: 2.5
reference_capacity_kw: 300000.0
capex_scaling_exponent: 0.9
cost_year: 2023
```
Then infers thermal capacity from rated electrical capacity:

(references)=
## References
$$
P_{thermal} = \frac{P_{electric,rated}}{\eta_{combined}}
$$

- Quinn, J. et al., 2023. Small modular reactor light water reactor techno-economic analysis. Applied Energy 120669. https://doi.org/10.1016/j.apenergy.2023.120669
### API details
For API details, see the [`SimpleThermalNuclearReactorPerformanceModel` and `SimpleThermalNuclearReactorCostModel` API documentation](../_autosummary/h2integrate.converters.nuclear.nuclear_plant_thermal).
4 changes: 4 additions & 0 deletions docs/user_guide/model_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,12 +150,14 @@ auto-generated API page.
- `hydrogen`: hydrogen production
- performance models:
+ {py:class}`~h2integrate.converters.hydrogen.pem_electrolyzer.ECOElectrolyzerPerformanceModel` - An OpenMDAO component that wraps the PEM electrolyzer model.
+ {py:class}`~h2integrate.converters.hydrogen.htse_electrolyzer.HTSEPerformanceModel` - A simplified high-temperature steam electrolysis (HTSE) model.
+ {py:class}`~h2integrate.converters.hydrogen.h2_fuel_cell.LinearH2FuelCellPerformanceModel` - Performance model for a hydrogen fuel cell.
+ {py:class}`~h2integrate.converters.hydrogen.steam_methane_reformer.SteamMethaneReformerPerformanceModel` - Performance model for steam methane reforming (SMR) hydrogen production plants.
- cost models:
+ {py:class}`~h2integrate.converters.hydrogen.basic_cost_model.BasicElectrolyzerCostModel` - An OpenMDAO component that computes the cost of a PEM electrolyzer.
+ {py:class}`~h2integrate.converters.hydrogen.custom_electrolyzer_cost_model.CustomElectrolyzerCostModel` - An OpenMDAO component that computes the cost of a PEM electrolyzer.
+ {py:class}`~h2integrate.converters.hydrogen.h2_fuel_cell.H2FuelCellCostModel` - Cost model for a hydrogen fuel cell system.
+ {py:class}`~h2integrate.converters.hydrogen.htse_electrolyzer.HTSECostModel` - A simple size-based cost model for HTSE.
+ {py:class}`~h2integrate.converters.hydrogen.singlitico_cost_model.SingliticoCostModel` - An OpenMDAO component that computes the cost of a PEM electrolyzer.
+ {py:class}`~h2integrate.converters.hydrogen.steam_methane_reformer.SteamMethaneReformerCostModel` - Cost model for steam methane reforming hydrogen production plants.
- combined performance and cost models:
Expand Down Expand Up @@ -202,8 +204,10 @@ auto-generated API page.
- `nuclear`: nuclear power plants
- performance models:
+ {py:class}`~h2integrate.converters.nuclear.nuclear_plant.QuinnNuclearPerformanceModel` - Simple nuclear performance model producing electricity.
+ {py:class}`~h2integrate.converters.nuclear.nuclear_plant_thermal.SimpleThermalNuclearReactorPerformanceModel` - Simple thermal nuclear reactor model with heat and electricity outputs.
- cost models:
+ {py:class}`~h2integrate.converters.nuclear.nuclear_plant.QuinnNuclearCostModel` - Cost model for nuclear power plants.
+ {py:class}`~h2integrate.converters.nuclear.nuclear_plant_thermal.SimpleThermalNuclearReactorCostModel` - Simple cost model for the thermal nuclear reactor.

- `solar`: solar-PV panels
- performance models:
Expand Down
52 changes: 52 additions & 0 deletions examples/36_nuclear_reactor_htse/driver_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: driver_config
description: Runs a thermal nuclear plant with simple optimization
general:
folder_output: nuclear_thermal_plant
### Use This For Parameter Sweep
# driver:
# design_of_experiments:
# flag: true
# generator: "FullFact" #type of generator to use
# levels: 3 # input is specific to this generator
# debug_print: true
driver:
optimization:
flag: false
solver: COBYLA
tol: 0.1
catol: 100000
max_iter: 100
rhobeg: 0.1
disp: 3
debug_print: true
design_variables:
nuclear:
electricity_command_value:
flag: true
lower: 1000
upper: 500000
units: kW
htse:
n_clusters:
flag: true
lower: 2.0
upper: 40.0
units: unitless
# Add constraints later to the code
# constraints:
# nuclear:
# electricity_out:
# flag: true
# upper: 5000.0
# units: MW
# ramping_rate:
# flag: true
# upper: 500
# units: kW/hr
# electrolyzer:
# total_hydrogen_produced:
# flag: false
# lower: 60500000.
# units: kg/year
objective:
name: finance_subgroup_hydrogen.LCOH
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
name: H2Integrate_config
system_summary: This is an example plant with a nuclear plant capable of dispatching thermal and electrical energy to an HTSE
system
driver_config: driver_config.yaml
technology_config: tech_config.yaml
plant_config: plant_config.yaml
Loading
Loading