* * 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) * SEQ_ASCII XCOMPOU :: FILE '_CompoAss_1BU' ; * 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: FLUD: TRIVAA: NCR: DELETE: GREP: NAP: UTL: ABORT: END: ; * *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 := 2 ; * EVALUATE Cote := 1.262082 ; EVALUATE Lame := .07792594 ; * STRING TypeCompo := "Heter0" ; STRING Dir ; * IF TypeCompo "Heter0" = THEN EVALUATE npinHt := 1 ; * EVALUATE Dir := "EDI2A " ; EVALUATE Dir := "Ass " ; ELSEIF TypeCompo "Heter1" = THEN EVALUATE npinHt := 1 ; EVALUATE Dir := "EDI2C " ; 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 ; EVALUATE maxstep := 1 ; * EVALUATE maxstep := 6 ; DONNEES := UTL: :: CREA BURN <> = 0.0 ! 0.0 9.37498 18.7500 37.4999 74.9999 150.000 ; DONNEES := UTL: DONNEES :: * EDIT 10 CREA CBOR <> = * 0.0 600.0 1200.0 1800.0 2400.0 * 0.0 600.0 0.0 CREA TCOM <> = 5.58150024E+02 CREA FLUE <> = 0.0 CREA DCOM <> = 7.01012015E-01 CREA BARR <> = 1.00000000E+00 2.00000000E+00 ; INTEGER iBoreStep := 0 ; ECHO "$$$ Crod loop" ; INTEGER iCrodStep := 0 ; WHILE iCrodStep iBoreMax < 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 'CBOR' <> >>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 'BURN' <> SET 'CBOR' <> SET 'TCOM' 5.58150024E+02 SET 'DMOD' 7.01012015E-01 SET 'FLUE' 0.0 SET 'BARR' <> ENDMIX ; ELSE Micro := NCR: Cpo :: EDIT 0 NMIX 3 COMPO Cpo <> MIX 1 FROM 1 SET 'BURN' <> SET 'CBOR' <> SET 'TCOM' 5.58150024E+02 SET 'DMOD' 7.01012015E-01 SET 'FLUE' 0.0 SET 'BARR' <> ENDMIX MIX 2 FROM 2 SET 'BURN' <> SET 'CBOR' <> SET 'TCOM' 5.58150024E+02 SET 'DMOD' 7.01012015E-01 SET 'FLUE' 0.0 SET 'BARR' <> ENDMIX MIX 3 FROM 3 SET 'BURN' <> SET 'CBOR' <> SET 'TCOM' 5.58150024E+02 SET 'DMOD' 7.01012015E-01 SET 'FLUE' 0.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 'BURN' <> SET 'CBOR' <> SET 'TCOM' 5.58150024E+02 SET 'DMOD' 7.01012015E-01 SET 'FLUE' 0.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 rep900EnrichCOMPO.x2m completed" ; END: ; QUIT .