blob: 703a019b1ad326e905b4b3df38fabb1b065b4713 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
****************************************************************
* *
* 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<< ;
DOUBLE Dpowi DdensB ;
:: >>Dpowi<< >>DdensB<< ;
REAL powi := Dpowi D_TO_R ;
REAL densB := DdensB D_TO_R ;
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 0
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 1 ADI 4 ACCE 5 3 ;
ELSE
Flux := FLUD: Flux System Track ::
EDIT 1 ;
ENDIF ;
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: ;
|