diff options
Diffstat (limited to 'Dragon/data/tmacro_proc/TCM57.c2m')
| -rw-r--r-- | Dragon/data/tmacro_proc/TCM57.c2m | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/Dragon/data/tmacro_proc/TCM57.c2m b/Dragon/data/tmacro_proc/TCM57.c2m new file mode 100644 index 0000000..af4bcbb --- /dev/null +++ b/Dragon/data/tmacro_proc/TCM57.c2m @@ -0,0 +1,373 @@ +*---- +* TEST CASE TCM57 +* PHYSOR 2D HEXAGONAL PROBLEM -- BASED ON 2010 RAVIART-THOMAS +* HEBERT/LE TELLIER PROBLEM -- MULTIGROUP MACROLIB-DEFINED CROSS +* SECTIONS +* +* Ref: A. A. Calloo and A. Hebert, PHYSOR 2020 +*---- +* 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 +* +LOGICAL condition ; +INTEGER spl ; +INTEGER sch ; +INTEGER spa ; +INTEGER ang := 4 ; +INTEGER sca := 2 ; +* +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 + ; +* +************************************************************************ +EVALUATE spl := 0 ; +*---- +* TEST HODD/DG ORDER 1 FOR MESHING 1, 2, 3 +*---- +REPEAT + EVALUATE spl := spl 1 + ; + GEOM := GEO: :: HEX 127 + EDIT 2 + SPLITL <<spl>> + HBC COMPLETE VOID + SIDE 19.0 + 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 + ; + + ECHO "Testing mesh split size:" spl ; + + ! High-Order Diamond Difference method + EVALUATE sch := 1 ; + EVALUATE spa := 1 ; + TRACK := SNT: GEOM :: + TITLE '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.002178 ; + ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002180 ; + ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002177 ; + ENDIF ; + TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; + + ! Discontinuous Galerkin + EVALUATE sch := 2 ; + EVALUATE spa := 1 ; + TRACK := SNT: GEOM :: + TITLE '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.001961 ; + ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002147 ; + ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002168 ; + ENDIF ; + TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; + + GEOM := DELETE: GEOM ; + +UNTIL spl 3 = ; +* +************************************************************************ +*---- +* TEST HODD/DG MESH 2 FOR ORDER 0, 1, 2 +*---- +EVALUATE spl := 2 ; +GEOM := GEO: :: HEX 127 + EDIT 2 + SPLITL <<spl>> + HBC COMPLETE VOID + SIDE 19.0 + 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 + ; + +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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.001900 ; + ELSEIF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002180 ; + ELSEIF spa 2 = 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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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.9769528 ; + ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002147 ; + ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002178 ; + 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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.002178 ; +GEOM TRACK SYSTEM FLUX := DELETE: GEOM TRACK SYSTEM FLUX ; +* +************************************************************************ +*---- +* REPEAT ABOVE TESTS FOR KBA STYLE ALGORITHM +*---- +************************************************************************ +*---- +* TEST HODD/DG ORDER 1 FOR MESHING 1, 2, 3 +*---- +REPEAT + EVALUATE spl := spl 1 + ; + GEOM := GEO: :: HEX 127 + EDIT 2 + SPLITL <<spl>> + HBC COMPLETE VOID + SIDE 19.0 + 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 + ; + + ECHO "Testing mesh split size:" spl ; + + ! High-Order Diamond Difference method + EVALUATE sch := 1 ; + EVALUATE spa := 1 ; + TRACK := SNT: GEOM :: + TITLE '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.002178 ; + ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002180 ; + ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002177 ; + ENDIF ; + TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; + + ! Discontinuous Galerkin + EVALUATE sch := 2 ; + EVALUATE spa := 1 ; + TRACK := SNT: GEOM :: + TITLE '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.001961 ; + ELSEIF spl 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002147 ; + ELSEIF spl 3 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002168 ; + 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 := 2 ; +GEOM := GEO: :: HEX 127 + EDIT 2 + SPLITL <<spl>> + HBC COMPLETE VOID + SIDE 19.0 + 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 + ; + +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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.001900 ; + ELSEIF spl 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002180 ; + ELSEIF spa 2 = 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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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.9769528 ; + ELSEIF spa 1 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002147 ; + ELSEIF spa 2 = THEN assertS FLUX :: 'K-EFFECTIVE' 1 1.002178 ; + ENDIF ; + ! assertS FLUX :: 'K-EFFECTIVE' 1 1.002175 ; + 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 '2D HEXA ANISOTROPIC PHYSOR HODD BENCHMARK, 1 GROUP' + EDIT 2 MAXR 25000 + SCHM <<sch>> + DIAM <<spa>> + SN <<ang>> + SCAT <<sca>> + 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 1.002178 ; +TRACK SYSTEM FLUX := DELETE: TRACK SYSTEM FLUX ; +************************************************************************ + +ECHO "test TCM57 completed" ; +END: ;
\ No newline at end of file |
