Some AMS specific stuff, and plant work

This commit is contained in:
Nick Touran 2025-12-01 17:04:45 -05:00
parent 9332337581
commit e474c140ee
30 changed files with 558 additions and 21 deletions

17
documents/AMS.bib Normal file
View file

@ -0,0 +1,17 @@
@misc{cahillDesignPhilosophyBrief2025,
title = {Design {{Philosophy Brief}}},
author = {Cahill, William},
year = 2025,
publisher = {AMS},
url = {https://maritimesai.kiteworks.com/#/file/8b92c7cb-4444-4a3e-aba6-fdf328f7d2f8?currentPage=1}
}
@misc{imoCodeSafetyNuclear1982,
title = {Code of {{Safety}} for {{Nuclear Merchant Ships}}},
author = {IMO},
year = 1982,
month = jun,
number = {A XII/Res.491},
publisher = {Internaional Maritime Organization},
url = {https://wwwcdn.imo.org/localresources/en/KnowledgeCentre/IndexofIMOResolutions/AssemblyDocuments/A.491(12).pdf}
}

View file

@ -0,0 +1,16 @@
- name: Power Range
val_low: 0.750
val_high: 16
units: MWe
req: R_AMS_1
tags: [electrical]
- name: Backbone Voltage
val: 3.6
units: kVAC
req: R_AMS_2
tags: [electrical]
- name: Backbone Frequency
val: 60
units: Hz
req: R_AMS_2
tags: [electrical]

View file

@ -0,0 +1,138 @@
lanes:
- name: "TTP"
color: "#1f77b4"
tasks:
- name: "Ship Design Cycle 1"
duration_days: 120
predecessors: [RX0]
id: TTP1
- name: "Nuke-Ready Guide"
milestone: true
predecessors: [TTP1]
- name: "Ship Design Cycle 2"
id: TTP2
predecessors: [TTP1, RX1]
duration_days: 120
- name: "RFI (non-stealth)"
milestone: true
predecessors: [TTP2]
- name: "Ship Design Cycle 3"
id: TTP3
predecessors: [TTP2]
duration_days: 120
- name: "RFP"
milestone: true
predecessors: [TTP3]
- name: "Evaluate Proposals"
id: TTP4
duration_days: 90
predecessors: [TTP3]
- name: "Ship Award"
milestone: true
predecessors: [TTP4]
- name: "Detailed Design & Construction"
id: TTP5
duration_days: 900
predecessors: [TTP4]
- name: "TTP Ship Delivery"
milestone: true
predecessors: [TTP5]
- name: "Test/Trials/Acceptance"
id: TTP6
duration_days: 90
predecessors: [TTP5]
- name: "Transit to Homeport"
id: TTP7
duration_days: 30
predecessors: [TTP6]
- name: "NEPP Integration"
id: TTP8
duration_days: 60
predecessors: [TTP7, RX5, SY7]
- name: "Hot plant testing"
id: TTP9
duration_days: 180
predecessors: [TTP8, SY7]
- name: "Shipyard"
color: "#ff7f0e"
tasks:
- name: "Shipyard conceptual design"
id: SY1
start: 2026-01-01
duration_days: 120
predecessors: [RX0]
- name: "Real Estate Purchase"
id: SY2
predecessors: [SY1]
duration_days: 270
- name: "Shipyard Design Ph 1"
duration_days: 540
id: SY3
predecessors: [SY1, RX1]
- name: "Regulatory review"
duration_days: 270
id: SY4
predecessors: [SY1]
- name: "Reg Approval 1"
milestone: true
predecessors: [SY4]
- name: "Shipyard Design Ph 2"
id: SY5
duration_days: 365
predecessors: [SY3]
- name: "Reg Approval 2"
milestone: true
predecessors: [SY5]
- name: "Shipyard Construction Ph 1"
id: SY6
duration_days: 635
predecessors: [SY2]
- name: "Shipyard License"
milestone: true
predecessors: [SY6]
- name: "Shipyard Construction Ph 2"
id: SY7
duration_days: 270
predecessors: [SY6]
- name: "Reactor"
color: "#2ca02c"
tasks:
- name: "Rx concept design cycle 1"
id: RX0
duration_days: 50
- name: "Rx concept design cycle 2"
id: RX1
duration_days: 100
predecessors: [RX0]
- name: "Rx concept design cycle 3"
id: RX15
duration_days: 300
predecessors: [RX1]
- name: "Reactor prelim design"
id: RX2
duration_days: 450
predecessors: [RX15]
- name: "Submit License Application"
milestone: true
predecessors: [RX2]
- name: "Licensing review"
id: RX3
duration_days: 450
predecessors: [RX2]
- name: "Reactor detailed design"
id: RX4
duration_days: 540
predecessors: [RX2]
- name: "Receive Construction Permit"
milestone: true
predecessors: [RX3]
- name: "Reactor manufacturing"
id: RX5
duration_days: 540
predecessors: [RX3]
- name: "Receive Operating License"
milestone: true
predecessors: [RX5, TTP9]

View file

@ -0,0 +1,27 @@
.. Sadly can't get this to work with the same TOC level in additional info.
{{ data['name'] }} ({{ data['abbrev']}})
{{ "=" * (data['name'] | length + data['abbrev'] | length + 3) }}
Abbrev: {{data['abbrev']}}
{{ data['desc'] }}
Functions
---------
{% for item in data['functions'] %}
.. req:: {{item}}
:id: R_{{data['abbrev']}}_{{loop.index}}
{% endfor %}
Parameters
----------
{% if data['params'] %}
{{ make_list_table_from_mappings(
[('Parameter', 'name'), ('Value', 'val'), ('Tags', 'tags')],
data['params'],
title='System Parameters',
) }}
{% endif %}

View file

@ -16,7 +16,7 @@
import datetime import datetime
# -- Project information ----------------------------------------------------- # -- Project information -----------------------------------------------------
company_name = "Open Nucleonics" company_name = "Applied Maritime Sciences"
project = f"{company_name} Governing Documents" project = f"{company_name} Governing Documents"
author = company_name author = company_name
release = "1.0" release = "1.0"
@ -89,8 +89,8 @@ plantuml = "java -Djava.awt.headless=true -jar /usr/share/plantuml/plantuml.jar"
latex_documents = [ latex_documents = [
( (
"index", "index",
"nrsk.tex", "ams.tex",
"Nuclear Reactor Starter Kit", "AMS Docs",
author, author,
"manual", "manual",
False, False,

View file

@ -0,0 +1,12 @@
Chemical Addition System
========================
.. datatemplate:yaml:: index.yaml
:template: system.tmpl
Additional info
---------------
.. req:: Contain stuff
.. req:: Do more stuff

View file

@ -0,0 +1,9 @@
---
name: Chemical Addition System
abbrev: CA
safety related: false
functions:
- Preparing, storing, and transferring solutions of lithium
hydroxide (7LiOH) to maintain reactor coolant pH, and hydrazine (N2H2)
to scavenge oxygen from the reactor coolant at low temperatures
notes: That's enriched lithium-7

View file

@ -0,0 +1,13 @@
- name: Component Cooling Water System
abbrev: CCW
functions:
- >
Transfer heat from the following components to the RPSW system by CCW
heat exchangers during normal operation, scheduled and unscheduled
shutdowns, including hot and cold maintenance, and during refueling.
* Decay heat removal system heat exchangers
* Makeup and purification system letdown heat exchangers
* Reactor coolant pump heat exchangers
* Control rod drive mechanism cooling jackets
* Suppression pool heat exchangers

View file

@ -0,0 +1,18 @@
- name: Reactor Compartment Ventilation System
abbrev: RCV
safety class: II
functions:
- Controlling radioactive gaseous release to the environment
during both normal and emergency (post-LOCA) operation and
maintenance of a low level of airborne radioactivity in
the reactor compartment and auxiliary spaces to permit
entry during normal operation or during both schedule and
unscheduled shutdown.
- Removing heat to the environment from sources within the reactor
compartment
- Containment purging prior to manned entry for maintenance and/or
inspection. Containment purging would be accomplished only when
the reactor is at or below hot shutdown conditions; i.e. decay heat
system is operating.
- Provide a source of clean air to the control areas if high
radioactivity levels are present off ship.

View file

@ -0,0 +1,8 @@
Auxiliary Systems
#################
.. toctree::
:glob:
Chemical Addition System/cas.rst
*

View file

@ -0,0 +1,5 @@
- name: Reactor plant control system
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,14 @@
Containment
===========
.. datatemplate:yaml:: containment.yaml
:template: system.tmpl
Additional info
----------------
.. req:: Contain stuff
:id: R_RCS_A1
.. req:: Do more stuff
:id: R_RCS_A2

View file

@ -0,0 +1,10 @@
---
name: Reactor containment system
abbrev: RCS
functions:
- Contain pressure and radiation
- Keep people out
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,5 @@
- name: Fuel handling equipment
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,49 @@
- name: Reactor vessel and closure head
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Primary coolant pump
desc: Includes motors, coolers, valves, and piping
params:
- name: Quantity
val: 4
tags: INTERFACE
- name: Reactor vessel internals
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Steam generator
params:
- name: Quantity
val: 12
tags: INTERFACE
- name: Pressurizer
desc: Pressurizer with spray and surge line
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Nuclear steam plant supports and restraints
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Control rod drive service structure
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Reactor coolant system insulation
desc: >
Includes insulation for:
* Reactor vessel and closure head
* Pressurizer
* Surge and spray line piping
* Reactor coolant pumps
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,6 @@
- name: Control rod drive mechanisms
params:
- name: Quantity
val: 37
tags: INTERFACE

View file

@ -0,0 +1,18 @@
- name: Primary biological shielding
desc: >
Consists of shielding water tanks at
* Top
* Vertical cylinder
* Lower-inner bottom
* Pressure suppression system
params:
- name: Quantity
val: 1
tags: INTERFACE
- name: Reactor enclosure/secondary biological shielding
desc: Consists of 3-inch-thick steel bulkheads
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,9 @@
Primary Systems
###############
.. toctree::
:glob:
:maxdepth: 1
Containment System/containment.rst
*

View file

@ -0,0 +1,10 @@
Reactor Plant
#############
.. toctree::
:glob:
:maxdepth: 2
Primary Systems/index
Auxiliary Systems/index
*

View file

@ -0,0 +1,5 @@
- name: Collision barrier
params:
- name: Quantity
val: 1
tags: INTERFACE

View file

@ -0,0 +1,7 @@
Ship
####
.. toctree::
:glob:
**/*

View file

@ -0,0 +1,9 @@
Shipyard
########
.. toctree::
:glob:
**/*

11
documents/plant/index.rst Normal file
View file

@ -0,0 +1,11 @@
Plant
#####
.. toctree::
:glob:
:maxdepth: 3
Reactor/index
Ship/index
Shipyard/index
*

View file

@ -1,11 +0,0 @@
.. thinking of putting like, all the calcs you have to do during design,
calibrations during commissioning,
work during operations. This would be where we could be like, "Hey don't forget
to include impurities in shielding calculations"
.. toctree::
:glob:
:maxdepth: 2
*

View file

@ -1,4 +0,0 @@
Project Schedule
################
.. schedule:: _data/schedule.yaml

View file

@ -12,7 +12,8 @@ bases.
:caption: Contents: :caption: Contents:
:glob: :glob:
stakeholder/index stakeholder/ams
national/index national/index
industry/*
standards/index standards/index
*

View file

@ -0,0 +1,26 @@
EPRI ALWR
=========
This page contains some high-level requirements sourced from the EPRI Advanced
Light Water Reactor Utility Requirements Document :cite:p:`mprAdvancedLightWater99a`
.. req:: Passive ALWRs shall not require safety-related AC electric power other than
inverter supplied AC power for I&C.
:id: R_ALWR_1
.. req:: 72-hours without manual operator action.
:id: R_ALWR_2
For transients and accidents analyzed under the initiating event plus
single failure Licensing Design Basis assumptions (which include loss of all ac
power), no credit for manual operator action shall be necessary to meet core
protection regulatory limits for at least 72 hours following initial indication
of the need for action (i.e., approximately the time of the initiating event).
.. req:: Only simple actions and assistance shall be necessary beyond 72 hours
:id: R_ALWR_3
.. req:: Off-site dose limits shall be maintained for at least 72 hours without
the need for off-site assistance.
:id: R_ALWR_4

View file

@ -0,0 +1,77 @@
AMS Stakeholder Requirements
============================
The following requirements come from the Project Leaders at AMS.
.. req:: Develop a new nuclear maritime industry.
:id: R_PROJ_1959
.. req:: The first vessel shall have an electrical power output range of 750 kWe -- 16 MWe.
:id: R_AMS_1
:links: R_PROJ_1959
:basis: Appropriate for commercial demonstrator, per Axioms
:cite:p:`cahillDesignPhilosophyBrief2025`
.. req:: The electrical backbone shall operate at 6.6 kVAC at 60 Hz
:id: R_AMS_2
:links: R_PROJ_1959
:basis: Maximum commercial compatibility, per Axioms
:cite:p:`cahillDesignPhilosophyBrief2025`
.. req:: The demonstrator vessel shall be in the water by the Summer of 2030.
:id: R_AMS_3
:links: R_PROJ_1959
:basis: Desire to move fast, per Axioms
:cite:p:`cahillDesignPhilosophyBrief2025`
.. req:: The demonstrator vessel shall be flagged to US standards.
:id: R_AMS_4
:links: R_PROJ_1959
:basis: Per Axioms
:cite:p:`cahillDesignPhilosophyBrief2025`
.. req:: The demonstrator vessel architecture shall be grounded in IMO Resolution A.491(XII)
:id: R_AMS_5
:links: R_PROJ_1959
:basis: Per Axioms document
Document reference: :cite:p:`imoCodeSafetyNuclear1982`.
Source :cite:p:`cahillDesignPhilosophyBrief2025`.
.. req:: The demonstrator vessel shall facilitate future augmentation of the power system
without massive amounts of construction.
:id: R_AMS_6
:links: R_PROJ_1959
:basis: Desire for drop-in nuclear-readiness, per Axioms
:cite:p:`cahillDesignPhilosophyBrief2025`
.. req:: The reactor system shall comply with Passive Plant safety requirements defined in EPRI ALWR URD
:id: R_AMS_7
:basis: This satisfies modern customer expectations of safety
:links: R_PROJ_1959, R_ALWR_1, R_ALWR_2, R_ALWR_3, R_ALWR_4
The EPRI ALWR URD is :cite:p:`mprAdvancedLightWater99a`
.. req:: The vessel shall have a double bottom for the full length of the ship
:basis: USCG per 3.1.2.2 of CNSG status
.. req:: The vessel shall have two compartment subdivision
:basis: USGC and AMS rules, per 3.1.2.2 and 3.1.2.3 of CNSG status
.. needflow:: Engineering plan to develop a nuke on a ship
:alt: Engineering plan
:root_id: R_PROJ_1959
:config: lefttoright
:show_link_names:
:border_color:
[status == 'open']:FF0000,
[status == 'in progress']:0000FF,
[status == 'closed']:00FF00

View file

@ -0,0 +1,32 @@
Design Basis Events
===================
The Plant is designed to maintain fuel integrity in the following
design basis events:
External events
---------------
* Collision
* Grounding
* Flooding
* Sinking
* Heavy weather
* Fire
* Explosion
* Earthquake
Internal events
---------------
* Fire
* Large-break LOCA
* Medium-break LOCA
* Small-break LOCA
* Transient overpower
* Station blackout
Key safety functions
--------------------
* Maintain subcriticality, even inverted
* Maintain decay heat removal, even inverted
* Self-transport to remote anchoring location

View file

@ -1,5 +1,5 @@
[project] [project]
name = "nuclear-reactor-starter-kit" name = "ams-reactor-starter-kit"
version = "0.1.0" version = "0.1.0"
authors = [ authors = [
{ name="Nick Touran", email="nick@whatisnuclear.com" }, { name="Nick Touran", email="nick@whatisnuclear.com" },