From 7dfcc480ba1e19bd3232349fc733caef94034292 Mon Sep 17 00:00:00 2001 From: stainer_t Date: Mon, 8 Sep 2025 13:48:49 +0200 Subject: Initial commit from Polytechnique Montreal --- Dragon/data/tmacro_proc/TCM62.c2m | 669 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 669 insertions(+) create mode 100644 Dragon/data/tmacro_proc/TCM62.c2m (limited to 'Dragon/data/tmacro_proc/TCM62.c2m') diff --git a/Dragon/data/tmacro_proc/TCM62.c2m b/Dragon/data/tmacro_proc/TCM62.c2m new file mode 100644 index 0000000..037a007 --- /dev/null +++ b/Dragon/data/tmacro_proc/TCM62.c2m @@ -0,0 +1,669 @@ +*---- +* 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: ; \ No newline at end of file -- cgit v1.2.3