Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
22bacf2
Add Mirror reference model for SQLite ACCERT
JiaZhou-PU Jul 31, 2026
01ce04f
Add Mirror reference model for SQLite ACCERT
JiaZhou-PU Jul 31, 2026
1621b7f
Fix Mirror account cost scaling and rollup behavior
JiaZhou-PU Jul 31, 2026
338baec
Generate Mirror defaults from input function
JiaZhou-PU Jul 31, 2026
4845d79
Add Mirror variable algorithms
JiaZhou-PU Jul 31, 2026
c046065
Use ACCERT variable names in Mirror algorithms
JiaZhou-PU Jul 31, 2026
44e9113
Decompose Mirror vacuum pump account variables
JiaZhou-PU Jul 31, 2026
21444a4
Decompose Mirror cost factor variables
JiaZhou-PU Jul 31, 2026
c4ab957
Decompose Mirror magnet account variables
JiaZhou-PU Jul 31, 2026
ceca3fe
Decompose Mirror leaf account algorithms
JiaZhou-PU Aug 1, 2026
78209ea
Remove Mirror rollup account algorithms
JiaZhou-PU Aug 1, 2026
c525a46
Prune unused Mirror variable algorithms
JiaZhou-PU Aug 1, 2026
9cdda14
Use PyFECONS scalar defaults for Mirror reactor equipment
JiaZhou-PU Aug 1, 2026
84e2e0d
Move Mirror defaults into table builder
JiaZhou-PU Aug 2, 2026
d65da8c
Remove legacy Mirror dataframe helpers
JiaZhou-PU Aug 2, 2026
992f024
Make Mirror shield and expander costs super variables
JiaZhou-PU Aug 2, 2026
be191ab
Restore legacy scalar structure for Mirror C22.1.1
JiaZhou-PU Aug 2, 2026
752fd28
Remove unused Mirror C22.1.1 placeholder variables
JiaZhou-PU Aug 2, 2026
c4b9dcb
Prune unused blank Mirror variable rows
JiaZhou-PU Aug 2, 2026
c0e18c4
Improve Mirror variable descriptions
JiaZhou-PU Aug 2, 2026
cf5d91f
Validate Mirror ACCERT defaults against TEAm
JiaZhou-PU Aug 5, 2026
795f51e
clean up
JiaZhou-PU Aug 5, 2026
ce5d51c
Refresh Mirror SQLite database defaults
JiaZhou-PU Aug 6, 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

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.

@NybergWISC This file will be deleted after review; put it here for easy comparison.

Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
account,account_name,accert_cost_musd,legacy_cost_musd,difference_musd,relative_difference_percent,status
10,Pre-Construction Costs,24.186117539999998,24.18611754015809,-1.580922059929435e-10,-6.536485474795643e-10,match
11,Land and Land Rights,1.18611754,1.186117540158087,-1.5808709896703022e-10,-1.3328114087745485e-08,match
12,Site Permits,10.0,10.0,0.0,0.0,match
13,Plant Licensing,0.0,0.0,0.0,0.0,match
14,Plant Permits,5.0,5.0,0.0,0.0,match
15,Plant Studies,5.0,5.0,0.0,0.0,match
16,Plant Reports,2.0,2.0,0.0,0.0,match
17,Other Pre-Construction Costs,1.0,1.0,0.0,0.0,match
19,Contingency on Pre-Construction Costs,0.0,0.0,0.0,0.0,match
20,Capitalized Direct Costs (CDC),1474.1300122589957,1474.130012258995,6.821210263296962e-13,4.6272786026817015e-14,match
21,Structures and Improvements,100.08839411800456,100.0883941180045,5.684341886080802e-14,5.6793216997556644e-14,match
21.1,Site Preparation/Yard Work,37.55241442478681,37.55241442478681,0.0,0.0,match
21.2,Heat Island Building,26.174593337873794,26.17459333787379,3.552713678800501e-15,1.3573138015710216e-14,match
21.3,Turbine Generator Building,7.5665312646958505,7.56653126469585,8.881784197001252e-16,1.1738250839512355e-14,match
21.4,Heat Exchanger Building,5.296571885287096,5.296571885287095,8.881784197001252e-16,1.676892977073193e-14,match
21.5,Power Supply and Energy Storage,1.51330625293917,1.51330625293917,0.0,0.0,match
21.6,Reactor Auxiliaries,0.756653126469585,0.756653126469585,0.0,0.0,match
21.7,Hot Cell,13.087296668936895,13.0872966689369,-5.329070518200751e-15,-4.071941404713063e-14,match
21.8,Reactor Services,2.620261752774304,2.620261752774304,0.0,0.0,match
21.9,Service Water,0.04203628480386583,0.04203628480386583,0.0,0.0,match
21.10,Fuel Storage,0.1541330442808414,0.1541330442808414,0.0,0.0,match
21.11,Control Room,0.1261088544115975,0.1261088544115975,0.0,0.0,match
21.12,Onsite AC Power,0.11209675947697556,0.1120967594769756,-4.163336342344337e-17,-3.7140559296894536e-14,match
21.13,Administration,0.6165321771233656,0.6165321771233656,0.0,0.0,match
21.14,Site Services,0.22419351895395118,0.2241935189539511,8.326672684688674e-17,3.7140559296894555e-14,match
21.15,Cryogenics,0.3362902784309266,0.3362902784309266,0.0,0.0,match
21.16,Security,0.1261088544115975,0.1261088544115975,0.0,0.0,match
21.17,Ventilation Stack,3.7832656323479252,3.783265632347925,4.440892098500626e-16,1.1738250839512355e-14,match
22,Heat Island Plant Equipment,1306.0449137280875,1306.044913728087,4.547473508864641e-13,3.481866098987317e-14,match
22.1,Heat Island Components,1098.858920919871,1098.858920919871,0.0,0.0,match
22.1.1,First Wall and Blanket,446.188406030979,446.1884060309789,1.1368683772161603e-13,2.547955890044412e-14,match
22.1.2,Magnet Radiation Shield,41.347938004038724,41.34793800403872,7.105427357601002e-15,1.7184478115709105e-14,match
22.1.3,Coils,272.03997684210526,272.0399768421053,-5.684341886080802e-14,-2.0895244706552997e-14,match
22.1.3.1,HF Coils,116.4,116.4,0.0,0.0,match
22.1.3.2,LF Coils,12.50524,12.50524,0.0,0.0,match
22.1.3.3,CC Coils,143.13473684210524,143.1347368421053,-5.684341886080802e-14,-3.971322413755725e-14,match
22.1.4,Supplemental Heating,105.963,105.963,0.0,0.0,match
22.1.4.1,NBI,105.963,105.963,0.0,0.0,match
22.1.4.2,ICRH,0.0,0.0,0.0,0.0,match
22.1.4.3,ECH,0.0,0.0,0.0,0.0,match
22.1.5,Primary Structure and Support,0.0,0.0,0.0,0.0,match
22.1.6,Vacuum System,2.0318272568698563,2.031827256869856,4.440892098500626e-16,2.1856642012678137e-14,match
22.1.6.2,Vessel Refrigerators,0.0,0.0,0.0,0.0,match
22.1.6.3,Primary Vacuum Pumps,1.6898272568698565,1.689827256869856,4.440892098500626e-16,2.6280154261014185e-14,match
22.1.6.4,Backing Vacuum Pumps,0.342,0.342,0.0,0.0,match
22.1.7,Power Supplies,0.0,0.0,0.0,0.0,match
22.1.8,Divertor,0.0,0.0,0.0,0.0,match
22.1.9,Direct Energy Convertor,78.09256483797613,78.09256483797611,1.4210854715202004e-14,1.8197449071734573e-14,match
22.1.11,Assembly and Installation Costs,153.19520794790242,153.1952079479024,2.842170943040401e-14,1.855260997463411e-14,match
22.2,Main and Secondary Coolant,30.661451500676122,30.66145150067612,3.552713678800501e-15,1.158690637565596e-14,match
22.3,Auxiliary Cooling Systems,0.3521982634809552,0.3521982634809552,0.0,0.0,match
22.4,Radioactive Waste Treatment,0.6275532694751564,0.6275532694751564,0.0,0.0,match
22.5,Fuel Handling and Storage,88.65405229068641,88.65405229068641,0.0,0.0,match
22.6,Other Heat Island Equipment,1.8907374838973947,1.890737483897395,-2.220446049250313e-16,-1.1743809323932623e-14,match
22.7,Instrumentation and Control,85.0,85.0,0.0,0.0,match
23,Turbine Plant Equipment,35.289461092845364,35.28946109284536,7.105427357601002e-15,2.0134700665750794e-14,match
24,Electric Plant Equipment,8.701510954400227,8.701510954400227,0.0,0.0,match
25,Miscellaneous Plant Equipment,6.123285486429789,6.123285486429789,0.0,0.0,match
26,Heat Rejection,12.88244687922834,12.88244687922834,0.0,0.0,match
27,Special Materials,0.0,0.0,0.0,0.0,match
28,Digital Twin/Simulator,5.0,5.0,0.0,0.0,match
29,Contingency on Direct Capital Costs,0.0,0.0,0.0,0.0,match
30,Capitalized Indirect Service Costs (CISC),75.18916312710233,75.18916312710233,0.0,0.0,match
31,Field Indirect Costs,15.037832625420467,15.03783262542047,-3.552713678800501e-15,-2.3625171042234314e-14,match
32,Construction Supervision,37.594581563551166,37.59458156355117,-7.105427357601002e-15,-1.8900136833787453e-14,match
33,Commissioning and Start-Up Costs,0.0,0.0,0.0,0.0,match
34,Demonstration Test Run,0.0,0.0,0.0,0.0,match
35,Design Services Offsite,22.5567489381307,22.5567489381307,0.0,0.0,match
36,PM/CM Services Offsite,0.0,0.0,0.0,0.0,match
37,Design Servies Offsite,0.0,0.0,0.0,0.0,match
38,PM/CM Services Onsite,0.0,0.0,0.0,0.0,match
39,Contingency on Support Services,0.0,0.0,0.0,0.0,match
40,Capitalized Owner's Cost (COC),176.8956014710795,176.8956014710794,8.526512829121202e-14,4.820081877793439e-14,match
50,Capitalized Supplementary Costs (CSC),39.53003446099854,39.53003446099854,0.0,0.0,match
51,Shipping and Transportation Costs,8.0,8.0,0.0,0.0,match
52,Spare Parts,6.799670441290373,6.799670441290371,1.7763568394002505e-15,2.6124160791874378e-14,match
53,Taxes,0.0,0.0,0.0,0.0,match
54,Insurance,1.0,1.0,0.0,0.0,match
55,Initial Fuel Load,23.73036401970817,23.73036401970817,0.0,0.0,match
58,Decommissioning Costs,0.0,0.0,0.0,0.0,match
59,Contingency on Supplementary Costs,0.0,0.0,0.0,0.0,match
60,Capitalized Financial Costs (CFC),217.75192444411263,217.7519244441301,-1.7479351299698465e-11,-8.027185681283495e-12,match
61,Escalation,20.125,20.125,0.0,0.0,match
62,Fees,0.0,0.0,0.0,0.0,match
63,Interest During Construction (IDC),197.62692444411263,197.6269244441301,-1.7479351299698465e-11,-8.844620412356791e-12,match
69,Contingency on Capitalized Financial Costs,0.0,0.0,0.0,0.0,match
OCC,Overnight Capital Cost (OCC),1789.9309288581762,1789.930928858334,-1.5779733075760305e-10,-8.815833517008973e-12,match
TCC,Total Capital Cost (TCC),2007.682853302289,2007.682853302464,-1.7507773009128869e-10,-8.72038777455817e-12,match
O&M,Operations and Maintenance,6.281566946393339,6.281566946393339,0.0,0.0,match
Fuel,Fuel,0.1090042081,0.1090042082757512,-1.7575120525581411e-10,-1.61233412944215e-07,match
81,Deuterium,0.047391176570000006,0.04739117663471425,-6.47142409104795e-11,-1.3655335340012648e-07,match
3 changes: 2 additions & 1 deletion docs/source/examples/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Example
======================

This document provides a comprehensive explanation of the ACCERT running examples, including the **PWR12-BE**, **ABR1000**, **AP1000**, and **Fusion** reactor models. It integrates key ACCERT concepts to elucidate how the input files are structured and why they are designed in a particular manner.
This document provides a comprehensive explanation of the ACCERT running examples, including the **PWR12-BE**, **ABR1000**, **AP1000**, **Fusion**, and **Mirror** reactor models. It integrates key ACCERT concepts to elucidate how the input files are structured and why they are designed in a particular manner.

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.

May be worth changing the name of the "Fusion" reactor models to a list of the specific types or removing the extra mirror that is added here (dropping this change)




Expand All @@ -16,3 +16,4 @@ This document provides a comprehensive explanation of the ACCERT running example
ap1000
fusion

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.

Again, it may be worth changing "fusion" to "tokamak" as we start adding in more capabilities

stellarator
mirror
27 changes: 27 additions & 0 deletions docs/source/examples/mirror.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Mirror Example
==============

The Mirror example demonstrates the magnetic-mirror fusion reference model
ported from upstream ACCERT PR #50. The input file is located at
``ACCERT/tutorial/accert/Mirror.son``.

Example input
-------------

.. literalinclude:: ../../../tutorial/accert/Mirror.son
:language: none

The example selects ``ref_model = "mirror"`` and updates the ``r_magnet``
variable. The current Mirror reference data is account-table based and does
not include a cost-element table.

Running the example
-------------------

From ``tutorial/accert``:

.. code-block:: shell

python ../../src/Main.py -i Mirror.son

ACCERT writes the updated account output using the ``mirror`` model prefix.
13 changes: 9 additions & 4 deletions docs/source/reference/table.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ This section contains reference tables used in ACCERT.
ACCERT reference tables use different base-dollar years by model. PWR12-BE,
ABR1000, and LFR reference costs are in 2017 dollars; AP1000, Heatpipe, and
LPSR reference costs are in 2018 dollars; Fusion and Stellarator reference
costs are in 2015 dollars. Runtime account-result tables are displayed in
the configured target dollar year using CPI-U escalation. Output account and
cost-element CSV files retain their reference-year cost columns; ACCERT
writes target-year OCC summary values in the separate ``*_post_*.csv`` file.
costs are in 2015 dollars. The Mirror reference tables are imported from the
upstream PR #50 account-level data. Runtime account-result tables are
displayed in the configured target dollar year using CPI-U escalation.
Output account and cost-element CSV files retain their reference-year cost
columns; ACCERT writes target-year OCC summary values in the separate
``*_post_*.csv`` file.

Reference-model context:

Expand All @@ -31,6 +33,8 @@ Reference-model context:
UKAEA's `PROCESS <https://github.com/ukaea/PROCESS>`_.
* Stellarator is also based on UKAEA's `PROCESS
<https://github.com/ukaea/PROCESS>`_.
* Mirror represents the magnetic-mirror fusion model imported from upstream
ACCERT PR #50.


.. toctree::
Expand All @@ -39,4 +43,5 @@ Reference-model context:
table/ABR1000tables
table/Fusiontables
table/Heatpipetables
table/Mirrortables
table/PWR12tables
39 changes: 39 additions & 0 deletions docs/source/reference/table/Mirrortables.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
Mirror Tables
=============

The Mirror model is a magnetic-mirror fusion cost model ported from upstream
ACCERT PR #50. Its reference data currently contains account, variable, and
algorithm tables. Unlike PWR12-BE, AP1000, LPSR, and ABR1000, the Mirror model
does not use a separate cost-element table.

The default input table is generated from ``MirrorFunc.generate_inputs``. Boolean
defaults are stored as ``0`` or ``1`` so they can be loaded into SQLite with the
other ACCERT variable values.

Mirror Account Table
--------------------

.. csv-table:: Mirror Account Table
:file: ../../../../tutorial/accert/ref_tables/mirror_account.csv
:header-rows: 1

Mirror Algorithm Table
----------------------

.. csv-table:: Mirror Algorithm Table
:file: ../../../../tutorial/accert/ref_tables/mirror_algorithm.csv
:header-rows: 1

Mirror Variable Table
---------------------

.. csv-table:: Mirror Variable Table
:file: ../../../../tutorial/accert/ref_tables/mirror_variable.csv
:header-rows: 1

Mirror Default Input Table
--------------------------

.. csv-table:: Mirror Default Input Table
:file: ../../../../tutorial/accert/ref_tables/mirror_default_inputs.csv
:header-rows: 1
2 changes: 1 addition & 1 deletion docs/source/user/input_structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ ref_model

**Notes**:

- `<ref_model>` is a string indicating the reactor model, e.g., `PWR12-BE`, `ABR1000`, `LFR`.
- `<ref_model>` is a string indicating the reactor model, e.g., `PWR12-BE`, `ABR1000`, `AP1000`, `LPSR`, `LFR`, `heatpipe`, `fusion`, `stellarator`, or `mirror`.

target_dollar_year
~~~~~~~~~~~~~~~~~~
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user/output_structure.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Reading User Input

This section summarizes the parameters entered by the user. These inputs guide the recalculations of specific cost elements. Key parameters typically include:

- **Reference Model**: The reactor model being analyzed. Current options are "PWR12-BE", "ABR1000", "LFR", "Heatpipe", and "Fusion".
- **Reference Model**: The reactor model being analyzed. Current options include "PWR12-BE", "ABR1000", "AP1000", "LPSR", "LFR", "Heatpipe", "Fusion", "Stellarator", and "Mirror".
- **Thermal Power (MWth)**: The thermal power input provided by the user.
- **Electric Power (MWe)**: The electric power input provided by the user.

Expand Down
Loading