summaryrefslogtreecommitdiff
path: root/Donjon/data/channel_mphy_proc/PowComponent.c2m
blob: 11948c42590855246f7ed14c33d2752c018b8e9f (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
****************************************************************
*                                                              *
* 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: ;