From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- Donjon/data/rep900EnrichCOMPOhet.x2m | 288 +++++++++++++++++++++++++++++++++++ 1 file changed, 288 insertions(+) create mode 100644 Donjon/data/rep900EnrichCOMPOhet.x2m (limited to 'Donjon/data/rep900EnrichCOMPOhet.x2m') 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 <> <> + MESHY <> <> + SPLITX 1 + SPLITY 1 + ; + Track := TRIVAT: GeoInf :: + 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 <> <> <> <> + MESHY <> <> <> <> + SPLITX 1 1 1 + SPLITY 1 1 1 + ; + Track := TRIVAT: GeoInf :: + 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 <> = + 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 <> = + 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 <> = + 600.0 +! 0.0 600.0 +! 0.0 600.0 1200.0 1800.0 2400.0 + CREA + tf <> = +* 550.0 800.0 1150.0 + 800.0 + CREA + tca <> = +* 500.0 600.0 700.0 + 600.0 + CREA + dca <> = +* 0.500 0.659 0.800 + 0.659 + CREA + BARR <> = +* 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' <> >>crod<< ; + +ECHO "$$$ Boron loop" ; +EVALUATE iBoreStep := 0 ; +WHILE iBoreStep iBoreMax < DO + EVALUATE iBoreStep := iBoreStep 1 + ; + ECHO "iBoreStep = " iBoreStep " of " iBoreMax ; + GREP: DONNEES :: GETVAL 'ppmBore' <> >>ppmBore<< ; + +ECHO "$$$ Burnup loop" ; + +EVALUATE istep := 0 ; +WHILE istep maxstep < DO + EVALUATE istep := istep 1 + ; + GREP: DONNEES :: GETVAL 'burn' <> >>burnup<< ; + +IF ifx 0 = THEN + Micro := NCR: Cpo :: + EDIT 0 + NMIX 1 + COMPO Cpo <> + MIX 1 FROM 1 SET 'burnup' <> + SET 'ppmBore' <> + SET 'TF' 800.0 + SET 'DCA' 0.659 + SET 'TCA' 600.0 + SET 'BARR' <> + ENDMIX + ; +ELSE + Micro := NCR: Cpo :: + EDIT 0 + NMIX 3 + COMPO Cpo <> + MIX 1 FROM 1 SET 'burnup' <> + SET 'ppmBore' <> + SET 'TF' 800.0 + SET 'DCA' 0.659 + SET 'TCA' 600.0 + SET 'BARR' <> + ENDMIX + MIX 2 FROM 2 SET 'burnup' <> + SET 'ppmBore' <> + SET 'TF' 800.0 + SET 'DCA' 0.659 + SET 'TCA' 600.0 + SET 'BARR' <> + ENDMIX + MIX 3 FROM 3 SET 'burnup' <> + SET 'ppmBore' <> + SET 'TF' 800.0 + SET 'DCA' 0.659 + SET 'TCA' 600.0 + SET 'BARR' <> + 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 <> + IFX <> + SET 'burnup' <> + SET 'ppmBore' <> + SET 'TF' 800.0 + SET 'DCA' 0.659 + SET 'TCA' 600.0 +! SET 'BARR' <> +; + +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 . -- cgit v1.2.3