summaryrefslogtreecommitdiff
path: root/Donjon/data/channel_mphy_proc/PowComponent.c2m
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/channel_mphy_proc/PowComponent.c2m
Initial commit from Polytechnique Montreal
Diffstat (limited to 'Donjon/data/channel_mphy_proc/PowComponent.c2m')
-rw-r--r--Donjon/data/channel_mphy_proc/PowComponent.c2m105
1 files changed, 105 insertions, 0 deletions
diff --git a/Donjon/data/channel_mphy_proc/PowComponent.c2m b/Donjon/data/channel_mphy_proc/PowComponent.c2m
new file mode 100644
index 0000000..11948c4
--- /dev/null
+++ b/Donjon/data/channel_mphy_proc/PowComponent.c2m
@@ -0,0 +1,105 @@
+****************************************************************
+* *
+* Procedure : PowComponent.c2m *
+* Purpose : Reactor Physics component *
+* Author : A. Hebert *
+* *
+* CALL : *
+* Fmap Matex MacroP Flux := PowComponent Fmap Matex Flux Cpo *
+* CpRefl Track :: <<iter>> <<powi>> <<densB>> ; *
+* *
+****************************************************************
+PARAMETER Fmap Matex MacroP Flux Cpo CpRefl Track ::
+ ::: LINKED_LIST Fmap Matex MacroP Flux Cpo CpRefl 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.0 800.0 600.0 0.659 ;
+*--
+* Cross-section database interpolation
+*--
+ECHO "uniform Boron concentration=" densB ;
+MacroF := NCR: Cpo Fmap ::
+ EDIT 1
+ 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: CpRefl ::
+ EDIT 1
+ MACRO LINEAR NMIX 2
+ COMPO CpRefl 'default'
+ MIX 2 FROM 1 SET 'C-BORE' <<densB>> ENDMIX (*lower*)
+;
+
+Macro2 Matex := MACINI: Matex Macro1 MacroF ;
+*--
+* Steady-state diffusion calculation
+*--
+System := TRIVAA: Macro2 Track ;
+
+IF iter 1 = THEN
+ Flux := FLUD: System Track ::
+ EDIT 1 ADI 4 ACCE 5 3 ;
+ELSE
+ Flux := FLUD: Flux System Track ::
+ EDIT 1 ;
+ENDIF ;
+
+MacroP := Macro2 ;
+System MacroF Macro1 Macro2 := DELETE: System MacroF Macro1 Macro2 ;
+*--
+* Power distribution calculation
+*--
+ECHO "total reactor power=" powi "MW" ;
+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: ;