summaryrefslogtreecommitdiff
path: root/Donjon/data/rep900EnrichCOMPOhet.x2m
diff options
context:
space:
mode:
Diffstat (limited to 'Donjon/data/rep900EnrichCOMPOhet.x2m')
-rw-r--r--Donjon/data/rep900EnrichCOMPOhet.x2m288
1 files changed, 288 insertions, 0 deletions
diff --git a/Donjon/data/rep900EnrichCOMPOhet.x2m b/Donjon/data/rep900EnrichCOMPOhet.x2m
new file mode 100644
index 0000000..c612fd4
--- /dev/null
+++ b/Donjon/data/rep900EnrichCOMPOhet.x2m
@@ -0,0 +1,288 @@
+*
+* Input file to compute diffusion flux on a homogenize assembly
+* in an infinite space
+* Homogenization can be homogeneous or heterogeneous
+*
+* Author : R. Chambon (05/2014)
+* modified : R. Chambon (09/2015)
+* Note: The '_ACompoHet' multicompo can be obtained by running
+* ----- the 'rep900_het_gff.x2m' Dragon input file with
+* 'All' option for TypeCal
+* 'Yes' option for Gff
+* 'UOX' option for Fuel
+* 'NONE' option for SelOpt.
+*
+SEQ_ASCII XCOMPOU :: FILE '_ACompoHet' ;
+*
+SEQ_ASCII AMF Amap AFLU ATRK :: FILE 'AMF' 'Amap' 'AFLU' 'ATRK' ;
+SEQ_ASCII ACPOnew :: FILE 'ACPOnew' ;
+LINKED_LIST Cpo DONNEES GeoInf GeoRes Matex Flux Track Micro
+ MacroF Macro2 System Fmap Macro ;
+*
+MODULE GEO: USPLIT: TRIVAT: RESINI: END: FLUD: TRIVAA:
+ MACINI: NCR: DELETE: GREP: NAP: UTL: ABORT: ;
+*
+*REAL pbore_0 := 600. ; ! natural boron concentration in ppm
+
+INTEGER maxstep istep npin npinHt ifx ;
+INTEGER MaxR := 16 ;
+REAL Cote Lame mxel mxhl mxhr mxer Size ;
+REAL burnup ppmBore crod ;
+INTEGER iBoreMax := 1 ; !5
+INTEGER iTfMax := 1 ;
+INTEGER iTcaMax := 1 ;
+INTEGER iDcaMax := 1 ;
+INTEGER iBarrMax := 1 ;
+STRING Fuel := "UOX" ; ! UOX or MOX
+*
+EVALUATE Cote := 1.26 ;
+EVALUATE Lame := .04 ;
+*
+STRING TypeCompo := "Heter1" ;
+STRING Dir ;
+*
+IF TypeCompo "Heter0" = THEN
+ EVALUATE npinHt := 1 ;
+ EVALUATE Dir := "Ass " ;
+ELSEIF TypeCompo "Heter1" = THEN
+ EVALUATE npinHt := 1 ;
+ EVALUATE Dir := "Het1 " ;
+ELSEIF TypeCompo "Heter2" = THEN
+ EVALUATE npinHt := 2 ;
+ EVALUATE Dir := "Het2 " ;
+ENDIF ;
+IF TypeCompo "Heter0" = THEN
+ EVALUATE ifx := 0 ;
+ELSE
+ EVALUATE ifx := npinHt ;
+ENDIF ;
+*
+REAL keff2 ;
+*
+EVALUATE npin := 17 ;
+EVALUATE mxer := npin I_TO_R Cote * Lame 2. * + 2. / ;
+EVALUATE mxhr := npin npinHt 2 * - I_TO_R Cote * 2. / ;
+EVALUATE mxhl := mxhr -1. * ;
+EVALUATE mxel := mxer -1. * ;
+EVALUATE Size := npin I_TO_R Cote * Lame 2. * + ;
+ECHO mxel mxhl mxhr mxer ;
+*
+ Cpo := XCOMPOU ;
+
+IF ifx 0 = THEN
+ GeoInf := GEO: :: CAR2D 1 1
+ EDIT 1
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX 1
+ MESHX <<mxel>> <<mxer>>
+ MESHY <<mxel>> <<mxer>>
+ SPLITX 1
+ SPLITY 1
+ ;
+ Track := TRIVAT: GeoInf ::
+ MAXR <<MaxR>> MCFD 1 ;
+ELSE
+ GeoInf := GEO: :: CAR2D 3 3
+ EDIT 1
+ X- REFL X+ REFL
+ Y- REFL Y+ REFL
+ MIX 3 2 3
+ 2 1 2
+ 3 2 3
+ MESHX <<mxel>> <<mxhl>> <<mxhr>> <<mxer>>
+ MESHY <<mxel>> <<mxhl>> <<mxhr>> <<mxer>>
+ SPLITX 1 1 1
+ SPLITY 1 1 1
+ ;
+ Track := TRIVAT: GeoInf ::
+ MAXR <<MaxR>> DUAL 3 3 ;
+ENDIF ;
+ATRK := Track ;
+
+
+IF Fuel "MOX" = THEN
+ EVALUATE maxstep := 1 ;
+! EVALUATE maxstep := 2 ;
+! EVALUATE maxstep := 6 ;
+! EVALUATE maxstep := 71 ;
+ DONNEES := UTL: ::
+ CREA
+ burn <<maxstep>> =
+ 0.0
+! 0.0 9.37499
+! 0.0 9.37499 18.7500 37.5000 74.9999 150.000
+! 325.000 500.000 750.000 1000.00 1500.00 2000.00
+! 2500.00 3000.00 4000.00 5000.00 6000.00 7000.00
+! 8000.00 9000.00 10000.0 11000.0 12000.0 13000.0
+! 14000.0 15000.0 16000.0 17000.0 18000.0 19000.0
+! 20000.0 21000.0 22000.0 23000.0 24000.0 25000.0
+! 26000.0 27000.0 28000.0 29000.0 30000.0 31000.0
+! 32000.0 33000.0 34000.0 35000.0 36000.0 37000.0
+! 38000.0 39000.0 40000.0 41000.0 42000.0 43000.0
+! 44000.0 45000.0 46000.0 47000.0 48000.0 49000.0
+! 50000.0 51000.0 52000.0 53000.0 54000.0 55000.0
+! 56000.0 57000.0 58000.0 59000.0 60000.0
+ ;
+ELSEIF Fuel "UOX" = THEN
+ EVALUATE maxstep := 1 ;
+! EVALUATE maxstep := 2 ;
+! EVALUATE maxstep := 6 ;
+! EVALUATE maxstep := 73 ;
+ DONNEES := UTL: ::
+ CREA
+ burn <<maxstep>> =
+ 0.0
+! 0.0 9.37498
+! 0.0 9.37498 18.7500 37.4999 74.9999 150.000
+! 237.500 325.000 412.500 500.000 625.000 750.000
+! 1000.00 1250.00 1500.00 1750.00 2000.00 2500.00
+! 3000.00 3500.00 4000.00 4500.00 5000.00 5500.00
+! 6000.00 6500.00 7000.00 7500.00 8000.00 8500.00
+! 9000.00 9500.00 10000.0 10500.0 11000.0 11500.0
+! 12000.0 12500.0 13000.0 13500.0 14000.0 14500.0
+! 15000.0 15500.0 16000.0 16500.0 17000.0 17500.0
+! 18000.0 18500.0 19000.0 19500.0 20000.0 22000.0
+! 24000.0 26000.0 28000.0 30000.0 32000.0 34000.0
+! 36000.0 38000.0 40000.0 42000.0 44000.0 46000.0
+! 48000.0 50000.0 52000.0 54000.0 56000.0 58000.0
+! 60000.0
+ ;
+ELSE
+ ECHO "Fuel incorrect" ;
+ ABORT: ;
+ENDIF ;
+DONNEES := UTL: DONNEES ::
+ CREA
+ ppmBore <<iBoreMax>> =
+ 600.0
+! 0.0 600.0
+! 0.0 600.0 1200.0 1800.0 2400.0
+ CREA
+ tf <<iTfMax>> =
+* 550.0 800.0 1150.0
+ 800.0
+ CREA
+ tca <<iTcaMax>> =
+* 500.0 600.0 700.0
+ 600.0
+ CREA
+ dca <<iDcaMax>> =
+* 0.500 0.659 0.800
+ 0.659
+ CREA
+ BARR <<iBarrMax>> =
+* 0.0 1.0
+ 0.0
+ ;
+
+INTEGER iBoreStep := 0 ;
+
+ECHO "$$$ Crod loop" ;
+INTEGER iCrodStep := 0 ;
+WHILE iCrodStep iBarrMax < DO
+ EVALUATE iCrodStep := iCrodStep 1 + ;
+ ECHO "iCrodStep = " iCrodStep " of " iBarrMax ;
+ GREP: DONNEES :: GETVAL 'BARR' <<iCrodStep>> >>crod<< ;
+
+ECHO "$$$ Boron loop" ;
+EVALUATE iBoreStep := 0 ;
+WHILE iBoreStep iBoreMax < DO
+ EVALUATE iBoreStep := iBoreStep 1 + ;
+ ECHO "iBoreStep = " iBoreStep " of " iBoreMax ;
+ GREP: DONNEES :: GETVAL 'ppmBore' <<iBoreStep>> >>ppmBore<< ;
+
+ECHO "$$$ Burnup loop" ;
+
+EVALUATE istep := 0 ;
+WHILE istep maxstep < DO
+ EVALUATE istep := istep 1 + ;
+ GREP: DONNEES :: GETVAL 'burn' <<istep>> >>burnup<< ;
+
+IF ifx 0 = THEN
+ Micro := NCR: Cpo ::
+ EDIT 0
+ NMIX 1
+ COMPO Cpo <<Dir>>
+ MIX 1 FROM 1 SET 'burnup' <<burnup>>
+ SET 'ppmBore' <<ppmBore>>
+ SET 'TF' 800.0
+ SET 'DCA' 0.659
+ SET 'TCA' 600.0
+ SET 'BARR' <<crod>>
+ ENDMIX
+ ;
+ELSE
+ Micro := NCR: Cpo ::
+ EDIT 0
+ NMIX 3
+ COMPO Cpo <<Dir>>
+ MIX 1 FROM 1 SET 'burnup' <<burnup>>
+ SET 'ppmBore' <<ppmBore>>
+ SET 'TF' 800.0
+ SET 'DCA' 0.659
+ SET 'TCA' 600.0
+ SET 'BARR' <<crod>>
+ ENDMIX
+ MIX 2 FROM 2 SET 'burnup' <<burnup>>
+ SET 'ppmBore' <<ppmBore>>
+ SET 'TF' 800.0
+ SET 'DCA' 0.659
+ SET 'TCA' 600.0
+ SET 'BARR' <<crod>>
+ ENDMIX
+ MIX 3 FROM 3 SET 'burnup' <<burnup>>
+ SET 'ppmBore' <<ppmBore>>
+ SET 'TF' 800.0
+ SET 'DCA' 0.659
+ SET 'TCA' 600.0
+ SET 'BARR' <<crod>>
+ ENDMIX
+ ;
+ENDIF ;
+MacroF := Micro :: STEP UP MACROLIB ;
+
+*AMF := MacroF ;
+
+Macro2 := MacroF ;
+
+System := TRIVAA: Macro2 Track ;
+
+Flux := FLUD: System Track ::
+ EDIT 0
+ ADI 5
+;
+*AFLU := Flux ;
+GREP: Flux ::
+ GETVAL 'K-EFFECTIVE ' 1 >>keff2<< ;
+ECHO "ppmBore=" ppmBore "K-effective 2 = " keff2 ;
+
+Cpo := NAP: Cpo Track Flux ::
+ EDIT 10
+ PROJECTION
+ STEP <<Dir>>
+ IFX <<ifx>>
+ SET 'burnup' <<burnup>>
+ SET 'ppmBore' <<ppmBore>>
+ SET 'TF' 800.0
+ SET 'DCA' 0.659
+ SET 'TCA' 600.0
+! SET 'BARR' <<crod>>
+;
+
+Flux MacroF Macro2 Micro System
+ := DELETE:
+Flux MacroF Macro2 Micro System ;
+
+ENDWHILE ; ! reference burnup loop
+
+ENDWHILE ; ! boron loop
+
+ENDWHILE ; ! crod loop
+
+
+ACPOnew := Cpo ;
+
+ECHO "test rep900EnrichCOMPOhet.x2m completed" ;
+END: ;
+QUIT .