****************************************************************
* *
* Procedure : ThermoParam.c2m *
* Purpose : Thermo-hydraulics coupling *
* Author : A. Hebert *
* *
* CALL : *
* Fmap Matex Flux := ThermoParam Fmap Matex Cpo Track *
* :: (data) ; *
* *
****************************************************************
PARAMETER Fmap Matex Flux Cpo Track ::
::: LINKED_LIST Fmap Matex Flux Cpo Track ; ;
MODULE NCR: MACINI: TRIVAA: FLUD: THM: FLPOW: GREP: DELETE: END: ;
LINKED_LIST Thm MacroF System Macro1 Macro2 Power ;
REAL powi densB pbore_0 temp_comb_0 temp_mode_0 dens_mode_0 ;
:: >>powi<< >>densB<< >>pbore_0<< >>temp_comb_0<< >>temp_mode_0<<
>>dens_mode_0<< ;
STRING Dir := "EDI2B" ;
INTEGER iter := 0 ;
REAL keffn erra1 ;
LOGICAL CONV ;
REPEAT
EVALUATE iter := iter 1 + ;
ECHO "-------------------------------" ;
ECHO "Thermo-hydraulics coupling loop" ;
ECHO "iter=" iter "densB=" densB "powi=" powi ;
ECHO "-------------------------------" ;
*--
* Cross-section database interpolation
*--
MacroF := NCR: Cpo Fmap ::
EDIT 2
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: Cpo ::
* dummy reflector -- please use more realistic data
EDIT 0
MACRO LINEAR NMIX 2
COMPO Cpo <>
MIX 2 SET LINEAR 'burnup' 15000.0
SET LINEAR 'ppmBore' <>
SET CUBIC 'TF' <>
SET CUBIC 'TCA' <>
SET CUBIC 'DCA' <>
ENDMIX
;
Macro2 Matex := MACINI: Matex Macro1 MacroF ;
*--
* Steady-state diffusion calculation
*--
System := TRIVAA: Macro2 Track ;
IF iter 1 = THEN
Flux := FLUD: System Track ::
EDIT 2 ADI 4 ACCE 5 3 ;
ELSE
Flux := FLUD: Flux System Track ::
EDIT 2 RELAX 0.8 ;
ENDIF ;
System MacroF Macro1 Macro2 := DELETE: System MacroF Macro1 Macro2 ;
*--
* Thermo-hydraulics calculation
*--
Power Fmap := FLPOW: Fmap Flux Track Matex
:: EDIT 10 PTOT <> ;
Power := DELETE: Power ;
GREP: Flux ::
GETVAL 'K-EFFECTIVE ' 1 >>keffn<< ;
ECHO "K-effective = " keffn " densB=" densB ;
IF iter 1 = THEN
Thm Fmap := THM: Fmap ::
EDIT 3
CRITFL 1.80E+6 (* W/m^2 *)
ASSMB 264 25
CWSECT 3.86 (* m^2 *) 67398.0 (* m^3/hr *)
INLET 15500000.0 (* Pa *) 560.95 (* K *)
RADIUS 0.4095E-2 0.418E-2 0.475E-2 0.6025E-2 (* m *)
SET-PARAM 'C-BORE' <>
RELAX 0.5
;
ELSE
Thm Fmap := THM: Thm Fmap ;
ENDIF ;
*--
* Convergence test
*--
GREP: Thm :: GETVAL 'ERROR-T-FUEL' 1 >>erra1<< ;
ECHO "error on fuel temperature at iteration" iter "=" erra1 ;
EVALUATE CONV := erra1 1.0 < iter 50 > + ;
ECHO "CONV =" CONV ;
ECHO "-------------------------------" ;
UNTIL CONV ;
END: ;