*---- * TEST CASE Equivalence_SPH_RT_APEX * 5 x 5 UMZONE ASSEMBLY WITH TRIVAC * Input cross section data from APEX *---- * Define STRUCTURES and MODULES used *---- LINKED_LIST ASSMB TRACK SYSTEM MACRO2 MACRO OPTIM FLUX ; STRING Apex_name := './UOX_5x5_TG6_sym8_multiDom.h5' ; HDF5_FILE UOX_5x5 :: FILE <> ; MODULE GEO: SPH: TRIVAT: TRIVAA: FLUD: UTL: HUTL: GREP: DELETE: END: ; INTEGER IterEmax := 1000 ; INTEGER ncals ; REAL K_EFF_REF ; PROCEDURE SPHPicardRT ; PROCEDURE assertS ; REAL side1 := 1.26 ; REAL side2 := side1 1.26 + ; REAL side3 := side2 1.26 + ; REAL side4 := side3 1.26 + ; REAL side5 := side4 1.26 + ; ASSMB := GEO: :: CAR2D 5 5 (*ASSEMBLY 5 X 5*) X- DIAG X+ REFL Y- REFL Y+ DIAG MESHX 0.0 <> <> <> <> <> MIX 6 5 4 5 6 3 2 3 5 1 2 4 3 5 6 ; TRACK := TRIVAT: ASSMB :: TITLE 'SIMPLE 5x5 FUEL ASSEMBLY' EDIT 0 MAXR 3000 DUAL 3 1 ; *---- * Perform fixed point SPH equivalence for each branch calculation *---- HUTL: UOX_5x5 :: GREP 'NCALS' 1 >>ncals<< ; INTEGER ical := 0 ; REPEAT EVALUATE ical := ical 1 + ; ECHO "process branch=" ical "/" ncals ; MACRO2 := SPH: UOX_5x5 :: EDIT 1 STEP AT <> MACRO OFF LEAK ; GREP: MACRO2 :: GETVAL 'K-EFFECTIVE' 1 >>K_EFF_REF<< ; ECHO "ical=" ical "reference k-effective=" K_EFF_REF ; MACRO OPTIM := SPHPicardRT MACRO2 ASSMB TRACK :: 0.0 10.0 1.0E-6 <> ; ECHO "control variables at convergence for ical=" ical ; UTL: OPTIM :: IMPR 'VAR-VALUE' * ; MACRO2 := DELETE: MACRO2 ; *---- * Write SPH factors on APEX file *---- UOX_5x5 := SPH: UOX_5x5 OPTIM :: EDIT 1 STEP AT <> IDEM SPOP EQUI 'EQV_DIFF_RT2' ; OPTIM := DELETE: OPTIM ; *---- * Verification calculation *---- SYSTEM := TRIVAA: MACRO TRACK :: EDIT 0 ; FLUX := FLUD: SYSTEM TRACK :: EDIT 2 ADI 3 EXTE 1.E-07 200 ; assertS FLUX :: 'K-EFFECTIVE' 1 <> ; MACRO SYSTEM FLUX := DELETE: MACRO SYSTEM FLUX ; UNTIL ical ncals = ; ECHO "Equivalence_SPH_RT_APEX completed" ; END: ;