summaryrefslogtreecommitdiff
path: root/Dragon/data/OSC_CASEA_2level_rse.x2m
diff options
context:
space:
mode:
Diffstat (limited to 'Dragon/data/OSC_CASEA_2level_rse.x2m')
-rw-r--r--Dragon/data/OSC_CASEA_2level_rse.x2m320
1 files changed, 320 insertions, 0 deletions
diff --git a/Dragon/data/OSC_CASEA_2level_rse.x2m b/Dragon/data/OSC_CASEA_2level_rse.x2m
new file mode 100644
index 0000000..2ff0d74
--- /dev/null
+++ b/Dragon/data/OSC_CASEA_2level_rse.x2m
@@ -0,0 +1,320 @@
+*----
+* case OSC_CASEA_2level_rse
+* 99 group eighth assembly in DRAGON -- 1-level scheme
+* Author: A. Hebert
+*----
+LINKED_LIST GEOSS GEON1 GEON2 TRACKSS TRACKN1 TRACKN2 LIBRARY LIBRARY2
+ SYS FLUX FLUX2 EDITION LIBEQ DONNEES LIBHOM BURNUP EDIHOM
+ RES EDIOBJ MCOMPO ;
+MODULE SYBILT: G2S: SALT: MCCGT: USS: ASM: FLU: EDI: SPH: UTL: DELETE:
+ END: EVO: GREP: LIB: COMPO: ABORT: ;
+SEQ_BINARY TF_EXC ;
+SEQ_ASCII UOX_TBH :: FILE './UOX_TBH_g2s.txt' ;
+SEQ_ASCII FIG_UOX :: FILE './FIG_UOX.ps' ;
+SEQ_ASCII _MCOMPO :: FILE './MCOMPO_UOX_TBH.txt' ;
+INTEGER an2d := 8 ;
+REAL densur := 20.0 ;
+INTEGER istep istepNext iAutop iCompo := 0 0 1 1 ;
+REAL delr BUbeg BUend Tbeg Tend := 0.01 0.0 0.0 0.0 0.0 ;
+REAL Fuelpwr Kinf := 39.0 0.0 ;
+REAL BU BUautop BUcompo := 0.0 0.0 0.0 ;
+STRING Library := "DLIB_99" ;
+PROCEDURE Geo_SS Geo_N1 Geo_N2 Mix_UOX MultLIBEQ ;
+PROCEDURE assertS ;
+************************************************************************
+* BEGIN COMPO INITIALIZATION *
+************************************************************************
+MCOMPO := COMPO: ::
+ EDIT 10
+ STEP UP 'COND2'
+ MAXCAL 5
+ COMM 'evolution burnup CASEA Assembly' ENDC
+ PARA 'burnup' IRRA
+ INIT
+;
+************************************************************************
+* BEGIN GEOMETRY *
+************************************************************************
+REAL Rcomb4 := 0.4083 ;
+REAL Rcomb1 := 0.5 SQRT Rcomb4 * ;
+REAL Rcomb2 := 0.8 SQRT Rcomb4 * ;
+REAL Rcomb3 := 0.95 SQRT Rcomb4 * ;
+REAL R_int_TG := 0.5691 ;
+REAL R_ext_TG := 0.6095 ;
+REAL R_int_TI := 0.5691 ;
+REAL R_ext_TI := 0.6095 ;
+REAL R_int_G := 0.4165 ;
+REAL R_ext_G := 0.4775 ;
+REAL Cote := 1.26 ;
+REAL CoteL := 1.302 ;
+REAL Lame := CoteL Cote - ;
+REAL RmodeN1 := 0.670 ;
+
+GEOSS := Geo_SS :: <<Rcomb1>> <<Rcomb2>> <<Rcomb3>> <<Rcomb4>>
+ <<R_int_TG>> <<R_ext_TG>> <<R_int_TI>>
+ <<R_ext_TI>> <<R_int_G>> <<R_ext_G>> <<Cote>>
+ <<CoteL>> ;
+
+GEON1 := Geo_N1 :: <<Rcomb1>> <<Rcomb2>> <<Rcomb3>> <<Rcomb4>>
+ <<R_int_TG>> <<R_ext_TG>> <<R_int_TI>>
+ <<R_ext_TI>> <<R_int_G>> <<R_ext_G>> <<Cote>>
+ <<CoteL>> <<RmodeN1>> ;
+
+GEON2 := Geo_N2 :: <<Rcomb1>> <<Rcomb2>> <<Rcomb3>> <<Rcomb4>>
+ <<R_int_TG>> <<R_ext_TG>> <<R_int_TI>>
+ <<R_ext_TI>> <<R_int_G>> <<R_ext_G>> <<Cote>>
+ <<Lame>> ;
+UOX_TBH FIG_UOX := G2S: GEON2 ;
+************************************************************************
+* END GEOMETRY *
+************************************************************************
+************************************************************************
+* BEGIN DECLARATION *
+************************************************************************
+INTEGER maxstep := 9 ;
+DONNEES := UTL: ::
+ CREA
+ BURN <<maxstep>> =
+ 0.0 10.0 30.0 50.0 75.0 150.0
+ 250.0 375.0 500.0
+ ;
+INTEGER maxautop := 1 ;
+DONNEES := UTL: DONNEES ::
+ CREA
+ AUTOP <<maxautop>> =
+ 500.0
+ ;
+INTEGER maxcompo := 5 ;
+DONNEES := UTL: DONNEES ::
+ CREA
+ BCOMPO <<maxcompo>> =
+ 0.0 50.0 75.0 150.0 500.0
+ ;
+************************************************************************
+* END DECLARATION *
+************************************************************************
+************************************************************************
+* BEGIN TRACKING *
+************************************************************************
+! Level One
+TRACKSS := SYBILT: GEOSS ::
+ EDIT 0
+ MAXR 500
+ MAXZ 1000000
+ TITLE 'TRACKING FOR ASSEMBLY SS'
+ QUA2 20 3
+ DP01 ;
+TRACKN1 := SYBILT: GEON1 ::
+ EDIT 0
+ MAXR 500
+ MAXZ 1000000
+ TITLE 'TRACKING FOR ASSEMBLY N1'
+ QUA2 20 3
+ DP01 ;
+! Level two
+TRACKN2 TF_EXC := SALT: UOX_TBH ::
+ EDIT 3
+ ALLG
+ TSPC EQW2 <<an2d>> <<densur>> REND
+;
+TRACKN2 := MCCGT: TRACKN2 TF_EXC ::
+ CACB 4 AAC 80 TMT EPSI 1E-5 MCU 10000 ;
+
+************************************************************************
+* END TRACKING *
+************************************************************************
+************************************************************************
+* BEGIN LIBRARY READING *
+************************************************************************
+LIBRARY := Mix_UOX :: <<Library>> ;
+
+************************************************************************
+* END LIBRARY READING *
+************************************************************************
+************************************************************************
+* BEGIN DEPLETION *
+************************************************************************
+WHILE istep maxstep < DO
+
+************************************************************************
+* BEGIN FIRST LEVEL FLUX CALCULATION *
+************************************************************************
+
+ EVALUATE istep := istep 1 + ;
+ ECHO "istep: " istep "/" maxstep ;
+
+ EVALUATE BUbeg Tbeg := BUend Tend ;
+ GREP: DONNEES :: GETVAL 'BURN' <<istep>> >>BUend<< ;
+ ECHO "Tbeg=" Tbeg ;
+
+*----
+* USS
+*----
+ IF istep 1 = THEN
+ LIBRARY2 := USS: LIBRARY TRACKSS :: EDIT 1 PASS 2 ARM GRMIN 18
+ CALC REGI W1 U235 ALL REGI W1 Pu238 ALL REGI W1 Pu239 ALL
+ REGI W1 Pu240 ALL REGI W1 Pu241 ALL REGI W1 Pu242 ALL
+ ENDC ;
+ ELSE
+ GREP: DONNEES :: GETVAL "AUTOP" <<iAutop>> >>BUautop<< ;
+ GREP: DONNEES :: GETVAL "BURN" <<istep>> >>BU<< ;
+ IF BUautop BU = THEN
+ LIBRARY2 := USS: LIBRARY LIBRARY2 TRACKSS BURNUP :: EDIT 1 PASS 2
+ ARM GRMIN 18
+ CALC REGI W1 U235 ALL REGI W1 Pu238 ALL REGI W1 Pu239 ALL
+ REGI W1 Pu240 ALL REGI W1 Pu241 ALL REGI W1 Pu242 ALL
+ ENDC ;
+ EVALUATE iAutop := iAutop 1 + ;
+ ENDIF ;
+ ENDIF ;
+
+************************************************************************
+* BEGIN FIRST LEVEL FLUX CALCULATION *
+************************************************************************
+ IF istep 1 > THEN
+* homogenize from 162 mixtures to 38 mixtures and condense to 1-group
+* in order to average number densities
+ EDIHOM := EDI: FLUX2 LIBEQ TRACKN2 :: EDIT 0
+ MICR ALL
+ COND
+ MERG MIX
+ 1 2 3 4 5 6 7 8 9 10 11 12 3 4 5 6 9
+ 10 11 12 9 10 11 12 25 3 4 5 6 3 4 5 6 3
+ 4 5 6 9 10 11 12 9 10 11 12 3 4 5 6 9 10
+ 11 12 3 4 5 6 9 10 11 12 9 10 11 12 3 4 5
+ 6 3 4 5 6 3 4 5 6 3 4 5 6 3 4 5 6
+ 3 4 5 6 9 10 11 12 94 95 96 97 9 10 11 12 9
+ 10 11 12 94 95 96 97 9 10 11 12 114 115 116 117 114 115
+ 116 117 122 123 124 125 126 127 128 129 126 127 128 129 126 127 128
+ 129 126 127 128 129 126 127 128 129 126 127 128 129 126 127 128 129
+ 154 155 156 157 158 159 160 161 162
+ SAVE ON HOMOGENE
+ ;
+ LIBHOM := EDIHOM :: STEP UP HOMOGENE ;
+
+* recover number densities from LIBHOM and copy them in LIBRARY2
+ EDIHOM := DELETE: EDIHOM ;
+ LIBRARY2 := LIB: LIBRARY2 LIBHOM :: EDIT 0
+ MAXS
+ MIX 3 MIX 4 MIX 5 MIX 6 MIX 9 MIX 10 MIX 11 MIX 12
+ MIX 94 MIX 95 MIX 96 MIX 97 MIX 114 MIX 115 MIX 116 MIX 117
+ MIX 122 MIX 123 MIX 124 MIX 125 MIX 126 MIX 127 MIX 128 MIX 129
+ MIX 154 MIX 155 MIX 156 MIX 157 MIX 158 MIX 159 MIX 160 MIX 161
+ MIX 162
+ ;
+ LIBEQ LIBHOM := DELETE: LIBEQ LIBHOM ;
+ ENDIF ;
+
+ SYS := ASM: LIBRARY2 TRACKN1 :: EDIT 0 ARM ;
+ FLUX := FLU: LIBRARY2 SYS TRACKN1 ::
+ EDIT 1 TYPE K ;
+
+*----
+* 26 groups energy condensation
+*----
+ EDITION := EDI: FLUX LIBRARY2 TRACKN1 ::
+ EDIT 0
+ MICR ALL
+ MERG MIX
+ COND 4 7 10 16 18 21 24 27 31 38 50 63 65 67 68 70
+ 72 75 80 83 87 90 93 96
+ SAVE ON COND26 ;
+
+ LIBEQ := EDITION :: STEP UP COND26 ;
+
+ LIBEQ := SPH: LIBEQ TRACKN1 :: EDIT 2 ;
+
+ FLUX SYS EDITION := DELETE: FLUX SYS EDITION ;
+************************************************************************
+* END FIRST LEVEL FLUX CALCULATION *
+************************************************************************
+************************************************************************
+* BEGIN SECOND LEVEL FLUX CALCULATION *
+************************************************************************
+ LIBEQ := MultLIBEQ LIBEQ ;
+ SYS := ASM: LIBEQ TRACKN2 TF_EXC :: EDIT 1 ARM ;
+
+ IF istep 1 = THEN
+ FLUX2 := FLU: LIBEQ SYS TRACKN2 TF_EXC ::
+ EDIT 1 TYPE K ;
+ ELSE
+ FLUX2 := FLU: FLUX2 LIBEQ SYS TRACKN2 TF_EXC ::
+ EDIT 1 TYPE K ;
+ ENDIF ;
+
+ SYS := DELETE: SYS ;
+
+ IF istep maxstep < THEN
+ EVALUATE istepNext := istep 1 + ;
+ GREP: DONNEES :: GETVAL 'BURN' <<istepNext>> >>BUend<< ;
+ EVALUATE Tend := BUend Fuelpwr / ;
+
+ IF istep 1 = THEN
+ BURNUP LIBEQ := EVO: LIBEQ FLUX2 TRACKN2 ::
+ EDIT 0
+ SAVE <<Tbeg>> DAY POWR <<Fuelpwr>>
+ ;
+ ELSE
+ BURNUP LIBEQ := EVO: BURNUP LIBEQ FLUX2 TRACKN2 ::
+ EDIT 0
+ SAVE <<Tbeg>> DAY POWR <<Fuelpwr>>
+ ;
+ ENDIF ;
+
+ GREP: DONNEES :: GETVAL "BCOMPO" <<iCompo>> >>BUcompo<< ;
+ GREP: DONNEES :: GETVAL "BURN" <<istep>> >>BU<< ;
+ IF BUcompo BU = THEN
+ EDIOBJ := EDI: FLUX2 LIBEQ TRACKN2 :: EDIT 1
+ MICR 35 U234 U235 U236 U237 U238 Np237 Np238 Np239 Pu238 Pu239
+ Pu240 Pu241 Pu242 Cm242 Cm243 Cm244 Cm245 Am241 Am242m Am243
+ Pm147 Pm148 Pm148m Pm149 Sm147 Sm148 Sm149 Sm150 Nd146 Nd147
+ Nd148 B10 B11 Xe135 I135
+ MERG COMP
+ COND 0.625
+ ADF * 'FD_B' MIX 162 ENDM
+ SAVE ON COND2
+ ;
+
+************************************************************************
+* MULTICOMPO FEEDING *
+************************************************************************
+ MCOMPO := COMPO: MCOMPO EDIOBJ BURNUP LIBRARY ::
+ EDIT 2
+ STEP UP 'COND2'
+ SET <<Tbeg>> DAY ;
+ EDIOBJ := DELETE: EDIOBJ ;
+ EVALUATE iCompo := iCompo 1 + ;
+ ENDIF ;
+
+ GREP: FLUX2 :: GETVAL 'K-INFINITY ' 1 1 1 >>Kinf<< ;
+ ECHO "+++ Burnup=" BUend " Kinf=" Kinf " at step" istep ;
+
+ IF istep maxstep < THEN
+ EVALUATE istepNext := istep 1 + ;
+ GREP: DONNEES :: GETVAL 'BURN' <<istepNext>> >>BUend<< ;
+ EVALUATE Tend := BUend Fuelpwr / ;
+
+ BURNUP LIBEQ := EVO: BURNUP LIBEQ FLUX2 TRACKN2 ::
+ EDIT 1 DEPL <<Tbeg>> <<Tend>> DAY POWR <<Fuelpwr>>
+ EXPM 1.0E15 GLOB ;
+ ENDIF ;
+
+ ENDIF ;
+
+************************************************************************
+* END SECOND LEVEL FLUX CALCULATION *
+************************************************************************
+
+ENDWHILE ;
+assertS FLUX2 :: K-EFFECTIVE 1 0.8974965 ;
+************************************************************************
+* END SECOND LEVEL FLUX CALCULATION *
+************************************************************************
+
+************************************************************************
+* EXPORT MULTICOMPO IN ASCII FORMAT *
+************************************************************************
+_MCOMPO := MCOMPO ;
+
+ECHO "test OSC_CASEA_2level_rse completed" ;
+END: ;