*********************************************************** * * * Input file : TC_XENON.x2m * * Purpose : Test-case for time-instantaneous * * calculation using XENON: * * Author(s) : M. Guyot (2010) * * * * To run : rdonjon4 TC_XENON.x2m TC_EVO_CPOs * * assertS.c2m * * * *********************************************************** LINKED_LIST GEOM GEOM2 MATEX TRACK FMAP MICROLIB MACROLIB SYSTEM FLUX CPO CPO2 POWER MICRO MACRO MACRO2 ; MODULE GEO: USPLIT: TRIVAT: RESINI: NCR: TRIVAA: FLUD: MACINI: TINST: XENON: FLPOW: DELETE: GREP: END: ; PROCEDURE assertS ; REAL Power eps := 31.9713 0.001 ; ! criterion for convergence in $ REAL Keff1 Keff2 DKeff ; INTEGER iter ; *--- * Set the 3D Geometry *--- GEOM := GEO: :: CAR3D 6 6 1 X- REFL X+ REFL MESHX 0.0 28.575 57.15 85.725 114.30 142.875 171.45 SPLITX 1 1 1 1 1 1 Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 85.725 114.30 142.875 171.45 SPLITY 1 1 1 1 1 1 Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1 MIX 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 1 1 1 1 1 2 2 2 2 2 2 2 ; GEOM2 MATEX := USPLIT: GEOM :: NGRP 2 MAXR 100 NREFL 1 RMIX 2 NFUEL 1 FMIX 1 ; TRACK := TRIVAT: GEOM2 :: MAXR 100 MCFD 1 ; *--- * Set the fuel-map and the burnup of the cell *--- FMAP MATEX := RESINI: MATEX :: ::: GEO: CAR3D 6 6 1 EDIT 0 X- REFL X+ REFL MESHX 0.0 28.575 57.15 85.725 114.30 142.875 171.45 SPLITX 1 1 1 1 1 1 Y- REFL Y+ REFL MESHY 0.0 28.575 57.15 85.725 114.30 142.875 171.45 SPLITY 1 1 1 1 1 1 Z- REFL Z+ REFL MESHZ 0.0 49.53 SPLITZ 1 MIX 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 0 0 0 0 0 0 ; NXNAME "01" "02" "03" "04" "05" "06" NYNAME "A" "B" "C" "D" "E" "F" NCOMB ALL FUEL WEIGHT 19.85 ; FMAP := RESINI: FMAP :: EDIT 1 BTYPE INST-BURN INST-BVAL SAME 3000.0 ; *--- * Recover the reflector and fuel properties *--- SEQ_ASCII CPOFUEL CPOREFL ; CPO := CPOFUEL ; CPO2 := CPOREFL ; MICRO := NCR: CPO2 :: EDIT 0 NMIX 2 COMPO CPO2 'moderator' MIX 2 FROM 1 SET 'BURN' 0. MICRO ALL ENDMIX ; MICROLIB := NCR: CPO FMAP :: EDIT 0 TABLE CPO 'fuel' BURN MIX 1 INST-BURN MICRO ALL ENDMIX ; MACRO := MICRO :: STEP UP "MACROLIB" ; *--- * Initialisation of the Xenon distribution := 0 *--- MICROLIB := XENON: MICROLIB :: EDIT 0 INIT ; EVALUATE Keff1 := 0.0 ; EVALUATE Keff2 := 0.0 ; EVALUATE DKeff := 1.0 ; EVALUATE iter := 0 ; *--- * Perform the recursive procedure to obtain the new distribution *--- WHILE DKeff eps > DO EVALUATE iter := iter 1 + ; EVALUATE Keff2 := Keff1 ; MACROLIB := MICROLIB :: STEP UP "MACROLIB" ; MACRO2 MATEX := MACINI: MATEX MACRO MACROLIB :: EDIT 1 ; SYSTEM := TRIVAA: MACRO2 TRACK :: EDIT 0 ; FLUX := FLUD: SYSTEM TRACK :: EDIT 0 EXTE 300 1.E-6 ; GREP: FLUX :: GETVAL "K-EFFECTIVE" 1 >>Keff1<< ; * assertS for each iteration IF iter 1 = THEN assertS FLUX :: "K-EFFECTIVE" 1 1.058867 ; ENDIF ; IF iter 2 = THEN assertS FLUX :: "K-EFFECTIVE" 1 1.042204 ; ENDIF ; IF iter 3 = THEN assertS FLUX :: "K-EFFECTIVE" 1 1.042220 ; ENDIF ; POWER := FLPOW: FMAP FLUX TRACK MATEX :: EDIT 1 PTOT 15.866 ; * Update the microlib according to the bundle fluxes MICROLIB := XENON: MICROLIB POWER :: EDIT 0 ; * Compute the new delta k_eff EVALUATE DKeff := Keff1 Keff2 - ABS ; * Delete files MACROLIB FLUX SYSTEM MACRO2 POWER := DELETE: MACROLIB FLUX SYSTEM MACRO2 POWER ; ENDWHILE ; ECHO "test TC_XENON completed" ; END: ; QUIT .