summaryrefslogtreecommitdiff
path: root/Donjon/data/thm_salt_lf_texp_proc
diff options
context:
space:
mode:
authorstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
committerstainer_t <thomas.stainer@oecd-nea.org>2025-09-08 13:48:49 +0200
commit7dfcc480ba1e19bd3232349fc733caef94034292 (patch)
tree03ee104eb8846d5cc1a981d267687a729185d3f3 /Donjon/data/thm_salt_lf_texp_proc
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/thm_salt_lf_texp_proc')
-rwxr-xr-xDonjon/data/thm_salt_lf_texp_proc/MSTPDB.data13
-rwxr-xr-xDonjon/data/thm_salt_lf_texp_proc/thermExp.c2m924
2 files changed, 937 insertions, 0 deletions
diff --git a/Donjon/data/thm_salt_lf_texp_proc/MSTPDB.data b/Donjon/data/thm_salt_lf_texp_proc/MSTPDB.data
new file mode 100755
index 0000000..64ea15e
--- /dev/null
+++ b/Donjon/data/thm_salt_lf_texp_proc/MSTPDB.data
@@ -0,0 +1,13 @@
+formula weight composition Tm Tb rhoA rhoB zmu1A zmu1B zmu2A zmu2B zmu2C zkA zkB cpA cpB cpC cpD
+BeF2 47.009 Pure_Salt 821.2 1442 1.97 1.45e-05 0 0 -8.12 11500 639000 0.801 -2.12e-06 51.1 0.0346 0 0
+CaCl2 110.984 Pure_Salt 1045 2230 2.53 0.000423 0 0 -0.545 597 546000 0.568 -0.000115 102.533 0 0 0
+CaF2 78.0748 Pure_Salt 1692 2724 3.18 0.000391 0.1 47600 0 0 0 0.667 -6.04e-05 99.914 0 0 0
+KCl 74.5513 Pure_Salt 1042.7 1688 2.14 0.000583 0.0708 23900 0 0 0 0.566 -0.00017 73.5966 0 0 0
+KF 58.0967 Pure_Salt 1131.2 1771 2.65 0.000652 0.107 23800 0 0 0 0.855 -0.000254 71.965 0 0 0
+LiCl 42.394 Pure_Salt 883 1655 1.88 0.000433 0.0726 22400 0 0 0 0.882 -0.00029 73.3832 -0.0094726 0 0
+LiF 25.9394 Pure_Salt 1121.2 1943 2.37 0.0005 0.115 27000 0 0 0 1.88 -0.000399 64.183 0 0 0
+MgCl2 95.211 Pure_Salt 987 1640 1.97 0.000288 0.18 20500 0 0 0 0.224 -2e-05 92.048 0 0 0
+NaCl 58.4428 Pure_Salt 1073.8 1715 2.14 0.000543 0.0893 22000 0 0 0 0.712 -0.00018 77.7638 -0.0075312 0 0
+NaF 41.9882 Pure_Salt 1268 1978 2.76 0.000636 0.12 26500 0 0 0 1.26 -0.00028 72.989 0 0 0
+LiF-BeF2 33.1031 0.66-0.34 733 1673 2.41 0.000488 0.116 31200 0 0 0 1.1 0 79.9 0 0 0
+LiF-NaF-KF 41.2911 0.465-0.115-0.42 735 1843 2.68 0.000685 0 0 0.213 -1200 1.35e+06 1.24 -0.000538 40.3 0.0439 0 0 \ No newline at end of file
diff --git a/Donjon/data/thm_salt_lf_texp_proc/thermExp.c2m b/Donjon/data/thm_salt_lf_texp_proc/thermExp.c2m
new file mode 100755
index 0000000..6df6f21
--- /dev/null
+++ b/Donjon/data/thm_salt_lf_texp_proc/thermExp.c2m
@@ -0,0 +1,924 @@
+*=====================================================================*
+* FILE: thermExp.c2m
+* TYPE: DRAGON/DONJON proc file
+* AUTHOR: Cristian Garrido Tamm (cristian.garrido@idom.com)
+* PURPOSE: Generate a geometry, fuel map and matex objects
+* considering the thermal axial expansion of the fuel at
+* a given temperature
+* CREATION DATE: Thursday Jan 09, 2025 13:43:33 CET
+* LAST MODIFIED: Wednesday Jan 15, 2025 17:23:51 CET
+*---------------------------------------------------------------------*
+* INPUT:
+* TYPE | NAME | DEFINITION
+* ------------|---------|-----------------------------
+* REAL | Cote | Node side (cm)
+* REAL | Rfuel | Fuel tube radius (cm)
+* REAL | Tfuel | Average Fuel Temperature (K)
+* REAL | Tcool | Average Coolant Temperature (K)
+* REAL | Mass | Fuel Mass (kg)
+* REAL | rhoA | coefficient in fuel density-temp relation
+* REAL | rhoB | coefficient in fuel density-temp relation
+* REAL | maxH | Maximum axial node height (cm)
+* REAL | powi | Reactor power (MW)
+* OUTPUT:
+* TYPE | NAME | DEFINITION
+* ------------|---------|-----------------------------
+* LINKED_LIST | MESHZ | Linked list with the axial discretization
+* REAL | totH | Total height of the fuel
+* CALL:
+* GEOM MATEX FMAP := thermExp ::
+* <<Cote>> <<Rfuel>> <<Tacg>> <<Mass>> <<rhoA>> <<rhoB>> <<maxH>>
+* <<powi>> >>totH<< ;
+*=====================================================================*
+*---
+* RECOVER INPUT DATA STRUCTURES
+*---
+PARAMETER GEOM MATEX FMAP THM ::
+ EDIT 0
+ ::: LINKED_LIST GEOM MATEX FMAP THM ;
+ ;
+*---
+* RECOVER INPUT PARAMETERS
+*---
+REAL Cote Rfuel Mass rhoA rhoB maxH powi ;
+:: >>Cote<< >>Rfuel<< >>Mass<< >>rhoA<<
+>>rhoB<< >>maxH<< >>powi<< ;
+*---
+* DEFINE MODULES
+*---
+MODULE UTL: GREP: END: GEO: USPLIT: RESINI: THM: ABORT: DELETE: ;
+*---
+* DEFINE DATA STRUCTURES
+*---
+LINKED_LIST MESHZ GEOMTMP MATEXTMP FMAPTMP THMTMP ;
+*---
+* DEFINE VARIABLES
+*---
+REAL rho ;
+REAL totH := 0.0 ; ! total height in current iteration (cm)
+REAL deltaH ; ! difference in total height between two consecutive iterations
+REAL totH1 := 0.0 ; ! total height in previous iteration (cm)
+REAL Nz_R h ;
+INTEGER Nz ;
+INTEGER I ;
+REAL z1 z2 z3 z4 z5 z6 z7 z8 z9 z10 z11 z12 z13 z14 z15 z16 z17 z18 z19
+ z20 z21 z22 z23 z24 z25 z26 z27 z28 z29 z30 ;
+* Constants
+STRING DOUBLE_LINE :=
+"====================================================================" ;
+STRING SINGLE_LINE :=
+"--------------------------------------------------------------------" ;
+LOGICAL True False := $True_L $False_L ;
+STRING FILENAME := 'thermExp' ;
+REAL Pi := $Pi_R ;
+INTEGER MaxR := 10000 ;
+REAL CONV := 1E-5 ;
+INTEGER iter := 0 ;
+INTEGER maxiter := 100 ;
+REAL Tfuel := 800.15 ; (*fuel temperature (K)*)
+REAL Tcool := 800.15 ; (*coolant temperature (K)*)
+
+*---
+* BEGIN CALCULATION
+*---
+ECHO DOUBLE_LINE ;
+ECHO 'BEGIN PROCEDURE ' FILENAME ;
+ECHO DOUBLE_LINE ;
+
+EVALUATE deltaH := totH totH1 - ;
+
+REPEAT
+ ECHO "iter=" iter ;
+ IF iter 0 > THEN
+ MESHZ := DELETE: MESHZ ;
+ GEOMTMP := DELETE: GEOMTMP ;
+ MATEXTMP := DELETE: MATEXTMP ;
+ FMAPTMP := DELETE: FMAPTMP ;
+ THMTMP := DELETE: THMTMP ;
+ ENDIF ;
+
+EVALUATE iter := iter 1 + ;
+EVALUATE totH1 := totH ;
+
+* Calculate density of fuel at given temperature
+EVALUATE rho := rhoA rhoB Tfuel * - ;
+ECHO "%%1 rho = " rho ;
+* Calculate the fuel height at this temperature
+EVALUATE totH := Mass 1000. * rho / Pi / Rfuel / Rfuel / ;
+ECHO "%%1 totH = " totH ;
+* Calculate number of nodes
+EVALUATE Nz_R := totH maxH / ;
+EVALUATE Nz := Nz_R R_TO_I ;
+ECHO "%%1 Nz_R Nz = " Nz_R Nz ;
+EVALUATE h := Nz I_TO_R maxH * ;
+ECHO "%%1 h = " h ;
+IF totH h > THEN
+ EVALUATE Nz := Nz 1 + ;
+ENDIF ;
+ECHO "%%1 Nz = " Nz ;
+
+* Create MESHZ list
+MESHZ := UTL: :: CREA 'NZ ' 1 = <<Nz>> ;
+
+* Generate Axial Mesh
+EVALUATE h := 0.0 ;
+EVALUATE I := 1 ;
+WHILE I Nz 1 - <= DO
+ ECHO "%%2 I h = " I h ;
+ EVALUATE h := totH Nz I_TO_R / h + ;
+ IF I 1 = THEN
+ MESHZ := UTL: MESHZ ::
+ EDIT 100
+ CREA 'MESHZ ' 1 = <<h>> ;
+ ELSE
+ MESHZ := UTL: MESHZ ::
+ EDIT 100
+ CREA 'MESHZ ' <<I>> <<I>> = <<h>> ;
+ ENDIF ;
+ EVALUATE I := I 1 + ;
+ENDWHILE ;
+MESHZ := UTL: MESHZ ::
+EDIT 100
+CREA 'MESHZ ' <<I>> <<I>> = <<totH>> ;
+
+UTL: MESHZ :: DIR DUMP ;
+
+* Generate the geometry depending on the axial discretization
+IF Nz 19 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+ELSEIF Nz 20 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+ELSEIF Nz 21 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+
+ELSEIF Nz 22 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< >>z22<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+
+ELSEIF Nz 23 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< >>z22<< >>z23<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+
+ELSEIF Nz 24 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< >>z22<< >>z23<< >>z24<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+
+ELSEIF Nz 25 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< >>z22<< >>z23<< >>z24<< >>z25<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ <<z25>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ PLANE 25 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ <<z25>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ PLANE 25 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+
+ELSEIF Nz 26 = THEN
+ GREP: MESHZ :: GETVAL 'MESHZ ' 1 <<Nz>>
+ >>z1<< >>z2<< >>z3<< >>z4<< >>z5<< >>z6<< >>z7<< >>z8<< >>z9<<
+ >>z10<< >>z11<< >>z12<< >>z13<< >>z14<< >>z15<< >>z16<< >>z17<<
+ >>z18<< >>z19<< >>z20<< >>z21<< >>z22<< >>z23<< >>z24<< >>z25<<
+ >>z26<< ;
+ GEOMTMP := GEO: :: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ <<z25>> <<z26>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ PLANE 25 SAME 1
+ PLANE 26 SAME 1
+ ;
+ GEOMTMP MATEXTMP := USPLIT: GEOMTMP :: NGRP 2 MAXR <<MaxR>>
+ NFUEL 1 FMIX 1
+ ;
+ FMAPTMP MATEXTMP := RESINI: MATEXTMP ::
+ ::: GEO: CAR3D 1 1 <<Nz>>
+ X- REFL X+ REFL Y- REFL Y+ REFL Z- REFL Z+ REFL
+ MESHX 0.0 <<Cote>>
+ MESHY 0.0 <<Cote>>
+ MESHZ 0.0 <<z1>> <<z2>> <<z3>> <<z4>> <<z5>> <<z6>> <<z7>> <<z8>>
+ <<z9>> <<z10>> <<z11>> <<z12>> <<z13>> <<z14>> <<z15>> <<z16>>
+ <<z17>> <<z18>> <<z19>> <<z20>> <<z21>> <<z22>> <<z23>> <<z24>>
+ <<z25>> <<z26>>
+ MIX
+ PLANE 1
+ 1
+ PLANE 2 SAME 1
+ PLANE 3 SAME 1
+ PLANE 4 SAME 1
+ PLANE 5 SAME 1
+ PLANE 6 SAME 1
+ PLANE 7 SAME 1
+ PLANE 8 SAME 1
+ PLANE 9 SAME 1
+ PLANE 10 SAME 1
+ PLANE 11 SAME 1
+ PLANE 12 SAME 1
+ PLANE 13 SAME 1
+ PLANE 14 SAME 1
+ PLANE 15 SAME 1
+ PLANE 16 SAME 1
+ PLANE 17 SAME 1
+ PLANE 18 SAME 1
+ PLANE 19 SAME 1
+ PLANE 20 SAME 1
+ PLANE 21 SAME 1
+ PLANE 22 SAME 1
+ PLANE 23 SAME 1
+ PLANE 24 SAME 1
+ PLANE 25 SAME 1
+ PLANE 26 SAME 1
+ ;
+ NXNAME '01' NYNAME 'A'
+ NCOMB 1
+ B-ZONE 1
+ ADD-PARAM PNAME 'T-FUEL' PARKEY 'TFA' GLOBAL
+ ADD-PARAM PNAME 'T-COOL' PARKEY 'TCA' GLOBAL
+ BTYPE INST-BURN
+ INST-BVAL CHAN 0.0
+ REACTOR-POW <<powi>>
+ AXIAL-PFORM 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+ 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
+* BUNDLE-POW SAME <<powi>>
+ SET-PARAM 'T-FUEL' <<Tfuel>>
+ SET-PARAM 'T-COOL' <<Tcool>>
+* FUEL WEIGHT <<Mass>>
+ ;
+ENDIF ;
+
+ECHO "%%3 Tfuel = " Tfuel ;
+
+*--
+* THMTMP single-stage calculation
+*--
+THMTMP FMAPTMP := THM: FMAPTMP ::
+ EDIT 1
+ FLUID SALT LiF-BeF2 0.66-0.34
+ FUEL SALT LiF-NaF-KF 0.465-0.115-0.42
+ TIME 0.0
+ FPUISS 1.0
+ INLET 101325.0 800.15
+ * CONDF 0 2.48 (*W/m/K*) KELVIN
+ * CONDC 0 35.0 (*W/m/K*) KELVIN
+ CRITFL 9E12
+ SPEED 3.0
+ ASSMB 1 0
+ RADIUS 4.55063E-3 4.55063E-3 5.00184E-3 5.00184E-3 (* m *)
+* POROS 0.0
+ RODMESH 15 20
+ MONO
+;
+
+ GREP: THMTMP :: GETVAL 'AVG-T-FUEL ' 1 * >>Tfuel<< ;
+ GREP: THMTMP :: GETVAL 'AVG-T-COOL ' 1 * >>Tcool<< ;
+ EVALUATE deltaH := totH totH1 - ABS ;
+ ECHO '%%0 iter maxiter totH totH1 deltaH Tfuel Tcool = ' iter maxiter
+ totH totH1 deltaH Tfuel Tcool ;
+ ECHO "%%3 deltaH CONV iter maxiter = " deltaH CONV iter maxiter ;
+
+UNTIL deltaH CONV < iter maxiter = + ;
+
+ECHO "FINAL HEIGHT = " totH ;
+
+GEOM := GEOMTMP ;
+FMAP := FMAPTMP ;
+MATEX := MATEXTMP ;
+THM := THMTMP ;
+* UTL: GEOMTMP :: DIR DUMP ;
+* UTL: FMAPTMP :: DIR DUMP ;
+
+*---
+* END CALCULATION
+*---
+ECHO DOUBLE_LINE ;
+ECHO 'END PROCEDURE ' FILENAME ;
+ECHO DOUBLE_LINE ;
+
+* Return totH
+:: <<totH>> ;
+
+END: ;
+QUIT "LIST" .
+