diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index 7729845a464..dda45adc958 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -2,7 +2,7 @@
"build": {
"dockerfile": "Dockerfile",
"args": {
- "GEOS_TPL_TAG": "256-147"
+ "GEOS_TPL_TAG": "263-252"
}
},
"runArgs": [
diff --git a/.devcontainer/postCreateCommand.sh b/.devcontainer/postCreateCommand.sh
index 7267acb2d1d..5a7ad497636 100755
--- a/.devcontainer/postCreateCommand.sh
+++ b/.devcontainer/postCreateCommand.sh
@@ -4,3 +4,5 @@
git submodule init
git submodule deinit integratedTests
git submodule update
+# Load the pretty printer for LvArray
+echo "source /workspaces/GEOS/src/coreComponents/LvArray/scripts/gdb-printers-shallow.py" > ~/.gdbinit
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000000..7e248436149
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,11 @@
+version: 2
+updates:
+- package-ecosystem: github-actions
+ directory: /
+ schedule:
+ interval: monthly
+ groups:
+ # open a single pull-request for all GitHub actions updates
+ github-actions:
+ patterns:
+ - '*'
\ No newline at end of file
diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml
index 2da2c18ea9b..b0fb147a734 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -54,6 +54,15 @@ jobs:
build_test_deploy:
runs-on: ${{ inputs.RUNS_ON }}
steps:
+ - name: 'Cleanup build folder'
+ run: |
+ pwd
+ echo "cleaning ${GITHUB_WORKSPACE}"
+ ls -la ./
+ rm -rf ./* ./.*|| true
+ echo "expecting ${GITHUB_WORKSPACE} to be empty"
+ ls -la ./
+
- name: Checkout Repository
uses: actions/checkout@v4.1.1
with:
@@ -103,9 +112,9 @@ jobs:
script_args+=(--data-basename ${DATA_BASENAME})
- DATA_EXCHANGE_DIR=/mnt/geos-exchange # Exchange folder outside of the container
+ DATA_EXCHANGE_DIR=${GITHUB_WORKSPACE}/geos-exchange # Exchange folder outside of the container
if [ ! -d "${DATA_EXCHANGE_DIR}" ]; then
- sudo mkdir -p ${DATA_EXCHANGE_DIR}
+ mkdir -p ${DATA_EXCHANGE_DIR}
fi
DATA_EXCHANGE_MOUNT_POINT=/tmp/exchange # Exchange folder inside of the container
docker_args+=(--volume=${DATA_EXCHANGE_DIR}:${DATA_EXCHANGE_MOUNT_POINT})
@@ -119,7 +128,7 @@ jobs:
script_args+=(--sccache-credentials $(basename ${GOOGLE_GHA_CREDS_PATH}))
fi
- if [ ${{ inputs.RUNS_ON }} == 'self-hosted' ]; then
+ if [ ${{ inputs.RUNS_ON }} == 'streak' ] || [ ${{ inputs.RUNS_ON }} == 'streak2' ]; then
RUNNER_CERTIFICATES_DIR=/etc/pki/ca-trust/source/anchors/
mkdir -p ${GITHUB_WORKSPACE}/certificates
cp ${RUNNER_CERTIFICATES_DIR}/*.crt* ${GITHUB_WORKSPACE}/certificates
@@ -169,7 +178,7 @@ jobs:
-h=`hostname` \
${{ inputs.DOCKER_REPOSITORY }}:${{ inputs.DOCKER_IMAGE_TAG }} \
${GITHUB_WORKSPACE_MOUNT_POINT}/scripts/ci_build_and_test_in_container.sh \
- ${script_args[@]}
+ ${script_args[@]}
EXIT_STATUS=$?
echo "Received exit status ${EXIT_STATUS} from the build process."
set -e
@@ -181,11 +190,11 @@ jobs:
echo "Download the bundle at https://storage.googleapis.com/${{ inputs.GCP_BUCKET }}/${DATA_BASENAME}"
fi
fi
-
- # Remove the container and the workspace to avoid any conflict with the next run.
- echo github.workspace = ${{ github.workspace }}
- #rm -rf ${{ github.workspace }}/*
- #docker rm -f ${CONTAINER_NAME}
+
+ # manually remove the workspace to avoid issues with the next job when using self-hosted runners
+ if [ -d "${GITHUB_WORKSPACE}/integratedTests" ]; then
+ rm -rf ${GITHUB_WORKSPACE}/integratedTests
+ fi
exit ${EXIT_STATUS}
@@ -196,4 +205,13 @@ jobs:
files: geos_coverage.info.cleaned
fail_ci_if_error: true
env:
- CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
\ No newline at end of file
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+
+ - name: 'Cleanup build folder'
+ run: |
+ pwd
+ echo "cleaning ${GITHUB_WORKSPACE}"
+ ls -la ./
+ rm -rf ./* ./.*|| true
+ echo "expecting ${GITHUB_WORKSPACE} to be empty"
+ ls -la ./
diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml
index 46b45151698..7bd8128679c 100644
--- a/.github/workflows/ci_tests.yml
+++ b/.github/workflows/ci_tests.yml
@@ -124,19 +124,19 @@ jobs:
fail-fast : false
matrix:
include:
- - name: Ubuntu (20.04, gcc 9.3.0, open-mpi 4.0.3)
+ - name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
- - name: Ubuntu debug (20.04, gcc 10.3.0, open-mpi 4.0.3) - github codespaces
+ - name: Ubuntu debug (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
CMAKE_BUILD_TYPE: Debug
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
- - name: Ubuntu (20.04, gcc 10.3.0, open-mpi 4.0.3) - github codespaces
+ - name: Ubuntu (20.04, gcc 10.5.0, open-mpi 4.0.3) - github codespaces
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc10
- - name: Ubuntu (22.04, gcc 11.2.0, open-mpi 4.1.2)
+ - name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc11
ENABLE_HYPRE: ON
@@ -149,6 +149,12 @@ jobs:
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
+ - name: Ubuntu (22.04, clang 15.0.7, open-mpi 4.1.2)
+ CMAKE_BUILD_TYPE: Release
+ DOCKER_REPOSITORY: geosx/ubuntu22.04-clang15
+ ENABLE_HYPRE: ON
+ ENABLE_TRILINOS: OFF
+
- name: Pecan CPU (centos 7.7, gcc 8.2.0, open-mpi 4.0.1, mkl 2019.5)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/pecan-cpu-gcc8.2.0-openmpi4.0.1-mkl2019.5
@@ -200,7 +206,8 @@ jobs:
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
GCP_BUCKET: geosx/integratedTests
- RUNS_ON: ubuntu-22.04
+ RUNS_ON: streak2
+ DOCKER_RUN_ARGS: "--cpus=32 --memory=384g"
code_coverage:
needs:
@@ -246,9 +253,8 @@ jobs:
ENABLE_HYPRE_DEVICE: CUDA
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
- RUNS_ON: self-hosted
- DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia --gpus all"
-
+ RUNS_ON: streak
+ DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all"
- name: Centos (7.7, gcc 8.3.1, open-mpi 1.10.7, cuda 11.8.89)
BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema"
diff --git a/host-configs/apple/macOS_Matteo.cmake b/host-configs/apple/macOS_Matteo.cmake
deleted file mode 100644
index 6edb525f1aa..00000000000
--- a/host-configs/apple/macOS_Matteo.cmake
+++ /dev/null
@@ -1,4 +0,0 @@
-set( HOMEBREW_DIR "/Users/cusini1/local" )
-set( CONFIG_NAME "macOS_Matteo" )
-
-include(${CMAKE_CURRENT_LIST_DIR}/macOS_base.cmake)
diff --git a/host-configs/apple/macOS_customized.cmake b/host-configs/apple/macOS_customized.cmake
new file mode 100644
index 00000000000..c1707a0b945
--- /dev/null
+++ b/host-configs/apple/macOS_customized.cmake
@@ -0,0 +1,7 @@
+set( HOMEBREW_DIR $ENV{HOMEBREW_DIR} )
+set( CONFIG_NAME $ENV{GEOS_CONFIG_NAME} )
+
+set(Python3_ROOT_DIR $ENV{GEOS_PYTHON_DIR} CACHE PATH "")
+set(Python3_EXECUTABLE ${Python3_ROOT_DIR}/bin/python3 CACHE PATH "")
+
+include(${CMAKE_CURRENT_LIST_DIR}/macOS_base.cmake)
diff --git a/host-configs/tpls.cmake b/host-configs/tpls.cmake
index 08e605d79bf..e0a7b0f1146 100644
--- a/host-configs/tpls.cmake
+++ b/host-configs/tpls.cmake
@@ -3,6 +3,14 @@
#
message("in tpls.cmake GEOSX_TPL_DIR=${GEOSX_TPL_DIR}")
+#
+# General TPL Folder verifications
+#
+if(NOT EXISTS ${GEOSX_TPL_DIR})
+ message(WARNING "'GEOSX_TPL_DIR' does not exist.\n")
+endif()
+
+
if(EXISTS ${GEOSX_TPL_DIR}/raja)
set(RAJA_DIR ${GEOSX_TPL_DIR}/raja CACHE PATH "" FORCE)
endif()
diff --git a/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d_upwind.xml b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d_upwind.xml
new file mode 100644
index 00000000000..5d043375c8f
--- /dev/null
+++ b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d_upwind.xml
@@ -0,0 +1,196 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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"/>
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 @@
-
+
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 }"/>
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 }"/>
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 @@
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 @@
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 }"/>
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 }"/>
diff --git a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
index d59b2b2c590..89e2c9149b6 100644
--- a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
+++ b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
@@ -64,7 +64,7 @@
name="rockPorosity"
defaultReferencePorosity="0.2"
referencePressure="1e7"
- compressibility="1.0e-15"/>
+ compressibility="1.0e-10"/>
+ 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 }"/>
@@ -71,12 +74,12 @@
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 }"/>
@@ -92,12 +95,12 @@
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 }"/>
@@ -81,12 +84,12 @@
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 }"/>
@@ -91,12 +94,12 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/pvdg_m.txt b/inputFiles/compositionalMultiphaseFlow/pvdg_m.txt
new file mode 100644
index 00000000000..f2ff16c2d2f
--- /dev/null
+++ b/inputFiles/compositionalMultiphaseFlow/pvdg_m.txt
@@ -0,0 +1,8 @@
+# Pg(Pa) Bg(m3/sm3) Visc(Pa.s)
+3000000 0.04234 1
+12000000 0.00977 1
+21000000 0.005541 1
+24000000 0.004919 1
+29500000 0.004194 1
+33000000 0.00391 1
+53000000 0.003868 1
diff --git a/inputFiles/compositionalMultiphaseFlow/pvdo_m.txt b/inputFiles/compositionalMultiphaseFlow/pvdo_m.txt
new file mode 100644
index 00000000000..7c073714556
--- /dev/null
+++ b/inputFiles/compositionalMultiphaseFlow/pvdo_m.txt
@@ -0,0 +1,8 @@
+# P[Pa] Bo[m3/sm3] Visc(Pa.s)
+2000000 1.02 1
+5000000 1.03 1
+10000000 1.04 1
+20000000 1.05 1
+30000000 1.07 1
+40000000 1.08 1
+50000000.7 1.09 1
diff --git a/inputFiles/compositionalMultiphaseWell/benchmarks/Egg/deadOilEggVTK_benchmark.xml b/inputFiles/compositionalMultiphaseWell/benchmarks/Egg/deadOilEggVTK_benchmark.xml
new file mode 100644
index 00000000000..675d20853a3
--- /dev/null
+++ b/inputFiles/compositionalMultiphaseWell/benchmarks/Egg/deadOilEggVTK_benchmark.xml
@@ -0,0 +1,382 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/compositionalMultiphaseWell/co2flash.txt b/inputFiles/compositionalMultiphaseWell/co2flash.txt
index 033d013cc31..767338389fb 100644
--- a/inputFiles/compositionalMultiphaseWell/co2flash.txt
+++ b/inputFiles/compositionalMultiphaseWell/co2flash.txt
@@ -1 +1 @@
-FlashModel CO2Solubility 1e6 7.5e7 5e4 367.15 369.15 1 0
+FlashModel CO2Solubility 1.0e5 7.5e7 1e5 285.15 395.15 5 0
diff --git a/inputFiles/compositionalMultiphaseWell/pvtgas.txt b/inputFiles/compositionalMultiphaseWell/pvtgas.txt
index 785e55ef684..30688e58cec 100644
--- a/inputFiles/compositionalMultiphaseWell/pvtgas.txt
+++ b/inputFiles/compositionalMultiphaseWell/pvtgas.txt
@@ -1,2 +1,2 @@
-DensityFun SpanWagnerCO2Density 1e6 7.5e7 5e4 367.15 369.15 1
-ViscosityFun FenghourCO2Viscosity 1e6 7.5e7 5e4 367.15 369.15 1
+DensityFun SpanWagnerCO2Density 1.0e5 7.5e7 1e5 285.15 395.15 5
+ViscosityFun FenghourCO2Viscosity 1.0e5 7.5e7 1e5 285.15 395.15 5
diff --git a/inputFiles/compositionalMultiphaseWell/pvtliquid.txt b/inputFiles/compositionalMultiphaseWell/pvtliquid.txt
index cc514a9cae2..c2811b6c310 100644
--- a/inputFiles/compositionalMultiphaseWell/pvtliquid.txt
+++ b/inputFiles/compositionalMultiphaseWell/pvtliquid.txt
@@ -1,2 +1,2 @@
-DensityFun PhillipsBrineDensity 1e6 7.5e7 5e4 367.15 369.15 1 0
+DensityFun PhillipsBrineDensity 1.0e5 7.5e7 1e5 285.15 395.15 5 0
ViscosityFun PhillipsBrineViscosity 0
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 }">
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml b/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
index 10bb684463f..bbf01a6a976 100644
--- a/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
+++ b/inputFiles/hydraulicFracturing/heterogeneousInSitu_base.xml
@@ -122,7 +122,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml b/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
index e9e75837ac4..b75048cd2c2 100644
--- a/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
+++ b/inputFiles/hydraulicFracturing/heterogeneousInSitu_smoke.xml
@@ -132,7 +132,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
@@ -275,7 +275,7 @@
name="bulk_modulus"
initialCondition="1"
setNames="{ all }"
- objectPath="ElementRegions"
+ objectPath="ElementRegions/Domain"
fieldName="rock_bulkModulus"
functionName="bulk_modulus"
scale="1.0"/>
@@ -284,7 +284,7 @@
name="shear_modulus"
initialCondition="1"
setNames="{ all }"
- objectPath="ElementRegions"
+ objectPath="ElementRegions/Domain"
fieldName="rock_shearModulus"
functionName="shear_modulus"
scale="1.0"/>
@@ -293,7 +293,7 @@
name="sigma_xx"
initialCondition="1"
setNames="{ all }"
- objectPath="ElementRegions"
+ objectPath="ElementRegions/Domain"
fieldName="rock_stress"
component="0"
functionName="sigma_xx"
@@ -303,7 +303,7 @@
name="sigma_yy"
initialCondition="1"
setNames="{ all }"
- objectPath="ElementRegions"
+ objectPath="ElementRegions/Domain"
fieldName="rock_stress"
component="1"
functionName="sigma_yy"
@@ -313,7 +313,7 @@
name="sigma_zz"
initialCondition="1"
setNames="{ all }"
- objectPath="ElementRegions"
+ objectPath="ElementRegions/Domain"
fieldName="rock_stress"
component="2"
functionName="sigma_zz"
diff --git a/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml b/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
index 4b935534255..5d1e865b642 100644
--- a/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
+++ b/inputFiles/hydraulicFracturing/hydrofractureSinglePhase2d.xml
@@ -121,7 +121,7 @@
diff --git a/inputFiles/hydraulicFracturing/kgdBase_C3D6_base.xml b/inputFiles/hydraulicFracturing/kgdBase_C3D6_base.xml
index 26147bb56f6..19f102b76c5 100644
--- a/inputFiles/hydraulicFracturing/kgdBase_C3D6_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdBase_C3D6_base.xml
@@ -24,7 +24,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml b/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
index 686921aa1f3..83f22994aee 100644
--- a/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdToughnessDominated_base.xml
@@ -72,7 +72,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
index 54480f05dd0..e7296af5629 100644
--- a/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdToughnessDominated_poroelastic_base.xml
@@ -64,7 +64,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/kgdValidation_base.xml b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
index c25bd30e8a0..59c48a60734 100644
--- a/inputFiles/hydraulicFracturing/kgdValidation_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
@@ -75,7 +75,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
index 1dbc79458d5..28cb49e72b3 100644
--- a/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdViscosityDominated_base.xml
@@ -73,7 +73,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
index 76c2d059736..c8f35cb12c4 100644
--- a/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdViscosityDominated_poroelastic_base.xml
@@ -65,7 +65,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
index f8643427fcc..bf1560af82a 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_base.xml
index ae43b66eaa5..5f02af9bc0c 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
index bab9396dd71..9ca8ea93a77 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_poroelastic_smoke.xml
@@ -15,6 +15,7 @@
surfaceGeneratorName="SurfaceGen"
logLevel="1"
targetRegions="{ Domain, Fracture }"
+ isMatrixPoroelastic="1"
contactRelationName="fractureContact"
maxNumResolves="5"
initialDt="0.1">
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
index aa760f8649f..5ab4f148e39 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_base.xml
index f186a7eb2fb..77b57db57fa 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
index f162d0da562..793c9fcaa3b 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_poroelastic_smoke.xml
@@ -15,6 +15,7 @@
surfaceGeneratorName="SurfaceGen"
logLevel="1"
targetRegions="{ Domain, Fracture }"
+ isMatrixPoroelastic="1"
contactRelationName="fractureContact"
maxNumResolves="1"
initialDt="0.1">
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
index add569e9aaa..2d3507534f4 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_base.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_base.xml
index af885a2839e..09e0f8d129a 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_base.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_base.xml
@@ -11,7 +11,7 @@
+ materialList="{ water, fractureFilling, fractureContact }"/>
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
index 1d2262b7a46..a1de3e56f6b 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_poroelastic_smoke.xml
@@ -15,6 +15,7 @@
surfaceGeneratorName="SurfaceGen"
logLevel="1"
targetRegions="{ Domain, Fracture }"
+ isMatrixPoroelastic="1"
contactRelationName="fractureContact"
maxNumResolves="5"
initialDt="0.1">
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml
index e68f003b6e3..524da88f684 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml
@@ -9,7 +9,7 @@
origin="{0.0, 0.0, 0.0}"
lengthVector="{0.0, 1.0, 0.0}"
widthVector="{0.0, 0.0, 1.0}"
- dimensions="{ 100, 10 }"/>
+ dimensions="{ 100, 200 }"/>
+ dimensions="{ 100, 200 }"/>
+ dimensions="{ 50, 200 }"/>
+ dimensions="{ 50, 200 }"/>
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
index a4678fac840..83e9561f2c4 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
@@ -46,9 +46,9 @@
elementTypes="{ C3D8 }"
xCoords="{ -1000, -100, 100, 1000 }"
yCoords="{ -1000, -100, 100, 1000 }"
- zCoords="{ 0, 1 }"
- nx="{ 50, 200, 50 }"
- ny="{ 50, 200, 50 }"
+ zCoords="{ 0, 2 }"
+ nx="{ 150, 200, 150 }"
+ ny="{ 150, 200, 150 }"
nz="{ 2 }"
cellBlockNames="{ cb1 }"/>
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
index ef470599b58..b788e0ac183 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
@@ -46,9 +46,9 @@
elementTypes="{ C3D8 }"
xCoords="{ -1000, -100, 100, 1000 }"
yCoords="{ -1000, -100, 100, 1000 }"
- zCoords="{ 0, 1 }"
- nx="{ 5, 52, 5 }"
- ny="{ 5, 52, 5 }"
+ zCoords="{ 0, 100 }"
+ nx="{ 20, 20, 20 }"
+ ny="{ 20, 20, 20 }"
nz="{ 2 }"
cellBlockNames="{ cb1 }"/>
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 }">
+ targetRegions="{ channel }"/>
@@ -90,32 +90,11 @@
target="/Outputs/vtkOutput"/>
-
-
+ target="/Tasks/multiphasePoroelasticityEquilibrationStep"/>
-
-
-
-
-
+
+
-
-
+ name="multiphasePoroelasticityEquilibrationStep"
+ poromechanicsSolverName="multiphasePoroelasticity"
+ solidMechanicsStatisticsName="linearElasticityStatistics"/>
diff --git a/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_sequential.xml b/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_sequential.xml
index 2775e1326bf..e0f04762409 100755
--- a/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_sequential.xml
+++ b/inputFiles/poromechanics/PoroElastic_staircase_co2_3d_sequential.xml
@@ -13,7 +13,7 @@
solidSolverName="linearElasticity"
reservoirAndWellsSolverName="reservoirAndWells"
logLevel="1"
- targetRegions="{ channel, barrier }">
+ targetRegions="{ channel }">
+ targetRegions="{ channel, wellRegion1, wellRegion2 }">
@@ -97,32 +97,11 @@
target="/Outputs/vtkOutput_seq"/>
-
-
+ target="/Tasks/multiphasePoroelasticityEquilibrationStep"/>
-
-
-
-
-
+
+
-
-
+ name="multiphasePoroelasticityEquilibrationStep"
+ poromechanicsSolverName="reservoirSystem"
+ solidMechanicsStatisticsName="linearElasticityStatistics"/>
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 }">
+ target="/Tasks/singlePhasePoroelasticityEquilibrationStep"/>
-
-
-
-
-
-
+ name="singlePhasePoroelasticityEquilibrationStep"
+ poromechanicsSolverName="singlePhasePoroelasticity"
+ solidMechanicsStatisticsName="linearElasticityStatistics"/>
diff --git a/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_sequential.xml b/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_sequential.xml
index a95a1d1d185..58e14123fef 100755
--- a/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_sequential.xml
+++ b/inputFiles/poromechanics/PoroElastic_staircase_singlephase_3d_sequential.xml
@@ -86,23 +86,18 @@
name="outputs"
timeFrequency="1e6"
target="/Outputs/vtkOutput_seq"/>
+
+ target="/Tasks/singlePhasePoroelasticityEquilibrationStep"/>
-
-
-
-
-
-
+ name="singlePhasePoroelasticityEquilibrationStep"
+ poromechanicsSolverName="reservoirPoromechanics"
+ solidMechanicsStatisticsName="linearElasticityStatistics"/>
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"/>
-
@@ -36,10 +30,8 @@
newtonTol="1.0e-7"
newtonMaxIter="40"/>
+ solverType="direct"
+ directParallel="0"/>
@@ -54,10 +46,8 @@
newtonTol="1.0e-7"
newtonMaxIter="40"/>
+ solverType="direct"
+ directParallel="0"/>
@@ -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 }">
@@ -167,18 +155,16 @@
@@ -195,7 +181,7 @@
+ maxTime="3456000">
@@ -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 @@
@@ -481,7 +467,7 @@
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_base.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_base.xml
index a1f1bfdf98a..b811af3ef4a 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_base.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_base.xml
@@ -1,54 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_benchmark.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_benchmark.xml
new file mode 100755
index 00000000000..d9312aade45
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_benchmark.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_smoke.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_smoke.xml
new file mode 100755
index 00000000000..99098cfeb82
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_smoke.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml
new file mode 100755
index 00000000000..845f3151232
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_sequential_solvers.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_smoke.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_smoke.xml
index 42cee5e69c0..6da3d3746bd 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_smoke.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_smoke.xml
@@ -1,6 +1,10 @@
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml
new file mode 100755
index 00000000000..2c8d9f8936b
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_faultSlip_solvers.xml
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_base.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_base.xml
index 259cf4e34d8..6fab669691b 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_base.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_base.xml
@@ -1,54 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_horizontal_smoke.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_horizontal_smoke.xml
index 3e9282ccb5d..993b40bfaae 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_horizontal_smoke.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_horizontal_smoke.xml
@@ -1,6 +1,10 @@
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml
new file mode 100755
index 00000000000..4112be144f1
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_sequential_solvers.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml
new file mode 100755
index 00000000000..cc365b429c6
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_solvers.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_benchmark.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_benchmark.xml
index 897967aefa3..20c65d99a94 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_benchmark.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_benchmark.xml
@@ -1,6 +1,10 @@
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_benchmark.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_benchmark.xml
new file mode 100755
index 00000000000..a7b5775a538
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_benchmark.xml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_smoke.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_smoke.xml
new file mode 100755
index 00000000000..3feed452401
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_smoke.xml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_smoke.xml b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_smoke.xml
index 88891999ccb..3feed452401 100644
--- a/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_smoke.xml
+++ b/inputFiles/poromechanicsFractures/PoroElastic_conformingFracture_2d_openingFrac_vertical_smoke.xml
@@ -1,6 +1,10 @@
+
+
+
diff --git a/inputFiles/poromechanicsFractures/poromechanicsFractures.ats b/inputFiles/poromechanicsFractures/poromechanicsFractures.ats
index 02dfc957812..5cbe443b5a9 100644
--- a/inputFiles/poromechanicsFractures/poromechanicsFractures.ats
+++ b/inputFiles/poromechanicsFractures/poromechanicsFractures.ats
@@ -26,6 +26,13 @@ decks = [
restart_step=0,
check_step=10,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="PoroElastic_conformingFracture_2d_openingFrac_horizontal_sequential_smoke",
+ description='PoroElastic conformingFracture 2d case (sequential)',
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=0,
+ check_step=10,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="PoroElastic_conformingFracture_2d_openingFrac_vertical_smoke",
description='PoroElastic conformingFracture 2d case',
@@ -33,6 +40,13 @@ decks = [
restart_step=0,
check_step=10,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="PoroElastic_conformingFracture_2d_openingFrac_vertical_sequential_smoke",
+ description='PoroElastic conformingFracture 2d case (sequential)',
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=0,
+ check_step=10,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
name="PoroElastic_efem-edfm_pressurizedFrac_smoke",
description='poromechanics efem-edfm pressurized vertical frac',
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 }"/>
@@ -69,12 +69,12 @@
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 }"/>
@@ -85,12 +85,12 @@
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 }"/>
@@ -85,12 +85,12 @@
@@ -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 }"/>
@@ -73,12 +76,12 @@
diff --git a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_edfm_verticalFrac_smoke.xml b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_edfm_verticalFrac_smoke.xml
index 648b26903f6..c0429d938fb 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_edfm_verticalFrac_smoke.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureMatrixFlowWithGravity_edfm_verticalFrac_smoke.xml
@@ -133,7 +133,7 @@
name="rockPorosity"
defaultReferencePorosity="0.05"
referencePressure="0.0"
- compressibility="0.0e-9"/>
+ compressibility="1.0e-9"/>
+ 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 }">
+ 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 }">
@@ -155,7 +156,7 @@
+ 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 }"/>
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 }"/>
+ 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 }"/>
@@ -73,23 +76,21 @@
target="/Outputs/vtkOutput"/>
+ target="/Tasks/multiphasePoroelasticityEquilibrationStep"/>
+
-
-
-
-
-
-
@@ -335,16 +325,9 @@
-
-
-
+
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 }"/>
@@ -115,20 +115,20 @@
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_base.xml
similarity index 67%
rename from inputFiles/wavePropagation/benchmarks/acouselas3D.xml
rename to inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_base.xml
index 7ee7cc3e86e..80fe7332730 100644
--- a/inputFiles/wavePropagation/benchmarks/acouselas3D.xml
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_base.xml
@@ -13,21 +13,13 @@
6400x1600x4800m domain
NOTES:
nx="{ 320 }"
- ny="{ 240 }"
- nz="{ 120, 120 }
- => local threshold for local builds 3D Q1 Δt=1e-4 (18e6 elems, 10Gb per 1 GPU)
- -> Q4 180 procs / GPU 16h
- -> Q1 180 procs / GPU 1h40min
- -> Q3 gar6more results
- nx="{ 160 }"
ny="{ 120 }"
- nz="{ 60, 60 }
- => local threshold for local builds 3D Q2 Δt=1e-4 (2e6 elems, 4Gb per 1 GPU)
- -> Q3 swaps
- nx="{ 80 }"
- ny="{ 60 }"
- nz="{ 30, 30 }
- => coarse 10 min frontal run 3D Q5 Δt=1e-3 (288e3 elems, 8Gb per 6 GPU)
+ nz="{ 120, 120 }"
+ => Q3 24 procs / GPUs -> 10min run on P3 (validation run)
+ nx="{ 320 }"
+ ny="{ 80 }"
+ nz="{ 120, 120 }"
+ => Q2 18 procs / GPUs -> 5min run on P3 (debug run)
# Validation againt [gar6more3d](https://gitlab.inria.fr/jdiaz/gar6more3d)
@@ -37,7 +29,7 @@
0 first layer : acoustic (0) elastodynamic (1), poroelastic (2)
4 Source derivative (Hermite functions derivative, i.e. 2 for a ricker source)
10. Central frequency of the source
- 1020. Amplitude of the source (× ρᶠ ?)
+ 2.295e9 Amplitude of the source (≡ λᶠ)
0.115 Delay of the source
500. Height of the source
533.3333 Height of the line of receivers (relative to interface)
@@ -47,10 +39,10 @@
0. Ordinate of the last receiver
1 Numbers of receivers
0. Start time
- 3. Stop time
+ 1.85 Stop time
1e-3 Time step (of the seismo samples)
- 1000 Number of intervals for the numerical computation of the convolution
- 1000 Number of intervals for the numerical computation of the space integration
+ 100 Number of intervals for the numerical computation of the convolution
+ 100 Number of intervals for the numerical computation of the space integration
2.295e9 1020. λᶠ and ρᶠ
1 second layer : acoustic (0) elastodynamic (1), poroelastic (2)
9.6334225e9 9.633155e9 2500. μˢ, λˢ and ρˢ
@@ -60,9 +52,9 @@
```
4 infinite medium (1), free surface (2), wall boundary (3) or bilayered medium(4)
0 first layer : acoustic (0) elastodynamic (1), poroelastic (2)
- 4 Source derivative (Hermite functions derivative, i.e. 2 for a ricker source)
+ 3 Source derivative (Hermite functions derivative, i.e. 2 for a ricker source)
10. Central frequency of the source
- 1020. Amplitude of the source (× ρᶠ ?)
+ 2.295e9 Amplitude of the source (≡ λᶠ)
0.115 Delay of the source
500. Height of the source
-533.3333 Height of the line of receivers (relative to interface)
@@ -72,10 +64,10 @@
0. Ordinate of the last receiver
1 Numbers of receivers
0. Start time
- 3. Stop time
+ 1.85 Stop time
1e-3 Time step (of the seismo samples)
- 500 Number of intervals for the numerical computation of the convolution
- 500 Number of intervals for the numerical computation of the space integration
+ 100 Number of intervals for the numerical computation of the convolution
+ 100 Number of intervals for the numerical computation of the space integration
2.295e9 1020. λᶠ and ρᶠ
1 second layer : acoustic (0) elastodynamic (1), poroelastic (2)
9.6334225e9 9.633155e9 2500. μˢ, λˢ and ρˢ
@@ -83,37 +75,6 @@
-->
-
-
-
-
-
-
-
@@ -137,22 +98,21 @@
-
+
@@ -169,8 +129,7 @@
-
+
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_flu.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_flu.xml
new file mode 100644
index 00000000000..a1367ef4128
--- /dev/null
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_flu.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_sol.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_sol.xml
new file mode 100644
index 00000000000..5a4e3ff62ee
--- /dev/null
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_komatitsch_sol.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_aea.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_aea.xml
new file mode 100644
index 00000000000..141cf84d7a6
--- /dev/null
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_aea.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_base.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_base.xml
new file mode 100644
index 00000000000..83922fb1c8c
--- /dev/null
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_base.xml
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_eae.xml b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_eae.xml
new file mode 100644
index 00000000000..e75b0cb0c93
--- /dev/null
+++ b/inputFiles/wavePropagation/benchmarks/acouselas3D_layers_eae.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml b/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
index 04a17b7ea8b..06384dcce1c 100644
--- a/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
+++ b/inputFiles/wellbore/CasedElasticWellbore_ImperfectInterfaces_base.xml
@@ -12,8 +12,7 @@
+ newtonMaxIter="10"/>
diff --git a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
index b2028906503..82aae72d5bb 100644
--- a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
+++ b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
@@ -24,15 +24,14 @@
+ newtonMaxIter="10"/>
@@ -67,8 +66,10 @@
-
+
diff --git a/integratedTests b/integratedTests
index eb4b88b485b..1de49d91217 160000
--- a/integratedTests
+++ b/integratedTests
@@ -1 +1 @@
-Subproject commit eb4b88b485bd35a6cb37dd37b141daef5a0a832a
+Subproject commit 1de49d91217f6ddd2b254948636513a7e1bee108
diff --git a/scripts/SchemaToRSTDocumentation.py b/scripts/SchemaToRSTDocumentation.py
index 0710515381c..e6492853736 100644
--- a/scripts/SchemaToRSTDocumentation.py
+++ b/scripts/SchemaToRSTDocumentation.py
@@ -191,6 +191,10 @@ def buildTableValues(type_map, link_string='XML', include_defaults=True):
if k in type_map[att_name]:
table_row[jj] = type_map[att_name][k]
+ # Fix type strings
+ if ('Type' in k):
+ table_row[jj] = table_row[jj].replace('_lt_', '<').replace('_gt_', '>').replace('_cm_', ',').replace('-', ' ')
+
# Format any registration entries as links
if ('Registered' in k):
table_row[jj] = ", ".join([':ref:`%s_%s`' % (link_string, x) for x in table_row[jj]])
diff --git a/scripts/ci_build_and_test_in_container.sh b/scripts/ci_build_and_test_in_container.sh
index c292755a605..405cb7a46c3 100755
--- a/scripts/ci_build_and_test_in_container.sh
+++ b/scripts/ci_build_and_test_in_container.sh
@@ -1,6 +1,8 @@
#!/bin/bash
set -o pipefail
+export PYTHONDONTWRITEBYTECODE=1
+
printenv
SCRIPT_NAME=$0
@@ -143,7 +145,7 @@ EOT
# The path to the `sccache` executable is available through the SCCACHE environment variable.
SCCACHE_CMAKE_ARGS="-DCMAKE_CXX_COMPILER_LAUNCHER=${SCCACHE} -DCMAKE_CUDA_COMPILER_LAUNCHER=${SCCACHE}"
- if [[ ${HOSTNAME} == 'streak.llnl.gov' ]]; then
+ if [ ${HOSTNAME} == 'streak.llnl.gov' ] || [ ${HOSTNAME} == 'streak2.llnl.gov' ]; then
DOCKER_CERTS_DIR=/usr/local/share/ca-certificates
for file in "${GEOS_SRC_DIR}"/certificates/*.crt.pem; do
if [ -f "$file" ]; then
@@ -174,7 +176,8 @@ if [[ "${RUN_INTEGRATED_TESTS}" = true ]]; then
or_die apt-get install -y virtualenv python3-dev python-is-python3
ATS_PYTHON_HOME=/tmp/run_integrated_tests_virtualenv
or_die virtualenv ${ATS_PYTHON_HOME}
- ATS_CMAKE_ARGS="-DATS_ARGUMENTS=\"--machine openmpi --ats openmpi_mpirun=/usr/bin/mpirun --ats openmpi_args=--allow-run-as-root --ats openmpi_procspernode=2 --ats openmpi_maxprocs=2\" -DPython3_ROOT_DIR=${ATS_PYTHON_HOME}"
+ export ATS_FILTER="np<=32"
+ ATS_CMAKE_ARGS="-DATS_ARGUMENTS=\"--machine openmpi --ats openmpi_mpirun=/usr/bin/mpirun --ats openmpi_args=--allow-run-as-root --ats openmpi_procspernode=32 --ats openmpi_maxprocs=32\" -DPython3_ROOT_DIR=${ATS_PYTHON_HOME}"
fi
@@ -252,7 +255,7 @@ fi
# Run the unit tests (excluding previously ran checks).
if [[ "${RUN_UNIT_TESTS}" = true ]]; then
- if [[ ${HOSTNAME} == 'streak.llnl.gov' ]]; then
+ if [ ${HOSTNAME} == 'streak.llnl.gov' ] || [ ${HOSTNAME} == 'streak2.llnl.gov' ]; then
or_die ctest --output-on-failure -E "testUncrustifyCheck|testDoxygenCheck|testLifoStorage|testExternalSolvers"
else
or_die ctest --output-on-failure -E "testUncrustifyCheck|testDoxygenCheck"
@@ -288,6 +291,12 @@ fi
# Cleaning the build directory.
or_die ninja clean
+
+# Clean the repository
+or_die cd ${GEOS_SRC_DIR}/inputFiles
+find . -name *.pyc | xargs rm -f
+
+
# If we're here, either everything went OK or we have to deal with the integrated tests manually.
if [[ ! -z "${INTEGRATED_TEST_EXIT_STATUS+x}" ]]; then
echo "Exiting the build process with exit status ${INTEGRATED_TEST_EXIT_STATUS} from the integrated tests."
diff --git a/src/cmake/thirdparty/SetupGeosxThirdParty.cmake b/src/cmake/thirdparty/SetupGeosxThirdParty.cmake
index e6ce967a316..7706da01a5b 100644
--- a/src/cmake/thirdparty/SetupGeosxThirdParty.cmake
+++ b/src/cmake/thirdparty/SetupGeosxThirdParty.cmake
@@ -1,7 +1,16 @@
####################################
+#
# 3rd Party Dependencies
+#
+# Setup all GEOS TPL
+#
####################################
+
+################################
+# Helper macros & functions
+################################
+
macro(find_and_import)
set(singleValueArgs NAME HEADER)
set(multiValueArgs INCLUDE_DIRECTORIES
@@ -101,8 +110,22 @@ macro(extract_version_from_header)
endmacro( extract_version_from_header)
+
+macro(mandatory_tpl_doesnt_exist
+ CURRENT_TPL_NAME
+ CURRENT_TPL_DIR_VAR)
+
+ message(FATAL_ERROR
+ "GEOSX requires ${CURRENT_TPL_NAME}, either :\n"
+ " - Verify that you provided a valid TPL installation directory (GEOSX_TPL_DIR = \"${GEOSX_TPL_DIR}\"),\n"
+ " - Or set ${CURRENT_TPL_DIR_VAR} to the ${CURRENT_TPL_NAME} installation directory (${CURRENT_TPL_DIR_VAR} = \"${${CURRENT_TPL_DIR_VAR}}\").\n")
+
+endmacro(mandatory_tpl_doesnt_exist)
+
+
set(thirdPartyLibs "")
+
################################
# BLAS/LAPACK
################################
@@ -184,7 +207,7 @@ if(DEFINED CONDUIT_DIR)
set(thirdPartyLibs ${thirdPartyLibs} conduit::conduit)
else()
- message(FATAL_ERROR "GEOSX requires conduit, set CONDUIT_DIR to the conduit installation directory.")
+ mandatory_tpl_doesnt_exist("Conduit" CONDUIT_DIR)
endif()
################################
@@ -215,7 +238,7 @@ if(DEFINED HDF5_DIR)
set(ENABLE_HDF5 ON CACHE BOOL "")
set(thirdPartyLibs ${thirdPartyLibs} hdf5)
else()
- message(FATAL_ERROR "GEOSX requires hdf5, set HDF5_DIR to the hdf5 installation directory.")
+ mandatory_tpl_doesnt_exist("hdf5" HDF5_DIR)
endif()
################################
@@ -259,7 +282,7 @@ if(DEFINED PUGIXML_DIR)
set(thirdPartyLibs ${thirdPartyLibs} pugixml)
endif()
else()
- message(FATAL_ERROR "GEOSX requires pugixml, set PUGIXML_DIR to the pugixml installation directory.")
+ mandatory_tpl_doesnt_exist("pugixml" PUGIXML_DIR)
endif()
################################
@@ -291,7 +314,7 @@ if(DEFINED RAJA_DIR)
set(ENABLE_RAJA ON CACHE BOOL "")
set(thirdPartyLibs ${thirdPartyLibs} RAJA )
else()
- message(FATAL_ERROR "GEOSX requires RAJA, set RAJA_DIR to the RAJA installation directory.")
+ mandatory_tpl_doesnt_exist("RAJA" RAJA_DIR)
endif()
################################
@@ -322,7 +345,7 @@ if(DEFINED UMPIRE_DIR)
set(ENABLE_UMPIRE ON CACHE BOOL "")
set(thirdPartyLibs ${thirdPartyLibs} umpire)
else()
- message(FATAL_ERROR "GEOSX requires Umpire, set UMPIRE_DIR to the Umpire installation directory.")
+ mandatory_tpl_doesnt_exist("Umpire" UMPIRE_DIR)
endif()
@@ -345,7 +368,7 @@ if(DEFINED CHAI_DIR)
set(ENABLE_CHAI ON CACHE BOOL "")
set(thirdPartyLibs ${thirdPartyLibs} chai)
else()
- message(FATAL_ERROR "GEOSX requires CHAI, set CHAI_DIR to the CHAI installation directory.")
+ mandatory_tpl_doesnt_exist("CHAI" CHAI_DIR)
endif()
################################
@@ -613,7 +636,7 @@ if(DEFINED HYPRE_DIR AND ENABLE_HYPRE)
set( HYPRE_DEPENDS ${HYPRE_DEPENDS} superlu_dist )
endif()
if( ${ENABLE_HYPRE_DEVICE} STREQUAL "CUDA" )
- set( EXTRA_LIBS ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY} ${CUDA_curand_LIBRARY} )
+ set( EXTRA_LIBS ${CUDA_cusparse_LIBRARY} ${CUDA_cublas_LIBRARY} ${CUDA_curand_LIBRARY} ${CUDA_cusolver_LIBRARY} )
elseif( ${ENABLE_HYPRE_DEVICE} STREQUAL "HIP" )
find_package( rocblas REQUIRED )
find_package( rocsolver REQUIRED )
@@ -800,7 +823,7 @@ if(DEFINED FMT_DIR)
set(thirdPartyLibs ${thirdPartyLibs} fmt::fmt )
else()
- message(FATAL_ERROR "GEOSX requires {fmt}, set FMT_DIR to the {fmt} installation directory.")
+ mandatory_tpl_doesnt_exist("{fmt}" FMT_DIR)
endif()
################################
@@ -841,7 +864,7 @@ if( ${CMAKE_VERSION} VERSION_LESS "3.19" )
set( PYTHON_AND_VERSION Python3 )
set( PYTHON_OPTIONAL_COMPONENTS)
else()
- set( PYTHON_AND_VERSION Python3 3.7.0...3.11.2 )
+ set( PYTHON_AND_VERSION Python3 3.6.0...3.12.2 )
set( PYTHON_OPTIONAL_COMPONENTS OPTIONAL_COMPONENTS Development NumPy)
endif()
if(ENABLE_PYGEOSX)
diff --git a/src/coreComponents/LvArray b/src/coreComponents/LvArray
index 1531241583e..fb5200d7436 160000
--- a/src/coreComponents/LvArray
+++ b/src/coreComponents/LvArray
@@ -1 +1 @@
-Subproject commit 1531241583eebe21cfcdc0facd16a80f1e03c939
+Subproject commit fb5200d743621126f2117eaef0dd855792fa0443
diff --git a/src/coreComponents/codingUtilities/Utilities.hpp b/src/coreComponents/codingUtilities/Utilities.hpp
index b6e39ba6667..7555c6bbfbc 100644
--- a/src/coreComponents/codingUtilities/Utilities.hpp
+++ b/src/coreComponents/codingUtilities/Utilities.hpp
@@ -209,6 +209,31 @@ VAL findOption( mapBase< KEY, VAL, SORTED > const & map,
return iter->second;
}
+namespace
+{
+
+/**
+ * @brief Apply functor @p transformer onto the map elements and store the results into a container of type @p C.
+ * @tparam MAP Type of the considered map.
+ * @tparam C Type of the container holding the keys.
+ * @tparam TRANSFORMER Type of the unary functor.
+ * @param[in] map The map from which keys will be extracted.
+ * @param transformer Which unary functor to apply to the @p map elements.
+ * @return The container with the results for the @p transformer application.
+ */
+template< template< typename ... > class C, typename MAP, typename TRANSFORMER >
+auto mapTransformer( MAP const & map,
+ TRANSFORMER const & transformer )
+{
+ using v = std::invoke_result_t< TRANSFORMER, typename MAP::const_reference >;
+ C< v > result;
+ auto inserter = std::inserter( result, result.end() );
+ std::transform( map.begin(), map.end(), inserter, transformer );
+ return result;
+}
+
+}
+
/**
* @brief Extract the keys from the given map.
* @tparam MAP Type of the considered map.
@@ -219,11 +244,24 @@ VAL findOption( mapBase< KEY, VAL, SORTED > const & map,
template< template< typename ... > class C = std::vector, typename MAP >
C< typename MAP::key_type > mapKeys( MAP const & map )
{
- C< typename MAP::key_type > keys;
- auto transformer = []( auto const & p ) { return p.first; };
- auto inserter = std::inserter( keys, keys.end() );
- std::transform( map.begin(), map.end(), inserter, transformer );
- return keys;
+ auto transformer = []( auto const & p ) -> typename MAP::key_type
+ { return p.first; };
+ return mapTransformer< C >( map, transformer );
+}
+
+/**
+ * @brief Extract the values from the given map.
+ * @tparam MAP Type of the considered map.
+ * @tparam C Type of the container holding the values.
+ * @param[in] map The map from which values will be extracted.
+ * @return The container with the values.
+ */
+template< template< typename ... > class C = std::vector, typename MAP >
+C< typename MAP::mapped_type > mapValues( MAP const & map )
+{
+ auto transformer = []( typename MAP::const_reference p ) -> typename MAP::mapped_type
+ { return p.second; };
+ return mapTransformer< C >( map, transformer );
}
namespace internal
diff --git a/src/coreComponents/codingUtilities/tests/CMakeLists.txt b/src/coreComponents/codingUtilities/tests/CMakeLists.txt
index f70776694a0..f6009a67062 100644
--- a/src/coreComponents/codingUtilities/tests/CMakeLists.txt
+++ b/src/coreComponents/codingUtilities/tests/CMakeLists.txt
@@ -2,7 +2,8 @@
set( testSources
testGeosxTraits.cpp
testStringUtilities.cpp
- testParsing.cpp )
+ testParsing.cpp
+ testUtilities.cpp )
set( dependencyList gtest codingUtilities ${parallelDeps} )
diff --git a/src/coreComponents/codingUtilities/tests/testUtilities.cpp b/src/coreComponents/codingUtilities/tests/testUtilities.cpp
new file mode 100644
index 00000000000..94a3147a245
--- /dev/null
+++ b/src/coreComponents/codingUtilities/tests/testUtilities.cpp
@@ -0,0 +1,35 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2018-2020 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2020 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2018-2020 TotalEnergies
+ * Copyright (c) 2019- GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+#include "codingUtilities/Utilities.hpp"
+
+#include
+
+#include