*---- * TEST CASE TCM62 * PHYSOR 3D HEXAGONAL PROBLEM -- UPGRADED FROM 2D 2010 RAVIART-THOMAS * HEBERT/LE TELLIER PROBLEM -- MULTIGROUP MACROLIB-DEFINED CROSS * SECTIONS *---- * Define STRUCTURES and MODULES used *---- LINKED_LIST GEOM MACRO TRACK SYSTEM FLUX EDIT ; MODULE GEO: MAC: ASM: END: SNT: FLU: UTL: DELETE: ; PROCEDURE assertS ; * * spl = region split * sch = scheme parameter * spa = spatial order * and = sn order * sca = scattering * INTEGER spl ; INTEGER sch ; INTEGER spa ; INTEGER ang := 4 ; INTEGER sca := 2 ; INTEGER mcell ; INTEGER zbcint ; STRING zbcstr1 ; STRING zbcstr2 ; * MACRO := MAC: :: EDIT 2 NGRO 1 NMIX 3 NIFI 1 ANIS 2 READ INPUT MIX 1 TOTAL 0.025 NUSIGF 0.0155 CHI 1.0 SCAT 1 1 0.013 1 1 0.0 MIX 2 TOTAL 0.025 SCAT 1 1 0.024 1 1 0.006 MIX 3 TOTAL 0.075 SCAT 1 1 0.0 1 1 0.0 ; * ************************************************************************ *---- * TEST HODD/DG ORDER 1 FOR MESHING 1, 2, 3 *---- EVALUATE spl := 0 ; EVALUATE spa := 1 ; REPEAT EVALUATE spl := spl 1 + ; GEOM := GEO: :: HEXZ 127 2 EDIT 1 HBC COMPLETE VOID SIDE 19.0 Z- VOID Z+ VOID MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; ECHO "Testing mesh split size:" spl ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8629901 ; ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630029 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8623949 ; ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627104 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; GEOM := DELETE: GEOM ; UNTIL spl 3 = ; * ************************************************************************ *---- * TEST HODD/DG MESH 1 FOR ORDER 0, 1, 2 *---- EVALUATE spl := 1 ; GEOM := GEO: :: HEXZ 127 2 EDIT 1 HBC COMPLETE VOID SIDE 19.0 Z- VOID Z+ VOID MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; EVALUATE spa := -1 ; REPEAT EVALUATE spa := spa 1 + ; ECHO "Testing spatial order:" spl ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spa 0 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8496132 ; ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630030 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spa 0 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.7916214 ; ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630164 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; UNTIL spa 2 = ; *---- * TEST DG MESH 1 FOR ORDER 3 *---- ! Discontinuous Galerkin EVALUATE sch := 2 ; EVALUATE spa := 3 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; assertS FLUX :: 'K-EFFECTIVE' 1 0.8630095 ; GEOM TRACK SYSTEM FLUX := DELETE: GEOM TRACK SYSTEM FLUX ; * ************************************************************************ *---- * TEST HODD/DG MESH 1 ORDER 1 FOR DIFFERENT Z BOUNDARY CONDITIONS *---- EVALUATE zbcint := 0 ; EVALUATE spl := 1 ; EVALUATE spa := 1 ; REPEAT EVALUATE zbcint := zbcint 1 + ; IF zbcint 1 = THEN EVALUATE zbcstr1 := "VOID" ; EVALUATE zbcstr2 := "VOID" ; ELSEIF zbcint 2 = THEN EVALUATE zbcstr1 := "REFL" ; EVALUATE zbcstr2 := "VOID" ; ELSEIF zbcint 3 = THEN EVALUATE zbcstr1 := "REFL" ; EVALUATE zbcstr2 := "REFL" ; ENDIF ; GEOM := GEO: :: HEXZ 127 2 EDIT 3 HBC COMPLETE VOID SIDE 19.0 Z- <> Z+ <> MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; ECHO "Testing zbc:" zbcint zbcstr1 ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF zbcint 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF zbcint 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.9513385 ; ELSEIF zbcint 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002178 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF zbcint 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF zbcint 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.9506068 ; ELSEIF zbcint 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.001961 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; GEOM := DELETE: GEOM ; UNTIL zbcint 3 = ; ************************************************************************ *---- * REPEAT ABOVE TESTS FOR KBA STYLE ALGORITHM *---- ************************************************************************ *---- * TEST HODD/DG ORDER 1 FOR MESHING 1, 2, 3 *---- EVALUATE spl := 0 ; EVALUATE spa := 1 ; REPEAT EVALUATE spl := spl 1 + ; GEOM := GEO: :: HEXZ 127 2 EDIT 1 HBC COMPLETE VOID SIDE 19.0 Z- VOID Z+ VOID MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; ECHO "Testing mesh split size:" spl ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8629901 ; ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630029 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8623949 ; ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627104 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; GEOM := DELETE: GEOM ; UNTIL spl 3 = ; * ************************************************************************ *---- * TEST HODD/DG MESH 1 FOR ORDER 0, 1, 2 *---- EVALUATE spl := 1 ; GEOM := GEO: :: HEXZ 127 2 EDIT 1 HBC COMPLETE VOID SIDE 19.0 Z- VOID Z+ VOID MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; EVALUATE spa := -1 ; REPEAT EVALUATE spa := spa 1 + ; ECHO "Testing spatial order:" spl ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spa 0 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8496132 ; ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630030 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF spa 0 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.7916214 ; ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8630164 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; UNTIL spa 2 = ; *---- * TEST DG MESH 1 FOR ORDER 3 *---- ! Discontinuous Galerkin EVALUATE sch := 2 ; EVALUATE spa := 3 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; assertS FLUX :: 'K-EFFECTIVE' 1 0.8630095 ; GEOM TRACK SYSTEM FLUX := DELETE: GEOM TRACK SYSTEM FLUX ; * ************************************************************************ *---- * TEST HODD/DG MESH 1 ORDER 1 FOR DIFFERENT Z BOUNDARY CONDITIONS *---- EVALUATE zbcint := 0 ; EVALUATE spl := 1 ; EVALUATE spa := 1 ; REPEAT EVALUATE zbcint := zbcint 1 + ; IF zbcint 1 = THEN EVALUATE zbcstr1 := "VOID" ; EVALUATE zbcstr2 := "VOID" ; ELSEIF zbcint 2 = THEN EVALUATE zbcstr1 := "REFL" ; EVALUATE zbcstr2 := "VOID" ; ELSEIF zbcint 3 = THEN EVALUATE zbcstr1 := "REFL" ; EVALUATE zbcstr2 := "REFL" ; ENDIF ; GEOM := GEO: :: HEXZ 127 2 EDIT 3 HBC COMPLETE VOID SIDE 19.0 Z- <> Z+ <> MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; ECHO "Testing zbc:" zbcint zbcstr1 ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF zbcint 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; ELSEIF zbcint 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.9513385 ; ELSEIF zbcint 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002178 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA 1 MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; IF zbcint 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; ELSEIF zbcint 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 0.9506068 ; ELSEIF zbcint 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.001961 ; ENDIF ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; GEOM := DELETE: GEOM ; UNTIL zbcint 3 = ; ************************************************************************ *---- * TEST HODD/DG MESH 1 ORDER 0 FOR DIFFERENT MACROCELL VALUES 1, 2, 3, 4 *---- EVALUATE spl := 1 ; EVALUATE spa := 1 ; EVALUATE mcell := 0 ; GEOM := GEO: :: HEXZ 127 2 EDIT 3 HBC COMPLETE VOID SIDE 19.0 Z- VOID Z+ VOID MESHZ 0.0 90.0 180.0 SPLITZ <> 3 SPLITL <> MIX 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 3 2 2 2 2 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 0 3 3 3 3 3 ; REPEAT EVALUATE mcell := mcell 1 + ; ECHO "Testing mcell:" mcell ; ! High-Order Diamond Difference method EVALUATE sch := 1 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC HODD BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; assertS FLUX :: 'K-EFFECTIVE' 1 0.8627379 ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; ! Discontinuous Galerkin EVALUATE sch := 2 ; TRACK := SNT: GEOM :: TITLE '3D HEXA ANISOTROPIC DG BENCHMARK, 1 GROUP' EDIT 2 MAXR 25000 SCHM <> DIAM <> SN <> SCAT <> KBA <> MAXI 25 EPSI 1.E-5 QUAD 2 (*Level-Symmetric*) ; SYSTEM := ASM: MACRO TRACK :: EDIT 1 ARM ; FLUX := FLU: MACRO TRACK SYSTEM :: EDIT 2 TYPE K EXTE 100 1E-6 ; assertS FLUX :: 'K-EFFECTIVE' 1 0.8598794 ; TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; UNTIL mcell 4 = ; GEOM := DELETE: GEOM ; ECHO "test TCM62 completed" ; END: ;