*---- * * TEST CASE testDuo_B1 * Validation test for the DUO: module implementing the Clio * perturbative approach * FIRST UO2 ROWLAND'S BENCHMARK * UNIFORM SELF-SHIELDING * 172-GROUP JEF2.2 DRAGLIB * * Author: A. Hebert * *---- * Define STRUCTURES and MODULES used *---- LINKED_LIST GEOM TRACK LIBRARY LIBRARY2 CP FLUX MACRO MACROT AFLUX LIBRARY3 FLUX3 OUT OUTMIC1 OUTMIC2 ; MODULE LIB: GEO: SYBILT: SHI: USS: ASM: FLU: T: DELETE: DUO: EDI: GREP: UTL: ABORT: END: ; REAL rhoNtot0 rhoScat rhoNuSigf rhoLeak REFVALUE DELTA B2 ; PROCEDURE assertS ; * GEOM := GEO: :: TUBE 3 R+ REFL RADIUS 0.0 0.4 0.45 0.6770275 SPLITR 2 1 1 MIX 1 2 3 ; TRACK := SYBILT: GEOM :: TITLE 'FIRST UO2 ROWLAND S BENCHMARK' MAXR 20 QUA1 5 ; *---- * SHELF SHIELDING OF THE FIRST CALCULATION USING USS *---- LIBRARY := LIB: :: EDIT 1 NMIX 3 (*MAXIMUM OF MATERIAL MIXTURES*) CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*) ANIS 2 ADED 4 NELAS N4N N2N N3N SUBG (*HELIOS TYPE PROBABILITY TABLES*) MIXS LIB: DRAGON FIL: DLIB_J2 MIX 1 293.0 U235 = U235 7.0803E-4 1 IRSET 0.0 81 U238 = U238 2.2604E-2 1 IRSET 0.0 81 O16 = O16 4.6624E-2 MIX 2 293.0 Zr0 = Zr0 4.3241E-2 2 IRSET 0.0 81 MIX 3 293.0 H1 = H1_H2O 6.6988E-2 O16 = O16 3.3494E-2 ; LIBRARY2 := USS: LIBRARY TRACK :: EDIT 1 TRAN PASS 2 GRMIN 45 ; *---- * MAIN TRANSPORT CALCULATION OF THE FIRST CALCULATION *---- CP := ASM: LIBRARY2 TRACK :: PIJ ; FLUX := FLU: CP LIBRARY2 TRACK :: TYPE B B1 SIGS EXTE 1.0E-7 ; GREP: FLUX :: GETVAL 'B2 B1HOM' 1 >>B2<< ; CP := DELETE: CP ; assertS FLUX :: K-INFINITY 1 1.377848 ; *---- * ADJOINT TRANSPORT CALCULATION OF THE FIRST CALCULATION *---- MACRO := LIBRARY2 :: STEP UP MACROLIB ; MACROT := T: MACRO ; CP := ASM: MACROT TRACK :: PIJ ; FLUX := FLU: FLUX CP MACROT TRACK :: TYPE K RHS SIGS BUCK <> ; CP MACRO MACROT := DELETE: CP MACRO MACROT ; assertS FLUX :: K-EFFECTIVE 1 1.0 ; *---- * CONSTRUCT AN EDITION MACROLIB FOR THE FIRST CALCULATION *---- OUT := EDI: FLUX LIBRARY2 TRACK GEOM :: EDIT 2 PROD (* KEYWORD TO OBTAIN ADJOINT-WEIGHTED BILINEAR PRODUCTS *) MERG MIX 1 2 3 MICR ALL SAVE ; OUTMIC1 := OUT :: STEP UP 'REF-CASE0001' ; (* FIRST EDITION MACROLIB *) OUT FLUX LIBRARY LIBRARY2 := DELETE: OUT FLUX LIBRARY LIBRARY2 ; *---- * SHELF SHIELDING OF THE SECOND CALCULATION USING SHI *---- LIBRARY := LIB: :: EDIT 1 NMIX 3 (*MAXIMUM OF MATERIAL MIXTURES*) CTRA APOL (*APOLLO TYPE TRANSPORT CORRECTION*) ANIS 2 ADED 4 NELAS N4N N2N N3N MIXS LIB: DRAGON FIL: DLIB_J2 MIX 1 293.0 U235 = U235 7.0803E-4 1 U238 = U238 2.2604E-2 1 O16 = O16 4.6624E-2 MIX 2 293.0 Zr0 = Zr0 4.3241E-2 2 MIX 3 293.0 H1 = H1_H2O 6.6988E-2 O16 = O16 3.3494E-2 ; LIBRARY := SHI: LIBRARY TRACK :: EDIT 1 LJ GRMIN 45 ; *---- * MAIN TRANSPORT CALCULATION OF THE SECOND CALCULATION *---- CP := ASM: LIBRARY TRACK :: PIJ ; FLUX := FLU: CP LIBRARY TRACK :: TYPE B B1 SIGS EXTE 1.0E-7 ; GREP: FLUX :: GETVAL 'B2 B1HOM' 1 >>B2<< ; CP := DELETE: CP ; assertS FLUX :: K-INFINITY 1 1.374971 ; *---- * ADJOINT TRANSPORT CALCULATION OF THE SECOND CALCULATION *---- MACRO := LIBRARY :: STEP UP MACROLIB ; MACROT := T: MACRO ; CP := ASM: MACROT TRACK :: PIJ ; FLUX := FLU: FLUX CP MACROT TRACK :: TYPE K RHS SIGS BUCK <> ; CP := DELETE: CP ; assertS FLUX :: K-EFFECTIVE 1 1.0 ; *---- * CONSTRUCT AN EDITION MACROLIB FOR THE SECOND CALCULATION *---- OUT := EDI: FLUX LIBRARY TRACK GEOM :: EDIT 2 PROD (* KEYWORD TO OBTAIN ADJOINT-WEIGHTED BILINEAR PRODUCTS *) MERG MIX 1 2 3 MICR ALL SAVE ; OUTMIC2 := OUT :: STEP UP 'REF-CASE0001' ; (* SECOND EDITION MACROLIB *) OUT FLUX LIBRARY := DELETE: OUT FLUX LIBRARY ; *---- * PERTURBATIVE ANALYSIS USING DUO: *---- DUO: OUTMIC1 OUTMIC2 :: EDIT 2 ENERGY ISOTOPE MIXTURE REAC NTOT0 PICK >>rhoNtot0<< SCAT00 PICK >>rhoScat<< NUSIGF PICK >>rhoNuSigf<< LEAK PICK >>rhoLeak<< ENDREAC ; ECHO "rhoNtot0=" rhoNtot0 ; ECHO "rhoScat=" rhoScat ; ECHO "rhoNuSigf=" rhoNuSigf ; ECHO "rhoLeak=" rhoLeak ; EVALUATE REFVALUE := -5.581822E2 ; EVALUATE DELTA := rhoNtot0 REFVALUE - ABS ; IF DELTA 1.0 < THEN PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; ELSE PRINT "------------" ; PRINT "TEST FAILURE" ; PRINT "------------" ; PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoNtot0 ; ABORT: ; ENDIF ; EVALUATE REFVALUE := -7.100798E2 ; EVALUATE DELTA := rhoScat REFVALUE - ABS ; IF DELTA 1.0 < THEN PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; ELSE PRINT "------------" ; PRINT "TEST FAILURE" ; PRINT "------------" ; PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoScat ; ABORT: ; ENDIF ; EVALUATE REFVALUE := 3.774100E1 ; EVALUATE DELTA := rhoNuSigf REFVALUE - ABS ; IF DELTA 1.0 < THEN PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; ELSE PRINT "------------" ; PRINT "TEST FAILURE" ; PRINT "------------" ; PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoNuSigf ; ABORT: ; ENDIF ; EVALUATE REFVALUE := -1.141487E2 ; EVALUATE DELTA := rhoLeak REFVALUE - ABS ; IF DELTA 1.0 < THEN PRINT "TEST SUCCESSFUL; DELTA=" DELTA ; ELSE PRINT "------------" ; PRINT "TEST FAILURE" ; PRINT "------------" ; PRINT "REFERENCE=" REFVALUE " CALCULATED=" rhoLeak ; ABORT: ; ENDIF ; ECHO "test testDuo_B1 completed" ; END: ;