summaryrefslogtreecommitdiff
path: root/Yacs++/data/PowComponent.c2m
diff options
context:
space:
mode:
Diffstat (limited to 'Yacs++/data/PowComponent.c2m')
-rwxr-xr-xYacs++/data/PowComponent.c2m107
1 files changed, 107 insertions, 0 deletions
diff --git a/Yacs++/data/PowComponent.c2m b/Yacs++/data/PowComponent.c2m
new file mode 100755
index 0000000..199a337
--- /dev/null
+++ b/Yacs++/data/PowComponent.c2m
@@ -0,0 +1,107 @@
+****************************************************************
+* *
+* Procedure : PowComponent.c2m *
+* Purpose : Reactor Physics component *
+* Author : A. Hebert *
+* *
+* CALL : *
+* Fmap Matex Flux := PowComponent Fmap Matex Flux Cpo Track *
+* :: <<iter>> <<powi>> <<densB>> ; *
+* *
+****************************************************************
+PARAMETER Fmap Matex Flux Cpo Track ::
+ ::: LINKED_LIST Fmap Matex Flux Cpo Track ; ;
+MODULE NCR: MACINI: TRIVAA: FLUD: FLPOW: GREP: DELETE: END: ;
+LINKED_LIST MacroF System Macro1 Macro2 Power ;
+INTEGER iter ;
+ :: >>iter<< ;
+REAL powi densB ;
+ :: >>powi<< >>densB<< ;
+
+STRING Dir := "EDI2B" ;
+REAL keffn ;
+
+*--
+* Reference parameter values
+*--
+REAL pbore_0 temp_comb_0 temp_mode_0 dens_mode_0 :=
+ 500. 800.0 600.0 0.659 ;
+*--
+* Cross-section database interpolation
+*--
+MacroF := NCR: Cpo Fmap ::
+ EDIT 2
+ MACRO LINEAR
+ TABLE Cpo <<Dir>> 'burnup'
+ MIX 1 INST-BURN
+ SET LINEAR 'burnup' MAP
+ SET LINEAR 'ppmBore' <<pbore_0>>
+ SET CUBIC 'TF' <<temp_comb_0>>
+ SET CUBIC 'TCA' <<temp_mode_0>>
+ SET CUBIC 'DCA' <<dens_mode_0>>
+ ADD 'ppmBore' <<pbore_0>> MAP
+ REF 'burnup' SAMEASREF
+ 'TF' <<temp_comb_0>>
+ 'TCA' <<temp_mode_0>>
+ 'DCA' <<dens_mode_0>>
+ ENDREF
+ ADD 'TCA' <<temp_mode_0>> MAP
+ REF 'burnup' SAMEASREF
+ 'ppmBore' <<pbore_0>>
+ 'TF' <<temp_comb_0>>
+ 'DCA' <<dens_mode_0>>
+ ENDREF
+ ADD 'TF' <<temp_comb_0>> MAP
+ REF 'burnup' SAMEASREF
+ 'ppmBore' <<pbore_0>>
+ 'TCA' <<temp_mode_0>>
+ 'DCA' <<dens_mode_0>>
+ ENDREF
+ ADD 'DCA' <<dens_mode_0>> MAP
+ REF 'burnup' SAMEASREF
+ 'ppmBore' <<pbore_0>>
+ 'TCA' <<temp_mode_0>>
+ 'TF' <<temp_comb_0>>
+ ENDREF
+ ENDMIX
+;
+
+Macro1 := NCR: Cpo ::
+* dummy reflector -- please use more realistic data
+ EDIT 0
+ MACRO LINEAR NMIX 2
+ COMPO Cpo <<Dir>>
+ MIX 2 SET LINEAR 'burnup' 15000.0
+ SET LINEAR 'ppmBore' <<densB>>
+ SET CUBIC 'TF' <<temp_comb_0>>
+ SET CUBIC 'TCA' <<temp_mode_0>>
+ SET CUBIC 'DCA' <<dens_mode_0>>
+ ENDMIX
+;
+
+Macro2 Matex := MACINI: Matex Macro1 MacroF ;
+*--
+* Steady-state diffusion calculation
+*--
+System := TRIVAA: Macro2 Track ;
+
+IF iter 1 = THEN
+ Flux := FLUD: System Track ::
+ EDIT 0 ADI 4 ACCE 5 3 ;
+ELSE
+ Flux := FLUD: Flux System Track ::
+ EDIT 0 ;
+ENDIF ;
+System MacroF Macro1 Macro2 := DELETE: System MacroF Macro1 Macro2 ;
+*--
+* Thermo-hydraulics calculation
+*--
+Power Fmap := FLPOW: Fmap Flux Track Matex
+ :: EDIT 0 PTOT <<powi>> ;
+
+Power := DELETE: Power ;
+GREP: Flux ::
+ GETVAL 'K-EFFECTIVE ' 1 >>keffn<< ;
+ECHO "K-effective = " keffn " densB=" densB ;
+
+END: ;