Skip to content

Commit 0f60c70

Browse files
committed
updated pyarc plugin and example1c to enable and demonstrate unit conversion capability.
1 parent 41724db commit 0f60c70

File tree

3 files changed

+18
-5
lines changed

3 files changed

+18
-5
lines changed

examples/example1c_PyARC/example1c.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,20 @@
33

44
import os
55
import watts
6+
from astropy import units as u
67

8+
# Uses Astropy for unit conversion
9+
u.imperial.enable() # Enable imperial units
10+
Quantity = u.Quantity
711
params = watts.Parameters()
812

913
# TH params
1014

11-
params['assembly_pitch'] = 20e-2 # m
12-
params['assembly_length'] = 0.13 # m
15+
params['assembly_pitch'] = Quantity(20, "cm") # 20e-2 m
16+
params['assembly_length'] = Quantity(13, "cm") # 0.13 m
17+
params['temp'] = Quantity(26.85, "Celsius") # 300 K
18+
19+
1320

1421
params.show_summary(show_metadata=False, sort_by='key')
1522

examples/example1c_PyARC/pyarc_template

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ geometry{
33

44
materials{
55
material ( LEU ) {
6-
temp = 300
6+
temp = {{ temp }}
77
adens{
88
aden ( u235 ) = 2.0e-2 % atom density in at/barn-cm
99
aden ( u238 ) = 2.0e-2 % atom density in at/barn-cm
@@ -12,7 +12,7 @@ geometry{
1212
lumped_element_aden( lu35 ) = 1e-3
1313
}
1414
material ( LEU2 ) {
15-
temp = 300
15+
temp = {{ temp }}
1616
adens{
1717
aden ( u236 ) = 2.0e-2 % atom density in at/barn-cm
1818
aden ( u237 ) = 2.0e-2 % atom density in at/barn-cm

src/watts/plugin_pyarc.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,15 @@ def prerun(self, params: Parameters) -> None:
138138
params
139139
Parameters used by the PyARC template
140140
"""
141+
# Render the template
142+
# Make a copy of params and convert units if necessary
143+
# The original params remains unchanged
144+
145+
params_copy = super().convert_unit(params, unit_system='si', unit_temperature='K')
146+
141147
print("Pre-run for PyARC Plugin")
142148
self._run_time = time.time_ns()
143-
super().prerun(params, filename=self.pyarc_inp_name)
149+
super().prerun(params_copy, filename=self.pyarc_inp_name)
144150

145151
def run(self, **kwargs: Mapping):
146152
"""Run PyARC

0 commit comments

Comments
 (0)