diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_direct.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_direct.xml index 921966dad20..25668102c78 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_direct.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_direct.xml @@ -47,7 +47,7 @@ target="/Solvers/compflow"/> <PeriodicEvent name="solverApplications2" - beginTime="1e5" + beginTime="1e5" forceDt="1e5" target="/Solvers/compflow"/> <PeriodicEvent @@ -72,19 +72,15 @@ <ElementRegions> <CellElementRegion name="aquiferBottom" - cellBlocks="{ aquiferBottom00, aquiferBottom01, aquiferBottom02, - aquiferBottom10, aquiferBottom12, - aquiferBottom20, aquiferBottom21, aquiferBottom22, - aquiferBottom30, aquiferBottom32, - aquiferBottom40, aquiferBottom41, aquiferBottom42 }" + cellBlocks="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom21, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="aquiferTop" - cellBlocks="{ aquiferTop00, aquiferTop01, aquiferTop02, - aquiferTop10, aquiferTop12, - aquiferTop20, aquiferTop21, aquiferTop22, - aquiferTop30, aquiferTop32, - aquiferTop40, aquiferTop41, aquiferTop42 }" + cellBlocks="{ aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop21, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="injectionWell" @@ -92,16 +88,14 @@ materialList="{ fluid, rockWell, relperm }"/> <CellElementRegion name="leakyWell" - cellBlocks="{ aquiferTop11, aquitard11, aquiferBottom11 }" + cellBlocks="{ aquiferBottom11, aquitard11, aquiferTop11 }" materialList="{ fluid, rockWell, relperm }"/> <CellElementRegion name="barrier" - cellBlocks="{ aquitard00, aquitard01, aquitard02, - aquitard10, aquitard12, - aquitard20, aquitard21, aquitard22, - aquitard30, aquitard31, aquitard32, - aquitard40, aquitard41, aquitard42, - aquiferTop31 }" + cellBlocks="{ aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop31 }" materialList="{ }"/> </ElementRegions> <!-- SPHINX_ELEMENT_REGIONS_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_iterative.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_iterative.xml index dea8dc17e22..a70fd719ee6 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_iterative.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_base_iterative.xml @@ -2,7 +2,7 @@ <Problem> - <!-- SPHINX_SOLVER --> + <!-- SPHINX_SOLVER --> <Solvers> <CompositionalMultiphaseFVM name="compflow" @@ -60,19 +60,15 @@ <ElementRegions> <CellElementRegion name="aquiferBottom" - cellBlocks="{ aquiferBottom00, aquiferBottom01, aquiferBottom02, - aquiferBottom10, aquiferBottom12, - aquiferBottom20, aquiferBottom21, aquiferBottom22, - aquiferBottom30, aquiferBottom32, - aquiferBottom40, aquiferBottom41, aquiferBottom42 }" + cellBlocks="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom21, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="aquiferTop" - cellBlocks="{ aquiferTop00, aquiferTop01, aquiferTop02, - aquiferTop10, aquiferTop12, - aquiferTop20, aquiferTop21, aquiferTop22, - aquiferTop30, aquiferTop32, - aquiferTop40, aquiferTop41, aquiferTop42 }" + cellBlocks="{ aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop21, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="injectionWell" @@ -80,16 +76,14 @@ materialList="{ fluid, rockWell, relperm }"/> <CellElementRegion name="leakyWell" - cellBlocks="{ aquiferTop11, aquitard11, aquiferBottom11 }" + cellBlocks="{ aquiferBottom11, aquitard11, aquiferTop11 }" materialList="{ fluid, rockWell, relperm }"/> <CellElementRegion name="barrier" - cellBlocks="{ aquitard00, aquitard01, aquitard02, - aquitard10, aquitard12, - aquitard20, aquitard21, aquitard22, - aquitard30, aquitard31, aquitard32, - aquitard40, aquitard41, aquitard42, - aquiferTop31 }" + cellBlocks="{ aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop31 }" materialList="{ }"/> </ElementRegions> <!-- SPHINX_ELEMENT_REGIONS_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_benchmark.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_benchmark.xml index cd134e9e2f1..3edd2f02657 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_benchmark.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_benchmark.xml @@ -18,21 +18,15 @@ nx="{ 50, 1, 20, 1, 40 }" ny="{ 50, 1, 50 }" nz="{ 20, 30, 10 }" - cellBlockNames="{ aquiferBottom00, aquitard00, aquiferTop00, - aquiferBottom01, aquitard01, aquiferTop01, - aquiferBottom02, aquitard02, aquiferTop02, - aquiferBottom10, aquitard10, aquiferTop10, - aquiferBottom11, aquitard11, aquiferTop11, - aquiferBottom12, aquitard12, aquiferTop12, - aquiferBottom20, aquitard20, aquiferTop20, - aquiferBottom21, aquitard21, aquiferTop21, - aquiferBottom22, aquitard22, aquiferTop22, - aquiferBottom30, aquitard30, aquiferTop30, - aquiferBottom31, aquitard31, aquiferTop31, - aquiferBottom32, aquitard32, aquiferTop32, - aquiferBottom40, aquitard40, aquiferTop40, - aquiferBottom41, aquitard41, aquiferTop41, - aquiferBottom42, aquitard42, aquiferTop42 }"/> + cellBlockNames="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom11, aquiferBottom21, aquiferBottom31, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42, + aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard11, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop11, aquiferTop21, aquiferTop31, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }"/> </Mesh> <!-- SPHINX_MESH_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_smoke_3d.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_smoke_3d.xml index 775890d368f..69362de80c4 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_smoke_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/isothermalLeakyWell/isothermalLeakyWell_smoke_3d.xml @@ -18,21 +18,15 @@ nx="{ 5, 1, 2, 1, 4 }" ny="{ 5, 1, 5 }" nz="{ 5, 30, 5 }" - cellBlockNames="{ aquiferBottom00, aquitard00, aquiferTop00, - aquiferBottom01, aquitard01, aquiferTop01, - aquiferBottom02, aquitard02, aquiferTop02, - aquiferBottom10, aquitard10, aquiferTop10, - aquiferBottom11, aquitard11, aquiferTop11, - aquiferBottom12, aquitard12, aquiferTop12, - aquiferBottom20, aquitard20, aquiferTop20, - aquiferBottom21, aquitard21, aquiferTop21, - aquiferBottom22, aquitard22, aquiferTop22, - aquiferBottom30, aquitard30, aquiferTop30, - aquiferBottom31, aquitard31, aquiferTop31, - aquiferBottom32, aquitard32, aquiferTop32, - aquiferBottom40, aquitard40, aquiferTop40, - aquiferBottom41, aquitard41, aquiferTop41, - aquiferBottom42, aquitard42, aquiferTop42 }"/> + cellBlockNames="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom11, aquiferBottom21, aquiferBottom31, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42, + aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard11, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop11, aquiferTop21, aquiferTop31, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }"/> </Mesh> <!-- SPHINX_MESH_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_direct.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_direct.xml index 9680e6ef85f..961d7c6d00d 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_direct.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_direct.xml @@ -73,19 +73,15 @@ <ElementRegions> <CellElementRegion name="aquiferBottom" - cellBlocks="{ aquiferBottom00, aquiferBottom01, aquiferBottom02, - aquiferBottom10, aquiferBottom12, - aquiferBottom20, aquiferBottom21, aquiferBottom22, - aquiferBottom30, aquiferBottom32, - aquiferBottom40, aquiferBottom41, aquiferBottom42 }" + cellBlocks="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom21, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42 }" materialList="{ fluid, rock, relperm, cappres }"/> <CellElementRegion name="aquiferTop" - cellBlocks="{ aquiferTop00, aquiferTop01, aquiferTop02, - aquiferTop10, aquiferTop12, - aquiferTop20, aquiferTop21, aquiferTop22, - aquiferTop30, aquiferTop32, - aquiferTop40, aquiferTop41, aquiferTop42 }" + cellBlocks="{ aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop21, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }" materialList="{ fluid, rock, relperm, cappres }"/> <CellElementRegion name="injectionWell" @@ -93,16 +89,14 @@ materialList="{ fluid, rockWell, relperm, cappres }"/> <CellElementRegion name="leakyWell" - cellBlocks="{ aquiferTop11, aquitard11, aquiferBottom11 }" + cellBlocks="{ aquiferBottom11, aquitard11, aquiferTop11 }" materialList="{ fluid, rockWell, relperm, cappres }"/> <CellElementRegion name="barrier" - cellBlocks="{ aquitard00, aquitard01, aquitard02, - aquitard10, aquitard12, - aquitard20, aquitard21, aquitard22, - aquitard30, aquitard31, aquitard32, - aquitard40, aquitard41, aquitard42, - aquiferTop31 }" + cellBlocks="{ aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop31 }" materialList="{ }"/> </ElementRegions> <!-- SPHINX_ELEMENT_REGIONS_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_iterative.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_iterative.xml index 91ec5e502d4..985cec900ae 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_iterative.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_base_iterative.xml @@ -61,19 +61,15 @@ <ElementRegions> <CellElementRegion name="aquiferBottom" - cellBlocks="{ aquiferBottom00, aquiferBottom01, aquiferBottom02, - aquiferBottom10, aquiferBottom12, - aquiferBottom20, aquiferBottom21, aquiferBottom22, - aquiferBottom30, aquiferBottom32, - aquiferBottom40, aquiferBottom41, aquiferBottom42 }" + cellBlocks="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom21, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42 }" materialList="{ fluid, rock, relperm, cappres }"/> <CellElementRegion name="aquiferTop" - cellBlocks="{ aquiferTop00, aquiferTop01, aquiferTop02, - aquiferTop10, aquiferTop12, - aquiferTop20, aquiferTop21, aquiferTop22, - aquiferTop30, aquiferTop32, - aquiferTop40, aquiferTop41, aquiferTop42 }" + cellBlocks="{ aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop21, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }" materialList="{ fluid, rock, relperm, cappres }"/> <CellElementRegion name="injectionWell" @@ -81,16 +77,14 @@ materialList="{ fluid, rockWell, relperm, cappres }"/> <CellElementRegion name="leakyWell" - cellBlocks="{ aquiferTop11, aquitard11, aquiferBottom11 }" + cellBlocks="{ aquiferBottom11, aquitard11, aquiferTop11 }" materialList="{ fluid, rockWell, relperm, cappres }"/> <CellElementRegion name="barrier" - cellBlocks="{ aquitard00, aquitard01, aquitard02, - aquitard10, aquitard12, - aquitard20, aquitard21, aquitard22, - aquitard30, aquitard31, aquitard32, - aquitard40, aquitard41, aquitard42, - aquiferTop31 }" + cellBlocks="{ aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop31 }" materialList="{ }"/> </ElementRegions> <!-- SPHINX_ELEMENT_REGIONS_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_benchmark.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_benchmark.xml index 7cd5d9467cd..45e0669af83 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_benchmark.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_benchmark.xml @@ -18,21 +18,15 @@ nx="{ 50, 1, 20, 1, 40 }" ny="{ 50, 1, 50 }" nz="{ 20, 30, 10 }" - cellBlockNames="{ aquiferBottom00, aquitard00, aquiferTop00, - aquiferBottom01, aquitard01, aquiferTop01, - aquiferBottom02, aquitard02, aquiferTop02, - aquiferBottom10, aquitard10, aquiferTop10, - aquiferBottom11, aquitard11, aquiferTop11, - aquiferBottom12, aquitard12, aquiferTop12, - aquiferBottom20, aquitard20, aquiferTop20, - aquiferBottom21, aquitard21, aquiferTop21, - aquiferBottom22, aquitard22, aquiferTop22, - aquiferBottom30, aquitard30, aquiferTop30, - aquiferBottom31, aquitard31, aquiferTop31, - aquiferBottom32, aquitard32, aquiferTop32, - aquiferBottom40, aquitard40, aquiferTop40, - aquiferBottom41, aquitard41, aquiferTop41, - aquiferBottom42, aquitard42, aquiferTop42 }"/> + cellBlockNames="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom11, aquiferBottom21, aquiferBottom31, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42, + aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard11, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop11, aquiferTop21, aquiferTop31, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }"/> </Mesh> <!-- SPHINX_MESH_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_smoke_3d.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_smoke_3d.xml index ac2e8ae02d5..3aabd020d74 100644 --- a/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_smoke_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/thermalLeakyWell/thermalLeakyWell_smoke_3d.xml @@ -18,21 +18,15 @@ nx="{ 5, 1, 2, 1, 4 }" ny="{ 5, 1, 5 }" nz="{ 5, 30, 5 }" - cellBlockNames="{ aquiferBottom00, aquitard00, aquiferTop00, - aquiferBottom01, aquitard01, aquiferTop01, - aquiferBottom02, aquitard02, aquiferTop02, - aquiferBottom10, aquitard10, aquiferTop10, - aquiferBottom11, aquitard11, aquiferTop11, - aquiferBottom12, aquitard12, aquiferTop12, - aquiferBottom20, aquitard20, aquiferTop20, - aquiferBottom21, aquitard21, aquiferTop21, - aquiferBottom22, aquitard22, aquiferTop22, - aquiferBottom30, aquitard30, aquiferTop30, - aquiferBottom31, aquitard31, aquiferTop31, - aquiferBottom32, aquitard32, aquiferTop32, - aquiferBottom40, aquitard40, aquiferTop40, - aquiferBottom41, aquitard41, aquiferTop41, - aquiferBottom42, aquitard42, aquiferTop42 }"/> + cellBlockNames="{ aquiferBottom00, aquiferBottom10, aquiferBottom20, aquiferBottom30, aquiferBottom40, + aquiferBottom01, aquiferBottom11, aquiferBottom21, aquiferBottom31, aquiferBottom41, + aquiferBottom02, aquiferBottom12, aquiferBottom22, aquiferBottom32, aquiferBottom42, + aquitard00, aquitard10, aquitard20, aquitard30, aquitard40, + aquitard01, aquitard11, aquitard21, aquitard31, aquitard41, + aquitard02, aquitard12, aquitard22, aquitard32, aquitard42, + aquiferTop00, aquiferTop10, aquiferTop20, aquiferTop30, aquiferTop40, + aquiferTop01, aquiferTop11, aquiferTop21, aquiferTop31, aquiferTop41, + aquiferTop02, aquiferTop12, aquiferTop22, aquiferTop32, aquiferTop42 }"/> </Mesh> <!-- SPHINX_MESH_END --> diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_2ph_staircase_gravity_segregation_3d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_2ph_staircase_gravity_segregation_3d.xml index 23af6f08231..0d9e9853828 100644 --- a/inputFiles/compositionalMultiphaseFlow/deadoil_2ph_staircase_gravity_segregation_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/deadoil_2ph_staircase_gravity_segregation_3d.xml @@ -30,7 +30,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <Geometry> @@ -71,12 +74,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> </ElementRegions> diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_3d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_3d.xml index 2b90105cff6..fc452b3d6d1 100644 --- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_3d.xml @@ -31,7 +31,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <!-- END_SPHINX_INCLUDE_MESH_BLOCK --> @@ -92,12 +95,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> </ElementRegions> diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_hybrid_3d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_hybrid_3d.xml index e4daec34867..4fe769a93b1 100644 --- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_hybrid_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_hybrid_3d.xml @@ -29,7 +29,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <Geometry> @@ -81,12 +84,12 @@ <CellElementRegion name="Channel" meshBody="mesh" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, rock, relperm }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> </ElementRegions> diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_obl_3d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_obl_3d.xml index 2be6da038ed..f9722261b2b 100644 --- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_obl_3d.xml +++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_staircase_obl_3d.xml @@ -34,7 +34,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <!-- END_SPHINX_INCLUDE_MESH_BLOCK --> @@ -91,12 +94,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ rock }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> </ElementRegions> diff --git a/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_3d.xml b/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_3d.xml index 2c66c759f13..93f9b1469eb 100644 --- a/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_3d.xml +++ b/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_3d.xml @@ -65,7 +65,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"> <InternalWell name="well_producer1" @@ -120,12 +123,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid1, rock, relperm, cappres, diffusion }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> <WellElementRegion diff --git a/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_base.xml b/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_base.xml index 53ca032ac5f..14f540a6a30 100755 --- a/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_base.xml +++ b/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_base.xml @@ -12,7 +12,10 @@ nx="{ 3, 3 }" ny="{ 3, 3 }" nz="{ 2, 2, 2, 2 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"> <InternalWell name="well_producer1" @@ -66,11 +69,11 @@ <ElementRegions> <CellElementRegion name="channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, porousRockChannel, relperm }"/> <CellElementRegion name="barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ fluid, porousRockBarrier, relperm }"/> <WellElementRegion name="wellRegion1" diff --git a/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_base.xml b/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_base.xml index 5a69dfa2842..bea4a79c816 100755 --- a/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_base.xml +++ b/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_base.xml @@ -12,7 +12,10 @@ nx="{ 3, 3 }" ny="{ 3, 3 }" nz="{ 2, 2, 2, 2 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"> <InternalWell name="well_producer1" @@ -66,11 +69,11 @@ <ElementRegions> <CellElementRegion name="channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, porousRockChannel }"/> <CellElementRegion name="barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ fluid, porousRockBarrier }"/> <WellElementRegion name="wellRegion1" diff --git a/inputFiles/poromechanics/nonlinearAcceleration/validationCase/poroelasticCoupling_validation.ats b/inputFiles/poromechanics/nonlinearAcceleration/validationCase/poroelasticCoupling_validation.ats index ae39bd6c1d7..1ffd4767566 100644 --- a/inputFiles/poromechanics/nonlinearAcceleration/validationCase/poroelasticCoupling_validation.ats +++ b/inputFiles/poromechanics/nonlinearAcceleration/validationCase/poroelasticCoupling_validation.ats @@ -77,7 +77,7 @@ def _build_NonlinearAccelerationValidation_cases(): description = Description("Nonlinear acceleration validation problem ", "auto", "Sohail Waziri", True) restartcheck_params = {"atol": 1.0e-4, "rtol": 2.0e-6} - return _build_poro_elastic_coupling_case("validationCase.xml", (3, 6), + return _build_poro_elastic_coupling_case("validationCase.xml", (1, 2), ((1, 1, 1), ), description, restartcheck_params) diff --git a/inputFiles/poromechanics/nonlinearAcceleration/validationCase/validationCase.xml b/inputFiles/poromechanics/nonlinearAcceleration/validationCase/validationCase.xml index af9a6c20b5c..e307a69edcf 100755 --- a/inputFiles/poromechanics/nonlinearAcceleration/validationCase/validationCase.xml +++ b/inputFiles/poromechanics/nonlinearAcceleration/validationCase/validationCase.xml @@ -16,12 +16,6 @@ lineSearchAction="None" subcycling="1" nonlinearAccelerationType="Aitken"/> - <LinearSolverParameters - solverType="gmres" - preconditionerType="mgr" - logLevel="1" - krylovTol="1.0e-6" - krylovMaxIter="100"/> </SinglePhasePoromechanics> <!-- SPHINX_POROMECHANICSSOLVER_END --> @@ -36,10 +30,8 @@ newtonTol="1.0e-7" newtonMaxIter="40"/> <LinearSolverParameters - solverType="gmres" - preconditionerType="amg" - krylovTol="1.0e-6" - logLevel="1"/> + solverType="direct" + directParallel="0"/> </SolidMechanicsLagrangianSSLE> <!-- SPHINX_MECHANICALSOLVER_END --> @@ -54,10 +46,8 @@ newtonTol="1.0e-7" newtonMaxIter="40"/> <LinearSolverParameters - solverType="gmres" - preconditionerType="amg" - krylovTol="1.0e-6" - logLevel="1"/> + solverType="direct" + directParallel="0"/> </SinglePhaseFVM> <!-- SPHINX_SINGLEPHASEFVM_END --> @@ -89,15 +79,13 @@ nx="{ 5, 11, 5 }" ny="{ 5, 11, 5 }" nz="{ 2, 5, 1, 1, 1, 1, 1 }" - cellBlockNames="{ b00,b01,b02,b03,b04,b05,b06, - b07,b08,b09,b10,b11,b12,b13, - b14,b15,b16,b17,b18,b19,b20, - b21,b22,b23,b24,b25,b26,b27, - b28,b29,b30,b31,b32,b33,b34, - b35,b36,b37,b38,b39,b40,b41, - b42,b43,b44,b45,b46,b47,b48, - b49,b50,b51,b52,b53,b54,b55, - b56,b57,b58,b59,b60,b61,b62 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-2_0_0, cb-0_1_0, cb-1_1_0, cb-2_1_0, cb-0_2_0, cb-1_2_0, cb-2_2_0, + cb-0_0_1, cb-1_0_1, cb-2_0_1, cb-0_1_1, cb-1_1_1, cb-2_1_1, cb-0_2_1, cb-1_2_1, cb-2_2_1, + cb-0_0_2, cb-1_0_2, cb-2_0_2, cb-0_1_2, cb-1_1_2, cb-2_1_2, cb-0_2_2, cb-1_2_2, cb-2_2_2, + cb-0_0_3, cb-1_0_3, cb-2_0_3, cb-0_1_3, cb-1_1_3, cb-2_1_3, cb-0_2_3, cb-1_2_3, cb-2_2_3, + cb-0_0_4, cb-1_0_4, cb-2_0_4, cb-0_1_4, cb-1_1_4, cb-2_1_4, cb-0_2_4, cb-1_2_4, cb-2_2_4, + cb-0_0_5, cb-1_0_5, cb-2_0_5, cb-0_1_5, cb-1_1_5, cb-2_1_5, cb-0_2_5, cb-1_2_5, cb-2_2_5, + cb-0_0_6, cb-1_0_6, cb-2_0_6, cb-0_1_6, cb-1_1_6, cb-2_1_6, cb-0_2_6, cb-1_2_6, cb-2_2_6 }"> </InternalMesh> </Mesh> @@ -167,18 +155,16 @@ <ElementRegions> <CellElementRegion name="extendedRegion" - cellBlocks="{ b00,b01,b02,b03,b04,b05,b06, - b07,b08,b09,b10,b11,b12,b13, - b14,b15,b16,b17,b18,b19,b20, - b21,b22,b23,b24,b25,b26,b27, - b28, b30,b31,b32,b33,b34, - b35,b36,b37,b38,b39,b40,b41, - b42,b43,b44,b45,b46,b47,b48, - b49,b50,b51,b52,b53,b54,b55, - b56,b57,b58,b59,b60,b61,b62 }" + cellBlocks="{ cb-0_0_0, cb-1_0_0, cb-2_0_0, cb-0_1_0, cb-1_1_0, cb-2_1_0, cb-0_2_0, cb-1_2_0, cb-2_2_0, + cb-0_0_1, cb-1_0_1, cb-2_0_1, cb-0_1_1, cb-2_1_1, cb-0_2_1, cb-1_2_1, cb-2_2_1, + cb-0_0_2, cb-1_0_2, cb-2_0_2, cb-0_1_2, cb-1_1_2, cb-2_1_2, cb-0_2_2, cb-1_2_2, cb-2_2_2, + cb-0_0_3, cb-1_0_3, cb-2_0_3, cb-0_1_3, cb-1_1_3, cb-2_1_3, cb-0_2_3, cb-1_2_3, cb-2_2_3, + cb-0_0_4, cb-1_0_4, cb-2_0_4, cb-0_1_4, cb-1_1_4, cb-2_1_4, cb-0_2_4, cb-1_2_4, cb-2_2_4, + cb-0_0_5, cb-1_0_5, cb-2_0_5, cb-0_1_5, cb-1_1_5, cb-2_1_5, cb-0_2_5, cb-1_2_5, cb-2_2_5, + cb-0_0_6, cb-1_0_6, cb-2_0_6, cb-0_1_6, cb-1_1_6, cb-2_1_6, cb-0_2_6, cb-1_2_6, cb-2_2_6 }" materialList="{fluid, porousRockExt}"/> <CellElementRegion name="reservoir" - cellBlocks="{ b29 }" + cellBlocks="{ cb-1_1_1 }" materialList="{ fluid, porousRockRes }"/> @@ -195,7 +181,7 @@ <Events minTime="0" - maxTime="8640000"> + maxTime="3456000"> <PeriodicEvent name="outputs" @@ -224,7 +210,7 @@ <PeriodicEvent name="restarts" - timeFrequency="4320000" + timeFrequency="1728000" target="/Outputs/restartOutput"/> </Events> @@ -391,7 +377,7 @@ name="sigma_xx_Res" initialCondition="1" setNames="{ all }" - objectPath="ElementRegions/reservoir/b29" + objectPath="ElementRegions/reservoir/cb-1_1_1" fieldName="skeletonRes_stress" component="0" scale="0.0"/> @@ -407,7 +393,7 @@ name="sigma_yy_Res" initialCondition="1" setNames="{ all }" - objectPath="ElementRegions/reservoir/b29" + objectPath="ElementRegions/reservoir/cb-1_1_1" fieldName="skeletonRes_stress" component="1" scale="0.0"/> @@ -423,7 +409,7 @@ name="sigma_zz_Res" initialCondition="1" setNames="{ all }" - objectPath="ElementRegions/reservoir/b29" + objectPath="ElementRegions/reservoir/cb-1_1_1" fieldName="skeletonRes_stress" component="2" scale="0.0"/> @@ -463,7 +449,7 @@ <SourceFlux name="sourceTerm" - objectPath="ElementRegions/reservoir/b29" + objectPath="ElementRegions/reservoir/cb-1_1_1" scale="-1.84E+01" setNames="{ source }"/> @@ -481,7 +467,7 @@ <PackCollection name="pressureCollection" - objectPath="ElementRegions/reservoir/b29" + objectPath="ElementRegions/reservoir/cb-1_1_1" fieldName="pressure"/> </Tasks> diff --git a/inputFiles/singlePhaseFlow/compressible_1d_2solids.xml b/inputFiles/singlePhaseFlow/compressible_1d_2solids.xml index 1f28c8d3e13..b6c38999957 100644 --- a/inputFiles/singlePhaseFlow/compressible_1d_2solids.xml +++ b/inputFiles/singlePhaseFlow/compressible_1d_2solids.xml @@ -25,7 +25,7 @@ nx="{ 5, 5 }" ny="{ 1 }" nz="{ 1 }" - cellBlockNames="{ block1, block2 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0 }"/> </Mesh> <Geometry> @@ -69,12 +69,12 @@ <ElementRegions> <CellElementRegion name="Region1" - cellBlocks="{ block1 }" + cellBlocks="{ cb-0_0_0 }" materialList="{ fluid, rock1 }"/> <CellElementRegion name="Region2" - cellBlocks="{ block2 }" + cellBlocks="{ cb-1_0_0 }" materialList="{ fluid, rock2 }"/> </ElementRegions> diff --git a/inputFiles/singlePhaseFlow/compressible_2d_2fluids.xml b/inputFiles/singlePhaseFlow/compressible_2d_2fluids.xml index 96110f04bbf..17b28f92439 100644 --- a/inputFiles/singlePhaseFlow/compressible_2d_2fluids.xml +++ b/inputFiles/singlePhaseFlow/compressible_2d_2fluids.xml @@ -25,7 +25,7 @@ nx="{ 5, 5 }" ny="{ 3 }" nz="{ 1 }" - cellBlockNames="{ block1, block2 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0 }"/> </Mesh> <Geometry> @@ -85,12 +85,12 @@ <ElementRegions> <CellElementRegion name="Region1" - cellBlocks="{ block1 }" + cellBlocks="{ cb-0_0_0 }" materialList="{ fluid1, rock }"/> <CellElementRegion name="Region2" - cellBlocks="{ block2 }" + cellBlocks="{ cb-1_0_0 }" materialList="{ fluid2, rock }"/> </ElementRegions> diff --git a/inputFiles/singlePhaseFlow/compressible_2d_2fluids_hybrid.xml b/inputFiles/singlePhaseFlow/compressible_2d_2fluids_hybrid.xml index 2c934611c49..c7589636004 100644 --- a/inputFiles/singlePhaseFlow/compressible_2d_2fluids_hybrid.xml +++ b/inputFiles/singlePhaseFlow/compressible_2d_2fluids_hybrid.xml @@ -25,7 +25,7 @@ nx="{ 5, 5 }" ny="{ 3 }" nz="{ 1 }" - cellBlockNames="{ block1, block2 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0 }"/> </Mesh> <Geometry> @@ -85,12 +85,12 @@ <ElementRegions> <CellElementRegion name="Region1" - cellBlocks="{ block1 }" + cellBlocks="{ cb-0_0_0 }" materialList="{ fluid1, rock }"/> <CellElementRegion name="Region2" - cellBlocks="{ block2 }" + cellBlocks="{ cb-1_0_0 }" materialList="{ fluid2, rock }"/> </ElementRegions> @@ -137,7 +137,7 @@ name="Porosity" initialCondition="1" setNames="{ all }" - objectPath="ElementRegions/Region1/block1" + objectPath="ElementRegions/Region1/cb-0_0_0" fieldName="rockPorosity_referencePorosity" scale="0.05"/> diff --git a/inputFiles/singlePhaseFlow/staircase_3d.xml b/inputFiles/singlePhaseFlow/staircase_3d.xml index 95628bc339d..199f1a726ea 100644 --- a/inputFiles/singlePhaseFlow/staircase_3d.xml +++ b/inputFiles/singlePhaseFlow/staircase_3d.xml @@ -25,7 +25,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <Geometry> @@ -73,12 +76,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ water, rock }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> </ElementRegions> diff --git a/inputFiles/singlePhaseWell/staircase_single_phase_wells_3d.xml b/inputFiles/singlePhaseWell/staircase_single_phase_wells_3d.xml index 00d189ec214..6789ab90542 100644 --- a/inputFiles/singlePhaseWell/staircase_single_phase_wells_3d.xml +++ b/inputFiles/singlePhaseWell/staircase_single_phase_wells_3d.xml @@ -51,7 +51,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"> <InternalWell name="well_producer1" @@ -105,12 +108,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ water, rock }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> <WellElementRegion diff --git a/inputFiles/singlePhaseWell/staircase_single_phase_wells_hybrid_3d.xml b/inputFiles/singlePhaseWell/staircase_single_phase_wells_hybrid_3d.xml index 9d2cb20066c..2298a32e483 100644 --- a/inputFiles/singlePhaseWell/staircase_single_phase_wells_hybrid_3d.xml +++ b/inputFiles/singlePhaseWell/staircase_single_phase_wells_hybrid_3d.xml @@ -54,7 +54,10 @@ nx="{ 5, 5 }" ny="{ 5, 5 }" nz="{ 3, 3, 3, 3 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"> <InternalWell name="well_producer1" @@ -108,12 +111,12 @@ <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ water, rock }"/> <CellElementRegion name="Barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ }"/> <WellElementRegion diff --git a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml index 0afc57f9faa..a646a550529 100644 --- a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml +++ b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml @@ -38,7 +38,8 @@ <ElementRegions> <CellElementRegion name="Domain" - cellBlocks="{ cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8 }" + cellBlocks="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1 }" materialList="{ rock }"/> </ElementRegions> <!-- SPHINX_ELEMENTREGIONS_END --> @@ -155,7 +156,7 @@ <Tasks> <PackCollection name="stressCollection" - objectPath="ElementRegions/Domain/cb8" + objectPath="ElementRegions/Domain/cb-1_1_1" fieldName="rock_stress"/> <PackCollection diff --git a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_benchmark.xml b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_benchmark.xml index 475c0f4e668..605f41ca54c 100644 --- a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_benchmark.xml +++ b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_benchmark.xml @@ -16,7 +16,8 @@ nx="{ 9, 1 }" ny="{ 9, 1 }" nz="{ 9, 1 }" - cellBlockNames="{ cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1 }"/> </Mesh> <!-- SPHINX_MESH_END --> diff --git a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_smoke.xml b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_smoke.xml index 0d50bd21c23..172adadc4f4 100644 --- a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_smoke.xml +++ b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_smoke.xml @@ -15,7 +15,8 @@ nx="{ 1, 1 }" ny="{ 1, 1 }" nz="{ 1, 1 }" - cellBlockNames="{ cb1, cb2, cb3, cb4, cb5, cb6, cb7, cb8 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1 }"/> </Mesh> <Events diff --git a/inputFiles/thermoPoromechanics/ThermoPoroElastic_staircase_co2_smoke.xml b/inputFiles/thermoPoromechanics/ThermoPoroElastic_staircase_co2_smoke.xml index 97101133740..19751f2670a 100644 --- a/inputFiles/thermoPoromechanics/ThermoPoroElastic_staircase_co2_smoke.xml +++ b/inputFiles/thermoPoromechanics/ThermoPoroElastic_staircase_co2_smoke.xml @@ -49,7 +49,10 @@ nx="{ 3, 3 }" ny="{ 3, 3 }" nz="{ 2, 2, 2, 2 }" - cellBlockNames="{ b00, b01, b02, b03, b04, b05, b06, b07, b08, b09, b10, b11, b12, b13, b14, b15 }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3 }"/> </Mesh> <Geometry> @@ -131,11 +134,11 @@ <ElementRegions> <CellElementRegion name="channel" - cellBlocks="{ b08, b00, b01, b05, b06, b14, b15, b11 }" + cellBlocks="{ cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3 }" materialList="{ fluid, porousRockChannel, relperm, thermalCond }"/> <CellElementRegion name="barrier" - cellBlocks="{ b04, b12, b13, b09, b10, b02, b03, b07 }" + cellBlocks="{ cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3 }" materialList="{ fluid, porousRockBarrier, relperm, thermalCond }"/> </ElementRegions> diff --git a/inputFiles/wavePropagation/acous3D_pml_smoke.xml b/inputFiles/wavePropagation/acous3D_pml_smoke.xml index 7e2b978d31d..3a1e3db0f47 100644 --- a/inputFiles/wavePropagation/acous3D_pml_smoke.xml +++ b/inputFiles/wavePropagation/acous3D_pml_smoke.xml @@ -31,15 +31,15 @@ nx="{ 1, 3, 1}" ny="{ 1, 3, 1}" nz="{ 1, 3, 1}" - cellBlockNames="{ pmlLeftFrontBottom, pmlLeftFrontMid, pmlLeftFrontTop, - pmlLeftMidBottom, pmlLeftMidMid, pmlLeftMidTop, - pmlLeftBackBottom, pmlLeftBackMid, pmlLeftBackTop, - pmlMidFrontBottom, pmlMidFrontMid, pmlMidFrontTop, - pmlMidMidBottom, interiorMidMidMid, pmlMidMidTop, - pmlMidBackBottom, pmlMidBackMid, pmlMidBackTop, - pmlRightFrontBottom, pmlRightFrontMid, pmlRightFrontTop, - pmlRightMidBottom, pmlRightMidMid, pmlRightMidTop, - pmlRightBackBottom, pmlRightBackMid, pmlRightBackTop }"/> + cellBlockNames="{ cb-0_0_0, cb-1_0_0, cb-2_0_0, + cb-0_1_0, cb-1_1_0, cb-2_1_0, + cb-0_2_0, cb-1_2_0, cb-2_2_0, + cb-0_0_1, cb-1_0_1, cb-2_0_1, + cb-0_1_1, cb-1_1_1, cb-2_1_1, + cb-0_2_1, cb-1_2_1, cb-2_2_1, + cb-0_0_2, cb-1_0_2, cb-2_0_2, + cb-0_1_2, cb-1_1_2, cb-2_1_2, + cb-0_2_2, cb-1_2_2, cb-2_2_2 }"/> </Mesh> <Geometry> @@ -115,20 +115,20 @@ <!-- assign the interior and PML blocks to separate cell element regions --> <CellElementRegion name="interiorDomain" - cellBlocks="{ interiorMidMidMid }" + cellBlocks="{ cb-1_1_1 }" materialList="{ nullModel }"/> <CellElementRegion name="pmlDomain" - cellBlocks="{ pmlLeftFrontBottom, pmlLeftFrontMid, pmlLeftFrontTop, - pmlLeftMidBottom, pmlLeftMidMid, pmlLeftMidTop, - pmlLeftBackBottom, pmlLeftBackMid, pmlLeftBackTop, - pmlMidFrontBottom, pmlMidFrontMid, pmlMidFrontTop, - pmlMidMidBottom, pmlMidMidTop, - pmlMidBackBottom, pmlMidBackMid, pmlMidBackTop, - pmlRightFrontBottom, pmlRightFrontMid, pmlRightFrontTop, - pmlRightMidBottom, pmlRightMidMid, pmlRightMidTop, - pmlRightBackBottom, pmlRightBackMid, pmlRightBackTop }" + cellBlocks="{ cb-0_0_0, cb-1_0_0, cb-2_0_0, + cb-0_1_0, cb-1_1_0, cb-2_1_0, + cb-0_2_0, cb-1_2_0, cb-2_2_0, + cb-0_0_1, cb-1_0_1, cb-2_0_1, + cb-0_1_1, cb-2_1_1, + cb-0_2_1, cb-1_2_1, cb-2_2_1, + cb-0_0_2, cb-1_0_2, cb-2_0_2, + cb-0_1_2, cb-1_1_2, cb-2_1_2, + cb-0_2_2, cb-1_2_2, cb-2_2_2 }" materialList="{ nullModel }"/> </ElementRegions> diff --git a/integratedTests b/integratedTests index abea2ddbfab..b50e624e7d9 160000 --- a/integratedTests +++ b/integratedTests @@ -1 +1 @@ -Subproject commit abea2ddbfab58ba445a9254d514dd5ac392a25ee +Subproject commit b50e624e7d905faa2e4078e53162e159b75ebe6a diff --git a/src/coreComponents/mesh/docs/Mesh.rst b/src/coreComponents/mesh/docs/Mesh.rst index d4231f7ac20..c87441015b4 100644 --- a/src/coreComponents/mesh/docs/Mesh.rst +++ b/src/coreComponents/mesh/docs/Mesh.rst @@ -121,15 +121,18 @@ with the following code. nx="{5, 5}" ny="{5, 5}" nz="{3, 3, 3, 3}" - cellBlockNames="{b00,b01,b02,b03,b04,b05,b06,b07,b08,b09,b10,b11,b12,b13,b14,b15}"/> + cellBlockNames="{cb-0_0_0, cb-1_0_0, cb-0_1_0, cb-1_1_0, + cb-0_0_1, cb-1_0_1, cb-0_1_1, cb-1_1_1, + cb-0_0_2, cb-1_0_2, cb-0_1_2, cb-1_1_2, + cb-0_0_3, cb-1_0_3, cb-0_1_3, cb-1_1_3}"/> </Mesh> <ElementRegions> <CellElementRegion name="Channel" - cellBlocks="{b08,b00,b01,b05,b06,b14,b15,b11}" + cellBlocks="{cb-1_0_0, cb-0_0_0, cb-0_0_1, cb-0_1_1, cb-0_1_2, cb-1_1_2, cb-1_1_3, cb-1_0_3}" materialList="{fluid1, rock, relperm}"/> <CellElementRegion name="Barrier" - cellBlocks="{b04,b12,b13,b09,b10,b02,b03,b07}" + cellBlocks="{cb-0_1_0, cb-1_1_0, cb-1_1_1, cb-1_0_1, cb-1_0_2, cb-0_0_2, cb-0_0_3, cb-0_1_3}" materialList="{}"/> </ElementRegions> @@ -139,6 +142,7 @@ Thus, the generated mesh will be : :align: center :width: 500 +Note that ``CellBlocks`` are ordered following the natural IJK logic, with indices increasing first in I (x-direction), then in J (y-direction) and last in K (z-direction). .. _ExternalMeshUsage: diff --git a/src/coreComponents/mesh/docs/staircase.svg b/src/coreComponents/mesh/docs/staircase.svg index bda6f11f955..4a5dffd595d 100644 --- a/src/coreComponents/mesh/docs/staircase.svg +++ b/src/coreComponents/mesh/docs/staircase.svg @@ -2,24 +2,24 @@ <!-- Created with Inkscape (http://www.inkscape.org/) --> <svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="413.08026mm" height="362.52155mm" viewBox="0 0 413.08026 362.52156" version="1.1" id="svg8" - inkscape:version="0.92.4 5da689c313, 2019-01-14" + inkscape:version="1.3.2 (091e20e, 2023-11-25)" sodipodi:docname="staircase.svg" style="enable-background:new" inkscape:export-filename="/home/amazuyer/Pictures/staircase.png" inkscape:export-xdpi="96" - inkscape:export-ydpi="96"> + inkscape:export-ydpi="96" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> <defs id="defs2" /> <sodipodi:namedview @@ -29,24 +29,27 @@ borderopacity="1.0" inkscape:pageopacity="1" inkscape:pageshadow="2" - inkscape:zoom="0.401922" - inkscape:cx="903.8954" - inkscape:cy="632.38391" + inkscape:zoom="0.36802093" + inkscape:cx="748.59873" + inkscape:cy="528.50255" inkscape:document-units="mm" - inkscape:current-layer="layer4" + inkscape:current-layer="layer1" showgrid="false" - inkscape:window-width="1920" - inkscape:window-height="1007" - inkscape:window-x="0" - inkscape:window-y="0" - inkscape:window-maximized="1" + inkscape:window-width="1312" + inkscape:window-height="820" + inkscape:window-x="45" + inkscape:window-y="38" + inkscape:window-maximized="0" showguides="false" inkscape:snap-object-midpoints="true" fit-margin-top="0" fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" - inkscape:object-paths="true" /> + inkscape:object-paths="true" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" /> <metadata id="metadata5"> <rdf:RDF> @@ -55,7 +58,7 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -1611,263 +1614,280 @@ transform="translate(433.05483,92.624135)"> <text id="text1281" - y="147.56969" - x="-312.34894" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + y="149.19183" + x="-325.92758" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="147.56969" - x="-312.34894" + style="stroke-width:0.264583" + y="149.19183" + x="-325.92758" id="tspan1279" - sodipodi:role="line">b00</tspan></text> + sodipodi:role="line">cb_0-0-0</tspan></text> <text id="text1285" - y="104.77562" - x="-311.46527" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + y="104.96862" + x="-325.92758" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="104.77562" - x="-311.46527" + style="stroke-width:0.264583" + y="104.96862" + x="-325.92758" id="tspan1283" - sodipodi:role="line">b01</tspan></text> + sodipodi:role="line">cb_0-0-1</tspan></text> <text id="text1289" - y="61.98156" - x="-312.1629" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + y="60.745373" + x="-325.92758" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="61.98156" - x="-312.1629" + style="stroke-width:0.264583" + y="60.745373" + x="-325.92758" id="tspan1287" - sodipodi:role="line">b02</tspan></text> - <text - id="text1293" - y="-68.60582" - x="-238.86523" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - xml:space="preserve" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="-68.60582" - x="-238.86523" - id="tspan1291" - sodipodi:role="line">b07</tspan></text> + sodipodi:role="line">cb_0-0-2</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-312.05179" - y="19.187496" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="-325.92758" + y="16.522175" id="text1277" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan sodipodi:role="line" id="tspan1275" - x="-312.05179" - y="19.187496" - style="stroke-width:0.26458332">b03</tspan></text> - <text + x="-325.92758" + y="16.522175" + style="stroke-width:0.264583">cb_0-0-3</tspan></text> + <text + id="text1281-9" + y="149.32413" + x="-237.57898" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-221.47729" - y="147.56969" - id="text1297" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1295" - x="-221.47729" - y="147.56969" - style="stroke-width:0.26458332">b08</tspan></text> - <text + style="stroke-width:0.264583" + y="149.32413" + x="-237.57898" + id="tspan1279-0" + sodipodi:role="line">cb_1-0-0</tspan></text> + <text + id="text1285-2" + y="105.10091" + x="-237.57898" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-220.59363" - y="104.77562" - id="text1301" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1299" - x="-220.59363" - y="104.77562" - style="stroke-width:0.26458332">b09</tspan></text> - <text + style="stroke-width:0.264583" + y="105.10091" + x="-237.57898" + id="tspan1283-3" + sodipodi:role="line">cb_1-0-1</tspan></text> + <text + id="text1289-9" + y="60.87767" + x="-237.57898" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-221.29126" - y="61.98156" - id="text1305" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1303" - x="-221.29126" - y="61.98156" - style="stroke-width:0.26458332">b10</tspan></text> - <text - id="text1309" - y="19.187496" - x="-221.18015" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + style="stroke-width:0.264583" + y="60.87767" + x="-237.57898" + id="tspan1287-9" + sodipodi:role="line">cb_1-0-2</tspan></text> + <text xml:space="preserve" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" + x="-237.57898" + y="16.654467" + id="text1277-7" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="19.187496" - x="-221.18015" - id="tspan1307" - sodipodi:role="line">b11</tspan></text> + sodipodi:role="line" + id="tspan1275-0" + x="-237.57898" + y="16.654467" + style="stroke-width:0.264583">cb_1-0-3</tspan></text> <text id="text1313" y="-25.713785" - x="-289.60114" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + x="-302.30133" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" xml:space="preserve" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" + style="stroke-width:0.264583" y="-25.713785" - x="-289.60114" + x="-302.30133" id="tspan1311" - sodipodi:role="line">b03</tspan></text> + sodipodi:role="line">cb_0-0-3</tspan></text> <text - id="text1317" - y="125.65359" - x="-152.52176" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + id="text1317-5" + y="7.0188494" + x="-166.15012" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" xml:space="preserve" inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="125.65359" - x="-152.52176" - id="tspan1315" - sodipodi:role="line">b08</tspan></text> - <text - id="text1321" - y="82.85952" - x="-151.63809" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="7.0188494" + x="-166.15012" + id="tspan1315-8" + sodipodi:role="line">cb_1-0-0</tspan></text> + <text + id="text1317-5-1" + y="-36.901997" + x="-166.15012" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" xml:space="preserve" inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="82.85952" - x="-151.63809" - id="tspan1319" - sodipodi:role="line">b09</tspan></text> - <text - id="text1325" - y="40.06546" - x="-152.33572" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-36.901997" + x="-166.15012" + id="tspan1315-8-0" + sodipodi:role="line">cb_1-0-1</tspan></text> + <text + id="text1317-5-1-5" + y="-81.881203" + x="-166.15012" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" xml:space="preserve" inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="40.06546" - x="-152.33572" - id="tspan1323" - sodipodi:role="line">b10</tspan></text> - <text + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-81.881203" + x="-166.15012" + id="tspan1315-8-0-2" + sodipodi:role="line">cb_1-0-2</tspan></text> + <text + id="text1317-5-1-5-2" + y="-125.80204" + x="-166.15012" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-152.22461" - y="-2.728605" - id="text1329" inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1327" - x="-152.22461" - y="-2.728605" - style="stroke-width:0.26458332">b11</tspan></text> + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-125.80204" + x="-166.15012" + id="tspan1315-8-0-2-7" + sodipodi:role="line">cb_1-0-3</tspan></text> + <text + id="text1317-5-8" + y="6.8278699" + x="-117.10146" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" + xml:space="preserve" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="6.8278699" + x="-117.10146" + id="tspan1315-8-1" + sodipodi:role="line">cb_1-1-0</tspan></text> + <text + id="text1317-5-1-1" + y="-37.092991" + x="-117.10146" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" + xml:space="preserve" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-37.092991" + x="-117.10146" + id="tspan1315-8-0-6" + sodipodi:role="line">cb_1-1-1</tspan></text> + <text + id="text1317-5-1-5-1" + y="-82.072197" + x="-117.10146" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" + xml:space="preserve" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-82.072197" + x="-117.10146" + id="tspan1315-8-0-2-1" + sodipodi:role="line">cb_1-1-2</tspan></text> + <text + id="text1317-5-1-5-2-8" + y="-125.99296" + x="-117.10146" + style="font-style:normal;font-weight:normal;font-size:9.52497px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.238125;enable-background:new" + xml:space="preserve" + inkscape:export-xdpi="96" + inkscape:export-ydpi="96" + transform="skewY(-40)"><tspan + style="stroke-width:0.238125" + y="-125.99296" + x="-117.10146" + id="tspan1315-8-0-2-7-1" + sodipodi:role="line">cb_1-1-3</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-198.72951" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="-211.42934" y="-25.713785" id="text1333" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan sodipodi:role="line" id="tspan1331" - x="-198.72951" + x="-211.42934" y="-25.713785" - style="stroke-width:0.26458332">b11</tspan></text> + style="stroke-width:0.264583">cb_1-0-3</tspan></text> <text + id="text1313-3" + y="-66.60495" + x="-256.42575" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-103.34417" - y="86.632233" - id="text1337" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1335" - x="-103.34417" - y="86.632233" - style="stroke-width:0.26458332">b12</tspan></text> + style="stroke-width:0.264583" + y="-66.60495" + x="-256.42575" + id="tspan1311-8" + sodipodi:role="line">cb_0-1-3</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-102.4605" - y="43.838169" - id="text1341" + style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583;enable-background:new" + x="-165.55382" + y="-66.60495" + id="text1333-4" inkscape:export-xdpi="96" inkscape:export-ydpi="96"><tspan sodipodi:role="line" - id="tspan1339" - x="-102.4605" - y="43.838169" - style="stroke-width:0.26458332">b13</tspan></text> + id="tspan1331-0" + x="-165.55382" + y="-66.60495" + style="stroke-width:0.264583">cb_1-1-3</tspan></text> <text xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-103.15813" - y="1.0441092" - id="text1345" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - sodipodi:role="line" - id="tspan1343" - x="-103.15813" - y="1.0441092" - style="stroke-width:0.26458332">b14</tspan></text> - <text - id="text1349" - y="-41.749954" - x="-103.04702" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - xml:space="preserve" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan - style="stroke-width:0.26458332" - y="-41.749954" - x="-103.04702" - id="tspan1347" - sodipodi:role="line">b15</tspan></text> - <text - xml:space="preserve" - style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332" - x="-151.69008" - y="-69.545982" - id="text1353" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96"><tspan + style="font-weight:bold;font-size:3.88056px;line-height:normal;font-family:Arial;-inkscape-font-specification:Arial;text-decoration-color:#000000;fill:#000000;stroke:#000000;stroke-width:0.264583;-inkscape-stroke:none" + x="-310.84766" + y="57.174099" + id="text1"><tspan sodipodi:role="line" - id="tspan1351" - x="-151.69008" - y="-69.545982" - style="stroke-width:0.26458332">b15</tspan></text> + id="tspan1" + style="stroke-width:0.264583" /></text> </g> </svg> diff --git a/src/coreComponents/mesh/generators/InternalMeshGenerator.cpp b/src/coreComponents/mesh/generators/InternalMeshGenerator.cpp index 23845ab3b8f..71410f24651 100644 --- a/src/coreComponents/mesh/generators/InternalMeshGenerator.cpp +++ b/src/coreComponents/mesh/generators/InternalMeshGenerator.cpp @@ -585,54 +585,54 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa // Find elemCenters for even uniform element sizes array1d< array1d< real64 > > elemCenterCoords( 3 ); - for( int i = 0; i < 3; ++i ) + for( int dim = 0; dim < m_dim; ++dim ) { - m_numElemsTotal[i] = 0; - for( int block = 0; block < m_nElems[i].size(); ++block ) + m_numElemsTotal[dim] = 0; + for( int block = 0; block < m_nElems[dim].size(); ++block ) { - m_numElemsTotal[i] += m_nElems[i][block]; + m_numElemsTotal[dim] += m_nElems[dim][block]; } array1d< int > const & parts = partition.getPartitions(); - GEOS_ERROR_IF( parts[i] > m_numElemsTotal[i], "Number of partitions in a direction should not exceed the number of elements in that direction" ); + GEOS_ERROR_IF( parts[dim] > m_numElemsTotal[dim], "Number of partitions in a direction should not exceed the number of elements in that direction" ); - elemCenterCoords[i].resize( m_numElemsTotal[i] ); - array1d< real64 > elemCenterCoordsLocal( m_numElemsTotal[i] ); - for( int k = 0; k < m_numElemsTotal[i]; ++k ) + elemCenterCoords[dim].resize( m_numElemsTotal[dim] ); + array1d< real64 > elemCenterCoordsLocal( m_numElemsTotal[dim] ); + for( integer k = 0; k < m_numElemsTotal[dim]; ++k ) { - elemCenterCoordsLocal[k] = m_min[i] + ( m_max[i] - m_min[i] ) * ( k + 0.5 ) / m_numElemsTotal[i]; + elemCenterCoordsLocal[k] = m_min[dim] + ( m_max[dim] - m_min[dim] ) * ( k + 0.5 ) / m_numElemsTotal[dim]; } MpiWrapper::allReduce( elemCenterCoordsLocal.data(), - elemCenterCoords[i].data(), - m_numElemsTotal[i], + elemCenterCoords[dim].data(), + m_numElemsTotal[dim], MPI_MAX, MPI_COMM_GEOSX ); } // Find starting/ending index // Get the first and last indices in this partition each direction - int firstElemIndexInPartition[3] = { -1, -1, -1 }; - int lastElemIndexInPartition[3] = { -2, -2, -2 }; + integer firstElemIndexInPartition[3] = { -1, -1, -1 }; + integer lastElemIndexInPartition[3] = { -2, -2, -2 }; - for( int i = 0; i < 3; ++i ) + for( int dim = 0; dim < m_dim; ++dim ) { // firstElemIndexInPartition[i] = -1; // lastElemIndexInPartition[i] = -2; - for( int k = 0; k < m_numElemsTotal[i]; ++k ) + for( int k = 0; k < m_numElemsTotal[dim]; ++k ) { - if( partition.isCoordInPartition( elemCenterCoords[i][k], i ) ) + if( partition.isCoordInPartition( elemCenterCoords[dim][k], dim ) ) { - firstElemIndexInPartition[i] = k; + firstElemIndexInPartition[dim] = k; break; } } - if( firstElemIndexInPartition[i] > -1 ) + if( firstElemIndexInPartition[dim] > -1 ) { - for( int k = firstElemIndexInPartition[i]; k < m_numElemsTotal[i]; ++k ) + for( int k = firstElemIndexInPartition[dim]; k < m_numElemsTotal[dim]; ++k ) { - if( partition.isCoordInPartition( elemCenterCoords[i][k], i ) ) + if( partition.isCoordInPartition( elemCenterCoords[dim][k], dim ) ) { - lastElemIndexInPartition[i] = k; + lastElemIndexInPartition[dim] = k; } } } @@ -647,28 +647,28 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa array1d< integer > firstElemIndexForBlockInPartition[3]; array1d< integer > lastElemIndexForBlockInPartition[3]; - for( int dir = 0; dir < 3; ++dir ) + for( int dim = 0; dim < 3; ++dim ) { - firstElemIndexForBlockInPartition[dir] = m_firstElemIndexForBlock[dir]; - lastElemIndexForBlockInPartition[dir] = m_lastElemIndexForBlock[dir]; + firstElemIndexForBlockInPartition[dim] = m_firstElemIndexForBlock[dim]; + lastElemIndexForBlockInPartition[dim] = m_lastElemIndexForBlock[dim]; - for( int block = 0; block < m_nElems[dir].size(); ++block ) + for( integer block = 0; block < m_nElems[dim].size(); ++block ) { - if( firstElemIndexForBlockInPartition[dir][block] > lastElemIndexInPartition[dir] || - lastElemIndexForBlockInPartition[dir][block] < firstElemIndexInPartition[dir] ) + if( firstElemIndexForBlockInPartition[dim][block] > lastElemIndexInPartition[dim] || + lastElemIndexForBlockInPartition[dim][block] < firstElemIndexInPartition[dim] ) { - firstElemIndexForBlockInPartition[dir][block] = -1; - lastElemIndexForBlockInPartition[dir][block] = -2; + firstElemIndexForBlockInPartition[dim][block] = -1; + lastElemIndexForBlockInPartition[dim][block] = -2; } else { - if( firstElemIndexForBlockInPartition[dir][block] < firstElemIndexInPartition[dir] ) + if( firstElemIndexForBlockInPartition[dim][block] < firstElemIndexInPartition[dim] ) { - firstElemIndexForBlockInPartition[dir][block] = firstElemIndexInPartition[dir]; + firstElemIndexForBlockInPartition[dim][block] = firstElemIndexInPartition[dim]; } - if( lastElemIndexForBlockInPartition[dir][block] > lastElemIndexInPartition[dir] ) + if( lastElemIndexForBlockInPartition[dim][block] > lastElemIndexInPartition[dim] ) { - lastElemIndexForBlockInPartition[dir][block] = lastElemIndexInPartition[dir]; + lastElemIndexForBlockInPartition[dim][block] = lastElemIndexInPartition[dim]; } } } @@ -676,11 +676,11 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa // TODO This needs to be rewritten for dimensions lower than 3. localIndex regionOffset = 0; - for( int iblock = 0; iblock < m_nElems[0].size(); ++iblock ) + for( integer kblock = 0; kblock < m_nElems[2].size(); ++kblock ) { - for( int jblock = 0; jblock < m_nElems[1].size(); ++jblock ) + for( integer jblock = 0; jblock < m_nElems[1].size(); ++jblock ) { - for( int kblock = 0; kblock < m_nElems[2].size(); ++kblock, ++regionOffset ) + for( integer iblock = 0; iblock < m_nElems[0].size(); ++iblock, ++regionOffset ) { numElemsInRegions[ m_regionNames[ regionOffset ] ] = 0; elemTypeInRegions[ m_regionNames[ regionOffset ] ] = ElementType::Quadrilateral; @@ -691,13 +691,13 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa regionOffset = 0; { localIndex iR = 0; - for( int iblock = 0; iblock < m_nElems[0].size(); ++iblock ) + for( integer kblock = 0; kblock < m_nElems[2].size(); ++kblock ) { - for( int jblock = 0; jblock < m_nElems[1].size(); ++jblock ) + for( integer jblock = 0; jblock < m_nElems[1].size(); ++jblock ) { - for( int kblock = 0; kblock < m_nElems[2].size(); ++kblock, ++regionOffset, ++iR ) + for( integer iblock = 0; iblock < m_nElems[0].size(); ++iblock, ++regionOffset, ++iR ) { - int numElemsInRegion = 1; + integer numElemsInRegion = 1; numElemsInRegion *= lastElemIndexForBlockInPartition[0][iblock] - firstElemIndexForBlockInPartition[0][iblock] + 1; if( m_dim > 1 ) @@ -719,10 +719,9 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa localIndex numNodes = 1; integer numNodesInDir[3] = { 1, 1, 1 }; - - for( int i = 0; i < m_dim; ++i ) + for( int dim = 0; dim < m_dim; ++dim ) { - numNodesInDir[i] = lastElemIndexInPartition[i] - firstElemIndexInPartition[i] + 2; + numNodesInDir[dim] = lastElemIndexInPartition[dim] - firstElemIndexInPartition[dim] + 2; } reduceNumNodesForPeriodicBoundary( partition, numNodesInDir ); numNodes = numNodesInDir[0] * numNodesInDir[1] * numNodesInDir[2]; @@ -735,17 +734,17 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa { localIndex localNodeIndex = 0; - for( int i = 0; i < numNodesInDir[0]; ++i ) + for( integer k = 0; k < numNodesInDir[2]; ++k ) { - for( int j = 0; j < numNodesInDir[1]; ++j ) + for( integer j = 0; j < numNodesInDir[1]; ++j ) { - for( int k = 0; k < numNodesInDir[2]; ++k ) + for( integer i = 0; i < numNodesInDir[0]; ++i ) { - int globalIJK[3] = { i, j, k }; + integer globalIJK[3] = { i, j, k }; - for( int a = 0; a < m_dim; ++a ) + for( int dim = 0; dim < m_dim; ++dim ) { - globalIJK[a] += firstElemIndexInPartition[a]; + globalIJK[dim] += firstElemIndexInPartition[dim]; } getNodePosition( globalIJK, m_trianglePattern, X[localNodeIndex] ); @@ -824,11 +823,11 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa numNodes = numNodesInDir[0] * numNodesInDir[1] * numNodesInDir[2]; } - for( int iblock = 0; iblock < m_nElems[0].size(); ++iblock ) + for( integer kblock = 0; kblock < m_nElems[2].size(); ++kblock ) { - for( int jblock = 0; jblock < m_nElems[1].size(); ++jblock ) + for( integer jblock = 0; jblock < m_nElems[1].size(); ++jblock ) { - for( int kblock = 0; kblock < m_nElems[2].size(); ++kblock, ++regionOffset, ++iR ) + for( integer iblock = 0; iblock < m_nElems[0].size(); ++iblock, ++regionOffset, ++iR ) { ElementType const elementType = EnumStrings< ElementType >::fromString( m_elementType[iR] ); @@ -839,25 +838,25 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa arrayView2d< localIndex, cells::NODE_MAP_USD > elemsToNodes = cellBlock.getElemToNode(); arrayView1d< globalIndex > const & elemLocalToGlobal = cellBlock.localToGlobalMap(); - int numElemsInDirForBlock[3] = + integer numElemsInDirForBlock[3] = { lastElemIndexForBlockInPartition[0][iblock] - firstElemIndexForBlockInPartition[0][iblock] + 1, lastElemIndexForBlockInPartition[1][jblock] - firstElemIndexForBlockInPartition[1][jblock] + 1, lastElemIndexForBlockInPartition[2][kblock] - firstElemIndexForBlockInPartition[2][kblock] + 1 }; - for( int i = 0; i < numElemsInDirForBlock[0]; ++i ) + for( integer k = 0; k < numElemsInDirForBlock[2]; ++k ) { - for( int j = 0; j < numElemsInDirForBlock[1]; ++j ) + for( integer j = 0; j < numElemsInDirForBlock[1]; ++j ) { - for( int k = 0; k < numElemsInDirForBlock[2]; ++k ) + for( integer i = 0; i < numElemsInDirForBlock[0]; ++i ) { - int globalIJK[3] = + integer globalIJK[3] = { i + firstElemIndexForBlockInPartition[0][iblock], j + firstElemIndexForBlockInPartition[1][jblock], k + firstElemIndexForBlockInPartition[2][kblock] }; - const localIndex firstNodeIndex = numNodesInDir[1] * numNodesInDir[2] * ( globalIJK[0] - firstElemIndexInPartition[0] ) - + numNodesInDir[2] * ( globalIJK[1] - firstElemIndexInPartition[1] ) - + ( globalIJK[2] - firstElemIndexInPartition[2] ); + localIndex const firstNodeIndex = ( globalIJK[0] - firstElemIndexInPartition[0] ) + + numNodesInDir[0] * ( globalIJK[1] - firstElemIndexInPartition[1] ) + + numNodesInDir[0] * numNodesInDir[1] * ( globalIJK[2] - firstElemIndexInPartition[2] ); localIndex nodeOfBox[8]; if( elementType == ElementType::Quadrilateral || elementType == ElementType::Triangle ) @@ -869,15 +868,17 @@ void InternalMeshGenerator::fillCellBlockManager( CellBlockManager & cellBlockMa } else { + localIndex const stride[3] = { 1, numNodesInDir[0], numNodesInDir[0] * numNodesInDir[1] }; + nodeOfBox[0] = firstNodeIndex; - nodeOfBox[1] = numNodesInDir[1] * numNodesInDir[2] + firstNodeIndex; - nodeOfBox[2] = numNodesInDir[1] * numNodesInDir[2] + numNodesInDir[2] + firstNodeIndex; - nodeOfBox[3] = numNodesInDir[2] + firstNodeIndex; + nodeOfBox[1] = nodeOfBox[0] + stride[0]; + nodeOfBox[2] = nodeOfBox[1] + stride[1]; + nodeOfBox[3] = nodeOfBox[0] + stride[1]; - nodeOfBox[4] = firstNodeIndex + 1; - nodeOfBox[5] = numNodesInDir[1] * numNodesInDir[2] + firstNodeIndex + 1; - nodeOfBox[6] = numNodesInDir[1] * numNodesInDir[2] + numNodesInDir[2] + firstNodeIndex + 1; - nodeOfBox[7] = numNodesInDir[2] + firstNodeIndex + 1; + nodeOfBox[4] = nodeOfBox[0] + stride[2]; + nodeOfBox[5] = nodeOfBox[1] + stride[2]; + nodeOfBox[6] = nodeOfBox[2] + stride[2]; + nodeOfBox[7] = nodeOfBox[3] + stride[2]; // 7___________________ 6 // / /| @@ -977,6 +978,8 @@ InternalMeshGenerator:: int const (&firstElemIndexInPartition)[3], localIndex (& nodeOfBox)[8] ) { + GEOS_ERROR_IF( component != 1, "Connectivity for periodic boundary implemented for the 1-component only" ); + // Condition is: // 1) element is last index in component direction // 2) first local element in component partition is zero @@ -986,14 +989,14 @@ InternalMeshGenerator:: // Last set of nodes int modGlobalIJK[3] = { globalIJK[0], globalIJK[1], globalIJK[2] }; modGlobalIJK[component] = 0; - const localIndex firstNodeIndex = numNodesInDir[1] * numNodesInDir[2] * ( modGlobalIJK[0] - firstElemIndexInPartition[0] ) - + numNodesInDir[2] * ( modGlobalIJK[1] - 0 ) - + ( modGlobalIJK[2] - firstElemIndexInPartition[2] ); + localIndex const firstNodeIndex = ( modGlobalIJK[0] - firstElemIndexInPartition[0] ) + + numNodesInDir[0] * ( modGlobalIJK[1] - firstElemIndexInPartition[1] ) + + numNodesInDir[0] * numNodesInDir[1] * ( modGlobalIJK[2] - firstElemIndexInPartition[2] ); nodeOfBox[3] = firstNodeIndex; - nodeOfBox[2] = numNodesInDir[1] * numNodesInDir[2] + firstNodeIndex; - nodeOfBox[7] = firstNodeIndex + 1; - nodeOfBox[6] = numNodesInDir[1] * numNodesInDir[2] + firstNodeIndex + 1; + nodeOfBox[2] = nodeOfBox[3] + 1; + nodeOfBox[7] = nodeOfBox[3] + numNodesInDir[0] * numNodesInDir[1]; + nodeOfBox[6] = nodeOfBox[7] + 1; } } diff --git a/src/coreComponents/mesh/generators/InternalMeshGenerator.hpp b/src/coreComponents/mesh/generators/InternalMeshGenerator.hpp index 9b95d975df9..bcb16630c92 100644 --- a/src/coreComponents/mesh/generators/InternalMeshGenerator.hpp +++ b/src/coreComponents/mesh/generators/InternalMeshGenerator.hpp @@ -271,7 +271,7 @@ class InternalMeshGenerator : public MeshGeneratorBase */ inline globalIndex nodeGlobalIndex( int const index[3] ) { - return index[0]*(m_numElemsTotal[1]+1)*(m_numElemsTotal[2]+1) + index[1]*(m_numElemsTotal[2]+1) + index[2]; + return index[0] + index[1]*(m_numElemsTotal[0]+1) + index[2]*(m_numElemsTotal[0]+1)*(m_numElemsTotal[1]+1); } /** @@ -280,7 +280,7 @@ class InternalMeshGenerator : public MeshGeneratorBase */ inline globalIndex elemGlobalIndex( int const index[3] ) { - return index[0]*m_numElemsTotal[1]*m_numElemsTotal[2] + index[1]*m_numElemsTotal[2] + index[2]; + return index[0] + index[1]*m_numElemsTotal[0] + index[2]*m_numElemsTotal[0]*m_numElemsTotal[1]; } /** diff --git a/src/coreComponents/unitTests/meshTests/testMeshGeneration.cpp b/src/coreComponents/unitTests/meshTests/testMeshGeneration.cpp index a2529c16406..e2891e9eb96 100644 --- a/src/coreComponents/unitTests/meshTests/testMeshGeneration.cpp +++ b/src/coreComponents/unitTests/meshTests/testMeshGeneration.cpp @@ -43,11 +43,11 @@ constexpr double dx = maxCoordInX / numElemsInX; constexpr double dy = maxCoordInY / numElemsInY; constexpr double dz = maxCoordInZ / numElemsInZ; -constexpr localIndex node_dI = numNodesInY * numNodesInZ; -constexpr localIndex node_dJ = numNodesInZ; +constexpr localIndex node_dJ = numNodesInX; +constexpr localIndex node_dK = numNodesInX * numNodesInY; -constexpr localIndex elem_dI = numElemsInY * numElemsInZ; -constexpr localIndex elem_dJ = numElemsInZ; +constexpr localIndex elem_dJ = numElemsInX; +constexpr localIndex elem_dK = numElemsInX * numElemsInY; constexpr localIndex minOrder = 1; constexpr localIndex maxOrder = 5; @@ -151,11 +151,11 @@ TEST_F( MeshGenerationTest, nodePositions ) arrayView2d< real64 const, nodes::REFERENCE_POSITION_USD > const & X = m_nodeManager->referencePosition(); localIndex nodeIndex = 0; - for( localIndex i = 0; i < numNodesInX; ++i ) + for( localIndex k = 0; k < numNodesInZ; ++k ) { for( localIndex j = 0; j < numNodesInY; ++j ) { - for( localIndex k = 0; k < numNodesInZ; ++k ) + for( localIndex i = 0; i < numNodesInX; ++i ) { EXPECT_DOUBLE_EQ( X( nodeIndex, 0 ), i * dx ); EXPECT_DOUBLE_EQ( X( nodeIndex, 1 ), j * dy ); @@ -174,11 +174,11 @@ TEST_F( MeshGenerationTest, elementCentersAndVolumes ) constexpr double VOLUME = dx * dy * dz; localIndex elemID = 0; - for( localIndex i = 0; i < numElemsInX; ++i ) + for( localIndex k = 0; k < numElemsInZ; ++k ) { for( localIndex j = 0; j < numElemsInY; ++j ) { - for( localIndex k = 0; k < numElemsInZ; ++k ) + for( localIndex i = 0; i < numElemsInX; ++i ) { EXPECT_DOUBLE_EQ( centers[ elemID ][ 0 ], i * dx + dx / 2.0 ); EXPECT_DOUBLE_EQ( centers[ elemID ][ 1 ], j * dy + dy / 2.0 ); @@ -196,23 +196,23 @@ TEST_F( MeshGenerationTest, elemToNodeMap ) GEOS_ERROR_IF_NE( nodeMap.size( 1 ), 8 ); localIndex elemID = 0; - for( localIndex i = 0; i < numElemsInX; ++i ) + for( localIndex k = 0; k < numElemsInZ; ++k ) { for( localIndex j = 0; j < numElemsInY; ++j ) { - for( localIndex k = 0; k < numElemsInZ; ++k ) + for( localIndex i = 0; i < numElemsInX; ++i ) { - localIndex const firstNodeID = i * node_dI + j * node_dJ + k; + localIndex const firstNodeID = i + j * node_dJ + k * node_dK; EXPECT_EQ( firstNodeID, nodeMap( elemID, 0 ) ); - EXPECT_EQ( firstNodeID + node_dI, nodeMap( elemID, 1 ) ); - EXPECT_EQ( firstNodeID + node_dI + node_dJ, nodeMap( elemID, 3 ) ); + EXPECT_EQ( firstNodeID + 1, nodeMap( elemID, 1 ) ); + EXPECT_EQ( firstNodeID + 1 + node_dJ, nodeMap( elemID, 3 ) ); EXPECT_EQ( firstNodeID + node_dJ, nodeMap( elemID, 2 ) ); - EXPECT_EQ( firstNodeID + 1, nodeMap( elemID, 4 ) ); - EXPECT_EQ( firstNodeID + 1 + node_dI, nodeMap( elemID, 5 ) ); - EXPECT_EQ( firstNodeID + 1 + node_dI + node_dJ, nodeMap( elemID, 7 ) ); - EXPECT_EQ( firstNodeID + 1 + node_dJ, nodeMap( elemID, 6 ) ); + EXPECT_EQ( firstNodeID + node_dK, nodeMap( elemID, 4 ) ); + EXPECT_EQ( firstNodeID + node_dK + 1, nodeMap( elemID, 5 ) ); + EXPECT_EQ( firstNodeID + node_dK + 1 + node_dJ, nodeMap( elemID, 7 ) ); + EXPECT_EQ( firstNodeID + node_dK + node_dJ, nodeMap( elemID, 6 ) ); ++elemID; } } @@ -224,13 +224,13 @@ TEST_F( MeshGenerationTest, nodeToElemMap ) ArrayOfArraysView< localIndex const > const & nodeToElemMap = m_nodeManager->elementList().toViewConst(); localIndex nodeIndex = 0; - for( localIndex i = 0; i < numNodesInX; ++i ) + for( localIndex k = 0; k < numNodesInZ; ++k ) { for( localIndex j = 0; j < numNodesInY; ++j ) { - for( localIndex k = 0; k < numNodesInZ; ++k ) + for( localIndex i = 0; i < numNodesInX; ++i ) { - localIndex const elemID = i * elem_dI + j * elem_dJ + k; + localIndex const elemID = i + j * elem_dJ + k * elem_dK; std::vector< localIndex > expectedElems; if( k < numElemsInZ ) @@ -238,9 +238,9 @@ TEST_F( MeshGenerationTest, nodeToElemMap ) if( i < numElemsInX && j < numElemsInY ) expectedElems.push_back( elemID ); if( i > 0 && j < numElemsInY ) - expectedElems.push_back( elemID - elem_dI ); + expectedElems.push_back( elemID - 1 ); if( i > 0 && j > 0 ) - expectedElems.push_back( elemID - elem_dI - elem_dJ ); + expectedElems.push_back( elemID - 1 - elem_dJ ); if( i < numElemsInX && j > 0 ) expectedElems.push_back( elemID - elem_dJ ); } @@ -248,13 +248,13 @@ TEST_F( MeshGenerationTest, nodeToElemMap ) if( k > 0 ) { if( i < numElemsInX && j < numElemsInY ) - expectedElems.push_back( elemID - 1 ); + expectedElems.push_back( elemID - elem_dK ); if( i > 0 && j < numElemsInY ) - expectedElems.push_back( elemID - elem_dI - 1 ); + expectedElems.push_back( elemID - elem_dK - 1 ); if( i > 0 && j > 0 ) - expectedElems.push_back( elemID - elem_dI - elem_dJ - 1 ); + expectedElems.push_back( elemID - 1 - elem_dJ - elem_dK ); if( i < numElemsInX && j > 0 ) - expectedElems.push_back( elemID - elem_dJ - 1 ); + expectedElems.push_back( elemID - elem_dJ - elem_dK ); } localIndex const numElems = expectedElems.size(); @@ -290,11 +290,11 @@ TEST_F( MeshGenerationTest, faceNodeMaps ) array1d< localIndex > faceNodesFromFace( 4 ); localIndex elemID = 0; - for( localIndex i = 0; i < numElemsInX; ++i ) + for( localIndex k = 0; k < numElemsInZ; ++k ) { for( localIndex j = 0; j < numElemsInY; ++j ) { - for( localIndex k = 0; k < numElemsInZ; ++k ) + for( localIndex i = 0; i < numElemsInX; ++i ) { for( localIndex f = 0; f < 6; ++f ) { @@ -340,14 +340,14 @@ TEST_F( MeshGenerationTest, faceElementMaps ) GEOS_ERROR_IF_NE( elementToFaceMap.size( 1 ), 6 ); - localIndex const elemIDOffset[6] = { -elem_dJ, -1, -elem_dI, elem_dI, elem_dJ, 1 }; + localIndex const elemIDOffset[6] = { -elem_dJ, -elem_dK, -1, 1, elem_dJ, elem_dK }; localIndex elemID = 0; - for( localIndex i = 0; i < numElemsInX; ++i ) + for( localIndex k = 0; k < numElemsInZ; ++k ) { for( localIndex j = 0; j < numElemsInY; ++j ) { - for( localIndex k = 0; k < numElemsInZ; ++k ) + for( localIndex i = 0; i < numElemsInX; ++i ) { for( localIndex f = 0; f < 6; ++f ) { @@ -421,21 +421,21 @@ TEST_F( MeshGenerationTest, edgeNodeMaps ) GEOS_ERROR_IF_NE( edgeToNodeMap.size( 1 ), 2 ); localIndex nodeIndex = 0; - for( localIndex i = 0; i < numNodesInX; ++i ) + for( localIndex k = 0; k < numNodesInZ; ++k ) { for( localIndex j = 0; j < numNodesInY; ++j ) { - for( localIndex k = 0; k < numNodesInZ; ++k ) + for( localIndex i = 0; i < numNodesInX; ++i ) { localIndex numEdges = 0; if( i != 0 ) { - EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex - node_dI, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); + EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex - 1, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); ++numEdges; } if( i != numNodesInX - 1 ) { - EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex + node_dI, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); + EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex + 1, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); ++numEdges; } if( j != 0 ) @@ -450,12 +450,12 @@ TEST_F( MeshGenerationTest, edgeNodeMaps ) } if( k != 0 ) { - EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex - 1, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); + EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex - node_dK, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); ++numEdges; } if( k != numNodesInZ - 1 ) { - EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex + 1, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); + EXPECT_TRUE( walkEdgesToFindNeighbor( nodeIndex, nodeIndex + node_dK, nodeToEdgeMap[ nodeIndex ], edgeToNodeMap ) ); ++numEdges; } @@ -477,11 +477,11 @@ TEST_F( MeshGenerationTest, edgeFaceMaps ) GEOS_ERROR_IF_NE( elementToFaceMap.size( 1 ), 6 ); localIndex elemID = 0; - for( localIndex i = 0; i < numElemsInX; ++i ) + for( localIndex k = 0; k < numElemsInZ; ++k ) { for( localIndex j = 0; j < numElemsInY; ++j ) { - for( localIndex k = 0; k < numElemsInZ; ++k ) + for( localIndex i = 0; i < numElemsInX; ++i ) { for( localIndex f = 0; f < 6; ++f ) { diff --git a/src/docs/sphinx/developerGuide/Contributing/IntegratedTests.rst b/src/docs/sphinx/developerGuide/Contributing/IntegratedTests.rst index f2e355372c2..e8a97841ac2 100644 --- a/src/docs/sphinx/developerGuide/Contributing/IntegratedTests.rst +++ b/src/docs/sphinx/developerGuide/Contributing/IntegratedTests.rst @@ -542,11 +542,11 @@ To do this you can run this command in the build directory: make ats_rebaseline_failed -Otherwise, you can run the following command, and select whether tests should be rebaselined one at a time via a ``[y/n]`` prompt. +Otherwise, you can run the following command, and select whether tests should be rebaselined one at a time via a ``[y/n]`` prompt: .. code-block:: sh - make ats_rebaseline_failed + make ats_rebaseline Make sure to only answer ``y`` to the tests that you actually want to rebaseline, otherwise correct baselines for already passing tests will still be updated and bloat your pull request and repository size.