summaryrefslogtreecommitdiff
path: root/Donjon/data/fbr_core.x2m
blob: fd2654ea9a530c3caa17d2f2c66a31402a0aee0d (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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
***********************************************************************
*                                                                     *
* Purpose    :  Full-core calculation for a pankake FBR               *
* Author(s)  :  Charlotte Bay (2012)                                  *
*                                                                     *
***********************************************************************
PROCEDURE    fbr_geom fbr_fuelmap ;
MODULE       DELETE: END: LIB: SCR: MACINI: USPLIT: TRIVAT: TRIVAA:
             FLUD: FLPOW: RESINI: GREP: ;
LINKED_LIST  GEOM MATEX MACRO1 MACRO2 CPO1 TRACK SYSTEM FLUX POWER 
             FLMAP MACFL SAP1 SAP2 SAP3 ;
             
REAL         Keff mbp mcp ;

REAL N_Na := 2.89155432E-02 ; ! Number density of Sodium
PROCEDURE   assertS ;

*--
* Saphyb files:
*--
SEQ_ASCII Sap1_txt :: FILE 'Saphyb_fissile' ;
SEQ_ASCII Sap2_txt :: FILE 'Saphyb_fertile' ;
SEQ_ASCII Sap3_txt :: FILE 'Saphyb_solide' ;
SAP1 := Sap1_txt ;
SAP2 := Sap2_txt ;
SAP3 := Sap3_txt ;

*----------------------------------------------------------
*
*                  FULL-CORE  CALCULATION
*                  ======================
*---
* Geometry construction:
*---

GEOM := fbr_geom ;

*---
* Reactor material index:
*---

GEOM MATEX := USPLIT: GEOM :: EDIT 0 NGRP 33 MAXR 40000
              NREFL 7  RMIX 4 5 6 7 8 9 10
              NFUEL 3  FMIX 1 2 3 ;

*---
* Fuel Map construction
*---

FLMAP MATEX := fbr_fuelmap MATEX ;
      
*---
* Macrolib for the fuel
*---

*------------
*  Mix number assignments in Saphybs
* 1  : internal fissile fuel assembly
* 2  : external fertile fuel assembly
* 3  : internal fertile fuel assembly
* 4  : COSU control rod
* 5  : COSV control rod follower
* 6  : ARRE shutdown rod  
* 7  : ARSV shutdown rod follower
* 8  : REFS reflector  
* 9  : PLNA sodium plenum
* 10 : VSXP expansion bellow
*-------------

*---
*Fuel-map macrolib
*---
MACFL := SCR: SAP1 SAP2 FLMAP :: EDIT 1
*   Fissile fuel
    TABLE SAP1 'BURN'
    MIX 1 FROM 1
      INST-BURN
      SET DCA <<N_Na>>
    ENDMIX

*   Fertile fuel
    TABLE SAP2 'BURN'
    MIX 2 FROM 1
      INST-BURN
      SET DCA <<N_Na>>
    ENDMIX
    MIX 3 FROM 1
      INST-BURN
      SET DCA <<N_Na>>
    ENDMIX
;
*---
*Reflector macrolib
*---
MACRO1 := SCR: SAP3 :: EDIT 1
    NMIX 16 SAPHYB SAP3
    MIX  4 FROM 1 SET 'LEGO' COSU SET DCA <<N_Na>> ENDMIX
    MIX  5 FROM 1 SET 'LEGO' COSV SET DCA <<N_Na>> ENDMIX
    MIX  6 FROM 1 SET 'LEGO' ARRE SET DCA <<N_Na>> ENDMIX
    MIX  7 FROM 1 SET 'LEGO' ARSV SET DCA <<N_Na>> ENDMIX
    MIX  8 FROM 1 SET 'LEGO' REFS SET DCA <<N_Na>> ENDMIX
    MIX  9 FROM 1 SET 'LEGO' PLNA SET DCA <<N_Na>> ENDMIX
    MIX 10 FROM 1 SET 'LEGO' VSXP SET DCA <<N_Na>> ENDMIX
; 
SAP1 SAP2 SAP3 := DELETE: SAP1 SAP2 SAP3 ;

*---
* Extended macrolib (=complete because no device)
*---   
MACRO2 MATEX := MACINI: MATEX MACRO1 MACFL :: EDIT 0 ;

MACFL MACRO1 := DELETE: MACFL MACRO1 ;

*---
*Tracking, Raviart-Thomas-Schneider method
*---

TRACK := TRIVAT: GEOM :: EDIT 0
          MAXR 40000 DUAL 1 3
          SPN 3 SCAT 4 ;

*---
* Numerical solution
*---

SYSTEM := TRIVAA: MACRO2 TRACK :: EDIT 0 ;

MACRO2 := DELETE: MACRO2 ;

FLUX := FLUD: SYSTEM TRACK :: EDIT 2
      ACCE 3 3 EXTE 1000 1E-04 ADI 6 ;

POWER := FLPOW: FLMAP FLUX TRACK MATEX ::
        EDIT 1 PTOT 1500.0 ;

GREP: POWER :: GETVAL 'PMAX-BUND' 1 >>mbp<< ;
GREP: POWER :: GETVAL 'PMAX-CHAN' 1 >>mcp<< ;
GREP: POWER :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ;
ECHO "PMAX-BUND=" mbp "PMAX-CHAN=" mcp "Keff=" Keff ;

assertS POWER :: 'K-EFFECTIVE' 1 1.013796 ;

END: ;
QUIT "LIST" .