*********************************************************** * * * Input file : TC_EVO.x2m * * Purpose : Test-case for micro-depletion * * calculation using DONJON4 * * Author(s) : M. Guyot (2010) * * * * To run : rdonjon4 TC_EVO.x2m TC_EVO_CPOs * * assertS.c2m * * * *********************************************************** *********************************************************** * A mixed method is used in this TC : the micro-depletion * * is used to deplete the isotopes, except the residual * * An interpolation method is used to compute the residual* * properties at each step of time * *********************************************************** LINKED_LIST GEOM GEOEVO GEOM2 GEOEVO2 MATEX MATEX2 TRACK FMAP MICROLIB MICRO MACROLIB SYSTEM FLUX BURNUP CPO CPO2 MACRO MACRO3 TRACKEVO POWER NEWFLUX ; MODULE GEO: USPLIT: TRIVAT: RESINI: NCR: TRIVAA: FLUD: EVO: DELETE: TINST: MACINI: END: GREP: FLPOW: UTL: ; PROCEDURE assertS ; REAL Power Delt Timec Timei Timef := 31.9713 1.0 1.0 0.0 0.0 ; REAL Keff ; REAL PTOT := 1.9039 ; ! power used for the interpolation *--- * Set the 3D Geometry *--- GEOM := GEO: :: CAR3D 2 2 1 X- REFL X+ REFL MESHX 0.0 28.575 57.15 SPLITX 1 1 Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 SPLITY 1 1 Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1 MIX PLANE 1 1 2 1 1 ; GEOM2 MATEX := USPLIT: GEOM :: NGRP 2 MAXR 2000 NREFL 1 RMIX 2 NFUEL 1 FMIX 1 ; TRACK := TRIVAT: GEOM2 :: MAXR 2000 MCFD 2 ; *--- * Set the fuel-map and the burnup of the assembly *--- FMAP MATEX := RESINI: MATEX :: ::: GEO: CAR3D 2 2 1 X- REFL X+ REFL MESHX 0.0 28.575 57.15 SPLITX 1 1 Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 SPLITY 1 1 Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1 MIX PLANE 1 1 0 1 1 ; NXNAME '01' '02' NYNAME 'A' 'B' NCOMB ALL FUEL WEIGHT 19.85 ; FMAP := RESINI: FMAP :: EDIT 1 BTYPE INST-BURN INST-BVAL BUND 2000.0 2000.0 2000.0 ; *--- * Recover the fuel-map geometry to prepare the depletion calculation *--- GEOEVO := FMAP :: STEP UP 'GEOMAP' ; GEOEVO2 MATEX2 := USPLIT: GEOEVO :: NGRP 2 MAXR 2000 NFUEL 1 FMIX 1 ; TRACKEVO := TRIVAT: GEOEVO2 :: MAXR 2000 MCFD 1 ; *--- * Recover the reflector and fuel properties *--- SEQ_ASCII CPOFUEL CPOREFL ; CPO := CPOFUEL ; CPO2 := CPOREFL ; MICRO := NCR: CPO2 :: EDIT 0 NMIX 2 MICRO CUBIC COMPO CPO2 'moderator' MIX 2 FROM 1 SET 'BURN' 0. MICRO ALL ENDMIX ; MICROLIB := NCR: CPO FMAP :: EDIT 0 MICRO CUBIC ALLX 5 TABLE CPO 'fuel' BURN MIX 1 FROM 1 INST-BURN MICRO ALL ENDMIX ; MACRO := MICRO :: STEP UP 'MACROLIB' ; MACROLIB := MICROLIB :: STEP UP 'MACROLIB' ; *---- * Flux calculation and initialization of the BURNUP *---- MACRO3 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ; SYSTEM := TRIVAA: MACRO3 TRACK :: EDIT 0 ; FLUX := FLUD: SYSTEM TRACK :: EDIT 0 EXTE 200 1.E-6 ADI 5 ; POWER NEWFLUX := FLPOW: FMAP FLUX TRACK MATEX :: EDIT 0 PTOT <> BUND ; UTL: MICROLIB :: DUMP ; BURNUP MICROLIB := EVO: MICROLIB POWER :: EDIT 2 FLUX_POW PIFI SAVE 0.0 DAY POWR <> ; GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ; assertS FLUX :: "K-EFFECTIVE" 1 1.047273 ; WHILE Timei Timec < DO EVALUATE Timef := Timei Delt + ; * MICRO-DEPLETION BURNUP MICROLIB := EVO: BURNUP MICROLIB POWER :: EDIT 2 FLUX_POW PIFI DEPL <> <> DAY POWR <> ; * INTERPOLATION FOR THE MICROSCOPIC CROSS SECTIONS * The RES keyword limits multiparameter interpolation to microscopic XS FMAP := TINST: FMAP POWER :: EDIT 9 TIME <> DAY ; MICROLIB := NCR: MICROLIB CPO FMAP :: EDIT 0 MICRO CUBIC ALLX 5 RES TABLE CPO 'fuel' BURN MIX 1 INST-BURN MICRO ALL ENDMIX ; MACRO3 SYSTEM FLUX POWER NEWFLUX MACROLIB := DELETE: MACRO3 SYSTEM FLUX POWER NEWFLUX MACROLIB ; * FLUX CALCULATION MACROLIB := MICROLIB :: STEP UP 'MACROLIB' ; MACRO3 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ; SYSTEM := TRIVAA: MACRO3 TRACK :: EDIT 0 ; FLUX := FLUD: SYSTEM TRACK :: EDIT 0 EXTE 200 1.E-6 ADI 5 ; * POWER CALCULATION POWER NEWFLUX := FLPOW: FMAP FLUX TRACK MATEX :: EDIT 0 PTOT <> BUND ; BURNUP MICROLIB := EVO: BURNUP MICROLIB POWER :: FLUX_POW PIFI SAVE <> DAY POWR <> ; *---- * change delta t for burnup and final time if required *---- IF Timef Timec = THEN IF Timec 10.0 = THEN EVALUATE Delt Timec := 10.0 50.0 ; ENDIF ; IF Timec 5.0 = THEN EVALUATE Delt Timec := 5.0 10.0 ; ENDIF ; IF Timec 1.0 = THEN EVALUATE Delt Timec := 4.0 5.0 ; ENDIF ; ENDIF ; EVALUATE Timei := Timef ; ENDWHILE ; GREP: FLUX :: GETVAL 'K-EFFECTIVE' 1 >>Keff<< ; assertS FLUX :: 'K-EFFECTIVE' 1 1.033521 ; ECHO "test TC_EVO completed" ; END: ; QUIT .