**************************************************************** * * * Procedure : PowComponent.c2m * * Purpose : Reactor Physics component * * Author : A. Hebert * * * * CALL : * * Fmap Matex MacroP Flux := PowComponent Fmap Matex Flux Cpo * * CpRefl Track :: <> <> <> ; * * * **************************************************************** 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 <> 'burnup' MIX 1 INST-BURN SET LINEAR 'burnup' MAP SET LINEAR 'ppmBore' <> SET CUBIC 'TF' <> SET CUBIC 'TCA' <> SET CUBIC 'DCA' <> ADD 'ppmBore' <> MAP REF 'burnup' SAMEASREF 'TF' <> 'TCA' <> 'DCA' <> ENDREF ADD 'TCA' <> MAP REF 'burnup' SAMEASREF 'ppmBore' <> 'TF' <> 'DCA' <> ENDREF ADD 'TF' <> MAP REF 'burnup' SAMEASREF 'ppmBore' <> 'TCA' <> 'DCA' <> ENDREF ADD 'DCA' <> MAP REF 'burnup' SAMEASREF 'ppmBore' <> 'TCA' <> 'TF' <> ENDREF ENDMIX ; Macro1 := NCR: CpRefl :: EDIT 1 MACRO LINEAR NMIX 2 COMPO CpRefl 'default' MIX 2 FROM 1 SET 'C-BORE' <> 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 <> ; Power := DELETE: Power ; GREP: Flux :: GETVAL 'K-EFFECTIVE ' 1 >>keffn<< ; ECHO "K-effective = " keffn " densB=" densB ; END: ;