diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
index d40722ebd77..5757d8230fa 100644
--- a/.devcontainer/devcontainer.json
+++ b/.devcontainer/devcontainer.json
@@ -2,7 +2,7 @@
"build": {
"dockerfile": "Dockerfile",
"args": {
- "GEOS_TPL_TAG": "278-500"
+ "GEOS_TPL_TAG": "284-535"
}
},
"runArgs": [
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index b23f7e229c6..1048325b177 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -10,6 +10,7 @@
/.github/ @rrsettgast
/BASELINE_NOTES.md
+/.integrated_tests.yaml @CusiniM @cssherman @rrsettgast @wrtobin @castelletto1 @jhuang2601 @paveltomin
/inputFiles/ @CusiniM @cssherman @jhuang2601 @rrsettgast
/src/coreComponents/LvArray @rrsettgast @wrtobin @corbett5 @CusiniM
/src/coreComponents/codingUtilities @rrsettgast @untereiner @corbett5 @wrtobin
diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
index ab76d9288e3..b34012e1d8d 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ b/.github/ISSUE_TEMPLATE/bug-report.md
@@ -27,7 +27,7 @@ If applicable, add screenshots to help explain your problem.
**Platform (please complete the following information):**
- Machine [e.g. LLNL/Quartz]
- Compiler: [e.g. gcc 8.1.0]
-- GEOSX Version [e.g. 0.2]
+- GEOS Version [e.g. 0.2]
**Additional context**
Add any other context about the problem here.
diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml
index 8b3405614f7..80debbb603a 100644
--- a/.github/workflows/build_and_test.yml
+++ b/.github/workflows/build_and_test.yml
@@ -5,6 +5,10 @@ on:
BUILD_AND_TEST_CLI_ARGS:
required: false
type: string
+ BUILD_SHARED_LIBS:
+ required: false
+ type: string
+ default: 'ON'
BUILD_TYPE:
required: false
type: string
@@ -51,6 +55,9 @@ on:
required: false
type: string
default: ''
+ HOST_ARCH:
+ required: false
+ type: string
RUNS_ON:
required: true
type: string
@@ -63,7 +70,11 @@ on:
type: string
LOCAL_BASELINE_DIR:
required: false
- type: string
+ type: string
+ BUILD_GENERATOR:
+ required: false
+ type: string
+ default: '--ninja'
secrets:
GOOGLE_CLOUD_GCP:
required: false
@@ -100,20 +111,26 @@ jobs:
- id: 'auth'
if: ${{ inputs.GCP_BUCKET || inputs.USE_SCCACHE }}
- uses: 'google-github-actions/auth@v2.1.3'
+ uses: 'google-github-actions/auth@v2.1.5'
with:
credentials_json: '${{ secrets.GOOGLE_CLOUD_GCP }}'
create_credentials_file: true
- name: 'Set up Cloud SDK'
if: inputs.GCP_BUCKET
- uses: 'google-github-actions/setup-gcloud@v2.1.0'
+ uses: 'google-github-actions/setup-gcloud@v2.1.1'
with:
version: '>= 363.0.0'
- name: Print environment
run: printenv
+ - name: Setup QEMU for ${{ inputs.HOST_ARCH }} emulation
+ if: ${{ inputs.HOST_ARCH }}
+ uses: docker/setup-qemu-action@v3
+ with:
+ platforms: ${{ inputs.HOST_ARCH }}
+
- name: Build, test, deploy.
run: |
# Those two bash arrays will be populated depending on the required options,
@@ -136,6 +153,10 @@ jobs:
script_args+=(--nproc ${NPROC})
fi
+ if [[ -n "${{ inputs.BUILD_GENERATOR }}" ]]; then
+ script_args+=(${{ inputs.BUILD_GENERATOR }})
+ fi
+
docker_args+=(${{ inputs.DOCKER_RUN_ARGS }})
COMMIT=${{ github.event.pull_request.head.sha }}
@@ -184,6 +205,7 @@ jobs:
docker_args+=(-e ENABLE_HYPRE=${ENABLE_HYPRE:-OFF})
docker_args+=(-e ENABLE_HYPRE_DEVICE=${ENABLE_HYPRE_DEVICE:-CPU})
docker_args+=(-e ENABLE_TRILINOS=${ENABLE_TRILINOS:-ON})
+ docker_args+=(-e GEOS_BUILD_SHARED_LIBS=${{ inputs.BUILD_SHARED_LIBS }})
docker_args+=(--cap-add=SYS_PTRACE --rm)
diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml
index 4d860f4c80c..bf62843e07b 100644
--- a/.github/workflows/ci_tests.yml
+++ b/.github/workflows/ci_tests.yml
@@ -5,7 +5,7 @@ on:
branches:
- develop
pull_request:
- types: [opened, synchronize, reopened, edited]
+ types: [opened, synchronize, reopened]
workflow_dispatch:
# Cancels in-progress workflows for a PR when updated
@@ -149,14 +149,17 @@ jobs:
- name: Ubuntu (20.04, gcc 9.4.0, open-mpi 4.0.3)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu20.04-gcc9
+ BUILD_SHARED_LIBS: ON
- 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
+ BUILD_SHARED_LIBS: ON
- 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
+ BUILD_SHARED_LIBS: ON
- name: Ubuntu (22.04, gcc 11.4.0, open-mpi 4.1.2)
CMAKE_BUILD_TYPE: Release
@@ -164,28 +167,31 @@ jobs:
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
GCP_BUCKET: geosx/ubuntu22.04-gcc11
+ BUILD_SHARED_LIBS: ON
- name: Ubuntu (22.04, gcc 12.3.0, open-mpi 4.1.2)
CMAKE_BUILD_TYPE: Release
DOCKER_REPOSITORY: geosx/ubuntu22.04-gcc12
ENABLE_HYPRE: ON
ENABLE_TRILINOS: OFF
+ BUILD_SHARED_LIBS: ON
- 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
+ BUILD_SHARED_LIBS: ON
uses: ./.github/workflows/build_and_test.yml
with:
+ BUILD_SHARED_LIBS: ${{ matrix.BUILD_SHARED_LIBS }}
CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }}
DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }}
DOCKER_REPOSITORY: ${{ matrix.DOCKER_REPOSITORY }}
ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }}
ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }}
GCP_BUCKET: ${{ matrix.GCP_BUCKET }}
- HOST_CONFIG: ${{ matrix.HOST_CONFIG }}
RUNS_ON: ubuntu-22.04
secrets: inherit
@@ -244,6 +250,8 @@ jobs:
ENABLE_TRILINOS: OFF
GCP_BUCKET: geosx/ubuntu22.04-gcc11
RUNS_ON: Runner_4core_16GB
+ REQUIRED_LABEL: "ci: run code coverage"
+
# mac_builds:
# needs:
@@ -269,6 +277,7 @@ jobs:
- name: Ubuntu CUDA debug (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89)
BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema"
CMAKE_BUILD_TYPE: Debug
+ BUILD_GENERATOR: "--ninja"
DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89
ENABLE_HYPRE_DEVICE: CUDA
ENABLE_HYPRE: ON
@@ -282,6 +291,7 @@ jobs:
- name: Ubuntu CUDA (20.04, clang 10.0.0 + gcc 9.4.0, open-mpi 4.0.3, cuda-11.8.89)
BUILD_AND_TEST_CLI_ARGS: "--no-install-schema"
CMAKE_BUILD_TYPE: Release
+ BUILD_GENERATOR: "--ninja"
DOCKER_REPOSITORY: geosx/ubuntu20.04-clang10.0.0-cuda11.8.89
ENABLE_HYPRE_DEVICE: CUDA
ENABLE_HYPRE: ON
@@ -291,28 +301,51 @@ jobs:
DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro"
DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates"
DOCKER_CERTS_UPDATE_COMMAND: "update-ca-certificates"
+
+ - name: Rockylinux CUDA (8, clang 17.0.6, cuda 12.5.1)
+ BUILD_AND_TEST_CLI_ARGS: "--no-install-schema"
+ CMAKE_BUILD_TYPE: Release
+ BUILD_GENERATOR: "--ninja"
+ ENABLE_HYPRE_DEVICE: CUDA
+ ENABLE_HYPRE: ON
+ ENABLE_TRILINOS: OFF
+ DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.5
+ RUNS_ON: streak
+ NPROC: 8
+ DOCKER_RUN_ARGS: "--cpus=8 --memory=256g --runtime=nvidia --gpus all -v /etc/pki/ca-trust/source/anchors/:/usr/local/share/ca-certificates/llnl:ro"
+ DOCKER_CERTS_DIR: "/usr/local/share/ca-certificates"
+ DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust"
- # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX
- # - name: Rockylinux (8, clang 17.0.6, cuda 12.5)
- # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema"
- # CMAKE_BUILD_TYPE: Release
- # DOCKER_REPOSITORY: geosx/rockylinux8-clang17-cuda12.5
- # RUNS_ON: streak2
- # NPROC: 2
- # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro"
- # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors"
- # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust"
-
- # compiler error in ElasticFirstOrderWaveEquationSEMKernel::StressComputation::launch in call to FE_TYPE::computeFirstOrderStiffnessTermX
- # - name: Rockylinux (8, gcc 8.5, cuda 12.5)
- # BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema"
- # CMAKE_BUILD_TYPE: Release
- # DOCKER_REPOSITORY: geosx/rockylinux8-gcc8-cuda12.5
- # RUNS_ON: streak2
- # NPROC: 2
- # DOCKER_RUN_ARGS: "--cpus=1 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro"
- # DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors"
- # DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust"
+ - name: Rockylinux CUDA (8, gcc 8.5, cuda 12.5.1)
+ BUILD_AND_TEST_CLI_ARGS: "--no-run-unit-tests --no-install-schema"
+ CMAKE_BUILD_TYPE: Release
+ BUILD_GENERATOR: "--ninja"
+ ENABLE_HYPRE_DEVICE: CUDA
+ ENABLE_HYPRE: ON
+ ENABLE_TRILINOS: OFF
+ DOCKER_REPOSITORY: geosx/rockylinux8-gcc8-cuda12.5
+ RUNS_ON: streak2
+ NPROC: 8
+ DOCKER_RUN_ARGS: "--cpus=8 --memory=128g --runtime=nvidia -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro"
+ DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors"
+ DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust"
+
+ - name: Pangea 3 (AlmaLinux 8.8, gcc 9.4.0, open-mpi 4.1.2, cuda 11.5.0, openblas 0.3.10)
+ BUILD_AND_TEST_CLI_ARGS: "--build-exe-only --no-install-schema"
+ CMAKE_BUILD_TYPE: Release
+ BUILD_GENERATOR: "--makefile"
+ DOCKER_REPOSITORY: geosx/pangea3-almalinux8-gcc9.4-openmpi4.1.2-cuda11.5.0-openblas0.3.18
+ HOST_CONFIG: host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake
+ ENABLE_HYPRE_DEVICE: CUDA
+ ENABLE_HYPRE: ON
+ ENABLE_TRILINOS: OFF
+ HOST_ARCH: ppc64le
+ RUNS_ON: streak2
+ NPROC: 8
+ DOCKER_RUN_ARGS: "--cpus=8 --memory=128g -v /etc/pki/ca-trust/source/anchors/:/etc/pki/ca-trust/source/anchors/llnl:ro"
+ DOCKER_CERTS_DIR: "/etc/pki/ca-trust/source/anchors"
+ DOCKER_CERTS_UPDATE_COMMAND: "update-ca-trust"
+
# Below this line, jobs that deploy to Google Cloud.
@@ -320,6 +353,7 @@ jobs:
with:
BUILD_AND_TEST_CLI_ARGS: ${{ matrix.BUILD_AND_TEST_CLI_ARGS }}
CMAKE_BUILD_TYPE: ${{ matrix.CMAKE_BUILD_TYPE }}
+ BUILD_GENERATOR: ${{ matrix.BUILD_GENERATOR }}
DOCKER_CERTS_DIR: ${{ matrix.DOCKER_CERTS_DIR }}
DOCKER_CERTS_UPDATE_COMMAND: ${{ matrix.DOCKER_CERTS_UPDATE_COMMAND }}
DOCKER_IMAGE_TAG: ${{ needs.is_not_draft_pull_request.outputs.DOCKER_IMAGE_TAG }}
@@ -329,6 +363,7 @@ jobs:
ENABLE_HYPRE: ${{ matrix.ENABLE_HYPRE }}
ENABLE_TRILINOS: ${{ matrix.ENABLE_TRILINOS }}
GCP_BUCKET: ${{ matrix.GCP_BUCKET }}
+ HOST_ARCH: ${{ matrix.HOST_ARCH }}
HOST_CONFIG: ${{ matrix.HOST_CONFIG }}
NPROC: ${{ matrix.NPROC }}
RUNS_ON: ${{ matrix.RUNS_ON }}
diff --git a/.gitignore b/.gitignore
index d00a78b3725..8b641c28a31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -19,6 +19,7 @@
/Debug/
uberenv_libs
spack-*.txt
+/src/docs/sphinx/datastructure
*~
__pycache__
diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml
index 14a5dd73076..2d289765a28 100644
--- a/.integrated_tests.yaml
+++ b/.integrated_tests.yaml
@@ -1,7 +1,7 @@
baselines:
bucket: geosx
- baseline: integratedTests/baseline_integratedTests-pr3197-6679-a003f43
+ baseline: integratedTests/baseline_integratedTests-pr2878-8188-ed2ded2
allow_fail:
all: ''
- streak: pennyShapedToughnessDominated_smoke_01,pennyShapedViscosityDominated_smoke_01,pknViscosityDominated_smoke_01
+ streak: ''
diff --git a/.readthedocs.yml b/.readthedocs.yml
index 16bd2dc1fc5..5f3f5d49dbf 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -15,6 +15,8 @@ build:
nodejs: "16"
python: "3.10"
jobs:
+ pre_build:
+ - python3 scripts/SchemaToRSTDocumentation.py -s src/coreComponents/schema/schema.xsd -o src/docs/sphinx
post_install:
- npm install -g npm@9.8.1
- npm install -g @mermaid-js/mermaid-cli@10.3.1
@@ -30,9 +32,12 @@ python:
sphinx:
configuration: src/conf.py
builder: html
+ fail_on_warning: true
+
# Optionally build your docs in additional formats such as PDF and ePub
-formats: all
+formats:
+ - pdf
submodules:
include:
diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md
index be5e9d7d934..65cd8d82bd9 100644
--- a/BASELINE_NOTES.md
+++ b/BASELINE_NOTES.md
@@ -6,11 +6,71 @@ This file is designed to track changes to the integrated test baselines.
Any developer who updates the baseline ID in the .integrated_tests.yaml file is expected to create an entry in this file with the pull request number, date, and their justification for rebaselining.
These notes should be in reverse-chronological order, and use the following time format: (YYYY-MM-DD).
-PR 3197 (2024-08-07)
-====================
-Separation of contact and friction laws.
+PR #2878 (2024-10-17)
+=====================
+Sorted region cellBlocks names alphabetically. Therefore affected ordering of: faceManager/elemSubRegionList, nodeManager/elemList, nodeManager/elemSubRegionList, SurfaceElementSubRegion::fractureElementsToCellSubRegions, field::perforation::reservoirElementSubregion.
+
+PR #3364( 2024-10-15)
+=====================
+Enable reservoir+wells+contact mechanics. Rebaseline needed because of 'allowNegativePressure' flag added for wells.
+
+PR #3364( 2024-10-01)
+=====================
+Separate mass and volume residuals for output in compositional flow solver. Baseline update because of minor numerical diffs.
+
+PR #3149( 2024-09-30)
+=====================
+Added new field "writeCSV"
+
+PR #3163 (2024-09-20)
+=====================
+Added new fields (krylovStrongestTol, adaptiveGamma, adaptiveExponent) to the LinearSolverParameters for adaptive tolerances.
+
+PR #3338 (2024-09-19)
+======================
+Updated time-stepping logic. Rebaseline due to new input parameter and minor numerical diffs.
+
+PR #3217 (2024-09-16)
+======================
+ALM slip and open modes with relative tests.
+
+PR #3318 (2024-09-12)
+======================
+Modified SeismicityRate poroelastic case.
+
+PR #3322 (2024-09-06)
+======================
+Print out fracture state for contact model. Rebaseline the corresponding cases.
+
+PR #3302 (2024-09-05)
+======================
+Added restartcheks to hydrofrac cases and reduced time of cases that were too long.
+
+PR #3135 (2024-09-04)
+======================
+Temperature dependent single phase thermal conductivity. Rebaseline all thermal cases.
+
+PR #3294 (2024-09-01)
+======================
+Re-enable enforcement of wave propagation integrated test pass.
+
+PR #3300 (2024-08-28)
+======================
+Re-enable floating point exceptions. Rebaseline due to minor changing default value of maxRelativeCompDensChange from 1.7976931348623157e+308 to 1.7976931348623157e+208.
+
+PR #3283 (2024-08-22)
+======================
+Reuse computeSinglePhaseFlux. Rebaseline due to minor numerical diffs.
+
+PR #3249 (2024-08-14)
+======================
+Two initialization options for poromechanical models. Rebaseline the corresponding cases.
+
+PR #3278 (2024-08-12)
+======================
+Renamed GEOSX to GEOS in enternal mesh import, so rebaseline to change these names is the baselines.
-PR #3202 (2024-08-03)
+202 (2024-08-03)
======================
Acoustic VTI tests needed rebaselining after update in source and receiver location algorithm.
@@ -18,167 +78,134 @@ PR #3215 (2024-07-23)
======================
Changed the default value for massCreation and name of the wrapper.
-
PR #3194 (2024-07-22)
======================
Check pore volume for all element types, also check that default aperture > 0. Rebaseline for modified tests. No real results change.
-
PR #3213 (2024-07-12)
======================
Added baselines for new tests on Dirichlet boundary conditions for multiphase flow.
-
PR #3194 (2024-07-10)
======================
Use aperture table in poromechanics with conforming fractures. Rebaseline the corresponding cases.
-
PR #3006 (2024-07-01)
======================
Added baselines for new tests. Relaxing tolerances for singlePhasePoromechanics_FaultModel_smoke.
-
PR #3196 (2024-06-28)
======================
Added isLaggingFractureStencilWeightsUpdate to hydrofracture solve. Rebaseline because of the new input.
-
PR #3177 (2024-06-28)
======================
Added logLevel to TimeHistoryOutput. Rebaseline because of the new input flag.
-
PR #3181 (2024-06-25)
======================
Decouple debug matrix output from logLevel. Rebaseline because of the new input flag.
-
PR #3142 (2024-06-20)
======================
Adding output of total strain. Rebaseline because of new inclusion of strain in output.
-
PR #3170 (2024-06-19)
======================
Fix tutorial example for thermal debonding wellbore problem. Test case modified.
-
PR #3130 (2024-06-19)
======================
New solver for contact mechanics based on the Augmented Lagrangian Method (ALM). New test case added.
-
PR #3160 (2024-06-18)
======================
Two experimental options for compositional flow solver. Rebaseline because of the new input flags.
-
PR #3165 (2024-06-18)
======================
Small bug fix. Rebaseline required due to appearance of useTotalMassEquation in well solver params. No real results change.
-
PR #3088 (2024-06-17)
======================
Adding temperature-dependent Solid Volumetric Heat Capacity. Rebaseline because of the parameter change in SolidInternalEnergy.
-
PR #3100 (2024-06-14)
======================
Adding pressure stabilization for single phase poromechanics.
-
PR #3133 (2024-06-14)
======================
Fix node ordering for faceElements.
-
PR #3021 (2024-06-13)
======================
Preparatory work for fractures + wells. New test case added.
-
PR #3152 (2024-06-13)
======================
Some random things. Baseline update because of the new parameter (minScalingFactor).
-
PR #3138 (2024-06-11)
======================
Properly sync nonlinear solver params for coupled solver. Baseline update mostly due to number of iterations change in baseline files.
-
PR #3140 (2024-06-11)
======================
Fixed derivative in EzrokhiBrineDensity
-
PR #3080 (2024-06-07)
=====================
Rebaseline after adding viscoelastic wave propagator.
-
PR #3075 (2024-06-05)
=====================
Introduce configuration tolerance. Rebaseline because of the new parameter in NonlinearSolverParameters.
-
PR #3120 (2024-06-05)
=====================
Add missing compositionalMultiphaseFlow tests into ATS and adjust output naming. Rebaseline accordingly.
-
PR #3113 (2024-06-05)
=====================
Add general version updateConfiguration. Rebaseline of some edfm cases is needed.
-
PR #3050 (2024-05-20)
=====================
Spatially varying grain bulk modulus. Rebaseline of all poromechanics cases needed.
-
PR #3141 (2024-05-28)
=====================
Test cashing baselines locally.
-
PR #3125 (2024-05-16)
=====================
Remove field to store pressure gradient cell-wise for solvers that don't need it.
-
PR #2110 (2024-05-13)
=====================
new field to store pressure gradient cell-wise.
-
PR #3060 (2024-05-13)
======================
Rebaselined after addition of elastic VTI wave propagator.
-
PR #4950 (2024-05-10)
======================
Added smoke tests for SeismicityRate solver in inducedSeismicity.
-
PR #3086 (2024-05-09)
======================
Added a presure-dependent permeability model and the transmissibility calculation in the CellElementStencil
-
PR #3105 (2024-05-08)
======================
Added missing derivative for temperature, hence small numerical diffs in thermal tests results and numeracal behavior
-
PR #2917 (2024-05-07)
======================
New fields for wellsControls: wellControls1_ConstantMassRate_table, targetMassRate, massDensity, ...
-
PR #3044 (2024-05-02)
======================
Removed old integratedTests submodule
diff --git a/CITATION.cff b/CITATION.cff
index 2a02e009860..d3e83dcea10 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -1,12 +1,12 @@
cff-version: 1.2.0
-message: "Publications that present GEOSX simulations and/or results should cite as follows:"
+message: If you use this software, please cite this repository and our article in the
+ Journal of Open Source Software.
authors:
- family-names: "Settgast"
given-names: "Randolph Richard"
orcid: "https://orcid.org/0000-0002-2536-7867"
- family-names: "Corbett"
given-names: "Benjamin Curtice"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Klevtsov"
given-names: "Sergey"
orcid: "https://orcid.org/0000-0001-9044-1827"
@@ -24,7 +24,6 @@ authors:
orcid: "https://orcid.org/0000-0002-6103-4605"
- family-names: "Tobin"
given-names: "William"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "White"
given-names: "Joshua"
orcid: "https://orcid.org/0000-0003-3491-142X"
@@ -42,7 +41,6 @@ authors:
orcid: "https://orcid.org/0000-0002-5380-2563"
- family-names: "Han"
given-names: "Brian"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Gross"
given-names: "Herve"
orcid: "https://orcid.org/0000-0002-1747-2018"
@@ -51,45 +49,285 @@ authors:
orcid: "https://orcid.org/0000-0002-8833-9425"
- family-names: "Mazuyer"
given-names: "Antoine"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Besset"
given-names: "Julien"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Citrain"
given-names: "Aurelien"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Vargas"
given-names: "Arturo"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Cremon"
given-names: "Matthias"
orcid: "https://orcid.org/0000-0001-7458-6401"
- family-names: "Hao"
given-names: "Yue"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Khait"
given-names: "Mark"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Lacoste"
given-names: "Xavier"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Semnani"
given-names: "Shabnam"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Frambati"
given-names: "Stefano"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "N'diaye"
given-names: "Mamadou"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Nguyen"
given-names: "Sy-Tuan"
- orcid: "https://orcid.org/0000-0000-0000-0000"
- family-names: "Morgan"
given-names: "Hannah Mairs"
- orcid: "https://orcid.org/0000-0000-0000-0000"
+- family-names: "Crook"
+ given-names: "Cameron Mikel"
+- family-names: "Jin"
+ given-names: "Tao"
+- family-names: "Froehly"
+ given-names: "Algiane"
+- family-names: "Homel"
+ given-names: "Michael"
+- family-names: "Magri"
+ given-names: "Victor Paludetto"
+- family-names: "Ju"
+ given-names: "Isaac"
+- family-names: "Rey"
+ given-names: "Mel"
+- family-names: "Povolny"
+ given-names: "Stefan"
+- family-names: "Wu"
+ given-names: "Hui"
+- family-names: "Bui"
+ given-names: "Quan"
+- family-names: "Tang"
+ given-names: "Hewei"
+- family-names: "Camargo"
+ given-names: "Julia T."
+- family-names: "Chourdakis"
+ given-names: "Gerasimos"
+- family-names: "Hui"
+ given-names: "Wu"
+- family-names: "Ren"
+ given-names: "Guotong"
+- family-names: "Yang"
+ given-names: "Li"
+- family-names: "Taeho"
+ given-names: "Kim"
+- family-names: "Waziri"
+ given-names: "Sohail"
+- family-names: "White"
+ given-names: "Chris"
+- family-names: "Fu"
+ given-names: "Pengcheng"
+- family-names: "Lapene"
+ given-names: "Alexandre"
+- family-names: "Thierry"
+ given-names: "Bertrand"
+- family-names: "Fei"
+ given-names: "Fan"
+- family-names: "Meng"
+ given-names: "Jie"
+- family-names: "Untereiner"
+ given-names: "Lionel"
+- family-names: "Raji"
+ given-names: "Oluwatobi Quadri"
+- family-names: "Karimi-Fard"
+ given-names: "Mohammad"
+- family-names: "Fuss"
+ given-names: "Gaetan"
+- family-names: "Huang"
+ given-names: "Jixian"
+- family-names: "Frigo"
+ given-names: "Matteo"
+- family-names: "Martinez"
+ given-names: "Paloma"
+- family-names: "Kachuma"
+ given-names: "Dickson"
+- family-names: "Tomin"
+ given-names: "Pavel"
+- family-names: "Byer"
+ given-names: "Thomas James"
+- family-names: "Ligocki"
+ given-names: "Terry"
+- family-names: "Shovkun"
+ given-names: "Igor"
+- family-names: "Bader"
+ given-names: "Milad"
+- family-names: "Robinson"
+ given-names: "Peter B."
+- family-names: "Hasanzade"
+ given-names: "Rasim"
+- family-names: "Dudes"
+ given-names: "Arnaud"
+- family-names: "Costa"
+ given-names: "Andre Macieira Braga"
+- family-names: "Pellerin"
+ given-names: "Jeanne"
+- family-names: "Aronson"
+ given-names: "Ryan"
+- family-names: "Osei-Kuffuor"
+ given-names: "Daniel"
title: "GEOSX"
-version: 0.2.1
-doi: 10.5281/zenodo.7151032
-date-released: 2022-10-06
+version: 1.1.0
+doi: "10.5281/zenodo.7151031"
+date-released: 2024-09-14
url: "https://github.com/GEOS-DEV/GEOS"
+preferred-citation:
+ authors:
+ - family-names: Settgast
+ given-names: Randolph R.
+ orcid: "https://orcid.org/0000-0002-2536-7867"
+ - family-names: Aronson
+ given-names: Ryan M.
+ orcid: "https://orcid.org/0009-0004-0785-5084"
+ - family-names: Besset
+ given-names: Julien R.
+ - family-names: Borio
+ given-names: Andrea
+ orcid: "https://orcid.org/0000-0003-2016-5403"
+ - family-names: Bui
+ given-names: Quan M.
+ orcid: "https://orcid.org/0000-0003-2648-0586"
+ - family-names: Byer
+ given-names: Thomas J.
+ - family-names: Castelletto
+ given-names: Nicola
+ orcid: "https://orcid.org/0000-0001-6816-6769"
+ - family-names: Citrain
+ given-names: Aurélien
+ orcid: "https://orcid.org/0009-0006-3742-1425"
+ - family-names: Corbett
+ given-names: Benjamin C.
+ orcid: "https://orcid.org/0009-0008-7108-9651"
+ - family-names: Corbett
+ given-names: James
+ - family-names: Cordier
+ given-names: Philippe
+ orcid: "https://orcid.org/0000-0002-6439-9263"
+ - family-names: Cremon
+ given-names: Matthias A.
+ orcid: "https://orcid.org/0000-0001-7458-6401"
+ - family-names: Crook
+ given-names: Cameron M.
+ orcid: "https://orcid.org/0000-0002-5366-6418"
+ - family-names: Cusini
+ given-names: Matteo
+ orcid: "https://orcid.org/0000-0002-6024-861X"
+ - family-names: Fei
+ given-names: Fan
+ orcid: "https://orcid.org/0000-0001-7273-4458"
+ - family-names: Frambati
+ given-names: Stefano
+ orcid: "https://orcid.org/0000-0003-0683-1203"
+ - family-names: Franc
+ given-names: Jacques
+ orcid: "https://orcid.org/0000-0002-8833-9425"
+ - family-names: Franceschini
+ given-names: Andrea
+ orcid: "https://orcid.org/0000-0003-4395-5125"
+ - family-names: Frigo
+ given-names: Matteo
+ orcid: "https://orcid.org/0000-0001-8150-1090"
+ - family-names: Fu
+ given-names: Pengcheng
+ orcid: "https://orcid.org/0000-0002-7408-3350"
+ - family-names: Gazzola
+ given-names: Thomas
+ orcid: "https://orcid.org/0000-0002-6103-4605"
+ - family-names: Gross
+ given-names: Herve
+ orcid: "https://orcid.org/0000-0002-1747-2018"
+ - family-names: Hamon
+ given-names: Francois
+ orcid: "https://orcid.org/0000-0001-8229-963X"
+ - family-names: Han
+ given-names: Brian M.
+ orcid: "https://orcid.org/0009-0002-8549-7644"
+ - family-names: Hao
+ given-names: Yue
+ orcid: "https://orcid.org/0000-0002-4543-8618"
+ - family-names: Hasanzade
+ given-names: Rasim
+ - family-names: Homel
+ given-names: Michael
+ orcid: "https://orcid.org/0000-0002-0399-0092"
+ - family-names: Huang
+ given-names: Jian
+ orcid: "https://orcid.org/0000-0002-5380-2563"
+ - family-names: Jin
+ given-names: Tao
+ orcid: "https://orcid.org/0000-0001-6658-8941"
+ - family-names: Ju
+ given-names: Isaac
+ orcid: "https://orcid.org/0000-0003-4110-7472"
+ - family-names: Kachuma
+ given-names: Dickson
+ - family-names: Karimi-Fard
+ given-names: Mohammad
+ orcid: "https://orcid.org/0000-0001-5707-165X"
+ - family-names: Kim
+ given-names: Taeho
+ - family-names: Klevtsov
+ given-names: Sergey
+ orcid: "https://orcid.org/0000-0001-9044-1827"
+ - family-names: Lapene
+ given-names: Alexandre
+ - family-names: Magri
+ given-names: Victor A. P.
+ orcid: "https://orcid.org/0000-0002-3389-523X"
+ - family-names: Mazuyer
+ given-names: Antoine
+ orcid: "https://orcid.org/0000-0002-0329-3385"
+ - family-names: N'diaye
+ given-names: Mamadou
+ - family-names: Osei-Kuffuor
+ given-names: Daniel
+ orcid: "https://orcid.org/0000-0002-6111-6205"
+ - family-names: Povolny
+ given-names: Stefan
+ - family-names: Ren
+ given-names: Guotong
+ orcid: "https://orcid.org/0000-0002-5821-9158"
+ - family-names: Semnani
+ given-names: Shabnam J.
+ - family-names: Sherman
+ given-names: Chris S.
+ orcid: "https://orcid.org/0000-0003-3550-0657"
+ - family-names: Rey
+ given-names: Melvin
+ - family-names: Tchelepi
+ given-names: Hamdi A.
+ orcid: "https://orcid.org/0000-0002-3084-6635"
+ - family-names: Tobin
+ given-names: William R.
+ orcid: "https://orcid.org/0009-0001-3960-6064"
+ - family-names: Tomin
+ given-names: Pavel
+ orcid: "https://orcid.org/0000-0003-4862-4288"
+ - family-names: Untereiner
+ given-names: Lionel
+ orcid: "https://orcid.org/0000-0002-8025-2616"
+ - family-names: Vargas
+ given-names: Arturo
+ orcid: "https://orcid.org/0000-0001-8001-5517"
+ - family-names: Waziri
+ given-names: Sohail
+ - family-names: Wen
+ given-names: Xianhuan
+ orcid: "https://orcid.org/0000-0002-6055-4553"
+ - family-names: White
+ given-names: Joshua A.
+ orcid: "https://orcid.org/0000-0003-3491-142X"
+ - family-names: Wu
+ given-names: Hui
+ orcid: "https://orcid.org/0000-0002-9575-3886"
+ date-published: 2024-10-10
+ doi: 10.21105/joss.06973
+ issn: 2475-9066
+ issue: 102
+ journal: Journal of Open Source Software
+ publisher:
+ name: Open Journals
+ start: 6973
+ title: "GEOS: A performance portable multi-physics simulation
+ framework for subsurface applications"
+ type: article
+ url: "https://joss.theoj.org/papers/10.21105/joss.06973"
+ volume: 9
+title: "GEOS: A performance portable multi-physics simulation framework
+ for subsurface applications"
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..51b8667db23
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,133 @@
+
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, caste, color, religion, or sexual
+identity and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the overall
+ community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or advances of
+ any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email address,
+ without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official email address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+settgast1@llnl.gov.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series of
+actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or permanent
+ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within the
+community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.1, available at
+[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
+
+Community Impact Guidelines were inspired by
+[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
+
+For answers to common questions about this code of conduct, see the FAQ at
+[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
+[https://www.contributor-covenant.org/translations][translations].
+
+[homepage]: https://www.contributor-covenant.org
+[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
+[Mozilla CoC]: https://github.com/mozilla/diversity
+[FAQ]: https://www.contributor-covenant.org/faq
+[translations]: https://www.contributor-covenant.org/translations
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000000..5d9b612c2fd
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,3 @@
+To contribute to GEOS, please refer to the [Contributing](https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/developerGuide/Contributing/index_contributing.html) section in the [GEOS developer guide](https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/developerGuide/Index.html#).
+
+To report a bug please open an [issue](https://github.com/GEOS-DEV/GEOS/issues)
\ No newline at end of file
diff --git a/COPYRIGHT b/COPYRIGHT
index be5ead6e54e..75b72981c2d 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -10,7 +10,7 @@ distribution, unless otherwise stated in the file:
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
diff --git a/README.md b/README.md
index 000d3b45c7d..6d4cfee25ff 100644
--- a/README.md
+++ b/README.md
@@ -21,10 +21,13 @@ page for more details on the HPC, numerics,
and applied engineering components of this effort.
Documentation
----------------------
+-------------
-Our documentation is hosted [here](https://geosx-geosx.readthedocs-hosted.com/en/latest/?).
+Please visit the [Main documentation for GEOS](https://geosx-geosx.readthedocs-hosted.com/en/latest/?).
+If you would like to contribute to GEOS, please see the [developer guide](https://geosx-geosx.readthedocs-hosted.com/en/latest/docs/sphinx/developerGuide/Index.html)
+
+If you would like to report a bug, please submit an [issue](https://github.com/GEOS-DEV/GEOS/issues/new/choose).
Who develops GEOS?
-------------------
diff --git a/examples/GPU/beamBending.xml b/examples/GPU/beamBending.xml
index 85f7acfb6ae..755d34970e4 100644
--- a/examples/GPU/beamBending.xml
+++ b/examples/GPU/beamBending.xml
@@ -77,7 +77,7 @@
diff --git a/examples/ObjectCatalog/Base.hpp b/examples/ObjectCatalog/Base.hpp
index ef0af4ad3fe..19ba0cb73e8 100644
--- a/examples/ObjectCatalog/Base.hpp
+++ b/examples/ObjectCatalog/Base.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/examples/ObjectCatalog/Derived1.cpp b/examples/ObjectCatalog/Derived1.cpp
index 1fe1dcae7c7..8f688f3d486 100644
--- a/examples/ObjectCatalog/Derived1.cpp
+++ b/examples/ObjectCatalog/Derived1.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/examples/ObjectCatalog/Derived1.hpp b/examples/ObjectCatalog/Derived1.hpp
index b3d04dc2cb0..49ec9755ea2 100644
--- a/examples/ObjectCatalog/Derived1.hpp
+++ b/examples/ObjectCatalog/Derived1.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/examples/ObjectCatalog/Derived2.hpp b/examples/ObjectCatalog/Derived2.hpp
index 06894666c02..bb06254d07e 100644
--- a/examples/ObjectCatalog/Derived2.hpp
+++ b/examples/ObjectCatalog/Derived2.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/examples/ObjectCatalog/main.cpp b/examples/ObjectCatalog/main.cpp
index c2fd08113d5..11452b82e93 100644
--- a/examples/ObjectCatalog/main.cpp
+++ b/examples/ObjectCatalog/main.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/examples/advanced_xml_features/included/included_b.xml b/examples/advanced_xml_features/included/included_b.xml
index bc052d6a51e..ba2aa87baed 100644
--- a/examples/advanced_xml_features/included/included_b.xml
+++ b/examples/advanced_xml_features/included/included_b.xml
@@ -30,7 +30,7 @@
diff --git a/examples/advanced_xml_features/parameters_example.xml b/examples/advanced_xml_features/parameters_example.xml
index 7124be3aa8f..fa31e5d4bd3 100644
--- a/examples/advanced_xml_features/parameters_example.xml
+++ b/examples/advanced_xml_features/parameters_example.xml
@@ -96,7 +96,7 @@ XML Units:
diff --git a/examples/advanced_xml_features/symbolic_math_example.xml b/examples/advanced_xml_features/symbolic_math_example.xml
index a0a71b65547..e4d3f4942dd 100644
--- a/examples/advanced_xml_features/symbolic_math_example.xml
+++ b/examples/advanced_xml_features/symbolic_math_example.xml
@@ -106,7 +106,7 @@ XML Symbolic Math:
diff --git a/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml b/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
index 57f6d330ce2..94db4f07eb6 100644
--- a/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
+++ b/examples/pygeosxExamples/modifyBoundaryCondition/pkn_example.xml
@@ -70,7 +70,7 @@
diff --git a/examples/sedovKernelTest.xml b/examples/sedovKernelTest.xml
index 99b79f3d217..9d56d5b7bf7 100644
--- a/examples/sedovKernelTest.xml
+++ b/examples/sedovKernelTest.xml
@@ -68,7 +68,7 @@
diff --git a/host-configs/LBL/cori-gcc@8.1.0.cmake b/host-configs/LBL/cori-gcc@8.1.0.cmake
index 57c81ea666d..b0a50872aa3 100644
--- a/host-configs/LBL/cori-gcc@8.1.0.cmake
+++ b/host-configs/LBL/cori-gcc@8.1.0.cmake
@@ -26,10 +26,6 @@ set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "")
set(GEOS_TPL_DIR "/global/project/projectdirs/m1411/GEOSX/tpls/install-cori-gcc\@8.1.0-release-24-07-20" CACHE PATH "" )
-
-set(GEOS_LINK_PREPEND_FLAG "-Wl,--whole-archive" CACHE STRING "" FORCE)
-set(GEOS_LINK_POSTPEND_FLAG "-Wl,--no-whole-archive" CACHE STRING "" FORCE)
-
set(ENABLE_SPHINX_EXECUTABLE OFF CACHE BOOL "")
set(ENABLE_UNCRUSTIFY OFF CACHE BOOL "")
set(ENABLE_DOXYGEN OFF CACHE BOOL "")
diff --git a/host-configs/LBL/cori-intel.cmake b/host-configs/LBL/cori-intel.cmake
index 52387bd7ece..f9ff8ec447c 100644
--- a/host-configs/LBL/cori-intel.cmake
+++ b/host-configs/LBL/cori-intel.cmake
@@ -26,9 +26,6 @@ set(MPIEXEC_NUMPROC_FLAG "-n" CACHE STRING "")
set(GEOS_TPL_DIR "/global/project/projectdirs/m1411/GEOSX/tpls/install-cori-intel-release-22-07-20" CACHE PATH "" )
-set(GEOS_LINK_PREPEND_FLAG "-Wl,--whole-archive" CACHE STRING "" FORCE)
-set(GEOS_LINK_POSTPEND_FLAG "-Wl,--no-whole-archive" CACHE STRING "" FORCE)
-
set(ENABLE_SPHINX_EXECUTABLE OFF CACHE BOOL "")
set(ENABLE_UNCRUSTIFY OFF CACHE BOOL "")
set(ENABLE_DOXYGEN OFF CACHE BOOL "")
diff --git a/host-configs/LLNL/dane-gcc-12.cmake b/host-configs/LLNL/dane-gcc-12.cmake
index c7cd796b8ab..b45d2dba68a 100644
--- a/host-configs/LLNL/dane-gcc-12.cmake
+++ b/host-configs/LLNL/dane-gcc-12.cmake
@@ -6,4 +6,7 @@ set(MPI_HOME /usr/tce/packages/mvapich2/mvapich2-2.3.7-gcc-12.1.1-magic CACHE PA
# ATS
set(ATS_ARGUMENTS "--machine slurm112" CACHE STRING "")
+# This is here to note the required flags for using valgrind. These will have to be propagated to the TPL's
+#set( CMAKE_CXX_FLAGS "-march=x86-64-v2 -mno-avx512f" CACHE STRING "" FORCE)
+
include(${CMAKE_CURRENT_LIST_DIR}/llnl-cpu-base.cmake)
diff --git a/host-configs/LLNL/lassen-base.cmake b/host-configs/LLNL/lassen-base.cmake
index 283755be313..b8014d6410b 100644
--- a/host-configs/LLNL/lassen-base.cmake
+++ b/host-configs/LLNL/lassen-base.cmake
@@ -7,7 +7,6 @@
#
###############################################################################
-set( GEOS_BUILD_SHARED_LIBS ON CACHE BOOL "" )
set( GEOS_BUILD_OBJ_LIBS OFF CACHE BOOL "" )
# Fortran
set(ENABLE_FORTRAN OFF CACHE BOOL "")
diff --git a/host-configs/LLNL/ruby-clang-14.cmake b/host-configs/LLNL/ruby-clang-14.cmake
index 39b8409ba64..c9d928a1d37 100644
--- a/host-configs/LLNL/ruby-clang-14.cmake
+++ b/host-configs/LLNL/ruby-clang-14.cmake
@@ -2,5 +2,9 @@ include(${CMAKE_CURRENT_LIST_DIR}/../../src/coreComponents/LvArray/host-configs/
# MPI
set(MPI_HOME /usr/tce/packages/mvapich2/mvapich2-2.3.7-clang-14.0.6-magic CACHE PATH "")
+# This is here to note the required flags for using valgrind. These will have to be propagated to the TPL's
+#set( CMAKE_CXX_FLAGS "-march=x86-64-v2 -mno-avx512f" CACHE STRING "" FORCE)
+# This is what is required for using address sanitizer. This should be put into GeosxOptions.cmake when it is incorporated into the build options.
+#set( CMAKE_CXX_FLAGS "-g -O2 -fno-omit-frame-pointer -fsanitize=address" CACHE STRING "" FORCE)
include(${CMAKE_CURRENT_LIST_DIR}/llnl-cpu-base.cmake)
diff --git a/host-configs/ORNL/frontier-base.cmake b/host-configs/ORNL/frontier-base.cmake
index c33d1fc25ba..7337dbf387b 100644
--- a/host-configs/ORNL/frontier-base.cmake
+++ b/host-configs/ORNL/frontier-base.cmake
@@ -31,7 +31,6 @@ set( ENABLE_DOCS OFF CACHE BOOL "" FORCE )
set( ENABLE_SCOTCH OFF CACHE BOOL "" FORCE )
set( ENABLE_SUPERLU_DIST OFF CACHE BOOL "" FORCE )
-set( GEOS_BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE )
set( GEOS_BUILD_OBJ_LIBS OFF CACHE BOOL "" FORCE )
set( CMAKE_CXX_STANDARD 17 CACHE STRING "" )
diff --git a/host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake b/host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake
index 86013187457..d29b6180e11 100644
--- a/host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake
+++ b/host-configs/Stanford/sherlock-gcc10-ompi4.1.2-openblas0.3.10.cmake
@@ -40,5 +40,4 @@ set(LAPACK_LIBRARIES "${OPENBLAS_ROOT}/lib/libopenblas.so" CACHE STRING "")
set(ENABLE_VALGRIND OFF CACHE BOOL "")
set(ENABLE_CALIPER ON CACHE BOOL "")
-set(GEOS_TPL_DIR "$ENV{GEOSX_TPL_DIR}" CACHE PATH "" FORCE)
include(${CMAKE_CURRENT_LIST_DIR}/../tpls.cmake)
diff --git a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake b/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake
new file mode 100644
index 00000000000..46c8080ddb7
--- /dev/null
+++ b/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2-wave-solver.cmake
@@ -0,0 +1,13 @@
+# hostconfig to build only the wave solver on pangea3
+#
+#
+include( ${CMAKE_CURRENT_LIST_DIR}/pangea3-gcc8.4.1-openmpi-4.1.2.cmake )
+
+set ( GEOS_ENABLE_CONTACT OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_FLUIDFLOW OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_INDUCEDSEISMICITY OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_MULTIPHYSICS OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_SIMPLEPDE OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_SOLIDMECHANICS OFF CACHE BOOL "" FORCE )
+set ( GEOS_ENABLE_SURFACEGENERATION OFF CACHE BOOL "" FORCE )
+
diff --git a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake b/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake
index b62c1c45f74..320a7842279 100644
--- a/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake
+++ b/host-configs/TOTAL/pangea3-gcc8.4.1-openmpi-4.1.2.cmake
@@ -77,7 +77,6 @@ set(ENABLE_MATHPRESSO OFF CACHE BOOL "")
# Silo configure script doesn't recognize systype
set(SILO_BUILD_TYPE powerpc64-unknown-linux-gnu CACHE STRING "")
-set(GEOS_BUILD_SHARED_LIBS OFF CACHE BOOL "")
set(ENABLE_PVTPackage ON CACHE BOOL "")
set(ENABLE_CALIPER ON CACHE BOOL "")
diff --git a/host-configs/apple/macOS_base.cmake b/host-configs/apple/macOS_base.cmake
index e300aca41a7..836e2b15936 100644
--- a/host-configs/apple/macOS_base.cmake
+++ b/host-configs/apple/macOS_base.cmake
@@ -25,14 +25,16 @@ set(ENABLE_CALIPER "OFF" CACHE PATH "" FORCE )
set( BLAS_LIBRARIES ${HOMEBREW_DIR}/opt/lapack/lib/libblas.dylib CACHE PATH "" FORCE )
set( LAPACK_LIBRARIES ${HOMEBREW_DIR}/opt/lapack/lib/liblapack.dylib CACHE PATH "" FORCE )
-set(ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
-set(ENABLE_MATHPRESSO OFF CACHE BOOL "" FORCE )
-#set(GEOS_BUILD_OBJ_LIBS ON CACHE BOOL "" FORCE)
+set(ENABLE_DOXYGEN ON CACHE BOOL "" FORCE)
+set(ENABLE_SPHINX ON CACHE BOOL "" FORCE)
+set(ENABLE_MATHPRESSO ON CACHE BOOL "" FORCE )
+set(GEOS_BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
-#set( DOXYGEN_EXECUTABLE /usr/local/bin/doxygen CACHE PATH "" FORCE )
-#set( SPHINX_EXECUTABLE /usr/local/bin/sphinx-build CACHE PATH "" FORCE )
+
+set( DOXYGEN_EXECUTABLE ${HOMEBREW_DIR}/bin/doxygen CACHE PATH "" FORCE )
+set( SPHINX_EXECUTABLE ${HOMEBREW_DIR}/opt/sphinx-doc/bin/sphinx-build CACHE PATH "" FORCE )
if(NOT ( EXISTS "${GEOS_TPL_DIR}" AND IS_DIRECTORY "${GEOS_TPL_DIR}" ) )
set(GEOS_TPL_DIR "${CMAKE_SOURCE_DIR}/../../thirdPartyLibs/install-${CONFIG_NAME}-release" CACHE PATH "" FORCE )
diff --git a/host-configs/environment.cmake b/host-configs/environment.cmake
index b843c4ce9b7..001d28cb425 100644
--- a/host-configs/environment.cmake
+++ b/host-configs/environment.cmake
@@ -78,5 +78,9 @@ if(DEFINED ENV{LAPACK_LIBRARIES})
set(LAPACK_LIBRARIES "$ENV{LAPACK_LIBRARIES}" CACHE PATH "" FORCE)
endif()
+if(DEFINED ENV{GEOS_BUILD_SHARED_LIBS})
+ set(GEOS_BUILD_SHARED_LIBS "$ENV{GEOS_BUILD_SHARED_LIBS}" CACHE BOOL "" FORCE)
+endif()
+
set(GEOS_TPL_DIR "$ENV{GEOSX_TPL_DIR}" CACHE PATH "" FORCE)
include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake)
diff --git a/host-configs/quick-start-template.cmake b/host-configs/quick-start-template.cmake
new file mode 100644
index 00000000000..239f52e202f
--- /dev/null
+++ b/host-configs/quick-start-template.cmake
@@ -0,0 +1,32 @@
+set( CONFIG_NAME "quick-start" )
+
+# Set compilers path
+set(CMAKE_C_COMPILER "path-to-gcc/bin/gcc" CACHE PATH "") # This is typically something like /usr/bin/gcc ... or clang
+set(CMAKE_CXX_COMPILER "path-to-gcc/bin/g++" CACHE PATH "") # This is typically something like /usr/bin/g++ ... or clang++
+set(ENABLE_FORTRAN OFF CACHE BOOL "" FORCE)
+
+# Set paths to mpi
+set(ENABLE_MPI ON CACHE PATH "")
+set(MPI_C_COMPILER "path-to-mpi/bin/mpicc" CACHE PATH "") # This is typically something like /usr/bin/mpicc
+set(MPI_CXX_COMPILER "path-to-mpi/bin/mpicxx" CACHE PATH "") # This is typically something like /usr/bin/mpicxx
+set(MPIEXEC "path-to-mpi/bin/mpirun" CACHE PATH "") # This is typically something like /usr/bin/mpirun
+
+# Set paths to blas and lapack
+set( BLAS_LIBRARIES "path-to-blas" CACHE PATH "" FORCE ) # This is typically something like /usr/lib64/libblas.so
+set( LAPACK_LIBRARIES "path-to-lapack" CACHE PATH "" FORCE ) # This is typically something like /usr/lib64/liblapack.so
+
+# Cuda and openMP
+set( ENABLE_CUDA OFF CACHE PATH "" FORCE )
+set( ENABLE_OPENMP OFF CACHE PATH "" FORCE )
+
+# TPLs
+set( ENABLE_TRILINOS OFF CACHE PATH "" FORCE )
+set( ENABLE_CALIPER OFF CACHE PATH "" FORCE )
+set( ENABLE_DOXYGEN OFF CACHE BOOL "" FORCE)
+set( ENABLE_MATHPRESSO OFF CACHE BOOL "" FORCE )
+
+if(NOT ( EXISTS "${GEOS_TPL_DIR}" AND IS_DIRECTORY "${GEOS_TPL_DIR}" ) )
+ set(GEOS_TPL_DIR "${CMAKE_SOURCE_DIR}/../../thirdPartyLibs/install-${CONFIG_NAME}-release" CACHE PATH "" FORCE )
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/tpls.cmake)
diff --git a/inputFiles/almContactMechanics/ALM_stickFault_base.xml b/inputFiles/almContactMechanics/ALM_stickFault_base.xml
deleted file mode 100644
index 7a8c79aa7d8..00000000000
--- a/inputFiles/almContactMechanics/ALM_stickFault_base.xml
+++ /dev/null
@@ -1,115 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/inputFiles/almContactMechanics/alm.ats b/inputFiles/almContactMechanics/alm.ats
deleted file mode 100644
index dc6417df533..00000000000
--- a/inputFiles/almContactMechanics/alm.ats
+++ /dev/null
@@ -1,19 +0,0 @@
-import os
-from geos.ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests
-
-restartcheck_params = {}
-restartcheck_params["atol"] = 2.0E-4
-restartcheck_params["rtol"] = 1.0E-7
-
-decks = [
- TestDeck(
- name="ALM_stickFault_vertical_smoke",
- description=
- "Cube with a vertical fracture (structured grid)",
- partitions=((1, 1, 1), (2, 2, 2)),
- restart_step=1,
- check_step=2,
- restartcheck_params=RestartcheckParameters(**restartcheck_params)),
-]
-
-generate_geos_tests(decks)
diff --git a/inputFiles/compositionalMultiphaseFlow/2ph_cap_1d_ihu.xml b/inputFiles/compositionalMultiphaseFlow/2ph_cap_1d_ihu.xml
index 8ca061df0c1..07a0f5d4731 100644
--- a/inputFiles/compositionalMultiphaseFlow/2ph_cap_1d_ihu.xml
+++ b/inputFiles/compositionalMultiphaseFlow/2ph_cap_1d_ihu.xml
@@ -69,7 +69,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/4comp_2ph_1d.xml b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_1d.xml
index 389f0e2a0af..bfe1ffb2914 100644
--- a/inputFiles/compositionalMultiphaseFlow/4comp_2ph_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_1d.xml
@@ -72,7 +72,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d.xml b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d.xml
index 9072e840981..82da5163ad0 100644
--- a/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/4comp_2ph_cap_1d.xml
@@ -85,7 +85,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_direct.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_direct.xml
index 796794b741d..b5f3dc74977 100644
--- a/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_direct.xml
+++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_direct.xml
@@ -67,7 +67,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_iterative.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_iterative.xml
index 68a933abd5a..5ca7d741433 100644
--- a/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_iterative.xml
+++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/SPE10/deadOilSpe10Layers84_85_base_iterative.xml
@@ -66,7 +66,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/benchmarks/buckleyLeverettProblem/buckleyLeverett_base.xml b/inputFiles/compositionalMultiphaseFlow/benchmarks/buckleyLeverettProblem/buckleyLeverett_base.xml
index ae3ddb8c7b1..a715c16b3a2 100644
--- a/inputFiles/compositionalMultiphaseFlow/benchmarks/buckleyLeverettProblem/buckleyLeverett_base.xml
+++ b/inputFiles/compositionalMultiphaseFlow/benchmarks/buckleyLeverettProblem/buckleyLeverett_base.xml
@@ -37,7 +37,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/c1-ppu/c1_ppu.ats b/inputFiles/compositionalMultiphaseFlow/c1-ppu/c1_ppu.ats
index 1f524c1ee75..5b68a2cb9f4 100644
--- a/inputFiles/compositionalMultiphaseFlow/c1-ppu/c1_ppu.ats
+++ b/inputFiles/compositionalMultiphaseFlow/c1-ppu/c1_ppu.ats
@@ -8,8 +8,8 @@ decks = [
TestDeck(name="grav_seg_c1ppu_hyst",
description="Smoke test for C1-PPU (1D displacement, C1-PPU)",
partitions=((1, 1, 1), (1, 1, 2)),
- restart_step=87,
- check_step=109,
+ restart_step=50,
+ check_step=88,
restartcheck_params=RestartcheckParameters(atol=1e-4, rtol=1e-3)),
]
diff --git a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
index 89e2c9149b6..0ddb4a08cb2 100644
--- a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
+++ b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_base.xml
@@ -44,7 +44,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_hyst.xml b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_hyst.xml
index a82c573ad0f..d47f6ff14ea 100644
--- a/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_hyst.xml
+++ b/inputFiles/compositionalMultiphaseFlow/c1-ppu/grav_seg_c1ppu_hyst.xml
@@ -50,7 +50,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/co2_flux_3d.xml b/inputFiles/compositionalMultiphaseFlow/co2_flux_3d.xml
index d693f1542e3..8e18675a646 100644
--- a/inputFiles/compositionalMultiphaseFlow/co2_flux_3d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/co2_flux_3d.xml
@@ -112,7 +112,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/co2_hybrid_1d.xml b/inputFiles/compositionalMultiphaseFlow/co2_hybrid_1d.xml
index b5ea99f5ff5..99e5d1ad3b0 100644
--- a/inputFiles/compositionalMultiphaseFlow/co2_hybrid_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/co2_hybrid_1d.xml
@@ -75,7 +75,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/dbc/bottom_layer_SPE10/bottom_layer_SPE10_base.xml b/inputFiles/compositionalMultiphaseFlow/dbc/bottom_layer_SPE10/bottom_layer_SPE10_base.xml
index 9a7515aa2e8..a1d89df6bd9 100755
--- a/inputFiles/compositionalMultiphaseFlow/dbc/bottom_layer_SPE10/bottom_layer_SPE10_base.xml
+++ b/inputFiles/compositionalMultiphaseFlow/dbc/bottom_layer_SPE10/bottom_layer_SPE10_base.xml
@@ -11,7 +11,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d.xml b/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d.xml
index b7978a7ba52..c2cb4574d62 100755
--- a/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d.xml
@@ -41,7 +41,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d_DBC.xml b/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d_DBC.xml
index 980fd46f7b9..38eef01c374 100755
--- a/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d_DBC.xml
+++ b/inputFiles/compositionalMultiphaseFlow/dbc/buckleyLeverett_1d/buckleyLeverett_1d_DBC.xml
@@ -47,7 +47,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d.xml b/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d.xml
index 8da5b23a782..2fd8219bf3c 100755
--- a/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d.xml
@@ -44,7 +44,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d_DBC.xml b/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d_DBC.xml
index 283c3f5623c..ad39d37d01f 100755
--- a/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d_DBC.xml
+++ b/inputFiles/compositionalMultiphaseFlow/dbc/grav_seg_1d/grav_seg_1d_DBC.xml
@@ -50,7 +50,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_baker_1d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_baker_1d.xml
index 30eb6334ce6..5c4ec705a2f 100644
--- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_baker_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_baker_1d.xml
@@ -83,7 +83,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d.xml
index 6699f0dc120..660102cec84 100644
--- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d.xml
+++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d.xml
@@ -78,7 +78,7 @@
diff --git a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d_fractured.xml b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d_fractured.xml
index 2d0b2693a80..d8ec1d272af 100644
--- a/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d_fractured.xml
+++ b/inputFiles/compositionalMultiphaseFlow/deadoil_3ph_corey_1d_fractured.xml
@@ -110,7 +110,7 @@
diff --git a/inputFiles/compositionalMultiphaseWell/benchmarks/Class09Pb3/class09_pb3_benchmark.xml b/inputFiles/compositionalMultiphaseWell/benchmarks/Class09Pb3/class09_pb3_benchmark.xml
index d0c07591e87..dbc28b749b6 100644
--- a/inputFiles/compositionalMultiphaseWell/benchmarks/Class09Pb3/class09_pb3_benchmark.xml
+++ b/inputFiles/compositionalMultiphaseWell/benchmarks/Class09Pb3/class09_pb3_benchmark.xml
@@ -16,7 +16,7 @@
logLevel="5"
file="../../../../../GEOSDATA/DataSets/Class09_p3/Johansen_faces.vtu"
fieldsToImport="{ perm, poro }"
- fieldNamesInGEOSX="{ rockPerm_permeability, rockPorosity_referencePorosity }" >
+ fieldNamesInGEOS="{ rockPerm_permeability, rockPorosity_referencePorosity }" >
+ fieldNamesInGEOS="{ rockPerm_permeability, rockPorosity_referencePorosity }" >
+ fieldNamesInGEOS="{ rockPerm_permeability, rockPorosity_referencePorosity }" >
+ fieldNamesInGEOS="{ rockPerm_permeability }">
+ krylovWeakestTol="1e-2"
+ logLevel="1"/>
+ fieldNamesInGEOS="{ rockPerm_permeability }">
-
diff --git a/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_hybrid_3d.xml b/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_hybrid_3d.xml
index 8e51c899b98..16d7a6fc1c7 100644
--- a/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_hybrid_3d.xml
+++ b/inputFiles/compositionalMultiphaseWell/staircase_co2_wells_hybrid_3d.xml
@@ -61,7 +61,7 @@
name="mesh1"
file="staircase3d_tet_with_properties.vtu"
fieldsToImport="{ FluidComposition, PERM, PORO }"
- fieldNamesInGEOSX="{ globalCompFraction, rockPerm_permeability, rockPorosity_referencePorosity }"
+ fieldNamesInGEOS="{ globalCompFraction, rockPerm_permeability, rockPorosity_referencePorosity }"
partitionRefinement="1"
logLevel="2">
@@ -117,7 +117,7 @@
+ maxTime="10.0">
@@ -64,7 +64,7 @@
@@ -75,8 +75,7 @@
diff --git a/inputFiles/hydraulicFracturing/kgdValidation_base.xml b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
index 1cb74613cac..e2d16b6d247 100644
--- a/inputFiles/hydraulicFracturing/kgdValidation_base.xml
+++ b/inputFiles/hydraulicFracturing/kgdValidation_base.xml
@@ -69,7 +69,7 @@
+ maxTime="2.0">
@@ -52,21 +52,21 @@
diff --git a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
index 726c70762b7..3254023c350 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedToughnessDominated_base.xml
@@ -5,7 +5,7 @@
+ maxTime="1.0"
+ maxCycle="10">
@@ -93,17 +94,20 @@
@@ -113,7 +117,7 @@
diff --git a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
index 67f9e295e70..4e035594dd6 100644
--- a/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pennyShapedViscosityDominated_base.xml
@@ -5,7 +5,7 @@
+ maxTime="1.0"
+ maxCycle="10">
@@ -93,17 +94,21 @@
@@ -113,7 +118,7 @@
diff --git a/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml b/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
index 5b8685a5e55..366c146ea90 100644
--- a/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
+++ b/inputFiles/hydraulicFracturing/pknViscosityDominated_base.xml
@@ -5,7 +5,7 @@
+ maxTime="4"
+ maxCycle="10">
@@ -107,13 +108,13 @@
targetExactTimestep="0"
target="/Outputs/curveOutput"/>
-
+ target="/Outputs/vtkOutput"/> -->
diff --git a/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py b/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
index 739777bb336..c8cb897201d 100644
--- a/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
+++ b/inputFiles/hydraulicFracturing/scripts/hydrofractureFigure.py
@@ -5,10 +5,10 @@
import sys
-def getParametersFromXML(xmlFilePath):
- prefix = "../../../../../../../inputFiles/hydraulicFracturing/"
+def getParametersFromXML( geosDir, xmlFilePrefix):
+ prefix = geosDir + "/inputFiles/hydraulicFracturing/"
- tree = ElementTree.parse(prefix + xmlFilePath + "_benchmark.xml")
+ tree = ElementTree.parse(prefix + xmlFilePrefix + "_benchmark.xml")
maxTime = float(tree.find('Events').get('maxTime'))
@@ -22,7 +22,7 @@ def getParametersFromXML(xmlFilePath):
found_source = True
if found_source: break
- tree = ElementTree.parse(prefix + xmlFilePath + "_base.xml")
+ tree = ElementTree.parse(prefix + xmlFilePrefix + "_base.xml")
elasticParam = tree.find('Constitutive/ElasticIsotropic')
@@ -30,30 +30,30 @@ def getParametersFromXML(xmlFilePath):
fluidDensity = float(tree.find('Constitutive/CompressibleSinglePhaseFluid').get('defaultDensity'))
- if xmlFilePath == 'kgdToughnessDominated' or xmlFilePath == 'kgdViscosityDominated':
+ if xmlFilePrefix == 'kgdToughnessDominated' or xmlFilePrefix == 'kgdViscosityDominated':
youngModulus = float(elasticParam.get('defaultYoungModulus'))
poissonRatio = float(elasticParam.get('defaultPoissonRatio'))
injectionRate = -2.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
- tree = ElementTree.parse(prefix + xmlFilePath + "_base.xml")
+ tree = ElementTree.parse(prefix + xmlFilePrefix + "_base.xml")
toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
- elif xmlFilePath == 'pennyShapedToughnessDominated' or xmlFilePath == 'pennyShapedViscosityDominated':
+ elif xmlFilePrefix == 'pennyShapedToughnessDominated' or xmlFilePrefix == 'pennyShapedViscosityDominated':
K = float(elasticParam.get('defaultBulkModulus'))
G = float(elasticParam.get('defaultShearModulus'))
youngModulus = (9.0 * K * G) / (3.0 * K + G)
poissonRatio = youngModulus / (2.0 * G) - 1.0
injectionRate = -4.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
- tree = ElementTree.parse(prefix + xmlFilePath + "_benchmark.xml")
+ tree = ElementTree.parse(prefix + xmlFilePrefix + "_benchmark.xml")
toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
- elif xmlFilePath == 'pknViscosityDominated':
+ elif xmlFilePrefix == 'pknViscosityDominated':
K = float(elasticParam.get('defaultBulkModulus'))
G = float(elasticParam.get('defaultShearModulus'))
youngModulus = (9.0 * K * G) / (3.0 * K + G)
poissonRatio = youngModulus / (2.0 * G) - 1.0
injectionRate = -4.0 * float(tree.find('FieldSpecifications/SourceFlux').get('scale')) / fluidDensity
- tree = ElementTree.parse(prefix + xmlFilePath + "_benchmark.xml")
+ tree = ElementTree.parse(prefix + xmlFilePrefix + "_benchmark.xml")
toughness = float(tree.find('Solvers/SurfaceGenerator').get('rockToughness'))
found_core = False
for elem in param:
@@ -68,17 +68,17 @@ def getParametersFromXML(xmlFilePath):
-def main(xmlFilePathPrefix=''):
- if not xmlFilePathPrefix:
- xmlFilePathPrefix = sys.argv[1]
+def main( geosDir, xmlFilePrefix=''):
+ if not xmlFilePrefix:
+ xmlFilePrefix = sys.argv[1]
- tMax, E, nu, KIC, mu, Q0, xSource = getParametersFromXML(xmlFilePathPrefix)
+ tMax, E, nu, KIC, mu, Q0, xSource = getParametersFromXML( geosDir, xmlFilePrefix)
Ep = E / (1.0 - nu**2.0)
t = np.arange(0.01 * tMax, tMax, 0.01 * tMax)
radTimes = np.array([tMax])
- if xmlFilePathPrefix == 'kgdToughnessDominated':
+ if xmlFilePrefix == 'kgdToughnessDominated':
hfsolns = HydrofractureSolutions.KGDSolutions()
kgdFrac = hfsolns.Solutions(mu, Ep, Q0, KIC, t, radTimes, xSource)
inletPressure = kgdFrac[5]
@@ -86,7 +86,7 @@ def main(xmlFilePathPrefix=''):
inletAperture = kgdFrac[7]
lablelist = ['Asymptotic ( $\mu$ => 0, $C_{L}$ => 0 )', 'GEOSX ( $\mu$ => 0, $C_{L}$ => 0 )']
- elif xmlFilePathPrefix == 'kgdViscosityDominated':
+ elif xmlFilePrefix == 'kgdViscosityDominated':
hfsolns = HydrofractureSolutions.KGDSolutions()
kgdFrac = hfsolns.Solutions(mu, Ep, Q0, KIC, t, radTimes, xSource)
inletPressure = kgdFrac[8]
@@ -94,7 +94,7 @@ def main(xmlFilePathPrefix=''):
inletAperture = kgdFrac[10]
lablelist = ['Asymptotic ( $K_{IC}$ => 0, $C_{L}$ => 0 )', 'GEOSX ( $K_{IC}$ => 0, $C_{L}$ => 0 )']
- elif xmlFilePathPrefix == 'pennyShapedToughnessDominated':
+ elif xmlFilePrefix == 'pennyShapedToughnessDominated':
hfsolns = HydrofractureSolutions.PennySolutions()
pennyFrac = hfsolns.Solutions(mu, Ep, Q0, KIC, t, radTimes, xSource)
inletPressure = pennyFrac[5]
@@ -102,7 +102,7 @@ def main(xmlFilePathPrefix=''):
inletAperture = pennyFrac[7]
lablelist = ['Asymptotic ( $\mu$ => 0, $C_{L}$ => 0 )', 'GEOSX ( $\mu$ => 0, $C_{L}$ => 0 )']
- elif xmlFilePathPrefix == 'pennyShapedViscosityDominated':
+ elif xmlFilePrefix == 'pennyShapedViscosityDominated':
hfsolns = HydrofractureSolutions.PennySolutions()
pennyFrac = hfsolns.Solutions(mu, Ep, Q0, KIC, t, radTimes, xSource)
inletPressure = pennyFrac[8]
@@ -110,7 +110,7 @@ def main(xmlFilePathPrefix=''):
inletAperture = pennyFrac[10]
lablelist = ['Asymptotic ( $K_{IC}$ => 0, $C_{L}$ => 0 )', 'GEOSX ( $K_{IC}$ => 0, $C_{L}$ => 0 )']
- elif xmlFilePathPrefix == 'pknViscosityDominated':
+ elif xmlFilePrefix == 'pknViscosityDominated':
pknFrac = HydrofractureSolutions.PKN_viscosityStorageDominated(E, nu, KIC, mu, Q0, t, xSource)
halfLength, inletAperture, inletPressure = pknFrac.analyticalSolution()
lablelist = ['Asymptotic ( $K_{IC}$ => 0, $C_{L}$ => 0 )', 'GEOSX ( $K_{IC}$ => 0, $C_{L}$ => 0 )']
diff --git a/inputFiles/hydraulicFracturing/scripts/hydrofractureQueries.py b/inputFiles/hydraulicFracturing/scripts/hydrofractureQueries.py
index 4bc35027610..24a466ebcbf 100644
--- a/inputFiles/hydraulicFracturing/scripts/hydrofractureQueries.py
+++ b/inputFiles/hydraulicFracturing/scripts/hydrofractureQueries.py
@@ -8,8 +8,8 @@
import xml.etree.ElementTree as ElementTree
-def getFracHeightFromXML(fracType):
- prefix = "../../../../../../../inputFiles/hydraulicFracturing/"
+def getFracHeightFromXML(fracType, geosDir):
+ prefix = geosDir + "/inputFiles/hydraulicFracturing/"
tree = ElementTree.parse(prefix + fracType + "_benchmark.xml")
@@ -36,35 +36,47 @@ def getFracHeightFromXML(fracType):
def main():
+
+ # Initialize the argument parser
+ parser = argparse.ArgumentParser(description="Script to generate figure from tutorial.")
+
+ # Add arguments to accept individual file paths
+ parser.add_argument('--geosDir', help='Path to the GEOS repository ', default='../../../../../../..')
+
+ # Parse the command-line arguments
+ args = parser.parse_args()
+
# Load and process GEOSX results
# File path
+ geosDir = args.geosDir
+
fracType = sys.argv[1]
- prefix = "../../../../../../../inputFiles/hydraulicFracturing/"
+ prefix = geosDir + "/inputFiles/hydraulicFracturing/"
hdf5File = prefix + fracType + '_output.hdf5'
# Get frac height from XML file
if fracType == 'kgdToughnessDominated' or fracType == 'kgdViscosityDominated' or fracType == 'pknViscosityDominated':
- fracHeight = getFracHeightFromXML(fracType)
+ fracHeight = getFracHeightFromXML(fracType, geosDir)
# Read simulation output from HDF5 file
# Global Coordinate of Element Center
hf = hdf5_wrapper.hdf5_wrapper(hdf5File)
xl = hf['pressure elementCenter']
- xl = np.array(xl)
+ xl = np.asarray(xl)
xcord = xl[-1, :, 0]
ycord = xl[-1, :, 1]
zcord = xl[-1, :, 2]
tl = hf['pressure Time']
- tl = np.array(tl)
+ tl = np.asarray(tl)
# Load pressure
fpre = hf['pressure']
- fpre = np.array(fpre)
+ fpre = np.asarray(fpre)
# Load elementAperture
aper = hf['elementAperture']
- aper = np.array(aper)
+ aper = np.asarray(aper)
# Load elementArea
area = hf['elementArea']
- area = np.array(area)
+ area = np.asarray(area)
# Find injection location
ind = np.argmin(ycord)
diff --git a/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_1d_smoke.xml b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_1d_smoke.xml
deleted file mode 100644
index dc6696b11b7..00000000000
--- a/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_1d_smoke.xml
+++ /dev/null
@@ -1,267 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_base.xml b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_base.xml
new file mode 100644
index 00000000000..7c353e1c4b5
--- /dev/null
+++ b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_base.xml
@@ -0,0 +1,169 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_benchmark.xml b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_benchmark.xml
new file mode 100644
index 00000000000..81c26f17495
--- /dev/null
+++ b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_benchmark.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_smoke.xml b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_smoke.xml
new file mode 100644
index 00000000000..21e07439132
--- /dev/null
+++ b/inputFiles/inducedSeismicity/SeismicityRate_poromechanics_smoke.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/inducedSeismicity/inducedSeismicity.ats b/inputFiles/inducedSeismicity/inducedSeismicity.ats
index ca310081883..58a28bf9c40 100644
--- a/inputFiles/inducedSeismicity/inducedSeismicity.ats
+++ b/inputFiles/inducedSeismicity/inducedSeismicity.ats
@@ -9,11 +9,11 @@ curvecheck_params["curves"] = "seismicityRate"
decks = [
TestDeck(
- name="SeismicityRate_poromechanics_1d_smoke",
+ name="SeismicityRate_poromechanics_smoke",
description="",
- partitions=((1, 1, 1), (2, 1, 1)),
- restart_step=40,
- check_step=90,
+ partitions=((1, 1, 1), (2, 2, 2)),
+ restart_step=20,
+ check_step=30,
restartcheck_params=RestartcheckParameters(atol=1e-4, rtol=1e-3)),
TestDeck(
name="SeismicityRate_analytical_verification_smoke",
diff --git a/inputFiles/initialization/gravityInducedStress_initialization_base.xml b/inputFiles/initialization/gravityInducedStress_initialization_base.xml
new file mode 100644
index 00000000000..7a9ce532b27
--- /dev/null
+++ b/inputFiles/initialization/gravityInducedStress_initialization_base.xml
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/initialization/gravityInducedStress_initialization_benchmark.xml b/inputFiles/initialization/gravityInducedStress_initialization_benchmark.xml
new file mode 100644
index 00000000000..921334e6944
--- /dev/null
+++ b/inputFiles/initialization/gravityInducedStress_initialization_benchmark.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/initialization/gravityInducedStress_initialization_smoke.xml b/inputFiles/initialization/gravityInducedStress_initialization_smoke.xml
new file mode 100644
index 00000000000..53dfbba70e7
--- /dev/null
+++ b/inputFiles/initialization/gravityInducedStress_initialization_smoke.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/initialization/initialization.ats b/inputFiles/initialization/initialization.ats
new file mode 100644
index 00000000000..3bb7cf04cab
--- /dev/null
+++ b/inputFiles/initialization/initialization.ats
@@ -0,0 +1,27 @@
+import os
+from geos.ats.test_builder import TestDeck, RestartcheckParameters, generate_geos_tests
+
+restartcheck_params = {}
+restartcheck_params["atol"] = 2.0E-4
+restartcheck_params["rtol"] = 1.0E-7
+
+decks = [
+ TestDeck(
+ name="gravityInducedStress_initialization_smoke",
+ description=
+ "model intialization with gravity induced stress",
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="userdefinedStress_initialization_smoke",
+ description=
+ "model intialization with user defined tables",
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params))
+]
+
+generate_geos_tests(decks)
diff --git a/inputFiles/initialization/userTables/effectiveSigma_xx.csv b/inputFiles/initialization/userTables/effectiveSigma_xx.csv
new file mode 100644
index 00000000000..a1dca328d57
--- /dev/null
+++ b/inputFiles/initialization/userTables/effectiveSigma_xx.csv
@@ -0,0 +1,2 @@
+-7000000.00
+0.00
diff --git a/inputFiles/initialization/userTables/effectiveSigma_yy.csv b/inputFiles/initialization/userTables/effectiveSigma_yy.csv
new file mode 100644
index 00000000000..d1f4f182344
--- /dev/null
+++ b/inputFiles/initialization/userTables/effectiveSigma_yy.csv
@@ -0,0 +1,2 @@
+-17000000.00
+0.00
diff --git a/inputFiles/initialization/userTables/effectiveSigma_zz.csv b/inputFiles/initialization/userTables/effectiveSigma_zz.csv
new file mode 100644
index 00000000000..53910c07f32
--- /dev/null
+++ b/inputFiles/initialization/userTables/effectiveSigma_zz.csv
@@ -0,0 +1,2 @@
+-14000000.00
+0.00
diff --git a/inputFiles/initialization/userTables/porePressure.csv b/inputFiles/initialization/userTables/porePressure.csv
new file mode 100644
index 00000000000..5e92619dc6a
--- /dev/null
+++ b/inputFiles/initialization/userTables/porePressure.csv
@@ -0,0 +1,2 @@
+10000000.00
+0.00
diff --git a/inputFiles/initialization/userTables/x.csv b/inputFiles/initialization/userTables/x.csv
new file mode 100644
index 00000000000..fb1088c65aa
--- /dev/null
+++ b/inputFiles/initialization/userTables/x.csv
@@ -0,0 +1 @@
+0.00
diff --git a/inputFiles/initialization/userTables/y.csv b/inputFiles/initialization/userTables/y.csv
new file mode 100644
index 00000000000..fb1088c65aa
--- /dev/null
+++ b/inputFiles/initialization/userTables/y.csv
@@ -0,0 +1 @@
+0.00
diff --git a/inputFiles/initialization/userTables/z.csv b/inputFiles/initialization/userTables/z.csv
new file mode 100644
index 00000000000..eb40c4056f7
--- /dev/null
+++ b/inputFiles/initialization/userTables/z.csv
@@ -0,0 +1,2 @@
+-1000.00
+0.00
diff --git a/inputFiles/initialization/userdefinedStress_initialization_base.xml b/inputFiles/initialization/userdefinedStress_initialization_base.xml
new file mode 100644
index 00000000000..7d216b2786a
--- /dev/null
+++ b/inputFiles/initialization/userdefinedStress_initialization_base.xml
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/initialization/userdefinedStress_initialization_benchmark.xml b/inputFiles/initialization/userdefinedStress_initialization_benchmark.xml
new file mode 100644
index 00000000000..518b4a925a5
--- /dev/null
+++ b/inputFiles/initialization/userdefinedStress_initialization_benchmark.xml
@@ -0,0 +1,47 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/initialization/userdefinedStress_initialization_smoke.xml b/inputFiles/initialization/userdefinedStress_initialization_smoke.xml
new file mode 100644
index 00000000000..7dd0a6a9f76
--- /dev/null
+++ b/inputFiles/initialization/userdefinedStress_initialization_smoke.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_PassingCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_PassingCrack_smoke.xml
new file mode 100644
index 00000000000..2025d1e4e19
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_PassingCrack_smoke.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_SimpleCubes_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_SimpleCubes_smoke.xml
new file mode 100644
index 00000000000..d0c48b78bdf
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_SimpleCubes_smoke.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_benchmark.xml b/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_benchmark.xml
new file mode 100644
index 00000000000..2202aa2f739
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_benchmark.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_smoke.xml
new file mode 100644
index 00000000000..8b09acbea67
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_SingleFracCompression_smoke.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_Sneddon_benchmark.xml b/inputFiles/lagrangianContactMechanics/ALM_Sneddon_benchmark.xml
new file mode 100644
index 00000000000..ba0462cbe05
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_Sneddon_benchmark.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_Sneddon_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_Sneddon_smoke.xml
new file mode 100644
index 00000000000..41c125ef0e5
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_Sneddon_smoke.xml
@@ -0,0 +1,67 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_TFrac_benchmark.xml b/inputFiles/lagrangianContactMechanics/ALM_TFrac_benchmark.xml
new file mode 100644
index 00000000000..8acc35c09b1
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_TFrac_benchmark.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_TFrac_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_TFrac_smoke.xml
new file mode 100644
index 00000000000..c7a5bf66543
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_TFrac_smoke.xml
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_benchmark.xml b/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_benchmark.xml
new file mode 100644
index 00000000000..4a893d5dc0a
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_benchmark.xml
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_smoke.xml
new file mode 100644
index 00000000000..4b230c006ce
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_UnstructuredCrack_smoke.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_slippingFault_horizontal_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_slippingFault_horizontal_smoke.xml
new file mode 100644
index 00000000000..4060a64af2e
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_slippingFault_horizontal_smoke.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ALM_slippingFault_vertical_smoke.xml b/inputFiles/lagrangianContactMechanics/ALM_slippingFault_vertical_smoke.xml
new file mode 100644
index 00000000000..7beefc7386d
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/ALM_slippingFault_vertical_smoke.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_smoke.xml
index 4ba2c33f6d8..cccc821fc54 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_smoke.xml
@@ -3,57 +3,35 @@
+ name="./PassingCrack_smoke.xml"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -61,26 +39,23 @@
name="preFracture"
target="/Solvers/SurfaceGen"/>
-
-
-
+ target="/Outputs/vtkOutput"/>
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_smoke.xml
index 74ef1533500..733a439db2e 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_smoke.xml
@@ -3,54 +3,37 @@
+ name="./SimpleCubes_smoke.xml"/>
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
@@ -74,9 +57,6 @@
targetExactTimestep="0"
target="/Outputs/restartOutput"/>
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -81,7 +48,6 @@
@@ -90,6 +56,12 @@
timeFrequency="1"
targetExactTimestep="0"
target="/Outputs/vtkOutput"/>
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_Sneddon_benchmark.xml
old mode 100755
new mode 100644
similarity index 75%
rename from inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_smoke.xml
rename to inputFiles/lagrangianContactMechanics/ContactMechanics_Sneddon_benchmark.xml
index e7962f070c1..cefdf59664b
--- a/inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_Sneddon_benchmark.xml
@@ -3,7 +3,7 @@
+ name="./Sneddon_benchmark.xml"/>
-
-
-
-
-
-
-
+
+
+
+
+
+ name="./Sneddon_smoke.xml"/>
-
+
-
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
index 83e9561f2c4..89e2f4854df 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_benchmark.xml
@@ -2,60 +2,44 @@
-
+
-
-
+
+ targetRegions="{ Region, Fracture }">
+ newtonTol="1.0e-8"
+ logLevel="2"
+ maxNumConfigurationAttempts="10"
+ newtonMaxIter="10"
+ lineSearchAction="Require"
+ lineSearchMaxCuts="2"
+ maxTimeStepCuts="2"/>
-
+ solverType="direct"
+ directParallel="0"
+ logLevel="0"/>
+
+
+
-
-
-
+
+
+
+
+
-
-
-
-
-
-
+ maxTime="0.2">
@@ -63,7 +47,7 @@
@@ -93,6 +77,12 @@
name="displacementHistoryOutput"
timeFrequency="0.2"
targetExactTimestep="0"
- target="/Outputs/displacementOutput"/>
+ target="/Outputs/displacementOutput"/>
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
index b788e0ac183..d3a1a91319c 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_smoke.xml
@@ -2,7 +2,7 @@
-
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+ name="./UnstructuredCrack_benchmark.xml"/>
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_smoke.xml
index 71b7da13653..ea9c2adfe64 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_smoke.xml
@@ -1,75 +1,38 @@
-
+ name="./UnstructuredCrack_smoke.xml"/>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
@@ -90,14 +53,12 @@
targetExactTimestep="0"
target="/Outputs/restartOutput"/>
-
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_base.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_base.xml
deleted file mode 100644
index 0c5350192c1..00000000000
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_base.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_horizontal_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_horizontal_smoke.xml
index 6b59abebbbf..7584144aec3 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_horizontal_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_horizontal_smoke.xml
@@ -3,132 +3,64 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
+
+
+
+
+
-
+
+
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_vertical_smoke.xml b/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_vertical_smoke.xml
index b520f3498c6..9a6ca75ddba 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_vertical_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/ContactMechanics_slippingFault_vertical_smoke.xml
@@ -3,107 +3,64 @@
-
+
-
-
-
+
+
+
+
+
+
-
-
+
+
+
+
+
-
-
-
+
+
-
-
+
-
+
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_base.xml b/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
similarity index 76%
rename from inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_base.xml
rename to inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
index c309080025d..1f38c231aa9 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_PassingCrack_base.xml
+++ b/inputFiles/lagrangianContactMechanics/PassingCrack_base.xml
@@ -3,22 +3,6 @@
-
-
-
-
-
-
-
-
-
+
diff --git a/inputFiles/lagrangianContactMechanics/PassingCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/PassingCrack_smoke.xml
new file mode 100644
index 00000000000..5af8f7534a5
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/PassingCrack_smoke.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_base.xml b/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
similarity index 81%
rename from inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_base.xml
rename to inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
index 690ecf823a3..32e64f498de 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_SimpleCubes_base.xml
+++ b/inputFiles/lagrangianContactMechanics/SimpleCubes_base.xml
@@ -3,25 +3,6 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_SingleFracCompression_base.xml b/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
old mode 100755
new mode 100644
similarity index 80%
rename from inputFiles/lagrangianContactMechanics/ContactMechanics_SingleFracCompression_base.xml
rename to inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
index 28b80df0368..d9da50caf95
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_SingleFracCompression_base.xml
+++ b/inputFiles/lagrangianContactMechanics/SingleFracCompression_base.xml
@@ -4,27 +4,6 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/SingleFracCompression_smoke.xml b/inputFiles/lagrangianContactMechanics/SingleFracCompression_smoke.xml
new file mode 100644
index 00000000000..a724d175616
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/SingleFracCompression_smoke.xml
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml b/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml
new file mode 100644
index 00000000000..5299794fe0f
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/SlippingFault_base.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/SlippingFault_horizontal_smoke.xml b/inputFiles/lagrangianContactMechanics/SlippingFault_horizontal_smoke.xml
new file mode 100644
index 00000000000..2d81f9a0593
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/SlippingFault_horizontal_smoke.xml
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/almContactMechanics/ALM_stickFault_vertical_smoke.xml b/inputFiles/lagrangianContactMechanics/SlippingFault_vertical_smoke.xml
similarity index 73%
rename from inputFiles/almContactMechanics/ALM_stickFault_vertical_smoke.xml
rename to inputFiles/lagrangianContactMechanics/SlippingFault_vertical_smoke.xml
index 4eb31ff467b..8c70450485d 100644
--- a/inputFiles/almContactMechanics/ALM_stickFault_vertical_smoke.xml
+++ b/inputFiles/lagrangianContactMechanics/SlippingFault_vertical_smoke.xml
@@ -3,19 +3,19 @@
-
+
@@ -26,7 +26,7 @@
origin="{0.0, 0.0, 0.0}"
lengthVector="{0.0, 1.0, 0.0}"
widthVector="{0.0, 0.0, 1.0}"
- dimensions="{ 500, 200 }"/>
+ dimensions="{ 180, 10 }"/>
+ dimensions="{ 180, 10 }"/>
@@ -56,20 +56,20 @@
scale="1"/>
+ setNames="{ xneg }"/>
+ setNames="{ yneg, ypos, xneg, xpos }"/>
+ setNames="{ zneg, zpos }"/>
-
+ scale="-4.25e6"/>
-
+ plotFileRoot="faultSlip_vertical"/>
-
+ name="restartOutput"/>
+
diff --git a/inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_base.xml b/inputFiles/lagrangianContactMechanics/Sneddon_base.xml
old mode 100755
new mode 100644
similarity index 95%
rename from inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_base.xml
rename to inputFiles/lagrangianContactMechanics/Sneddon_base.xml
index 64b949a396e..73d61b18f6e
--- a/inputFiles/lagrangianContactMechanics/Sneddon_contactMechanics_base.xml
+++ b/inputFiles/lagrangianContactMechanics/Sneddon_base.xml
@@ -27,18 +27,13 @@
name="FE1"
order="1"/>
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml b/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml
new file mode 100644
index 00000000000..5e64b204ad1
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/Sneddon_smoke.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml b/inputFiles/lagrangianContactMechanics/TFrac_base.xml
similarity index 96%
rename from inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml
rename to inputFiles/lagrangianContactMechanics/TFrac_base.xml
index d8d82afdd12..498b09616b2 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_TFrac_base.xml
+++ b/inputFiles/lagrangianContactMechanics/TFrac_base.xml
@@ -43,17 +43,12 @@
name="FE1"
order="1"/>
-
-
-
-
+
diff --git a/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml b/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml
new file mode 100644
index 00000000000..60f1a1f537a
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/TFrac_benchmark.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml b/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml
new file mode 100644
index 00000000000..5ab56b69af9
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/TFrac_smoke.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_base.xml b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
similarity index 79%
rename from inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_base.xml
rename to inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
index 4c4c2bb1379..628fd884589 100644
--- a/inputFiles/lagrangianContactMechanics/ContactMechanics_UnstructuredCrack_base.xml
+++ b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_base.xml
@@ -3,23 +3,6 @@
-
-
-
-
-
-
-
-
-
+ values="{ 0.0, 2.e0 }"/>
diff --git a/inputFiles/lagrangianContactMechanics/UnstructuredCrack_benchmark.xml b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_benchmark.xml
new file mode 100644
index 00000000000..bb32766c947
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_benchmark.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/UnstructuredCrack_smoke.xml b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_smoke.xml
new file mode 100644
index 00000000000..faf2455cbf1
--- /dev/null
+++ b/inputFiles/lagrangianContactMechanics/UnstructuredCrack_smoke.xml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/lagrangianContactMechanics/contactMechanics.ats b/inputFiles/lagrangianContactMechanics/contactMechanics.ats
index b522d942a63..bc4a2e43d0e 100644
--- a/inputFiles/lagrangianContactMechanics/contactMechanics.ats
+++ b/inputFiles/lagrangianContactMechanics/contactMechanics.ats
@@ -21,7 +21,7 @@ decks = [
check_step=2,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
- name="Sneddon_contactMechanics_smoke",
+ name="ContactMechanics_Sneddon_smoke",
description=
"Testing Sneddon problem using contact mechanics (structured grid)",
partitions=((1, 1, 1), ),
@@ -51,6 +51,45 @@ decks = [
partitions=((1, 1, 1), (2, 1, 1)),
restart_step=5,
check_step=10,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="ALM_SimpleCubes_smoke",
+ description=
+ "Two cubes with a fracture separating them (structured grid)",
+ partitions=((1, 1, 1), (2, 2, 2), (1, 3, 3)),
+ restart_step=10,
+ check_step=20,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="ALM_UnstructuredCrack_smoke",
+ description="A thick plane with a crack in it (unstructured grid)",
+ partitions=((1, 1, 1), ),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="ALM_Sneddon_smoke",
+ description=
+ "Testing Sneddon problem using contact mechanics (structured grid)",
+ partitions=((1, 1, 1), ),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="ALM_TFrac_smoke",
+ description=
+ "Two fractures intersecting at a right angle (structured grid)",
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="ALM_SingleFracCompression_smoke",
+ description=
+ "Single tilted fracture subjected to remote compression (unstructured grid)",
+ partitions=((1, 1, 1), ),
+ restart_step=1,
+ check_step=2,
restartcheck_params=RestartcheckParameters(**restartcheck_params))
]
diff --git a/inputFiles/materialPointMethod/dfgMovingGrid/mpm_dfgMovingGrid.xml b/inputFiles/materialPointMethod/dfgMovingGrid/mpm_dfgMovingGrid.xml
index c55e39b4825..6086342f1b6 100644
--- a/inputFiles/materialPointMethod/dfgMovingGrid/mpm_dfgMovingGrid.xml
+++ b/inputFiles/materialPointMethod/dfgMovingGrid/mpm_dfgMovingGrid.xml
@@ -29,7 +29,7 @@ srun -n 4 /usr/workspace/homel1/GEOS/build-quartz-gcc@12-release/bin/geosx -i mp
@@ -133,4 +133,3 @@ boundaryConditionTypes="{ 1, 0, 2, 2, 1, 1 }"
-
diff --git a/inputFiles/materialPointMethod/particleRepartition/mpm_particleRepartition.xml b/inputFiles/materialPointMethod/particleRepartition/mpm_particleRepartition.xml
index ea4fe422923..685e4c3479e 100644
--- a/inputFiles/materialPointMethod/particleRepartition/mpm_particleRepartition.xml
+++ b/inputFiles/materialPointMethod/particleRepartition/mpm_particleRepartition.xml
@@ -29,7 +29,7 @@ srun -n 4 /usr/workspace/homel1/GEOS/build-quartz-gcc@12-release/bin/geosx -i mp
@@ -119,4 +119,3 @@ boundaryConditionTypes="{ 0, 0, 0, 0, 0, 0 }"
-
diff --git a/inputFiles/materialPointMethod/singleParticle/mpm_singleParticle.xml b/inputFiles/materialPointMethod/singleParticle/mpm_singleParticle.xml
index bb795ae6e7f..4fa388009a5 100644
--- a/inputFiles/materialPointMethod/singleParticle/mpm_singleParticle.xml
+++ b/inputFiles/materialPointMethod/singleParticle/mpm_singleParticle.xml
@@ -29,7 +29,7 @@ srun -n 1 /usr/workspace/homel1/GEOS/build-quartz-gcc@12-release/bin/geosx -i mp
@@ -119,4 +119,3 @@ boundaryConditionTypes="{ 0, 0, 0, 0, 0, 0 }"
-
diff --git a/inputFiles/meshGeneration/multiBodyMeshGen_base.xml b/inputFiles/meshGeneration/multiBodyMeshGen_base.xml
index e714f179254..51477c54cb9 100644
--- a/inputFiles/meshGeneration/multiBodyMeshGen_base.xml
+++ b/inputFiles/meshGeneration/multiBodyMeshGen_base.xml
@@ -41,7 +41,7 @@
diff --git a/inputFiles/multiphaseFlowFractures/deadOil_fractureMatrixFlow_edfm_base.xml b/inputFiles/multiphaseFlowFractures/deadOil_fractureMatrixFlow_edfm_base.xml
index 0243011b1b0..2ac98ea35b3 100644
--- a/inputFiles/multiphaseFlowFractures/deadOil_fractureMatrixFlow_edfm_base.xml
+++ b/inputFiles/multiphaseFlowFractures/deadOil_fractureMatrixFlow_edfm_base.xml
@@ -90,7 +90,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_DamageAndLoad.xml b/inputFiles/phaseField/PhaseFieldFracture_DamageAndLoad.xml
index c24b08aa8c9..14b6d92f8a3 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_DamageAndLoad.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_DamageAndLoad.xml
@@ -103,7 +103,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_DamageOnly.xml b/inputFiles/phaseField/PhaseFieldFracture_DamageOnly.xml
index e7bcab72523..99064e92686 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_DamageOnly.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_DamageOnly.xml
@@ -105,7 +105,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml b/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
index c961f5c52b3..e339684d116 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_Nucleation_base.xml
@@ -67,7 +67,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_SpectralSplit.xml b/inputFiles/phaseField/PhaseFieldFracture_SpectralSplit.xml
index 2cb24468fd0..f7423b48112 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_SpectralSplit.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_SpectralSplit.xml
@@ -116,7 +116,7 @@
diff --git a/inputFiles/phaseField/PhaseFieldFracture_VolDevSplit.xml b/inputFiles/phaseField/PhaseFieldFracture_VolDevSplit.xml
index e077817c194..26893feb2ce 100644
--- a/inputFiles/phaseField/PhaseFieldFracture_VolDevSplit.xml
+++ b/inputFiles/phaseField/PhaseFieldFracture_VolDevSplit.xml
@@ -116,7 +116,7 @@
diff --git a/inputFiles/poromechanics/PoroDelftEggWellbore_base.xml b/inputFiles/poromechanics/PoroDelftEggWellbore_base.xml
index 4379c94dcca..60fef34af70 100644
--- a/inputFiles/poromechanics/PoroDelftEggWellbore_base.xml
+++ b/inputFiles/poromechanics/PoroDelftEggWellbore_base.xml
@@ -52,7 +52,7 @@
diff --git a/inputFiles/poromechanics/PoroDruckerPragerWellbore_base.xml b/inputFiles/poromechanics/PoroDruckerPragerWellbore_base.xml
index 6072828be93..2fe870777b9 100644
--- a/inputFiles/poromechanics/PoroDruckerPragerWellbore_base.xml
+++ b/inputFiles/poromechanics/PoroDruckerPragerWellbore_base.xml
@@ -55,7 +55,7 @@
diff --git a/inputFiles/poromechanics/PoroElasticWellbore_base.xml b/inputFiles/poromechanics/PoroElasticWellbore_base.xml
index 0c1bd27ae74..635883163d1 100644
--- a/inputFiles/poromechanics/PoroElasticWellbore_base.xml
+++ b/inputFiles/poromechanics/PoroElasticWellbore_base.xml
@@ -50,7 +50,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_Mandel_base.xml b/inputFiles/poromechanics/PoroElastic_Mandel_base.xml
index a2c25d2aa1b..d1eb25f9673 100644
--- a/inputFiles/poromechanics/PoroElastic_Mandel_base.xml
+++ b/inputFiles/poromechanics/PoroElastic_Mandel_base.xml
@@ -21,7 +21,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_Terzaghi_base_direct.xml b/inputFiles/poromechanics/PoroElastic_Terzaghi_base_direct.xml
index aa69acd04fc..b22a64ab20a 100644
--- a/inputFiles/poromechanics/PoroElastic_Terzaghi_base_direct.xml
+++ b/inputFiles/poromechanics/PoroElastic_Terzaghi_base_direct.xml
@@ -47,7 +47,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_Terzaghi_base_iterative.xml b/inputFiles/poromechanics/PoroElastic_Terzaghi_base_iterative.xml
index 90909cbfa39..f266af73a19 100644
--- a/inputFiles/poromechanics/PoroElastic_Terzaghi_base_iterative.xml
+++ b/inputFiles/poromechanics/PoroElastic_Terzaghi_base_iterative.xml
@@ -48,7 +48,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_deadoil_3ph_baker_2d_base.xml b/inputFiles/poromechanics/PoroElastic_deadoil_3ph_baker_2d_base.xml
index 0d408a2dc4e..94bb5973bb2 100644
--- a/inputFiles/poromechanics/PoroElastic_deadoil_3ph_baker_2d_base.xml
+++ b/inputFiles/poromechanics/PoroElastic_deadoil_3ph_baker_2d_base.xml
@@ -82,7 +82,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_gravity.xml b/inputFiles/poromechanics/PoroElastic_gravity.xml
index ce1a82c80c6..91c9e679224 100644
--- a/inputFiles/poromechanics/PoroElastic_gravity.xml
+++ b/inputFiles/poromechanics/PoroElastic_gravity.xml
@@ -81,7 +81,7 @@
diff --git a/inputFiles/poromechanics/PoroElastic_hybridHexPrism_co2_base.xml b/inputFiles/poromechanics/PoroElastic_hybridHexPrism_co2_base.xml
index 865a4850f1a..85b5592eb52 100644
--- a/inputFiles/poromechanics/PoroElastic_hybridHexPrism_co2_base.xml
+++ b/inputFiles/poromechanics/PoroElastic_hybridHexPrism_co2_base.xml
@@ -10,7 +10,7 @@
partitionMethod="ptscotch"
scale="{ 50, 50, 50 }"
fieldsToImport="{ PORO, NTG, DENSITY, BULKMOD }"
- fieldNamesInGEOSX="{ rockPorosity_referencePorosity, netToGross, skeleton_density, skeleton_bulkModulus }"
+ fieldNamesInGEOS="{ rockPorosity_referencePorosity, netToGross, skeleton_density, skeleton_bulkModulus }"
file="../singlePhaseFlow/pebi3d_with_properties.vtu"/>
@@ -79,7 +79,7 @@
diff --git a/inputFiles/poromechanics/PoroModifiedCamClayWellbore_base.xml b/inputFiles/poromechanics/PoroModifiedCamClayWellbore_base.xml
index 39e5a33f29a..5d9149bf22e 100644
--- a/inputFiles/poromechanics/PoroModifiedCamClayWellbore_base.xml
+++ b/inputFiles/poromechanics/PoroModifiedCamClayWellbore_base.xml
@@ -52,7 +52,7 @@
diff --git a/inputFiles/poromechanics/PoroViscoDruckerPrager_base.xml b/inputFiles/poromechanics/PoroViscoDruckerPrager_base.xml
index 301b0a41e88..58b27c73122 100644
--- a/inputFiles/poromechanics/PoroViscoDruckerPrager_base.xml
+++ b/inputFiles/poromechanics/PoroViscoDruckerPrager_base.xml
@@ -55,7 +55,7 @@
diff --git a/inputFiles/poromechanics/PoroViscoExtendedDruckerPrager_base.xml b/inputFiles/poromechanics/PoroViscoExtendedDruckerPrager_base.xml
index c55ea123b70..7e066c4bf0d 100644
--- a/inputFiles/poromechanics/PoroViscoExtendedDruckerPrager_base.xml
+++ b/inputFiles/poromechanics/PoroViscoExtendedDruckerPrager_base.xml
@@ -56,7 +56,7 @@
diff --git a/inputFiles/poromechanics/PoroViscoModifiedCamClay_base.xml b/inputFiles/poromechanics/PoroViscoModifiedCamClay_base.xml
index e571c953761..405d4bb3f01 100644
--- a/inputFiles/poromechanics/PoroViscoModifiedCamClay_base.xml
+++ b/inputFiles/poromechanics/PoroViscoModifiedCamClay_base.xml
@@ -56,7 +56,7 @@
diff --git a/inputFiles/poromechanics/faultPoroelastic_base.xml b/inputFiles/poromechanics/faultPoroelastic_base.xml
index 5c69d115a5b..6b69e6836c1 100755
--- a/inputFiles/poromechanics/faultPoroelastic_base.xml
+++ b/inputFiles/poromechanics/faultPoroelastic_base.xml
@@ -5,7 +5,7 @@
diff --git a/inputFiles/poromechanics/nonlinearAcceleration/smallEggModel/smallEggModel.xml b/inputFiles/poromechanics/nonlinearAcceleration/smallEggModel/smallEggModel.xml
index caf219bb716..277776298a8 100755
--- a/inputFiles/poromechanics/nonlinearAcceleration/smallEggModel/smallEggModel.xml
+++ b/inputFiles/poromechanics/nonlinearAcceleration/smallEggModel/smallEggModel.xml
@@ -69,7 +69,7 @@
file="../../../GEOSDATA/DataSets/Egg/egg_withBurdens_small.vts"
regionAttribute="elementRegionMarker"
fieldsToImport="{ PERM }"
- fieldNamesInGEOSX="{ rockPermeability_permeability }"/>
+ fieldNamesInGEOS="{ rockPermeability_permeability }"/>
@@ -154,22 +154,22 @@
diff --git a/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml b/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
index 7c53d0d4981..133e70876ff 100644
--- a/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
+++ b/inputFiles/poromechanicsFractures/ExponentialDecayPermeability_conformingFracture_base.xml
@@ -82,7 +82,7 @@
+ fieldNamesInGEOS="{ rockPermeability_permeability }"/>
@@ -173,22 +173,22 @@
+ fieldNamesInGEOS="{ rockPermeability_permeability }"/>
@@ -173,22 +173,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_fim_smoke.xml b/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_fim_smoke.xml
new file mode 100644
index 00000000000..8a0e0e30138
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_fim_smoke.xml
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_seq_smoke.xml b/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_seq_smoke.xml
new file mode 100644
index 00000000000..4ff5d4e8669
--- /dev/null
+++ b/inputFiles/poromechanicsFractures/singlePhasePoromechanics_FaultModel_well_seq_smoke.xml
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/poromechanicsFractures/verticalFault_ExternalMesh.vtm b/inputFiles/poromechanicsFractures/verticalFault_ExternalMesh.vtm
index 14785b5f2ab..abb0265a6ca 100644
--- a/inputFiles/poromechanicsFractures/verticalFault_ExternalMesh.vtm
+++ b/inputFiles/poromechanicsFractures/verticalFault_ExternalMesh.vtm
@@ -5,7 +5,7 @@
name="main"
file="Domain_Mesh_FaultModel.vtu"
fieldsToImport="{ YoungModulus, PoissonRatio }"
- fieldNamesInGEOSX="{ rock_youngModulus, rock_poissonRatio }"
+ fieldNamesInGEOS="{ rock_youngModulus, rock_poissonRatio }"
/>
diff --git a/inputFiles/relpermDriver/testRelpermDriverBCStoneII.xml b/inputFiles/relpermDriver/testRelpermDriverBCStoneII.xml
index ab0c4abaaa7..80c5ab16abb 100644
--- a/inputFiles/relpermDriver/testRelpermDriverBCStoneII.xml
+++ b/inputFiles/relpermDriver/testRelpermDriverBCStoneII.xml
@@ -47,7 +47,7 @@
diff --git a/inputFiles/relpermDriver/testRelpermDriverTableHyst2ph.xml b/inputFiles/relpermDriver/testRelpermDriverTableHyst2ph.xml
index 000003049c7..60614391abf 100644
--- a/inputFiles/relpermDriver/testRelpermDriverTableHyst2ph.xml
+++ b/inputFiles/relpermDriver/testRelpermDriverTableHyst2ph.xml
@@ -46,7 +46,7 @@
diff --git a/inputFiles/simplePDE/10x10x10Hex_LaplaceFEM_smoke.xml b/inputFiles/simplePDE/10x10x10Hex_LaplaceFEM_smoke.xml
index eb35e4b7ccc..0709dcbfcb8 100644
--- a/inputFiles/simplePDE/10x10x10Hex_LaplaceFEM_smoke.xml
+++ b/inputFiles/simplePDE/10x10x10Hex_LaplaceFEM_smoke.xml
@@ -22,7 +22,7 @@
diff --git a/inputFiles/simplePDE/10x10x10Hex_LaplaceVEM_smoke.xml b/inputFiles/simplePDE/10x10x10Hex_LaplaceVEM_smoke.xml
index b05378fb3ed..1c5cd08d1de 100644
--- a/inputFiles/simplePDE/10x10x10Hex_LaplaceVEM_smoke.xml
+++ b/inputFiles/simplePDE/10x10x10Hex_LaplaceVEM_smoke.xml
@@ -22,7 +22,7 @@
diff --git a/inputFiles/simplePDE/10x5x15Wedges_LaplaceVEM_smoke.xml b/inputFiles/simplePDE/10x5x15Wedges_LaplaceVEM_smoke.xml
index 220b273e56c..fbb1ebddd32 100644
--- a/inputFiles/simplePDE/10x5x15Wedges_LaplaceVEM_smoke.xml
+++ b/inputFiles/simplePDE/10x5x15Wedges_LaplaceVEM_smoke.xml
@@ -22,7 +22,7 @@
diff --git a/inputFiles/simplePDE/15x5x10Tets_LaplaceVEM_smoke.xml b/inputFiles/simplePDE/15x5x10Tets_LaplaceVEM_smoke.xml
index 76594883a4c..0cda8414a01 100644
--- a/inputFiles/simplePDE/15x5x10Tets_LaplaceVEM_smoke.xml
+++ b/inputFiles/simplePDE/15x5x10Tets_LaplaceVEM_smoke.xml
@@ -22,7 +22,7 @@
diff --git a/inputFiles/simplePDE/50x10x5Hex_LaplaceFEM_smoke.xml b/inputFiles/simplePDE/50x10x5Hex_LaplaceFEM_smoke.xml
index aff5d97ec10..49913b72224 100644
--- a/inputFiles/simplePDE/50x10x5Hex_LaplaceFEM_smoke.xml
+++ b/inputFiles/simplePDE/50x10x5Hex_LaplaceFEM_smoke.xml
@@ -22,7 +22,7 @@
diff --git a/inputFiles/simplePDE/hybridHexPrism_LaplaceVEM_smoke.xml b/inputFiles/simplePDE/hybridHexPrism_LaplaceVEM_smoke.xml
index 85f31ec5340..80e6b4d50b7 100644
--- a/inputFiles/simplePDE/hybridHexPrism_LaplaceVEM_smoke.xml
+++ b/inputFiles/simplePDE/hybridHexPrism_LaplaceVEM_smoke.xml
@@ -29,4 +29,3 @@
-
diff --git a/inputFiles/singlePhaseFlow/3D_10x10x10_compressible_base.xml b/inputFiles/singlePhaseFlow/3D_10x10x10_compressible_base.xml
index 502b8a22bd9..d9157d9b2b0 100644
--- a/inputFiles/singlePhaseFlow/3D_10x10x10_compressible_base.xml
+++ b/inputFiles/singlePhaseFlow/3D_10x10x10_compressible_base.xml
@@ -50,7 +50,7 @@
diff --git a/inputFiles/singlePhaseFlow/3D_10x10x10_thermalCompressible_base.xml b/inputFiles/singlePhaseFlow/3D_10x10x10_thermalCompressible_base.xml
index 942ab9d95c8..1e529f1a41e 100644
--- a/inputFiles/singlePhaseFlow/3D_10x10x10_thermalCompressible_base.xml
+++ b/inputFiles/singlePhaseFlow/3D_10x10x10_thermalCompressible_base.xml
@@ -39,7 +39,7 @@
@@ -83,9 +83,9 @@
specificHeatCapacity="4.0e3"
referenceInternalEnergy="1.1e6"/>
-
+ defaultThermalConductivityComponents="{ 3.5, 3.5, 3.5 }"/>
diff --git a/inputFiles/singlePhaseFlow/FieldCaseTutorial3_base.xml b/inputFiles/singlePhaseFlow/FieldCaseTutorial3_base.xml
index d9efb08892d..6de436890ed 100644
--- a/inputFiles/singlePhaseFlow/FieldCaseTutorial3_base.xml
+++ b/inputFiles/singlePhaseFlow/FieldCaseTutorial3_base.xml
@@ -5,12 +5,12 @@
diff --git a/inputFiles/singlePhaseFlow/compressible_1d.xml b/inputFiles/singlePhaseFlow/compressible_1d.xml
index 168809613cb..d4a937ad4b3 100644
--- a/inputFiles/singlePhaseFlow/compressible_1d.xml
+++ b/inputFiles/singlePhaseFlow/compressible_1d.xml
@@ -70,7 +70,7 @@
diff --git a/inputFiles/singlePhaseFlow/incompressible_1d.xml b/inputFiles/singlePhaseFlow/incompressible_1d.xml
index e4f37618cd2..670099cebbf 100644
--- a/inputFiles/singlePhaseFlow/incompressible_1d.xml
+++ b/inputFiles/singlePhaseFlow/incompressible_1d.xml
@@ -69,7 +69,7 @@
diff --git a/inputFiles/singlePhaseFlow/incompressible_pebi3d.xml b/inputFiles/singlePhaseFlow/incompressible_pebi3d.xml
index 75c3035c87e..162b2667e51 100644
--- a/inputFiles/singlePhaseFlow/incompressible_pebi3d.xml
+++ b/inputFiles/singlePhaseFlow/incompressible_pebi3d.xml
@@ -23,7 +23,7 @@
partitionRefinement="3"
useGlobalIds="1"
fieldsToImport="{ PERM, PORO, NTG }"
- fieldNamesInGEOSX="{ rockPerm_permeability, rockPorosity_referencePorosity, netToGross }"
+ fieldNamesInGEOS="{ rockPerm_permeability, rockPorosity_referencePorosity, netToGross }"
file="pebi3d_with_properties.vtu"/>
@@ -68,7 +68,7 @@
diff --git a/inputFiles/singlePhaseFlow/sourceFlux_1d.xml b/inputFiles/singlePhaseFlow/sourceFlux_1d.xml
index 8fdf76542f5..2cae841d4da 100644
--- a/inputFiles/singlePhaseFlow/sourceFlux_1d.xml
+++ b/inputFiles/singlePhaseFlow/sourceFlux_1d.xml
@@ -68,7 +68,7 @@
diff --git a/inputFiles/singlePhaseFlow/sourceFlux_2d.xml b/inputFiles/singlePhaseFlow/sourceFlux_2d.xml
index a455b137720..4a0d5cf3a28 100644
--- a/inputFiles/singlePhaseFlow/sourceFlux_2d.xml
+++ b/inputFiles/singlePhaseFlow/sourceFlux_2d.xml
@@ -94,7 +94,7 @@
diff --git a/inputFiles/singlePhaseFlow/staircase_3d.xml b/inputFiles/singlePhaseFlow/staircase_3d.xml
index 199f1a726ea..2722e20c150 100644
--- a/inputFiles/singlePhaseFlow/staircase_3d.xml
+++ b/inputFiles/singlePhaseFlow/staircase_3d.xml
@@ -1,6 +1,7 @@
-
+
+ newtonMaxIter="100"/>
@@ -34,7 +34,7 @@
solidInternalEnergyModelName="rockInternalEnergy_linear"/>
-
+
-
+
-
-
-
+
+
+
+
+
+
+
@@ -125,21 +135,21 @@
setNames="{ all }"
objectPath="ElementRegions/region/cb"
fieldName="temperature"
- scale="0"/>
+ scale="100"/>
+ scale="100"/>
+ scale="-20.0"/>
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_2d_benchmark.xml b/inputFiles/singlePhaseFlow/thermalCompressible_2d_benchmark.xml
index 68e33c33f50..c4b66910e8b 100644
--- a/inputFiles/singlePhaseFlow/thermalCompressible_2d_benchmark.xml
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_2d_benchmark.xml
@@ -8,8 +8,8 @@
+ cellBlocks="{ * }"
+ materialList="{ fluid, rock_linear, thermalCond_linear }"/>
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_2d_smoke.xml b/inputFiles/singlePhaseFlow/thermalCompressible_2d_smoke.xml
index 5fea4f7ebaa..89d35398376 100644
--- a/inputFiles/singlePhaseFlow/thermalCompressible_2d_smoke.xml
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_2d_smoke.xml
@@ -8,8 +8,8 @@
+ cellBlocks="{ * }"
+ materialList="{ fluid, rock_linear, thermalCond_linear }"/>
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_benchmark.xml b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_benchmark.xml
similarity index 91%
rename from inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_benchmark.xml
rename to inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_benchmark.xml
index 47c273a3519..fcac937bf47 100644
--- a/inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_benchmark.xml
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_benchmark.xml
@@ -8,8 +8,8 @@
+ cellBlocks="{ * }"
+ materialList="{ fluid, rock_linear, thermalCond_nonLinear }"/>
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_smoke.xml b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_smoke.xml
similarity index 91%
rename from inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_smoke.xml
rename to inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_smoke.xml
index e4cfc03c23b..195ceabe14c 100644
--- a/inputFiles/singlePhaseFlow/thermalCompressible_nonLinear_2d_smoke.xml
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_smoke.xml
@@ -8,8 +8,8 @@
+ cellBlocks="{ * }"
+ materialList="{ fluid, rock_linear, thermalCond_nonLinear }"/>
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_benchmark.xml b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_benchmark.xml
new file mode 100644
index 00000000000..fa9af06fd2f
--- /dev/null
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_benchmark.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_smoke.xml b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_smoke.xml
new file mode 100644
index 00000000000..013e81c76c2
--- /dev/null
+++ b/inputFiles/singlePhaseFlow/thermalCompressible_temperatureDependentVolumetricHeatCapacity_smoke.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/singlePhaseFlow/thermalSinglePhaseFlow.ats b/inputFiles/singlePhaseFlow/thermalSinglePhaseFlow.ats
index cd021117e0a..886d8add60a 100644
--- a/inputFiles/singlePhaseFlow/thermalSinglePhaseFlow.ats
+++ b/inputFiles/singlePhaseFlow/thermalSinglePhaseFlow.ats
@@ -22,9 +22,17 @@ decks = [
check_step=20,
restartcheck_params=RestartcheckParameters(**restartcheck_params)),
TestDeck(
- name="thermalCompressible_nonLinear_2d_smoke",
+ name="thermalCompressible_temperatureDependentVolumetricHeatCapacity_smoke",
description=
- 'non-linear thermal diffusion around a wellbore)',
+ 'a wellbore problem with temperature dependent volumetric heat capacity)',
+ partitions=((1, 1, 1), (2, 2, 1)),
+ restart_step=1,
+ check_step=2,
+ restartcheck_params=RestartcheckParameters(**restartcheck_params)),
+ TestDeck(
+ name="thermalCompressible_temperatureDependentSinglePhaseThermalConductivity_smoke",
+ description=
+ 'a wellbore problem with temperature dependent thermal conductivity)',
partitions=((1, 1, 1), (2, 2, 1)),
restart_step=1,
check_step=2,
diff --git a/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml b/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
index f9ce504d5d7..9dbce69a6a6 100644
--- a/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
+++ b/inputFiles/singlePhaseFlowFractures/fractureFlowWithGravity_conforming_2d_smoke.xml
@@ -84,7 +84,7 @@
-
+
diff --git a/inputFiles/solidMechanics/ExtendedDruckerPragerWellbore_base.xml b/inputFiles/solidMechanics/ExtendedDruckerPragerWellbore_base.xml
index a2e0bd5cd8e..9881628d292 100644
--- a/inputFiles/solidMechanics/ExtendedDruckerPragerWellbore_base.xml
+++ b/inputFiles/solidMechanics/ExtendedDruckerPragerWellbore_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/solidMechanics/KirschProblem_base.xml b/inputFiles/solidMechanics/KirschProblem_base.xml
index 11eee1612ca..c0f724d29b0 100755
--- a/inputFiles/solidMechanics/KirschProblem_base.xml
+++ b/inputFiles/solidMechanics/KirschProblem_base.xml
@@ -17,7 +17,7 @@
diff --git a/inputFiles/solidMechanics/ModifiedCamClayWellbore_base.xml b/inputFiles/solidMechanics/ModifiedCamClayWellbore_base.xml
index 1e216ebc48d..81ac82e3f23 100644
--- a/inputFiles/solidMechanics/ModifiedCamClayWellbore_base.xml
+++ b/inputFiles/solidMechanics/ModifiedCamClayWellbore_base.xml
@@ -31,7 +31,7 @@
diff --git a/inputFiles/solidMechanics/OpenWellbore.xml b/inputFiles/solidMechanics/OpenWellbore.xml
index 8c7c591862d..a6dfa394f5f 100644
--- a/inputFiles/solidMechanics/OpenWellbore.xml
+++ b/inputFiles/solidMechanics/OpenWellbore.xml
@@ -79,7 +79,7 @@
diff --git a/inputFiles/solidMechanics/beamBending_base.xml b/inputFiles/solidMechanics/beamBending_base.xml
index 83ef0821a02..764cb822641 100644
--- a/inputFiles/solidMechanics/beamBending_base.xml
+++ b/inputFiles/solidMechanics/beamBending_base.xml
@@ -38,12 +38,11 @@
target="/Outputs/restartOutput"/>
-
diff --git a/inputFiles/solidMechanics/beamBending_hybridHexPrism_smoke.xml b/inputFiles/solidMechanics/beamBending_hybridHexPrism_smoke.xml
index 0c23d01b854..f0f5db09631 100644
--- a/inputFiles/solidMechanics/beamBending_hybridHexPrism_smoke.xml
+++ b/inputFiles/solidMechanics/beamBending_hybridHexPrism_smoke.xml
@@ -28,7 +28,7 @@
diff --git a/inputFiles/solidMechanics/benchmarks/SSLE-QS-small.xml b/inputFiles/solidMechanics/benchmarks/SSLE-QS-small.xml
index 4df98119448..486f533a5bc 100644
--- a/inputFiles/solidMechanics/benchmarks/SSLE-QS-small.xml
+++ b/inputFiles/solidMechanics/benchmarks/SSLE-QS-small.xml
@@ -51,7 +51,7 @@
diff --git a/inputFiles/solidMechanics/benchmarks/SSLE-io.xml b/inputFiles/solidMechanics/benchmarks/SSLE-io.xml
index 8a64bd59e77..5c0ecc605cf 100644
--- a/inputFiles/solidMechanics/benchmarks/SSLE-io.xml
+++ b/inputFiles/solidMechanics/benchmarks/SSLE-io.xml
@@ -112,7 +112,7 @@
diff --git a/inputFiles/solidMechanics/benchmarks/VerticalElasticWellbore.xml b/inputFiles/solidMechanics/benchmarks/VerticalElasticWellbore.xml
index 35f4635aeb4..e17d1caa837 100644
--- a/inputFiles/solidMechanics/benchmarks/VerticalElasticWellbore.xml
+++ b/inputFiles/solidMechanics/benchmarks/VerticalElasticWellbore.xml
@@ -79,7 +79,7 @@
diff --git a/inputFiles/solidMechanics/elasticHollowCylinder_isotropic_smoke.xml b/inputFiles/solidMechanics/elasticHollowCylinder_isotropic_smoke.xml
index 4882dd593b6..f43377dcb0b 100644
--- a/inputFiles/solidMechanics/elasticHollowCylinder_isotropic_smoke.xml
+++ b/inputFiles/solidMechanics/elasticHollowCylinder_isotropic_smoke.xml
@@ -10,7 +10,7 @@
diff --git a/inputFiles/solidMechanics/elasticHollowCylinder_orthotropic_smoke.xml b/inputFiles/solidMechanics/elasticHollowCylinder_orthotropic_smoke.xml
index ede5290a53c..69b254072cc 100644
--- a/inputFiles/solidMechanics/elasticHollowCylinder_orthotropic_smoke.xml
+++ b/inputFiles/solidMechanics/elasticHollowCylinder_orthotropic_smoke.xml
@@ -10,7 +10,7 @@
diff --git a/inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml b/inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml
index 96433871e09..522d21d57d6 100644
--- a/inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml
+++ b/inputFiles/solidMechanics/elasticHollowCylinder_transverseIsotropic_smoke.xml
@@ -10,7 +10,7 @@
diff --git a/inputFiles/solidMechanics/mechanicsWithHeterogeneousMaterials.xml b/inputFiles/solidMechanics/mechanicsWithHeterogeneousMaterials.xml
index a13c81842e1..d1dfd7352b2 100644
--- a/inputFiles/solidMechanics/mechanicsWithHeterogeneousMaterials.xml
+++ b/inputFiles/solidMechanics/mechanicsWithHeterogeneousMaterials.xml
@@ -63,7 +63,7 @@
diff --git a/inputFiles/solidMechanics/plasticCubeReset.xml b/inputFiles/solidMechanics/plasticCubeReset.xml
index 78007a7ef20..8f923860899 100644
--- a/inputFiles/solidMechanics/plasticCubeReset.xml
+++ b/inputFiles/solidMechanics/plasticCubeReset.xml
@@ -19,7 +19,7 @@
@@ -160,4 +160,3 @@
name="restartOutput"/>
-
diff --git a/inputFiles/solidMechanics/sedov_base.xml b/inputFiles/solidMechanics/sedov_base.xml
index 49419832a75..fef292ad48d 100644
--- a/inputFiles/solidMechanics/sedov_base.xml
+++ b/inputFiles/solidMechanics/sedov_base.xml
@@ -12,7 +12,7 @@
diff --git a/inputFiles/solidMechanics/solidMechBlock.xml b/inputFiles/solidMechanics/solidMechBlock.xml
index d3daec92f13..0aaf2aa0255 100644
--- a/inputFiles/solidMechanics/solidMechBlock.xml
+++ b/inputFiles/solidMechanics/solidMechBlock.xml
@@ -67,7 +67,7 @@
diff --git a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml
index a646a550529..c2e2dbf4da0 100644
--- a/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml
+++ b/inputFiles/solidMechanics/viscoExtendedDruckerPrager_relaxation_base.xml
@@ -38,8 +38,7 @@
diff --git a/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml b/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
index ffc25136a86..f398d7beb79 100644
--- a/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
+++ b/inputFiles/surfaceGeneration/DryFrac_StaticPenny_PrismElem.xml
@@ -84,7 +84,7 @@
diff --git a/inputFiles/thermalMultiphaseFlow/co2_thermal_obl_3d.xml b/inputFiles/thermalMultiphaseFlow/co2_thermal_obl_3d.xml
index 60556a4bbe8..1fe5b4a1b17 100644
--- a/inputFiles/thermalMultiphaseFlow/co2_thermal_obl_3d.xml
+++ b/inputFiles/thermalMultiphaseFlow/co2_thermal_obl_3d.xml
@@ -78,7 +78,7 @@
diff --git a/inputFiles/thermalSinglePhaseFlowFractures/egsCollab_thermalFlow/egsCollab_thermalFlow_base.xml b/inputFiles/thermalSinglePhaseFlowFractures/egsCollab_thermalFlow/egsCollab_thermalFlow_base.xml
index c83229e78b5..4f238dee779 100644
--- a/inputFiles/thermalSinglePhaseFlowFractures/egsCollab_thermalFlow/egsCollab_thermalFlow_base.xml
+++ b/inputFiles/thermalSinglePhaseFlowFractures/egsCollab_thermalFlow/egsCollab_thermalFlow_base.xml
@@ -60,9 +60,9 @@
specificHeatCapacity="4.2e6"
referenceInternalEnergy="0.99"/>
-
+ defaultThermalConductivityComponents="{ 3.81, 3.81, 3.81 }"/>
diff --git a/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_base.xml b/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_base.xml
index 1ba0e49f27f..fc20919e014 100644
--- a/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_base.xml
+++ b/inputFiles/thermoPoromechanicsFractures/ThermoPoroElastic_base.xml
@@ -31,9 +31,9 @@
specificHeatCapacity="1.672e2"
referenceInternalEnergy="0.001"/>
-
+ defaultThermalConductivityComponents="{ 1, 1, 1 }"/>
+ fieldNamesInGEOS="{ rockPermeability_permeability }"/>
@@ -236,9 +236,9 @@
specificHeatCapacity="1.672e2"
referenceInternalEnergy="0.001"/>
-
+ defaultThermalConductivityComponents="{ 10, 10, 10 }"/>
diff --git a/inputFiles/triaxialDriver/triaxialDriver_base.xml b/inputFiles/triaxialDriver/triaxialDriver_base.xml
index 3fb0f62fe84..efd380e39d5 100644
--- a/inputFiles/triaxialDriver/triaxialDriver_base.xml
+++ b/inputFiles/triaxialDriver/triaxialDriver_base.xml
@@ -139,7 +139,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_Q3_firstOrder_small_base.xml b/inputFiles/wavePropagation/acous3D_Q3_firstOrder_small_base.xml
index cb071a26703..e68f1e00460 100644
--- a/inputFiles/wavePropagation/acous3D_Q3_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_Q3_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_Q3_small_base.xml b/inputFiles/wavePropagation/acous3D_Q3_small_base.xml
index 26f0631f8fa..ee89af2f316 100644
--- a/inputFiles/wavePropagation/acous3D_Q3_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_Q3_small_base.xml
@@ -31,7 +31,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_Q5_firstOrder_small_base.xml b/inputFiles/wavePropagation/acous3D_Q5_firstOrder_small_base.xml
index 32018f54c95..4fd8f1f781e 100644
--- a/inputFiles/wavePropagation/acous3D_Q5_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_Q5_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_Q5_small_base.xml b/inputFiles/wavePropagation/acous3D_Q5_small_base.xml
index 0ad60b621bf..f6a8afffb11 100644
--- a/inputFiles/wavePropagation/acous3D_Q5_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_Q5_small_base.xml
@@ -31,7 +31,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_firstOrder_small_base.xml b/inputFiles/wavePropagation/acous3D_firstOrder_small_base.xml
index 90e96ffc053..8bfdbe6f218 100644
--- a/inputFiles/wavePropagation/acous3D_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_small_base.xml b/inputFiles/wavePropagation/acous3D_small_base.xml
index 694ced3e1e0..7a57de721cf 100644
--- a/inputFiles/wavePropagation/acous3D_small_base.xml
+++ b/inputFiles/wavePropagation/acous3D_small_base.xml
@@ -31,7 +31,7 @@
diff --git a/inputFiles/wavePropagation/acous3D_vti_smoke.xml b/inputFiles/wavePropagation/acous3D_vti_smoke.xml
index ef9127fe278..4305ac12319 100644
--- a/inputFiles/wavePropagation/acous3D_vti_smoke.xml
+++ b/inputFiles/wavePropagation/acous3D_vti_smoke.xml
@@ -114,7 +114,7 @@
diff --git a/inputFiles/wavePropagation/benchmarks/acous3D_benchmark_base.xml b/inputFiles/wavePropagation/benchmarks/acous3D_benchmark_base.xml
index d8a475ea54f..15372829ea5 100644
--- a/inputFiles/wavePropagation/benchmarks/acous3D_benchmark_base.xml
+++ b/inputFiles/wavePropagation/benchmarks/acous3D_benchmark_base.xml
@@ -69,7 +69,7 @@
diff --git a/inputFiles/wavePropagation/benchmarks/elas3D_benchmark_base.xml b/inputFiles/wavePropagation/benchmarks/elas3D_benchmark_base.xml
index fc3b967238b..aacd50aca96 100644
--- a/inputFiles/wavePropagation/benchmarks/elas3D_benchmark_base.xml
+++ b/inputFiles/wavePropagation/benchmarks/elas3D_benchmark_base.xml
@@ -98,7 +98,7 @@
@@ -241,4 +241,3 @@
-
diff --git a/inputFiles/wavePropagation/elas3D_DAS_smoke.xml b/inputFiles/wavePropagation/elas3D_DAS_smoke.xml
index 916d9a8fc38..cac61db881f 100644
--- a/inputFiles/wavePropagation/elas3D_DAS_smoke.xml
+++ b/inputFiles/wavePropagation/elas3D_DAS_smoke.xml
@@ -72,7 +72,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_Q3_firstOrder_small_base.xml b/inputFiles/wavePropagation/elas3D_Q3_firstOrder_small_base.xml
index 9c833d44be1..aacb0be1d1b 100644
--- a/inputFiles/wavePropagation/elas3D_Q3_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_Q3_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_Q3_small_base.xml b/inputFiles/wavePropagation/elas3D_Q3_small_base.xml
index c8e1063beb9..13d6a186dbf 100644
--- a/inputFiles/wavePropagation/elas3D_Q3_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_Q3_small_base.xml
@@ -81,7 +81,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_Q5_firstOrder_small_base.xml b/inputFiles/wavePropagation/elas3D_Q5_firstOrder_small_base.xml
index b360569bb0e..0ce1207ed0b 100644
--- a/inputFiles/wavePropagation/elas3D_Q5_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_Q5_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_Q5_small_base.xml b/inputFiles/wavePropagation/elas3D_Q5_small_base.xml
index 67e137325f8..0afb065f3c3 100644
--- a/inputFiles/wavePropagation/elas3D_Q5_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_Q5_small_base.xml
@@ -81,7 +81,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_firstOrder_small_base.xml b/inputFiles/wavePropagation/elas3D_firstOrder_small_base.xml
index 7c3fa5783a6..565d48b0115 100644
--- a/inputFiles/wavePropagation/elas3D_firstOrder_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_firstOrder_small_base.xml
@@ -32,7 +32,7 @@
diff --git a/inputFiles/wavePropagation/elas3D_small_base.xml b/inputFiles/wavePropagation/elas3D_small_base.xml
index 2f79d894055..3233345e59a 100644
--- a/inputFiles/wavePropagation/elas3D_small_base.xml
+++ b/inputFiles/wavePropagation/elas3D_small_base.xml
@@ -88,7 +88,7 @@
diff --git a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
index 4cc92cc6c6c..ae8b6baea35 100644
--- a/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
+++ b/inputFiles/wellbore/CasedThermoElasticWellbore_ImperfectInterfaces_base.xml
@@ -202,22 +202,22 @@
-
+ defaultThermalConductivityComponents="{ 15, 15, 15 }"/>
-
+ defaultThermalConductivityComponents="{ 1.0, 1.0, 1.0 }"/>
-
+ defaultThermalConductivityComponents="{ 1.66, 1.66, 1.66 }"/>
-
+ defaultThermalConductivityComponents="{ 1.0, 1.0, 1.0 }"/>
diff --git a/inputFiles/wellbore/CasedThermoElasticWellbore_base.xml b/inputFiles/wellbore/CasedThermoElasticWellbore_base.xml
index 87e49a84312..e56790eff7c 100644
--- a/inputFiles/wellbore/CasedThermoElasticWellbore_base.xml
+++ b/inputFiles/wellbore/CasedThermoElasticWellbore_base.xml
@@ -142,17 +142,17 @@
-
+ defaultThermalConductivityComponents="{ 15, 15, 15 }"/>
-
+ defaultThermalConductivityComponents="{ 1.0, 1.0, 1.0 }"/>
-
+ defaultThermalConductivityComponents="{ 1.66, 1.66, 1.66 }"/>
@@ -265,7 +265,7 @@
fieldName="casingSolid_stress"
component="2"
scale="573913043.5"/>
-
+
diff --git a/inputFiles/wellbore/DeviatedPoroElasticWellbore_Drilling_base.xml b/inputFiles/wellbore/DeviatedPoroElasticWellbore_Drilling_base.xml
index 787e7e42b5b..c769ceac580 100644
--- a/inputFiles/wellbore/DeviatedPoroElasticWellbore_Drilling_base.xml
+++ b/inputFiles/wellbore/DeviatedPoroElasticWellbore_Drilling_base.xml
@@ -45,7 +45,7 @@
diff --git a/inputFiles/wellbore/DeviatedPoroElasticWellbore_Injection_base.xml b/inputFiles/wellbore/DeviatedPoroElasticWellbore_Injection_base.xml
index dbe2957d719..d329375d8ca 100644
--- a/inputFiles/wellbore/DeviatedPoroElasticWellbore_Injection_base.xml
+++ b/inputFiles/wellbore/DeviatedPoroElasticWellbore_Injection_base.xml
@@ -41,7 +41,7 @@
diff --git a/inputFiles/wellbore/ThermoPoroElasticWellbore_base.xml b/inputFiles/wellbore/ThermoPoroElasticWellbore_base.xml
index 20aaa9ae436..44cd4c3e971 100644
--- a/inputFiles/wellbore/ThermoPoroElasticWellbore_base.xml
+++ b/inputFiles/wellbore/ThermoPoroElasticWellbore_base.xml
@@ -50,7 +50,7 @@
@@ -85,9 +85,9 @@
-
+ defaultThermalConductivityComponents="{ 6.6, 6.6, 6.6 }"/>
@@ -161,6 +161,7 @@
setNames="{ zneg, zpos }"/>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/ECP_Wellbore_geom02.xml b/inputFiles/wellboreECP/ECP_Wellbore_geom02.xml
new file mode 100644
index 00000000000..dcd2f82f4d2
--- /dev/null
+++ b/inputFiles/wellboreECP/ECP_Wellbore_geom02.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/ECP_Wellbore_geom03.xml b/inputFiles/wellboreECP/ECP_Wellbore_geom03.xml
new file mode 100644
index 00000000000..d9e0265862c
--- /dev/null
+++ b/inputFiles/wellboreECP/ECP_Wellbore_geom03.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/ECP_Wellbore_geom04.xml b/inputFiles/wellboreECP/ECP_Wellbore_geom04.xml
new file mode 100644
index 00000000000..f89b5a7df8c
--- /dev/null
+++ b/inputFiles/wellboreECP/ECP_Wellbore_geom04.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/ECP_Wellbore_geom05.xml b/inputFiles/wellboreECP/ECP_Wellbore_geom05.xml
new file mode 100644
index 00000000000..b6ff8b22bfc
--- /dev/null
+++ b/inputFiles/wellboreECP/ECP_Wellbore_geom05.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/ECP_Wellbore_geom06.xml b/inputFiles/wellboreECP/ECP_Wellbore_geom06.xml
new file mode 100644
index 00000000000..46653587fab
--- /dev/null
+++ b/inputFiles/wellboreECP/ECP_Wellbore_geom06.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/ECP_Wellbore_probdef.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/ECP_Wellbore_probdef.xml
new file mode 100644
index 00000000000..4b426eae484
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/ECP_Wellbore_probdef.xml
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/co2flash.txt b/inputFiles/wellboreECP/compositionalMultiphaseFlow/co2flash.txt
new file mode 100644
index 00000000000..ec46548d345
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/co2flash.txt
@@ -0,0 +1 @@
+FlashModel CO2Solubility 1e6 5e7 5e5 367.15 369.15 1 0
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..d7f365e4ac3
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/launch_frontier
new file mode 100644
index 00000000000..550f5402193
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level01/launch_frontier
@@ -0,0 +1,13 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 1
+#SBATCH -t 1:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom01.out
+
+echo `date`
+cmd="srun -N 1 -n 1 -c 1 --gpus-per-node=1 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 1 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..968c53afb99
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/launch_frontier
new file mode 100644
index 00000000000..15379ad037a
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level02/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 4
+#SBATCH -t 2:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom02.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 1 -n 4 -c 1 --gpus-per-node=4 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 4 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..299faa6e0d5
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/launch_frontier
new file mode 100644
index 00000000000..b64624e817e
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level03/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 4
+#SBATCH -n 32
+#SBATCH -t 2:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom03.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 4 -n 32 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 2 -y 2 -z 8 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..75790211238
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/launch_frontier
new file mode 100644
index 00000000000..8068a2eafb8
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level04/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 32
+#SBATCH -n 256
+#SBATCH -t 2:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom04.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 32 -n 256 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 4 -y 4 -z 16 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..bb2a7a50ffe
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/launch_frontier
new file mode 100644
index 00000000000..7b26b022959
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level05/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 256
+#SBATCH -n 2048
+#SBATCH -t 4:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom05.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 256 -n 2048 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 8 -y 8 -z 32 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..bdfaaf7384b
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/ECP_Wellbore_gpu.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/launch_frontier b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/launch_frontier
new file mode 100644
index 00000000000..e8f3c24bf51
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/level06/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 2048
+#SBATCH -n 16384
+#SBATCH -t 4:00:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-compflow-geom06.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 2048 -n 16384 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 16 -y 16 -z 64 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtgas.txt b/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtgas.txt
new file mode 100644
index 00000000000..6442bd866a3
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtgas.txt
@@ -0,0 +1,2 @@
+DensityFun SpanWagnerCO2Density 1e6 5e7 5e5 367.15 369.15 1
+ViscosityFun FenghourCO2Viscosity 1e6 5e7 5e5 367.15 369.15 1
diff --git a/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtliquid.txt b/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtliquid.txt
new file mode 100644
index 00000000000..a4b549a84ca
--- /dev/null
+++ b/inputFiles/wellboreECP/compositionalMultiphaseFlow/pvtliquid.txt
@@ -0,0 +1,2 @@
+DensityFun PhillipsBrineDensity 1e6 5e7 5e5 367.15 369.15 1 0
+ViscosityFun PhillipsBrineViscosity 0
diff --git a/inputFiles/wellboreECP/dispatch.py b/inputFiles/wellboreECP/dispatch.py
new file mode 100755
index 00000000000..63249ecf0e2
--- /dev/null
+++ b/inputFiles/wellboreECP/dispatch.py
@@ -0,0 +1,52 @@
+#!/opt/cray/pe/python/3.11.5/bin/python
+
+import argparse
+import os
+import sys
+
+def main(args):
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-a','--account',required=True)
+ parser.add_argument('-b','--binary',required=True)
+ parser.add_argument('-c','--caliper',default="")
+ parser.add_argument('-p','--problem',required=True)
+ parser.add_argument('-s','--script',default="launch_frontier")
+ parser.add_argument('-d','--dispatch',default="sbatch")
+ parser.add_argument('-v','--verbosity',type=int,default=0)
+ parser.add_argument('-l','--levels',nargs='+')
+ args = parser.parse_args(args)
+
+ if args.caliper in ("default", "def", "standard", "std"):
+ profiling="\"-t runtime-report,max_column_width=200,calc.inclusive,output=stdout,mpi-report\""
+ else:
+ profiling=args.caliper
+
+ avail_problems = [ d for d in os.listdir(os.getcwd()) if os.path.isdir(d) ]
+
+ if args.problem not in avail_problems:
+ print(f"Unkown problem {args.problem}")
+ raise SystemExit(1)
+
+ os.chdir(os.path.join(os.getcwd(),args.problem))
+ prob_dir = os.getcwd()
+
+ levels = list( sorted( ( d for d in os.listdir(prob_dir) if os.path.isdir(d) and d.startswith("level") ), key=lambda v: int(v[5:]) ) )
+ if args.levels is not None:
+ args.levels = [ int(l) for l in args.levels ]
+ levels = [ l for l in levels if int(l[5:]) in args.levels ]
+
+ if args.verbosity:
+ print(f"{levels = }")
+
+ launch = ' '.join([args.dispatch, "-A", args.account, args.script, args.binary, profiling])
+ if args.verbosity:
+ print(f"{launch = }")
+
+ for level in levels:
+ os.chdir(level)
+ print(os.getcwd())
+ os.system(launch)
+ os.chdir(prob_dir)
+
+if __name__ == "__main__":
+ main(sys.argv[1:])
diff --git a/inputFiles/wellboreECP/mechanics/ECP_Wellbore_probdef.xml b/inputFiles/wellboreECP/mechanics/ECP_Wellbore_probdef.xml
new file mode 100644
index 00000000000..03565ea7c62
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/ECP_Wellbore_probdef.xml
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..ff1e6e2786b
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..955caa1251f
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level01/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level01/launch_frontier b/inputFiles/wellboreECP/mechanics/level01/launch_frontier
new file mode 100644
index 00000000000..1e292da4fa3
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level01/launch_frontier
@@ -0,0 +1,13 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 1
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom01.out
+
+echo `date`
+cmd="srun -N 1 -n 1 -c 1 --gpus-per-node=1 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 1 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..0ce1e921b86
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..42b793fd141
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level02/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level02/launch_frontier b/inputFiles/wellboreECP/mechanics/level02/launch_frontier
new file mode 100644
index 00000000000..dc892143c51
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level02/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 8
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom02.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1;
+ldd ${1}
+cmd="srun -N 1 -n 8 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 8 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..f293dbac569
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..2f45ff7d84a
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level03/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level03/launch_frontier b/inputFiles/wellboreECP/mechanics/level03/launch_frontier
new file mode 100644
index 00000000000..ec1946ef77f
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level03/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 8
+#SBATCH -n 64
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom03.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 8 -n 64 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 2 -y 2 -z 16 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..0275158d56e
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..0daa1f3b2e1
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level04/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level04/launch_frontier b/inputFiles/wellboreECP/mechanics/level04/launch_frontier
new file mode 100644
index 00000000000..30504f5a86b
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level04/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 64
+#SBATCH -n 512
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom04.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 64 -n 512 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 4 -y 4 -z 32 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..e175ad452cc
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..35793297b48
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level05/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level05/launch_frontier b/inputFiles/wellboreECP/mechanics/level05/launch_frontier
new file mode 100644
index 00000000000..d69845ff39a
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level05/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 512
+#SBATCH -n 4096
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom05.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 512 -n 4096 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 8 -y 8 -z 64 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..d1901ff9371
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_cpu.xml
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..8ebe7b9238e
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level06/ECP_Wellbore_gpu.xml
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/mechanics/level06/launch_frontier b/inputFiles/wellboreECP/mechanics/level06/launch_frontier
new file mode 100644
index 00000000000..2fd2ad14edc
--- /dev/null
+++ b/inputFiles/wellboreECP/mechanics/level06/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 4096
+#SBATCH -n 32768
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-mechanics-geom06.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 4096 -n 32768 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 16 -y 16 -z 128 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/postprocess.py b/inputFiles/wellboreECP/postprocess.py
new file mode 100755
index 00000000000..914c1abd038
--- /dev/null
+++ b/inputFiles/wellboreECP/postprocess.py
@@ -0,0 +1,241 @@
+#!/opt/cray/pe/python/3.11.5/bin/python
+
+import matplotlib.pyplot as plt
+import argparse
+import glob
+import sys
+import re
+import os
+
+def parse_log_file(file_path):
+ """Parse the log file from GEOS and extract required statistics."""
+ try:
+ print(f"Parsing {file_path = }")
+ with open(file_path, 'r') as file:
+ data = file.read()
+
+ except FileNotFoundError:
+ print(f"Error: File not found - {file_path}", file=sys.stderr)
+
+ except Exception as e:
+ print(f"Error processing file {file_path}: {str(e)}", file=sys.stderr)
+
+ # Regex patterns to extract the required information
+ patterns = {
+ 'non_linear_iters': re.compile(r'number of successful nonlinear iterations: (\d+).*number of discarded nonlinear iterations: (\d+)', re.S),
+ 'linear_iters': re.compile(r'number of successful linear iterations: (\d+).*number of discarded linear iterations: (\d+)', re.S),
+ 'applysol_time': re.compile(r'apply solution time = (\d+\.\d+) s'),
+ 'assemble_time': re.compile(r'assemble time = (\d+\.\d+) s'),
+ 'convcheck_time': re.compile(r'convergence check time = (\d+\.\d+) s'),
+ 'update_state_time': re.compile(r'update state time = (\d+\.\d+) s'),
+ 'ls_create_time': re.compile(r'linear solver create time = (\d+.\d+) s'),
+ 'ls_setup_time': re.compile(r'linear solver setup time = (\d+.\d+) s'),
+ 'ls_solve_time': re.compile(r'linear solver solve time = (\d+.\d+) s'),
+ 'run_time': re.compile(r'run time\s+.*\((\d+\.\d+) s\)')
+ }
+
+ # Dictionary to hold the results
+ stats = {}
+
+ # Extract and process all patterns
+ for key, pattern in patterns.items():
+ if key in ['non_linear_iters', 'linear_iters']:
+ xmatch = pattern.search(data)
+ stats[key] = int(xmatch.group(1)) + int(xmatch.group(2)) if xmatch else 0
+
+ else:
+ xmatch = pattern.search(data)
+ stats[key] = float(xmatch.group(1)) if xmatch else 0
+
+ # Calculate GEOS time (run time excluding hypre time)
+ stats['geos_time'] = stats['run_time'] - (stats['ls_create_time'] + stats['ls_setup_time'] + stats['ls_solve_time'])
+
+ # Calculate averages
+ averages = {
+ 'avg_geos_time': 'geos_time',
+ 'avg_ls_create_time': 'ls_create_time',
+ 'avg_ls_setup_time': 'ls_setup_time',
+ 'avg_ls_solve_time': 'ls_solve_time',
+ 'avg_ls_iters': 'linear_iters',
+ 'avg_run_time': 'run_time'
+ }
+
+ if stats['non_linear_iters'] <= 0:
+ print(f"Invalid number of non-linear iterations!", file=sys.stderr)
+ return None
+
+ for avg_key, total_key in averages.items():
+ stats[avg_key] = stats[total_key] / stats['non_linear_iters']
+
+ # Store level
+ xmatch = re.search(r'level(\d+)', file_path)
+ stats['level'] = int(xmatch.group(1)) if xmatch else -1
+
+ return stats
+
+def print_results(model, results):
+ """Print results in markdown table format"""
+ if not results or not all(results):
+ print(f"Invalid results!", file=sys.stderr)
+ return
+
+ # Setup header
+ headers = ["Level", "GEOS (s)", "Matrix creation (s)", "Hypre setup (s)", "Hypre solve (s)", "Total (s)", "Hypre iters"]
+
+ # Gather all rows data including headers
+ data_rows = [
+ headers,
+ *[
+ [
+ "{:02d}".format(result['level']),
+ "{:.4f}".format(result['avg_geos_time']),
+ "{:.4f}".format(result['avg_ls_create_time']),
+ "{:.4f}".format(result['avg_ls_setup_time']),
+ "{:.4f}".format(result['avg_ls_solve_time']),
+ "{:.4f}".format(result['avg_run_time']),
+ "{:.1f}".format(result['avg_ls_iters']),
+ ]
+ for result in results
+ ]
+ ]
+
+ # Calculate maximum column widths
+ max_widths = [max(len(row[i]) for row in data_rows) for i in range(len(headers))]
+
+ # Print header row with adjusted widths
+ header_row = "| " + " | ".join(header.ljust(max_widths[i]) for i, header in enumerate(headers)) + " |"
+ print(f"\nSummary table for {model}:\n")
+ print(header_row)
+
+ # Adjust the divider line based on maximum widths
+ divider_line = "|" + "|".join(["-" * (max_widths[i] + 2) for i in range(len(headers))]) + "|"
+ print(divider_line)
+
+ # Print each data row with adjusted widths
+ for row in data_rows[1:]: # Skip the header in data_rows for output
+ formatted_row = "| " + " | ".join(item.ljust(max_widths[i]) for i, item in enumerate(row)) + " |"
+ print(formatted_row)
+
+def plot_results(model, model_data, results, fs=16, ms=10):
+ if not results:
+ return
+
+ plt.rcParams.update({'font.size': fs})
+ fig, ax = plt.subplots(figsize=(10, 6))
+
+ # Extracting ranks and global DOFs
+ levels = [result['level'] for result in results]
+ ranks = [entry['ranks'] for entry in model_data if entry['level'] in levels]
+ global_dofs = [entry['global_dofs'] for entry in model_data if entry['level'] in levels]
+
+ # Setting up data for plotting
+ geos_times = [result['avg_geos_time'] for result in results]
+ ls_create_times = [result['avg_ls_create_time'] for result in results]
+ ls_setup_times = [result['avg_ls_setup_time'] for result in results]
+ ls_solve_times = [result['avg_ls_solve_time'] for result in results]
+ total_times = [result['avg_run_time'] for result in results]
+
+ # Plotting each metric
+ ax.plot(ranks, geos_times, 'o-', markersize=ms, label='GEOS')
+ ax.plot(ranks, ls_create_times, 's-', markersize=ms, label='Matrix Creation')
+ ax.plot(ranks, ls_setup_times, '^-', markersize=ms, label='Hypre Setup')
+ ax.plot(ranks, ls_solve_times, 'v-', markersize=ms, label='Hypre Solve')
+ ax.plot(ranks, total_times, 'd-', markersize=ms, label='Total')
+
+ # Adding labels and legend
+ ax.set_title(f"Weak scaling - {model}", fontsize=fs+4)
+ ax.set_xlabel('Number of GPUs (Global DOFs)', labelpad=18, fontsize=fs+1)
+ ax.set_ylabel('Time (s)', labelpad=18, fontsize=fs+1)
+ ax.set_xscale('log', base=2)
+ ax.set_xticks(ranks)
+ ax.set_xticklabels([f"{r:,} ({d})" for r, d in zip(ranks, global_dofs)])
+ ax.legend(fontsize=fs)
+
+ # Show grid lines
+ ax.grid(True, which='both', linestyle='--', linewidth=0.5, color='gray') # Add gridlines with custom settings
+
+ # Update margins
+ plt.tight_layout()
+
+ # Save figure to file
+ figname = f"weakscal_{model}.png"
+ print(f"Saving figure to file {figname}...")
+ plt.savefig(figname, format='png', dpi=450)
+
+ # Show the plot
+ plt.show()
+
+def find_newest_file(model, level):
+ """Finds the newest output file under the directory relative to a physics model and for certain problem level (mesh refinement)."""
+ target_dir = os.path.join(model, f"level{level:02d}")
+ files = glob.glob(os.path.join(target_dir, '*.out'))
+ if not files:
+ return target_dir, None
+
+ # Extract the job ID numbers and sort the files by these IDs
+ suffixes = {'mechanics': 'mechanics',
+ 'singlePhaseFlow': 'singlePhaseFlow',
+ 'compositionalMultiphaseFlow': 'compflow'}
+ files_with_ids = [(file, int(re.search(rf"(\d+)-{suffixes[model]}", file).group(1))) for file in files]
+
+ # Sort by the job ID number
+ return target_dir, max(files_with_ids, key=lambda x: x[1])[0]
+
+def main():
+ """Process multiple input files and store results using command line arguments."""
+ valid_models = ['mechanics', 'singlePhaseFlow', 'compositionalMultiphaseFlow']
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-m', '--model', required=True, choices=valid_models, help="Physics model")
+ parser.add_argument('-l', '--levels', nargs='+', type=int, help="Levels to process")
+ args = parser.parse_args()
+
+ # Setup problem info
+ problems = {
+ "mechanics": [
+ {"level": 2, "ranks": 8, "global_dofs": "20.7M"},
+ {"level": 3, "ranks": 64, "global_dofs": "162M"},
+ {"level": 4, "ranks": 512, "global_dofs": "1.3B"},
+ {"level": 5, "ranks": 4096, "global_dofs": "10.2B"},
+ {"level": 6, "ranks": 32768, "global_dofs": "81.3B"}
+ ],
+ "singlePhaseFlow": [
+ {"level": 2, "ranks": 4, "global_dofs": "6.6M"},
+ {"level": 3, "ranks": 32, "global_dofs": "52.8M"},
+ {"level": 4, "ranks": 256, "global_dofs": "422M"},
+ {"level": 5, "ranks": 2048, "global_dofs": "3.4B"},
+ {"level": 6, "ranks": 16384, "global_dofs": "27B"}
+ ],
+ "compositionalMultiphaseFlow": [
+ {"level": 2, "ranks": 4, "global_dofs": "19.8M"},
+ {"level": 3, "ranks": 32, "global_dofs": "153M"},
+ {"level": 4, "ranks": 256, "global_dofs": "1.2B"},
+ {"level": 5, "ranks": 2048, "global_dofs": "9.8B"}
+ ]
+ }
+
+ # Set default levels if not passed in
+ if args.levels is None:
+ args.levels = [entry['level'] for entry in problems[args.model]]
+
+ # Read log files
+ results = []
+ file_paths = []
+ for level in args.levels:
+ target_dir, file_path = find_newest_file(args.model, level)
+ if file_path:
+ file_paths.append(file_path)
+ else:
+ print(f"No suitable files found in {target_dir}")
+
+ # Parse statistics
+ results = [parse_log_file(fp) for fp in file_paths]
+
+ # Print summary table
+ print_results(args.model, results)
+
+ # Plot results
+ plot_results(args.model, problems[args.model], results)
+
+if __name__ == "__main__":
+ main()
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/ECP_Wellbore_probdef.xml b/inputFiles/wellboreECP/singlePhaseFlow/ECP_Wellbore_probdef.xml
new file mode 100644
index 00000000000..73411abc18e
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/ECP_Wellbore_probdef.xml
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..56163cee621
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_cpu.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..81a0b3b84b6
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level01/ECP_Wellbore_gpu.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level01/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level01/launch_frontier
new file mode 100644
index 00000000000..d31e8dd39c3
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level01/launch_frontier
@@ -0,0 +1,13 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 1
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom01.out
+
+echo `date`
+cmd="srun -N 1 -n 1 -c 1 --gpus-per-node=1 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 1 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..dffc9e5be37
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_cpu.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..e784ec8cf0a
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level02/ECP_Wellbore_gpu.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level02/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level02/launch_frontier
new file mode 100644
index 00000000000..2741050a32c
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level02/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 1
+#SBATCH -n 4
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom02.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 1 -n 4 -c 1 --gpus-per-node=4 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 1 -y 1 -z 4 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..0f58cf96b36
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_cpu.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..33bc77be4fc
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level03/ECP_Wellbore_gpu.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level03/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level03/launch_frontier
new file mode 100644
index 00000000000..b549f4c4ff5
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level03/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 4
+#SBATCH -n 32
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom03.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 4 -n 32 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 2 -y 2 -z 8 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..caf966a8b6e
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_cpu.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..69294a7faca
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level04/ECP_Wellbore_gpu.xml
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level04/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level04/launch_frontier
new file mode 100644
index 00000000000..80748a5e6d7
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level04/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 32
+#SBATCH -n 256
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom04.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 32 -n 256 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 4 -y 4 -z 16 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_cpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_cpu.xml
new file mode 100644
index 00000000000..2b784e869dd
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_cpu.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..4bfc1ff0df2
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level05/ECP_Wellbore_gpu.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level05/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level05/launch_frontier
new file mode 100644
index 00000000000..88572e1e96d
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level05/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 256
+#SBATCH -n 2048
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom05.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 256 -n 2048 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 8 -y 8 -z 32 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level06/ECP_Wellbore_gpu.xml b/inputFiles/wellboreECP/singlePhaseFlow/level06/ECP_Wellbore_gpu.xml
new file mode 100644
index 00000000000..2cfaca7d3d5
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level06/ECP_Wellbore_gpu.xml
@@ -0,0 +1,65 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/inputFiles/wellboreECP/singlePhaseFlow/level06/launch_frontier b/inputFiles/wellboreECP/singlePhaseFlow/level06/launch_frontier
new file mode 100644
index 00000000000..3791ac44860
--- /dev/null
+++ b/inputFiles/wellboreECP/singlePhaseFlow/level06/launch_frontier
@@ -0,0 +1,18 @@
+#!/bin/bash
+#SBATCH -N 2048
+#SBATCH -n 16384
+#SBATCH -t 0:30:00
+#SBATCH -J geos
+#SBATCH -o frontier-%j-singlePhaseFlow-geom06.out
+
+echo `date`
+module load cpe/23.12
+module load craype-accel-amd-gfx90a
+module load rocm/5.4.3
+export MPICH_GPU_SUPPORT_ENABLED=1
+ldd ${1}
+cmd="srun -N 2048 -n 16384 -c 1 --gpus-per-node=8 --ntasks-per-gpu=1 --gpu-bind=closest ${1} -i ECP_Wellbore_gpu.xml -x 16 -y 16 -z 64 ${2}"
+echo "${cmd}"
+${cmd}
+echo `date`
+echo 'Done'
diff --git a/scripts/SchemaToRSTDocumentation.py b/scripts/SchemaToRSTDocumentation.py
index e6492853736..8a7b1a8cda7 100644
--- a/scripts/SchemaToRSTDocumentation.py
+++ b/scripts/SchemaToRSTDocumentation.py
@@ -1,7 +1,7 @@
import os
import re
-import sys
-#import numpy as np
+import shutil
+import argparse
from xml.etree import ElementTree as etree
@@ -13,9 +13,11 @@ def comment(self, data):
self.end(etree.Comment)
-def writeTableRST(file_name, values):
+def writeTableRST(type_name, file_name, title_prefix, values):
+
+ element_header = '%s: %s' % (title_prefix, type_name)
+
L = [[len(x) for x in row] for row in values]
- # M = tuple(np.amax(np.array(L), axis=0))
# np isn't in the docker images for our CI
MAX = [None] * len(L[0])
@@ -55,7 +57,9 @@ def writeTableRST(file_name, values):
# Build table
with open(file_name, 'w') as f:
- f.write('\n\n')
+ f.write('%s\n' % (element_header))
+ f.write('=' * len(element_header) + '\n')
+ f.write('\n')
f.write(boundary)
f.write(formatted_lines[0])
f.write(boundary)
@@ -211,107 +215,91 @@ def buildTableValues(type_map, link_string='XML', include_defaults=True):
return table_values
-# Config
-if len(sys.argv) < 2:
- print("Usage: %s " % sys.argv[0])
- sys.exit(1)
-schema_dir = sys.argv[1]
-schema_name = os.path.join(schema_dir, 'schema.xsd')
-additional_documentation_name = os.path.join(schema_dir, 'schema.xsd.other')
-complete_output = os.path.join(schema_dir, '../../docs/sphinx/CompleteXMLSchema')
-output_folder = os.path.join(schema_dir, 'docs')
-sphinx_path = '../../coreComponents/schema/docs'
-xsd = '{http://www.w3.org/2001/XMLSchema}'
-
-# Parse the input/non-input schemas
-parser = etree.XMLParser(target=TreeBuilderWithComments())
-include_tree = etree.parse(schema_name, parser=parser)
-include_root = include_tree.getroot()
-input_attribute_map = buildAttributeMap(include_root)
-
-parser = etree.XMLParser(target=TreeBuilderWithComments())
-include_tree = etree.parse(additional_documentation_name, parser=parser)
-include_root = include_tree.getroot()
-other_attribute_map = buildAttributeMap(include_root)
-
-# Check for non-unique (ignoring case) links
-input_keys = sorted(input_attribute_map.keys())
-input_keys_lower = [k.lower() for k in input_keys]
-input_keys_count = [input_keys_lower.count(k) for k in input_keys_lower]
-input_repeated_keys = [input_keys[ii] for ii in range(0, len(input_keys)) if input_keys_count[ii] > 1]
-
-other_keys = sorted(other_attribute_map.keys())
-other_keys_lower = [k.lower() for k in other_keys]
-other_keys_count = [other_keys_lower.count(k) for k in other_keys_lower]
-other_repeated_keys = [other_keys[ii] for ii in range(0, len(other_keys)) if other_keys_count[ii] > 1]
-
-if ((len(input_repeated_keys) > 0) | (len(other_repeated_keys) > 0)):
- print('Duplicate input documentation table names:')
- print(input_repeated_keys)
- print('Duplicate other documentation table names:')
- print(other_repeated_keys)
- raise ValueError('Duplicate data structure names are not allowed due to .rst limitations (case-insensitive)!')
-
-# Setup directory
-os.system('mkdir -p %s' % (output_folder))
-
-# Keep track of existing/touched files
-old_files = [f for f in os.listdir(output_folder) if '.rst' in f]
-touched_files = []
-
-# Build documentation tables
-with open('%s.rst' % (complete_output), 'w') as output_handle:
- # Write the file header
- output_handle.write('######################\n')
- output_handle.write('Datastructure Index\n')
- output_handle.write('######################\n\n')
-
- # Parse the input schema definitions
- output_handle.write('**************************\n\n')
- output_handle.write('Input Schema Definitions\n')
- output_handle.write('**************************\n\n')
-
- output_handle.write(':download:`XML Schema <%s/../schema.xsd>`\n\n' % (sphinx_path))
-
- for type_name in sorted(input_attribute_map.keys()):
- # Write the individual tables
- table_values = buildTableValues(input_attribute_map[type_name])
- writeTableRST('%s/%s.rst' % (output_folder, type_name), table_values)
- touched_files.append('%s.rst' % (type_name))
-
- # Write to the master list
- element_header = 'Element: %s' % (type_name)
- output_handle.write('\n.. _XML_%s:\n\n' % (type_name))
- output_handle.write('%s\n' % (element_header))
- output_handle.write('=' * len(element_header) + '\n')
- output_handle.write('.. include:: %s/%s.rst\n\n' % (sphinx_path, type_name))
-
- # Parse the non-input schema definitions
- output_handle.write('********************************\n')
- output_handle.write('Datastructure Definitions\n')
- output_handle.write('********************************\n\n')
-
- for type_name in sorted(other_attribute_map.keys()):
- # Write the individual tables
- table_values = buildTableValues(other_attribute_map[type_name],
- link_string='DATASTRUCTURE',
- include_defaults=False)
- writeTableRST('%s/%s_other.rst' % (output_folder, type_name), table_values)
- touched_files.append('%s_other.rst' % (type_name))
-
- # Write to the master list
- element_header = 'Datastructure: %s' % (type_name)
- output_handle.write('\n.. _DATASTRUCTURE_%s:\n\n' % (type_name))
- output_handle.write('%s\n' % (element_header))
- output_handle.write('=' * len(element_header) + '\n')
- output_handle.write('.. include:: %s/%s_other.rst\n\n' % (sphinx_path, type_name))
-
-# Check for any untouched tables
-untouched_files = []
-for f in old_files:
- if f not in touched_files:
- untouched_files.append(f)
-
-if len(untouched_files):
- tmp = '\n '.join(untouched_files)
- raise ValueError('Obsolete autogenerated .rst table files detected:%s' % (tmp))
+def main(schema_name='schema.xsd', output_folder='./', xsd='{http://www.w3.org/2001/XMLSchema}'):
+ """
+ Build RST Documentation Tables
+ """
+ # Setup folders
+ additional_documentation_name = f'{schema_name}.other'
+ output_folder = os.path.abspath(os.path.expanduser(output_folder))
+ datastructure_folder = os.path.join(output_folder, 'datastructure')
+ summary_file = os.path.join(datastructure_folder, 'CompleteXMLSchema.rst')
+ os.makedirs(datastructure_folder, exist_ok=True)
+ shutil.copy(schema_name, os.path.join(datastructure_folder, 'schema.xsd'))
+ shutil.copy(additional_documentation_name, os.path.join(datastructure_folder, 'schema.xsd.other'))
+
+ # Parse the input/non-input schemas
+ parser = etree.XMLParser(target=TreeBuilderWithComments())
+ include_tree = etree.parse(schema_name, parser=parser)
+ include_root = include_tree.getroot()
+ input_attribute_map = buildAttributeMap(include_root)
+
+ parser = etree.XMLParser(target=TreeBuilderWithComments())
+ include_tree = etree.parse(additional_documentation_name, parser=parser)
+ include_root = include_tree.getroot()
+ other_attribute_map = buildAttributeMap(include_root)
+
+ # Check for non-unique (ignoring case) links
+ input_keys = sorted(input_attribute_map.keys())
+ input_keys_lower = [k.lower() for k in input_keys]
+ input_keys_count = [input_keys_lower.count(k) for k in input_keys_lower]
+ input_repeated_keys = [input_keys[ii] for ii in range(0, len(input_keys)) if input_keys_count[ii] > 1]
+
+ other_keys = sorted(other_attribute_map.keys())
+ other_keys_lower = [k.lower() for k in other_keys]
+ other_keys_count = [other_keys_lower.count(k) for k in other_keys_lower]
+ other_repeated_keys = [other_keys[ii] for ii in range(0, len(other_keys)) if other_keys_count[ii] > 1]
+
+ if ((len(input_repeated_keys) > 0) | (len(other_repeated_keys) > 0)):
+ print('Duplicate input documentation table names:')
+ print(input_repeated_keys)
+ print('Duplicate other documentation table names:')
+ print(other_repeated_keys)
+ raise ValueError('Duplicate data structure names are not allowed due to .rst limitations (case-insensitive)!')
+
+ # Build documentation tables
+ with open(summary_file, 'w') as output_handle:
+ # Write the file header
+ output_handle.write('###################\n')
+ output_handle.write('Datastructure Index\n')
+ output_handle.write('###################\n\n')
+
+ # Parse the input schema definitions
+ output_handle.write('************************\n')
+ output_handle.write('Input Schema Definitions\n')
+ output_handle.write('************************\n\n')
+
+ output_handle.write(':download:`XML Schema `\n\n')
+
+ for type_name in sorted(input_attribute_map.keys()):
+ # Write the individual tables
+ table_values = buildTableValues(input_attribute_map[type_name])
+ writeTableRST( type_name, '%s/%s.rst' % (datastructure_folder, type_name), 'XML Element', table_values)
+
+ # Write to the master list
+ output_handle.write('\n.. _XML_%s:\n\n' % (type_name))
+ output_handle.write('.. include:: %s.rst\n\n' % (type_name))
+
+ # Parse the non-input schema definitions
+ output_handle.write('*************************\n')
+ output_handle.write('Datastructure Definitions\n')
+ output_handle.write('*************************\n\n')
+
+ for type_name in sorted(other_attribute_map.keys()):
+ # Write the individual tables
+ table_values = buildTableValues(other_attribute_map[type_name],
+ link_string='DATASTRUCTURE',
+ include_defaults=False)
+ writeTableRST( type_name, '%s/%s_other.rst' % (datastructure_folder, type_name), 'Datastructure', table_values)
+
+ # Write to the master list
+ output_handle.write('\n.. _DATASTRUCTURE_%s:\n\n' % (type_name))
+ output_handle.write('.. include:: %s_other.rst\n\n' % (type_name))
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('-s', '--schema', type=str, help='GEOS schema file', default='schema.xsd')
+ parser.add_argument('-o', '--output', type=str, help='Output directory', default='./')
+ args = parser.parse_args()
+ main(schema_name=args.schema, output_folder=args.output)
diff --git a/scripts/automatic_xml_preprocess.sh b/scripts/automatic_xml_preprocess.sh
index b1cf109b943..df7fb7a3be1 100755
--- a/scripts/automatic_xml_preprocess.sh
+++ b/scripts/automatic_xml_preprocess.sh
@@ -9,7 +9,7 @@ COMPILED_XML_NAME_OVERRIDE=""
PARAMETER_ARGS=""
NEW_ARGS=""
USE_PYGEOSX=1
-PYGEOS_WARNINGS=0
+PYGEOSX_WARNINGS=0
SCRIPT_DIR=$(dirname "$0")
PYGEOSX=$SCRIPT_DIR/../lib/PYGEOSX/bin/python
@@ -37,7 +37,7 @@ do
shift
;;
-w|--pygeosx-warnings)
- PYGEOS_WARNINGS=$2
+ PYGEOSX_WARNINGS=$2
shift
;;
-h|--help)
@@ -75,12 +75,12 @@ if [ "$USE_PYGEOSX" -eq "1" ]
then
if [ -f $PYGEOSX ]
then
- if [ "$PYGEOS_WARNINGS" -eq "1" ]
+ if [ "$PYGEOSX_WARNINGS" -eq "1" ]
then
echo "Using pygeosx to preprocess the xml file"
fi
else
- if [ "$PYGEOS_WARNINGS" -eq "1" ]
+ if [ "$PYGEOSX_WARNINGS" -eq "1" ]
then
echo "Pygeosx installation not found... reverting to non-pygeosx version"
fi
diff --git a/scripts/ci_build_and_test_in_container.sh b/scripts/ci_build_and_test_in_container.sh
index fbb33b328f9..23bff96bfa3 100755
--- a/scripts/ci_build_and_test_in_container.sh
+++ b/scripts/ci_build_and_test_in_container.sh
@@ -44,6 +44,10 @@ Usage: $0
The host-config. Path is relative to the root of the repository.
--install-dir-basename GEOS-e42ffc1
GEOS installation basename.
+ --makefile
+ Use "Unix Makefiles" as build system generator.
+ --ninja
+ Use "Ninja" as build system generator.
--no-install-schema
Do not install the xsd schema.
--no-run-unit-tests
@@ -68,10 +72,11 @@ exit 1
or_die cd $(dirname $0)/..
# Parsing using getopt
-args=$(or_die getopt -a -o h --long build-exe-only,cmake-build-type:,code-coverage,data-basename:,exchange-dir:,host-config:,install-dir-basename:,no-install-schema,no-run-unit-tests,nproc:,repository:,run-integrated-tests,sccache-credentials:,test-code-style,test-documentation,help -- "$@")
+args=$(or_die getopt -a -o h --long build-exe-only,cmake-build-type:,code-coverage,data-basename:,exchange-dir:,host-config:,install-dir-basename:,makefile,ninja,no-install-schema,no-run-unit-tests,nproc:,repository:,run-integrated-tests,sccache-credentials:,test-code-style,test-documentation,help -- "$@")
# Variables with default values
BUILD_EXE_ONLY=false
+BUILD_GENERATOR=""
GEOS_INSTALL_SCHEMA=true
HOST_CONFIG="host-configs/environment.cmake"
RUN_UNIT_TESTS=true
@@ -91,6 +96,9 @@ do
RUN_UNIT_TESTS=false
shift;;
--cmake-build-type) CMAKE_BUILD_TYPE=$2; shift 2;;
+ --ninja)
+ BUILD_GENERATOR=$1;
+ shift;;
--data-basename)
DATA_BASENAME=$2
DATA_BASENAME_WE=${DATA_BASENAME%%.*}
@@ -104,6 +112,7 @@ do
--exchange-dir) DATA_EXCHANGE_DIR=$2; shift 2;;
--host-config) HOST_CONFIG=$2; shift 2;;
--install-dir-basename) GEOS_DIR=${GEOSX_TPL_DIR}/../$2; shift 2;;
+ --makefile) BUILD_GENERATOR=""; shift;;
--no-install-schema) GEOS_INSTALL_SCHEMA=false; shift;;
--no-run-unit-tests) RUN_UNIT_TESTS=false; shift;;
--nproc) NPROC=$2; shift 2;;
@@ -211,7 +220,7 @@ fi
# The option `--oversubscribe` tells OpenMPI to allow more MPI ranks than the node has cores.
# This is needed because our unit test `blt_mpi_smoke` is run in parallel with _hard coded_ 4 ranks.
# While some of our ci nodes may have less cores available.
-#
+#
# In case we have more powerful nodes, consider removing `--oversubscribe` and use `--use-hwthread-cpus` instead.
# This will tells OpenMPI to discover the number of hardware threads on the node,
# and use that as the number of slots available. (There is a distinction between threads and cores).
@@ -221,7 +230,7 @@ or_die python3 scripts/config-build.py \
-bt ${CMAKE_BUILD_TYPE} \
-bp ${GEOS_BUILD_DIR} \
-ip ${GEOS_DIR} \
- --ninja \
+ ${BUILD_GENERATOR} \
-DBLT_MPI_COMMAND_APPEND='"--allow-run-as-root;--oversubscribe"' \
-DGEOS_INSTALL_SCHEMA=${GEOS_INSTALL_SCHEMA} \
-DENABLE_COVERAGE=$([[ "${CODE_COVERAGE}" = true ]] && echo 1 || echo 0) \
@@ -245,10 +254,10 @@ fi
# Performing the requested build.
if [[ "${BUILD_EXE_ONLY}" = true ]]; then
- or_die ninja -j $NPROC geosx
+ or_die cmake --build . -j $NPROC --target geosx
else
- or_die ninja -j $NPROC
- or_die ninja install
+ or_die cmake --build . -j $NPROC
+ or_die cmake --install .
if [[ ! -z "${DATA_BASENAME_WE}" ]]; then
# Here we pack the installation.
@@ -269,7 +278,7 @@ if [[ ! -z "${SCCACHE_CREDS}" ]]; then
fi
if [[ "${CODE_COVERAGE}" = true ]]; then
- or_die ninja coreComponents_coverage
+ or_die cmake --build . --target coreComponents_coverage
cp -r ${GEOS_BUILD_DIR}/coreComponents_coverage.info.cleaned ${GEOS_SRC_DIR}/geos_coverage.info.cleaned
fi
@@ -284,9 +293,11 @@ fi
if [[ "${RUN_INTEGRATED_TESTS}" = true ]]; then
# We split the process in two steps. First installing the environment, then running the tests.
- or_die ninja ats_environment
-
- # The tests are not run using ninja (`ninja --verbose ats_run`) because it swallows the output while all the simulations are running.
+ or_die cmake --build . --target ats_environment
+
+ # The tests are not run using cmake (`cmake --build . --verbose --target ats_run`)
+ # because with ninja it swallows the output while all the
+ # simulations are running.
# We directly use the script instead...
echo "Available baselines:"
ls -lR /tmp/geos/baselines
@@ -321,7 +332,7 @@ if [[ "${RUN_INTEGRATED_TESTS}" = true ]]; then
fi
# Cleaning the build directory.
-or_die ninja clean
+or_die cmake --build . --target clean
# Clean the repository
diff --git a/scripts/copyrightPrepender.py b/scripts/copyrightPrepender.py
index 2155567e3e4..216f3528260 100644
--- a/scripts/copyrightPrepender.py
+++ b/scripts/copyrightPrepender.py
@@ -39,7 +39,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/scripts/postProcessing/SneddonValidation.py b/scripts/postProcessing/SneddonValidation.py
index c49d4b4c254..ca5708d83c5 100644
--- a/scripts/postProcessing/SneddonValidation.py
+++ b/scripts/postProcessing/SneddonValidation.py
@@ -77,7 +77,7 @@ def main(filesPaths):
# Read HDF5
hf = h5py.File(hdf5File1Path, 'r')
jump = hf.get('displacementJump')
- jump = np.array(jump)
+ jump = np.asarray(jump)
aperture = jump[0, :, 0]
hf = h5py.File(hdf5File1Path, 'r')
diff --git a/scripts/postProcessing/plotsolution_thermalFlow.py b/scripts/postProcessing/plotsolution_thermalFlow.py
index a7fc5695da3..283bc0d12af 100644
--- a/scripts/postProcessing/plotsolution_thermalFlow.py
+++ b/scripts/postProcessing/plotsolution_thermalFlow.py
@@ -17,21 +17,21 @@ def main(directory):
# Read simulation output from HDF5 file
hf = h5py.File(hdf5FilePathTemperature, 'r')
timeTemperature = hf.get('temperature Time')
- timeTemperature = np.array(timeTemperature)
+ timeTemperature = np.asarray(timeTemperature)
centerTemperature = hf.get('temperature elementCenter')
- centerTemperature = np.array(centerTemperature)
+ centerTemperature = np.asarray(centerTemperature)
xcord_elm = centerTemperature[0,:,0]
ycord_elm = centerTemperature[0,:,1]
zcord_elm = centerTemperature[0,:,2]
temperature = hf.get('temperature')
- temperature = np.array(temperature)
+ temperature = np.asarray(temperature)
print(ycord_elm)
filename = "pressure_history.hdf5"
hdf5FilePathPressure = os.path.join( directory, filename )
hf = h5py.File(hdf5FilePathPressure, 'r')
- pressure = np.array( hf.get('pressure') )
+ pressure = np.asarray( hf.get('pressure') )
t_index = [0, 1, 2, 9]
tstar = [0, 100, 200, 900]
@@ -57,9 +57,9 @@ def main(directory):
pplist.append(ptemp)
temperaturelist.append(ttemp)
- xlist = np.array(xlist)
- pplist = np.array(pplist)
- temperaturelist = np.array(temperaturelist)
+ xlist = np.asarray(xlist)
+ pplist = np.asarray(pplist)
+ temperaturelist = np.asarray(temperaturelist)
#Visualization
diff --git a/scripts/processIntegratedTestCheckFailures.py b/scripts/processIntegratedTestCheckFailures.py
index ab5183322b9..db503687f42 100644
--- a/scripts/processIntegratedTestCheckFailures.py
+++ b/scripts/processIntegratedTestCheckFailures.py
@@ -48,9 +48,11 @@ def findFiles(folder, extension):
matchStrings = ['Error:']
# What stings to look for in order to exclude a block
+print( args.exclusionStrings )
+exclusionStrings = []
#exclusionStrings = [ 'sizedFromParent', 'different shapes' ]
-#exclusionStrings = [ 'sizedFromParent', 'different shapes', 'but not the' ]
-exclusionStrings = ['logLevel', 'NonlinearSolverParameters', 'has a child', 'different shapes', 'different types', 'differing types']
+#exclusionStrings = [ 'but not the' ]
+#exclusionStrings = ['logLevel', 'NonlinearSolverParameters', 'has a child', 'different shapes', 'different types', 'differing types']
exclusionStrings += args.exclusionStrings
directory = args.directory
diff --git a/scripts/repositoryStats.sh b/scripts/repositoryStats.sh
new file mode 100644
index 00000000000..62b6b996909
--- /dev/null
+++ b/scripts/repositoryStats.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+# This script is used to get the number of line changes with time
+# Usage:
+# bash repositoryStats.sh
+#
+
+months=`seq 1 12`
+years=`seq 2016 2024`
+
+echo "Month-Year NumDevelopersMonth numDevelopers3MonthWindow NumDevelopersTotal NumCommitsMonth NumCommitsTotal NumLinesInMonth"
+for year in $years
+do
+ for month in $months
+ do
+ numLines=$(git log --since="$year-$month-01" --until="$year-$month-31" --format= --numstat | awk '{s+=$1; s+=$2} END {print s}')
+ #numDevelopersMonth=$(git log --since="$year-$month-01" --until="$year-$month-31" --all --pretty="%an" | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+ numDevelopersMonth=$(git log --since="$year-$month-01" --until="$year-$month-31" | grep -E 'Author:|Co-authored-by:' | sed 's/^.*: //' | sed 's/<.*//' | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+
+ minus1month=$(date -j -v-1m -f "%Y-%m-%d" "$year-$month-15" "+%Y-%m-%d")
+ plus1month=$(date -j -v+1m -f "%Y-%m-%d" "$year-$month-15" "+%Y-%m-%d")
+
+# echo "Begin: $minus1month End: $plus1month"
+
+ # numDevelopers3Month=$(git log --since="$minus1month" --until="$plus1month" --all --pretty="%an" | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+ # numDevelopersTotal=$(git log --since="2010-01-01" --until="$year-$month-31" --all --pretty="%an" | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+ numDevelopers3Month=$(git log --since="$minus1month" --until="$plus1month" | grep -E 'Author:|Co-authored-by:' | sed 's/^.*: //' | sed 's/<.*//' | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+ numDevelopersTotal=$(git log --since="2010-01-01" --until="$year-$month-31" | grep -E 'Author:|Co-authored-by:' | sed 's/^.*: //' | sed 's/<.*//' | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py)
+
+ numCommitsMonth=$(git rev-list --count HEAD --since="$year-$month-01" --before="$year-$month-31")
+ numCommitsTotal=$(git rev-list --count HEAD --since="2010-01-01" --before="$year-$month-31")
+ echo "$month-$year $numDevelopersMonth $numDevelopers3Month $numDevelopersTotal $numCommitsMonth $numCommitsTotal $numLines"
+ done
+done
+
+
diff --git a/scripts/repositoryStats_condenseDev.py b/scripts/repositoryStats_condenseDev.py
new file mode 100644
index 00000000000..3146a5a1412
--- /dev/null
+++ b/scripts/repositoryStats_condenseDev.py
@@ -0,0 +1,321 @@
+import sys
+
+#
+# git log --since="2010-01-01" --until="2026-11-31" --all --pretty="%an" | sort | uniq | tr -d " ' " | xargs python3 repositoryStats_condenseDev.py
+#
+
+# Define the username mapping dictionary
+username_mapping = {
+"AleksNovikov" : "aleksnovikov",
+"AlexandreLapene" : "alexandrelapene",
+"Algiane" : "algiane",
+"AlgianeFroehly" : "algianefroehly",
+"AmmarAlali" : "ammaralali",
+"AndreaBorio" : "andreaborio",
+"AndreaFranceschini" : "andreafranceschini",
+"AndreCosta" : "andrecosta",
+"AndreMacieiraBragaCosta" : "andrecosta",
+"andrembcosta" : "andrecosta",
+"AntoineMazuyer" : "antoinemazuyer",
+"mazuyer" : "antoinemazuyer",
+"ArnaudDUDES" : "arnauddudes",
+"arng40" : "arnauddudes",
+"ArturoVargas" : "arturovargas",
+"Aurelien" : "aurelien",
+"acitrain" : "aurelien",
+"aure-lily" : "aurelily",
+"Ben" : "bencorbett",
+"BenCorbett" : "bencorbett",
+"BenjaminCorbett" : "bencorbett",
+"BenjaminCurticeCorbett" : "bencorbett",
+"BenjaminT.Liu" : "benjamintliu",
+"BertrandThierry" : "bertrandthierry",
+"BrianHan" : "brianhan",
+"BrianManhHienHan" : "brianhan",
+"CameronCrook" : "cameroncrook",
+"CameronMikelCrook" : "cameroncrook",
+"cmcrook5" : "cameroncrook",
+"Castelletto" : "castelletto",
+"Castelletto1" : "castelletto",
+"NicolaCastelletto" : "castelletto",
+"castelletto1" : "castelletto",
+"ChaoyiWang" : "chaoyiwang",
+"ChristopherSherman" : "christophersherman",
+"ChrisWhite" : "chriswhite",
+"DanielOsei-Kuffuor" : "danieloseikuffuor",
+"david4utd" : "ruiwang",
+"DicksonKachuma" : "dicksonkachuma",
+"dkachuma" : "dicksonkachuma",
+"FrancoisHamon" : "francoishamon",
+"francoishamon" : "francoishamon",
+"FanFei" : "frankfeifan",
+"Fei" : "frankfeifan",
+"frankfeifan" : "frankfeifan",
+"fanfei" : "frankfeifan",
+"fei2" : "frankfeifan",
+"Gaetan" : "gaetanfuss",
+"GaetanFuss" : "gaetanfuss",
+"GerasimosChourdakis" : "gerasimoschourdakis",
+"Guotong" : "guotongren",
+"GuotongRen" : "guotongren",
+"Guotong-Ren" : "guotongren",
+"hannah_mairs" : "hannahmairs",
+"HerveGross" : "hervegross",
+"HeweiTang" : "heweitang",
+"HuiWu" : "huiwu",
+"IbrahimIsraa" : "ibrahimisraa",
+"IgorShovkun" : "igorshovkun",
+"IsaacJu" : "isaacju",
+"IsaacJu-debug" : "isaacju",
+"JacquesFranc" : "jacquesfranc",
+"jacques" : "jacquesfranc",
+"jacquesn7" : "jacquesfranc",
+"jafranc" : "jacquesfranc",
+"jfranc" : "jacquesfranc",
+"JaisreeIyer" : "jaisreeiyer",
+"JamesCorbett" : "jamescorbett",
+"jay-a" : "jay-a",
+"JeannePellerin" : "jeannepellerin",
+"JieMeng" : "jiemeng",
+"jiamin.jiang" : "jiaminjiang",
+"jiemeng-total" : "jiemeng",
+"jhuang2601" : "jianhuang",
+"JianHUANG" : "jianhuang",
+"JianHuang" : "jianhuang",
+"JixiangHuang" : "jixianghuang",
+"JoshuaWhite" : "joshuawhite",
+"joshua-white" : "joshuawhite",
+"joshwhite" : "joshuawhite",
+"julia.camargo" : "juliacamargo",
+"juliatcamargo" : "juliacamargo",
+"BESSETJulien" : "julienrenethomasbesset",
+"Julien" : "julienrenethomasbesset",
+"JulienReneThomasBesset" : "julienrenethomasbesset",
+"KevinJ.Dugan" : "kevinjdugan",
+"labesse40" : "julienrenethomasbesset",
+"liyangrock" : "liyangrock",
+"LionelUntereiner" : "lioneluntereiner",
+"LucasVALARCHER" : "lucasvalarcher",
+"ŁukaszŁaniewski-Wołłk" : "lukaszlaniewski-wollk",
+"MadonnaYoder" : "madonnayoder",
+"MamadouN'diaye" : "mamadoundiaye",
+"MamadouNdiaye" : "mamadoundiaye",
+"mndiaye24" : "mamadoundiaye",
+"MarkKhait" : "markkhait",
+"mkhait" : "markkhait",
+"Cusini" : "matteocusini",
+"Matteo" : "matteocusini",
+"MatteoCusini" : "matteocusini",
+"MatteoFrigo" : "matteofrigo5",
+"matteofrigo5" : "matteofrigo5",
+"mfrigo" : "matteofrigo5",
+"Matthias" : "matthiascremon",
+"MatthiasCremon" : "matthiascremon",
+"MelReyCG" : "melreycg",
+"MichaelHomel" : "michaelhomel",
+"MiladBader" : "miladbader",
+"MohammadKarimi-Fard" : "mohammadkarimifard",
+"OluwatobiQuadriRaji" : "oluwatobiquadri",
+"Oluwatobi-PM" : "oluwatobiquadri",
+"Ouassim" : "ouassim",
+"paloma-martinez" : "palomamartinez",
+"PavelTomin" : "paveltomin",
+"paveltomin" : "paveltomin",
+"PengchengFu" : "pengchengfu",
+"PeterB.Robinson" : "peterbrobinson",
+"robinspb" : "peterbrobinson",
+"PhillipChacon" : "phillipchacon",
+"TheLastBlockbender" : "phillipchacon",
+"QuanBui" : "quanbui",
+"RandolphR.Settgast" : "randolphrsettgast",
+"RandolphSettgast" : "randolphrsettgast",
+"RandySettgast" : "randolphrsettgast",
+"UncrustifyRobot" : "randolphrsettgast",
+"dependabot[bot]" : "randolphrsettgast",
+"geosadmn" : "randolphrsettgast",
+"rasimHZ" : "rasimhz",
+"Ron-Wang" : "ronwang",
+"rustem.zaydullin@totalenergies.com" : "rustemzaydullin",
+"RyanARONSON(X)" : "ryanaronson",
+"RyanAronson" : "ryanaronson",
+"SergeyKlevtsov" : "sergeyklevtsov",
+"Shabnam" : "shabnamjandaghisemnani",
+"ShabnamJandaghiSemnani" : "shabnamjandaghisemnani",
+"shabnamjs" : "shabnamjandaghisemnani",
+"SohailWaziri" : "sohailwaziri",
+"sohailwaziri" : "sohailwaziri",
+"StefanoFrambati" : "stefanoframbati",
+"j0405284" : "stefanoframbati",
+"sframba" : "stefanoframbati",
+"StefanPovolny" : "stefanpovolny",
+"povolny1" : "stefanpovolny",
+"stenix" : "stenix",
+"Sy-TuanNguyen" : "sytuannguyen",
+"sytuannguyen" : "sytuannguyen",
+"TaehoKim" : "taehokim",
+"kimtaeho07" : "taehokim",
+"TaoJin" : "taojin",
+"tbeltzun" : "tbeltzun",
+"TerryLigocki" : "terryligocki",
+"ThomasGAZZOLA" : "thomasgazzola",
+"ThomasGazzola" : "thomasgazzola",
+"TotoGaz" : "thomasgazzola",
+"TomByer" : "tombyer",
+"ThomasJamesByer" : "tombyer",
+"tjb" : "tombyer",
+"tony" : "tony",
+"VictorA.P.Magri" : "victorapmagri",
+"VictorA.PaludettoMagri" : "victorapmagri",
+"WilliamRTobin" : "williamrtobin",
+"WilliamTobin" : "williamrtobin",
+"wrtobin" : "williamrtobin",
+"WuHuiLLNL" : "wuhuillnl",
+"XavierLacoste" : "xavierlacoste",
+"YohannDudouit" : "yohanndudouit",
+"YueHao" : "yuehao"
+}
+
+inverse_username_mapping = {
+ "aleksnovikov":"Aleks Novikov" ,
+ "alexandrelapene":"Alexandre Lapene" ,
+ "algianefroehly":"Algiane Froehly" ,
+ "ammaralali":"Ammar Alali" ,
+ "andreaborio":"Andrea Borio" ,
+ "andreafranceschini":"Andrea Franceschini" ,
+ "andrecosta":"Andre Macieira Braga Costa" ,
+ "antoinemazuyer":"Antoine Mazuyer" ,
+ "arnauddudes":"Arnaud Dudes" ,
+ "arturovargas":"Arturo Vargas" ,
+ "aurelien":"Aurelien Citrain" ,
+ "aurelily":"aure-lily" ,
+ "bencorbett":"Benjamin Curtice Corbett" ,
+ "benjamintliu":"Benjamin T. Liu" ,
+ "bertrandthierry":"Bertrand Thierry" ,
+ "brianhan":"Brian Manh Hien Han" ,
+ "cameroncrook":"Cameron Mikel Crook" ,
+ "castelletto":"Nicola Castelletto" ,
+ "chaoyiwang":"Chaoyi Wang" ,
+ "christophersherman":"Christopher Sherman" ,
+ "chriswhite":"Chris White" ,
+ "danieloseikuffuor":"Daniel Osei-Kuffuor" ,
+ "ruiwang":"Rui Wang" ,
+ "dicksonkachuma":"Dickson Kachuma" ,
+ "francoishamon":"Francois Hamon" ,
+ "frankfeifan":"Fan Fei" ,
+ "gaetanfuss":"Gaetan Fuss" ,
+ "gerasimoschourdakis":"Gerasimos Chourdakis" ,
+ "guotongren":"Guotong" ,
+ "guotongren":"Guotong Ren" ,
+ "hannahmairs" : "hannah mairs",
+ "hervegross":"Herve Gross" ,
+ "heweitang":"Hewei Tang" ,
+ "huiwu":"Hui Wu" ,
+ "ibrahimisraa":"Ibrahim Israa" ,
+ "igorshovkun":"Igor Shovkun" ,
+ "isaacju":"Isaac Ju" ,
+ "jacquesfranc":"Jacques Franc" ,
+ "jaisreeiyer":"Jaisree Iyer" ,
+ "jamescorbett":"James Corbett" ,
+ "jay-a":"Jay Appleton" ,
+ "jeannepellerin":"Jeanne Pellerin" ,
+ "jiemeng":"Jie Meng" ,
+ "jiaminjiang":"Jiamin Jiang" ,
+ "jianhuang":"Jian Huang" ,
+ "jixianghuang":"Jixian Huang" ,
+ "joshuawhite":"Joshua White" ,
+ "juliacamargo":"Julia T. Camargo" ,
+ "julienrenethomasbesset":"Julien Rene Thomas Besset" ,
+ "kevinjdugan":"Kevin J. Dugan" ,
+ "kimtaeho07":"Taeho Kim" ,
+ "liyangrock":"Li Yang" ,
+ "lioneluntereiner":"Lionel Untereiner" ,
+ "lucasvalarcher":"Lucas Valarcher" ,
+ "lukaszlaniewski-wollk":"ŁukaszŁaniewski-Wołłk" ,
+ "madonnayoder":"Madonna Yoder" ,
+ "mamadoundiaye":"Mamadou N'diaye" ,
+ "markkhait":"Mark Khait" ,
+ "matteocusini":"Matteo Cusini" ,
+ "matteofrigo5":"Matteo Frigo" ,
+ "matthiascremon":"Matthias Cremon" ,
+ "melreycg":"Mel Rey" ,
+ "michaelhomel":"Michael Homel" ,
+ "miladbader":"Milad Bader" ,
+ "mohammadkarimifard":"Mohammad Karimi-Fard" ,
+ "oluwatobiquadri":"Oluwatobi Quadri Raji" ,
+ "ouassim":"Ouassim Khebzegga" ,
+ "palomamartinez":"Paloma Martinez" ,
+ "paveltomin":"Pavel Tomin" ,
+ "pengchengfu":"Pengcheng Fu" ,
+ "peterbrobinson":"Peter B. Robinson" ,
+ "phillipchacon":"Phillip Chacon" ,
+ "quanbui":"Quan Bui" ,
+ "randolphrsettgast":"Randolph R.Settgast" ,
+ "rasimhz":"Rasim Hasanzade" ,
+ "ronwang":"Ron Wang" ,
+ "rustemzaydullin":"Rustem Zaydullin" ,
+ "ryanaronson":"Ryan Aronson" ,
+ "sergeyklevtsov":"Sergey Klevtsov" ,
+ "shabnamjandaghisemnani":"Shabnam Jandaghi Semnani" ,
+ "sohailwaziri":"Sohail Waziri" ,
+ "stefanoframbati":"Stefano Frambati" ,
+ "stefanpovolny":"Stefan Povolny" ,
+ "stenix":"stenix" ,
+ "sytuannguyen":"Sy-Tuan Nguyen" ,
+ "taehokim":"TaehoKim" ,
+ "taojin":"Tao Jin" ,
+ "tbeltzun":"tbeltzun" ,
+ "terryligocki":"Terry Ligocki" ,
+ "thomasgazzola":"ThomasGazzola" ,
+ "tombyer":"Thomas James Byer" ,
+ "tony":"Tony ?" ,
+ "victorapmagri":"Victor Paludetto Magri" ,
+ "williamrtobin":"William R. Tobin" ,
+ "wuhuillnl":"Wu Hui" ,
+ "xavierlacoste":"Xavier Lacoste" ,
+ "yohanndudouit":"Yohann Dudouit" ,
+ "yuehao":"Yue Hao"
+}
+
+def count_unique_users(usernames):
+ # Substitute usernames using the username mapping dictionary
+ #substituted_usernames = [username_mapping.get(username.strip(), username.strip()) for username in usernames]
+
+ # sorted_username_mapping = dict(sorted(username_mapping.items(), key=lambda item: item[1]))
+ # for key, value in sorted_username_mapping.items():
+ # print(f'{key}: {value}')
+
+ substituted_usernames = []
+ for username in usernames:
+ stripped_username = username.strip()
+ if stripped_username not in username_mapping:
+ raise ValueError(f"Username '{stripped_username}' not found in username_mapping")
+ substituted_usernames.append(username_mapping[stripped_username])
+
+
+ # Count the number of unique usernames
+ unique_usernames = set(substituted_usernames)
+# print ("unique_usernames:", sorted(unique_usernames))
+
+ for username in unique_usernames:
+# print( "- username: \"" + username + "\"")
+ name = inverse_username_mapping[username]
+ splitName = name.split()
+ givenNames = " ".join(splitName[:-1])
+ lastName = splitName[-1]
+ print( "- family-names: \"" + lastName + "\"")
+ print( " given-names: \"" + givenNames + "\"")
+
+ num_unique_users = len(unique_usernames)
+ return num_unique_users
+
+# Example usage:
+if __name__ == "__main__":
+ # Read usernames from command line arguments
+ usernames = sys.argv[1:]
+ #print ("usernames:", usernames)
+
+ # Count unique users
+ num_unique_users = count_unique_users(usernames)
+
+ # Output the number of unique users
+ print(num_unique_users)
diff --git a/src/CMakeGraphVizOptions.cmake b/src/CMakeGraphVizOptions.cmake
index c1445d96d92..fbce48fe7e8 100644
--- a/src/CMakeGraphVizOptions.cmake
+++ b/src/CMakeGraphVizOptions.cmake
@@ -1,4 +1,6 @@
-set( GRAPHVIZ_EXECUTABLES FALSE )
+set( GRAPHVIZ_EXECUTABLES TRUE )
set( GRAPHVIZ_OBJECT_LIBS TRUE )
set( GRAPHVIZ_EXTERNAL_LIBS FALSE )
-set( GRAPHVIZ_GENERATE_DEPENDERS FALSE )
\ No newline at end of file
+set( GRAPHVIZ_GENERATE_DEPENDERS FALSE )
+set( GRAPHVIZ_IGNORE_TARGETS "test*;example*;benchmark*" )
+set( GRAPHVIZ_CUSTOM_TARGETS FALSE )
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 99b32fb3ab1..09988abe2fd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,10 +1,8 @@
-cmake_minimum_required( VERSION 3.23 )
+cmake_minimum_required( VERSION 3.24 )
# At the moment we are manually passing the cuda arch flag.
-if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.23.0")
- cmake_policy(SET CMP0104 OLD) # when using nvcc populate CMAKE_CUDA_ARCHITECTURES, raise error if we can't
-endif()
+cmake_policy(SET CMP0104 OLD) # when using nvcc populate CMAKE_CUDA_ARCHITECTURES, raise error if we can't
cmake_policy(SET CMP0074 NEW) # dont ignore _ROOT env vars when searching for packages via find_package()
cmake_policy(SET CMP0066 NEW) # use CMAKE__FLAGS_ for try_compile() instead of only CMAKE__FLAGS
cmake_policy(SET CMP0056 NEW) # use CMAKE_EXE_LINKER_FLAGS in try_compile() in addition to CMAKE__FLAGS
@@ -135,24 +133,11 @@ if( ENABLE_HIP )
list( APPEND extraComponentsLinkList blt::hip )
endif()
-if ( GEOS_BUILD_SHARED_LIBS )
- list( APPEND extraComponentsLinkList geosx_core )
-else()
- list( APPEND extraComponentsLinkList ${geosx_core_libs} )
-endif()
-
blt_add_executable( NAME geosx
SOURCES main/main.cpp
- DEPENDS_ON ${extraComponentsLinkList}
- ${externalComponentsLinkList} fmt::fmt-header-only HDF5::HDF5 )
-
-# blt_print_target_properties(TARGET geosx
-# CHILDREN TRUE
-# PROPERTY_NAME_REGEX "LINK_LIBRARIES"
-# )
-
-# blt_print_target_properties(TARGET HDF5::HDF5
-# CHILDREN TRUE )
+ DEPENDS_ON geosx_core
+ ${extraComponentsLinkList}
+ ${externalComponentsLinkList} )
# Seems to be required on some CMake versions (e.g. 3.16) to get enforce device linking
if( ${ENABLE_HYPRE_DEVICE} STREQUAL "CUDA" )
@@ -160,8 +145,6 @@ if( ${ENABLE_HYPRE_DEVICE} STREQUAL "CUDA" )
endif()
-target_include_directories( geosx PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
-
# To change the runtime path during installation
set_target_properties( geosx PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib" )
set_target_properties( geosx PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE )
@@ -173,7 +156,7 @@ install( FILES ${CMAKE_INSTALL_PREFIX}/bin/geosx
RENAME geos
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE )
-if( ENABLE_XML_UPDATES AND ENABLE_MPI AND UNIX AND NOT CMAKE_HOST_APPLE AND NOT ENABLE_CUDA AND NOT ENABLE_HIP )
+if( ENABLE_XML_UPDATES AND ENABLE_MPI AND UNIX AND NOT ENABLE_CUDA AND NOT ENABLE_HIP )
set(SCHEMA_DIR ${CMAKE_SOURCE_DIR}/coreComponents/schema)
set(SCRIPT_DIR ${CMAKE_SOURCE_DIR}/../scripts)
@@ -186,9 +169,9 @@ if( ENABLE_XML_UPDATES AND ENABLE_MPI AND UNIX AND NOT CMAKE_HOST_APPLE AND NOT
COMMENT "Generating XML schema"
)
- add_custom_target( geosx_update_rst_tables
+ add_custom_target( geosx_build_datastructure_tables
ALL
- COMMAND python3 ${SCRIPT_DIR}/SchemaToRSTDocumentation.py ${SCHEMA_DIR} >update_rst_tables.log 2>&1 || (cat update_rst_tables.log && exit 1)
+ COMMAND python3 ${SCRIPT_DIR}/SchemaToRSTDocumentation.py -s ${SCHEMA_DIR}/schema.xsd -o ${CMAKE_SOURCE_DIR}/docs/sphinx >update_rst_tables.log 2>&1 || (cat update_rst_tables.log && exit 1)
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
DEPENDS geosx_generate_schema
COMMENT "Generating schema-dependent RST files"
@@ -198,20 +181,19 @@ if( ENABLE_XML_UPDATES AND ENABLE_MPI AND UNIX AND NOT CMAKE_HOST_APPLE AND NOT
ALL
COMMAND bash ${SCRIPT_DIR}/validateXMLFiles.bash -g ${SCHEMA_DIR}/schema.xsd ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/../examples ${CMAKE_SOURCE_DIR}/../inputFiles
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- DEPENDS geosx_update_rst_tables
+ DEPENDS geosx_generate_schema
COMMENT "Validating all XML files in the repository against the schema"
)
+ if( SPHINX_FOUND )
+ blt_add_sphinx_target( geosx_docs )
+ add_dependencies( geosx_docs geosx_build_datastructure_tables )
+ endif()
endif()
if( ENABLE_PYGEOSX )
add_subdirectory( pygeosx )
endif()
-if( SPHINX_FOUND )
- blt_add_sphinx_target( geosx_docs )
-endif()
-
-
install( DIRECTORY ../examples/
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/${CMAKE_PROJECT_NAME}/examples )
@@ -237,8 +219,8 @@ install( FILES ${CMAKE_BINARY_DIR}/schema.xsd
################################
# Add python environment setup
################################
-# message(WARNING "Temporarily changing the geosPythonBranch to feature/packaging")
-# set(GEOS_PYTHON_PACKAGES_BRANCH "feature/packaging" CACHE STRING "" FORCE)
+# message(WARNING "Temporarily changing the geosPythonBranch to bugfix/sherman/fixNumpyProd")
+# set(GEOS_PYTHON_PACKAGES_BRANCH "bugfix/sherman/fixNumpyProd" CACHE STRING "" FORCE)
if ( Python3_EXECUTABLE )
diff --git a/src/VERSION b/src/VERSION
index 6103e22aefe..b4bba825f4a 100644
--- a/src/VERSION
+++ b/src/VERSION
@@ -1 +1 @@
-VERSION_ID = v1.0.1
+VERSION_ID = v1.1.0
diff --git a/src/cmake/GeosxMacros.cmake b/src/cmake/GeosxMacros.cmake
index af5105678ee..d658076cb6a 100644
--- a/src/cmake/GeosxMacros.cmake
+++ b/src/cmake/GeosxMacros.cmake
@@ -95,3 +95,39 @@ macro( geos_add_test )
COMMAND ${arg_COMMAND} ${ARGN} )
endmacro( geos_add_test )
+
+
+macro( geos_decorate_link_dependencies )
+
+ set( options )
+ set( singleValueArgs LIST )
+ set( multiValueArgs DEPENDENCIES )
+
+ # Parse the arguments to the macro
+ cmake_parse_arguments( arg
+ "${options}" "${singleValueArgs}" "${multiValueArgs}" ${ARGN} )
+
+ set( staticLibs "" )
+ set( otherLibs "" )
+ foreach( dep ${arg_DEPENDENCIES} )
+ if( NOT TARGET ${dep} )
+ message( FATAL_ERROR "Dependency ${dep} not found" )
+ endif()
+
+ get_target_property( targetType ${dep} TYPE)
+ # message( " ${dep} targetType = ${targetType}" ) # debug
+
+ if (targetType STREQUAL STATIC_LIBRARY)
+ list( APPEND staticLibs ${dep} )
+ else()
+ list( APPEND otherLibs ${dep} )
+ endif()
+ endforeach()
+
+ # message( " staticLibs = ${staticLibs}" ) # debug
+ # message( " otherLibs = ${otherLibs}" ) # debug
+
+ string (REPLACE ";" "," staticLibsString "${staticLibs}")
+ set( ${arg_LIST} "$" ${otherLibs} )
+
+endmacro( geos_decorate_link_dependencies )
\ No newline at end of file
diff --git a/src/cmake/GeosxOptions.cmake b/src/cmake/GeosxOptions.cmake
index debe45fdf62..468e6490f57 100644
--- a/src/cmake/GeosxOptions.cmake
+++ b/src/cmake/GeosxOptions.cmake
@@ -4,7 +4,8 @@ message( "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}" )
message( "CMAKE_HOST_APPLE = ${CMAKE_HOST_APPLE}" )
### OPTIONS ###
-option( GEOS_ENABLE_TESTS "" ON )
+option( GEOS_ENABLE_FPE "Enables floating point exceptions" ON )
+option( GEOS_ENABLE_TESTS "Enables unit tests" ON )
option( ENABLE_CALIPER "Enables Caliper instrumentation" OFF )
option( ENABLE_MATHPRESSO "" ON )
@@ -158,18 +159,6 @@ if( ${CMAKE_MAKE_PROGRAM} STREQUAL "ninja" OR ${CMAKE_MAKE_PROGRAM} MATCHES ".*/
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GEOS_NINJA_FLAGS}" )
endif()
-
-if( CMAKE_HOST_APPLE )
-# set(GEOS_LINK_PREPEND_FLAG "-Wl,-force_load" CACHE STRING "")
-# set(GEOS_LINK_POSTPEND_FLAG "" CACHE STRING "")
-# elseif( ENABLE_CUDA )
-# set( GEOS_LINK_PREPEND_FLAG "-Xcompiler \\\\\"-Wl,--whole-archive\\\\\"" CACHE STRING "" )
-# set( GEOS_LINK_POSTPEND_FLAG "-Xcompiler \\\\\"-Wl,--no-whole-archive\\\\\"" CACHE STRING "" )
-else()
- set( GEOS_LINK_PREPEND_FLAG "-Wl,--whole-archive" CACHE STRING "" )
- set( GEOS_LINK_POSTPEND_FLAG "-Wl,--no-whole-archive" CACHE STRING "" )
-endif()
-
set( GEOS_LOCALINDEX_TYPE "int" CACHE STRING "" )
if( ENABLE_HYPRE_MIXINT )
set( GEOS_GLOBALINDEX_TYPE "long long int" CACHE STRING "" )
@@ -216,6 +205,5 @@ message( "GEOS_GLOBALINDEX_TYPE_FLAG = ${GEOS_GLOBALINDEX_TYPE_FLAG}" )
message( "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}" )
-message( "GEOS_LINK_PREPEND_FLAG=${GEOS_LINK_PREPEND_FLAG}" )
-message( "GEOS_LINK_POSTPEND_FLAG=${GEOS_LINK_POSTPEND_FLAG}" )
+
message( "Leaving GeosxOptions.cmake\n" )
diff --git a/src/conf.py b/src/conf.py
index e54573753a0..0bcf74a68b2 100644
--- a/src/conf.py
+++ b/src/conf.py
@@ -49,17 +49,24 @@
config_src = os.path.join(docs_path, "GeosxConfig.hpp")
config_dst = os.path.join(common_path, "GeosxConfig.hpp")
- input_dirs = ["coreComponents/common",
- "coreComponents/dataRepository",
- "coreComponents/fileIO",
- "coreComponents/linearAlgebra",
- "coreComponents/mesh",
- "coreComponents/managers",
- "coreComponents/finiteElement/kernelInterface",
- "coreComponents/mesh/MeshFields.hpp",
- "coreComponents/physicsSolvers/simplePDE/LaplaceFEMKernels.hpp",
- "coreComponents/physicsSolvers/solidMechanics",
- "coreComponents/finiteVolume"]
+ input_dirs = [
+ "coreComponents/common",
+ "coreComponents/dataRepository",
+ "coreComponents/fileIO",
+ "coreComponents/linearAlgebra",
+ "coreComponents/mesh",
+ "coreComponents/finiteElement/elementFormulations",
+ "coreComponents/finiteElement/kernelInterface",
+ "coreComponents/mesh/MeshFields.hpp",
+ "coreComponents/physicsSolvers",
+ "coreComponents/finiteVolume",
+ "coreComponents/functions",
+ "coreComponents/fieldSpecification",
+ "coreComponents/discretizationMethods",
+ "coreComponents/events",
+ "coreComponents/mainInterface"
+ ]
+
# Write correct ReadtheDocs path and input directories
shutil.copy(doxyfile_src, doxyfile_dst)
@@ -72,16 +79,18 @@
if not os.path.exists(config_dst):
os.symlink(config_src, config_dst)
+ print("********** Running Doxygen in ReadtheDocs **********")
# Call doxygen
- from subprocess import call
- call(['doxygen', doxyfile_dst])
+ from subprocess import run
+ run(['doxygen', doxyfile_dst])
+ print("********** Finished Running Doxygen in ReadtheDocs **********")
# -- Project information -----------------------------------------------------
-project = u'GEOSX'
-copyright = u'2018-2021 Lawrence Livermore National Security, The Board of Trustees of the Leland Stanford Junior University, TotalEnergies, and GEOSX Contributors.'
-author = u'GEOSX Contributors'
+project = u'GEOS'
+copyright = u'2016-2024 Lawrence Livermore National Security LLC, 2018-2024 Total, S.A, The Board of Trustees of the Leland Stanford Junior University, 2023-2024 Chevron, 2019- GEOS/GEOSX Contributors'
+author = u'GEOS/GEOSX Contributors'
# The short X.Y version
version = u''
@@ -142,7 +151,7 @@
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path .
-exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store', 'cmake/*']
+exclude_patterns = [u'_build', 'Thumbs.db', '.DS_Store', 'cmake/*', '**/blt/**']
todo_include_todos = True
@@ -220,8 +229,8 @@
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
- (master_doc, 'GEOSX.tex', u'GEOSX Documentation',
- u'Randolph Settgast', 'manual'),
+ (master_doc, 'GEOS.tex', u'GEOS Documentation',
+ u'GEOS/GEOSX Developers', 'manual'),
]
@@ -230,7 +239,7 @@
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
- (master_doc, 'geosx', u'GEOSX Documentation',
+ (master_doc, 'geos', u'GEOS Documentation',
[author], 1)
]
@@ -241,8 +250,8 @@
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
- (master_doc, 'GEOSX', u'GEOSX Documentation',
- author, 'GEOSX', 'One line description of project.',
+ (master_doc, 'GEOS', u'GEOS Documentation',
+ author, 'GEOS', 'GEOS simulation framework.',
'Miscellaneous'),
]
diff --git a/src/coreComponents/CMakeLists.txt b/src/coreComponents/CMakeLists.txt
index a58be4cdaab..d2286f907da 100644
--- a/src/coreComponents/CMakeLists.txt
+++ b/src/coreComponents/CMakeLists.txt
@@ -3,19 +3,20 @@ set( subdirs
common
codingUtilities
dataRepository
- schema
+ denseLinearAlgebra
functions
constitutive
+ schema
+ finiteElement
mesh
- denseLinearAlgebra
- linearAlgebra
fieldSpecification
- finiteElement
finiteVolume
+ linearAlgebra
discretizationMethods
+ events
+ constitutiveDrivers
fileIO
physicsSolvers
- events
mainInterface )
unset( parallelDeps )
@@ -56,53 +57,15 @@ foreach( lib ${subdirs} )
endif()
endforeach()
-# if we're building full static libs and not obj_libs
-if( NOT GEOS_BUILD_SHARED_LIBS )
- set( geosx_core_list "" )
- foreach( lib ${coreLibs} )
- list( APPEND geosx_core_list ${GEOS_LINK_PREPEND_FLAG} ${lib} ${GEOS_LINK_POSTPEND_FLAG} )
- endforeach()
- set ( geosx_core_libs "${geosx_core_list}" CACHE INTERNAL "" )
-endif( )
-
foreach( lib ${subdirs} )
add_subdirectory( ${lib} )
endforeach()
-if( GEOS_BUILD_SHARED_LIBS AND GEOS_BUILD_OBJ_LIBS )
- message( "Building shared geosx_core library with object coreComponents, executables link to geosx_core" )
- blt_add_library ( NAME geosx_core
- SOURCES dummy.cpp
- DEPENDS_ON mainInterface physicsSolvers HDF5::HDF5
- SHARED TRUE )
-
-elseif( GEOS_BUILD_SHARED_LIBS AND NOT GEOS_BUILD_OBJ_LIBS )
- message( "Building shared geosx_core library with static coreComponents, executables link to geosx_core" )
- blt_combine_static_libraries( NAME geosx_core
- SOURCE_LIBS ${coreLibs}
- LIB_TYPE SHARED
- LINK_PREPEND ${GEOS_LINK_PREPEND_FLAG}
- LINK_POSTPEND ${GEOS_LINK_POSTPEND_FLAG} )
-
-elseif( NOT GEOS_BUILD_SHARED_LIBS AND GEOS_BUILD_OBJ_LIBS )
- message( "Building object coreComponents, executables link to coreComponents" )
+add_library(geosx_core INTERFACE)
+if( GEOS_BUILD_SHARED_LIBS)
+ target_link_libraries(geosx_core INTERFACE mainInterface )
else()
- message( "Building static coreComponents, executables link to coreComponents" )
-endif()
-
-if ( TARGET geosx_core )
- # Seems to be required on some CMake versions (e.g. 3.16) to get enforce device linking
- if( ${ENABLE_HYPRE_DEVICE} STREQUAL "CUDA" )
- set_target_properties( geosx_core PROPERTIES CUDA_RESOLVE_DEVICE_SYMBOLS TRUE )
- endif()
-
- # To install the library with the runtime path used during the building
- set_target_properties( geosx_core PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE )
-
- # To install the shared library
- install( TARGETS geosx_core LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
-
- target_include_directories( geosx_core PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+ target_link_libraries(geosx_core INTERFACE $ )
endif()
geosx_add_code_checks( PREFIX coreComponents
diff --git a/src/coreComponents/LvArray b/src/coreComponents/LvArray
index 02ce362c009..355e8d987fb 160000
--- a/src/coreComponents/LvArray
+++ b/src/coreComponents/LvArray
@@ -1 +1 @@
-Subproject commit 02ce362c009f11ddb2ade0286df23408d7334c4f
+Subproject commit 355e8d987fbf15c9ac07442bda28bc52a8e80480
diff --git a/src/coreComponents/codingUtilities/CMakeLists.txt b/src/coreComponents/codingUtilities/CMakeLists.txt
index a85e4046907..fdccb254f5e 100644
--- a/src/coreComponents/codingUtilities/CMakeLists.txt
+++ b/src/coreComponents/codingUtilities/CMakeLists.txt
@@ -20,12 +20,15 @@ set( codingUtilities_sources
)
set( dependencyList ${parallelDeps} common fast_float )
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
blt_add_library( NAME codingUtilities
SOURCES ${codingUtilities_sources}
HEADERS ${codingUtilities_headers}
- DEPENDS_ON ${dependencyList}
+ DEPENDS_ON ${decoratedDependencies}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
# Avoid compiling with nvcc which sometimes crashes on fast_float
@@ -33,6 +36,8 @@ set_source_files_properties( Parsing.cpp PROPERTIES LANGUAGE CXX )
target_include_directories( codingUtilities PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS codingUtilities LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
+
if( GEOS_ENABLE_TESTS )
add_subdirectory(tests)
diff --git a/src/coreComponents/codingUtilities/EnumStrings.hpp b/src/coreComponents/codingUtilities/EnumStrings.hpp
index 40930b1b222..0c6bc40065d 100644
--- a/src/coreComponents/codingUtilities/EnumStrings.hpp
+++ b/src/coreComponents/codingUtilities/EnumStrings.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -179,7 +179,7 @@ struct TypeRegex< ENUM, std::enable_if_t< internal::HasEnumStrings< ENUM > > >
static Regex get()
{
return Regex( EnumStrings< ENUM >::concat( "|" ),
- "Input value must be one of { " + EnumStrings< ENUM >::concat( ", " ) + "}." );
+ "Input value must be one of { " + EnumStrings< ENUM >::concat( ", " ) + " }." );
}
};
diff --git a/src/coreComponents/codingUtilities/Parsing.cpp b/src/coreComponents/codingUtilities/Parsing.cpp
index 91e577b3c60..3e8c970ea9f 100644
--- a/src/coreComponents/codingUtilities/Parsing.cpp
+++ b/src/coreComponents/codingUtilities/Parsing.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/Parsing.hpp b/src/coreComponents/codingUtilities/Parsing.hpp
index 1f6dcf36c57..645e9615198 100644
--- a/src/coreComponents/codingUtilities/Parsing.hpp
+++ b/src/coreComponents/codingUtilities/Parsing.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/RTTypes.cpp b/src/coreComponents/codingUtilities/RTTypes.cpp
index 52d51964af1..6fbf864d253 100644
--- a/src/coreComponents/codingUtilities/RTTypes.cpp
+++ b/src/coreComponents/codingUtilities/RTTypes.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -179,8 +179,9 @@ rtTypes::RegexMapType rtTypes::createBasicTypesRegexMap()
string_view const groupNameDesc = "Input value must be a string that cannot be empty and contains only upper/lower letters, digits, and the characters . - _";
string_view const groupNameRegex = "[a-zA-Z0-9.\\-_]+";
- string_view const groupNameRefDesc = "Input value must be a string that can contain only upper/lower letters, digits, and the characters . - _ / *";
- string_view const groupNameRefRegex = "[a-zA-Z0-9.\\-_/*]*";
+ // to reference groups, we need to support the / for paths, and * [ ] for fnmatch patterns.
+ string_view const groupNameRefDesc = "Input value must be a string that can contain only upper/lower letters, digits, and the characters . - _ / * [ ]";
+ string_view const groupNameRefRegex = "[a-zA-Z0-9.\\-_/*\\[\\]]*";
// Build master list of regexes
diff --git a/src/coreComponents/codingUtilities/RTTypes.hpp b/src/coreComponents/codingUtilities/RTTypes.hpp
index a94c6cb8236..ea1bed2bdc6 100644
--- a/src/coreComponents/codingUtilities/RTTypes.hpp
+++ b/src/coreComponents/codingUtilities/RTTypes.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/SFINAE_Macros.hpp b/src/coreComponents/codingUtilities/SFINAE_Macros.hpp
index 4032db8cd5f..9dfc0a9ed2a 100644
--- a/src/coreComponents/codingUtilities/SFINAE_Macros.hpp
+++ b/src/coreComponents/codingUtilities/SFINAE_Macros.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/UnitTestUtilities.hpp b/src/coreComponents/codingUtilities/UnitTestUtilities.hpp
index 3b82f6b0f34..7e251ffbf0a 100644
--- a/src/coreComponents/codingUtilities/UnitTestUtilities.hpp
+++ b/src/coreComponents/codingUtilities/UnitTestUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/Utilities.hpp b/src/coreComponents/codingUtilities/Utilities.hpp
index 41fdc9c8e46..d4951f7185b 100644
--- a/src/coreComponents/codingUtilities/Utilities.hpp
+++ b/src/coreComponents/codingUtilities/Utilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/tests/CMakeLists.txt b/src/coreComponents/codingUtilities/tests/CMakeLists.txt
index 33f4168e86e..1fe1863459d 100644
--- a/src/coreComponents/codingUtilities/tests/CMakeLists.txt
+++ b/src/coreComponents/codingUtilities/tests/CMakeLists.txt
@@ -4,8 +4,10 @@ set( testSources
testParsing.cpp
testUtilities.cpp )
-set( dependencyList gtest codingUtilities ${parallelDeps} )
+set( dependencyList codingUtilities ${parallelDeps} )
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
# Add gtest C++ based tests
foreach( test ${testSources} )
@@ -13,7 +15,7 @@ foreach( test ${testSources} )
blt_add_executable( NAME ${test_name}
SOURCES ${test}
OUTPUT_DIR ${TEST_OUTPUT_DIRECTORY}
- DEPENDS_ON ${dependencyList} )
+ DEPENDS_ON ${decoratedDependencies} gtest )
geos_add_test( NAME ${test_name}
COMMAND ${test_name} )
diff --git a/src/coreComponents/codingUtilities/tests/testGeosxTraits.cpp b/src/coreComponents/codingUtilities/tests/testGeosxTraits.cpp
index 412aee960ea..4c3820cc249 100644
--- a/src/coreComponents/codingUtilities/tests/testGeosxTraits.cpp
+++ b/src/coreComponents/codingUtilities/tests/testGeosxTraits.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/tests/testParallelTestUtilities.cpp b/src/coreComponents/codingUtilities/tests/testParallelTestUtilities.cpp
index 21a6a8d1903..5dfc65c1a8c 100644
--- a/src/coreComponents/codingUtilities/tests/testParallelTestUtilities.cpp
+++ b/src/coreComponents/codingUtilities/tests/testParallelTestUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/tests/testParsing.cpp b/src/coreComponents/codingUtilities/tests/testParsing.cpp
index 33f3d0231d8..586697330ac 100644
--- a/src/coreComponents/codingUtilities/tests/testParsing.cpp
+++ b/src/coreComponents/codingUtilities/tests/testParsing.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/tests/testUtilities.cpp b/src/coreComponents/codingUtilities/tests/testUtilities.cpp
index f063d471b92..cb481fccd0e 100644
--- a/src/coreComponents/codingUtilities/tests/testUtilities.cpp
+++ b/src/coreComponents/codingUtilities/tests/testUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/codingUtilities/traits.hpp b/src/coreComponents/codingUtilities/traits.hpp
index a5c8d4aa187..8ab60cddd52 100644
--- a/src/coreComponents/codingUtilities/traits.hpp
+++ b/src/coreComponents/codingUtilities/traits.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/BufferAllocator.cpp b/src/coreComponents/common/BufferAllocator.cpp
index 4df6745f937..26d432c28c7 100644
--- a/src/coreComponents/common/BufferAllocator.cpp
+++ b/src/coreComponents/common/BufferAllocator.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/BufferAllocator.hpp b/src/coreComponents/common/BufferAllocator.hpp
index 46421189866..7fa789efd9b 100644
--- a/src/coreComponents/common/BufferAllocator.hpp
+++ b/src/coreComponents/common/BufferAllocator.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/CMakeLists.txt b/src/coreComponents/common/CMakeLists.txt
index 2a5f70ff960..32e5a412824 100644
--- a/src/coreComponents/common/CMakeLists.txt
+++ b/src/coreComponents/common/CMakeLists.txt
@@ -16,6 +16,7 @@ set( common_headers
GEOS_RAJA_Interface.hpp
GeosxMacros.hpp
MemoryInfos.hpp
+ logger/Logger.hpp
MpiWrapper.hpp
Path.hpp
Span.hpp
@@ -102,18 +103,19 @@ if( ENABLE_CALIPER )
endif()
endif()
-set( dependencyList ${dependencyList} )
-
blt_add_library( NAME common
SOURCES ${common_sources}
HEADERS ${common_headers}
DEPENDS_ON ${dependencyList}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
target_include_directories( common PUBLIC ${CMAKE_BINARY_DIR}/include )
target_include_directories( common PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS common LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
+
if( GEOS_ENABLE_TESTS )
add_subdirectory( unitTests )
add_subdirectory( format/table/unitTests )
diff --git a/src/coreComponents/common/DataLayouts.hpp b/src/coreComponents/common/DataLayouts.hpp
index 38d149a1938..2f6c53af4fc 100644
--- a/src/coreComponents/common/DataLayouts.hpp
+++ b/src/coreComponents/common/DataLayouts.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/DataTypes.hpp b/src/coreComponents/common/DataTypes.hpp
index 9f4c8608ff7..c458412540a 100644
--- a/src/coreComponents/common/DataTypes.hpp
+++ b/src/coreComponents/common/DataTypes.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/FieldSpecificationOps.hpp b/src/coreComponents/common/FieldSpecificationOps.hpp
index 684b90af9e5..534768330fd 100644
--- a/src/coreComponents/common/FieldSpecificationOps.hpp
+++ b/src/coreComponents/common/FieldSpecificationOps.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/FixedSizeDeque.hpp b/src/coreComponents/common/FixedSizeDeque.hpp
index 629f1d8f42e..5746419ca71 100644
--- a/src/coreComponents/common/FixedSizeDeque.hpp
+++ b/src/coreComponents/common/FixedSizeDeque.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/FixedSizeDequeWithMutexes.hpp b/src/coreComponents/common/FixedSizeDequeWithMutexes.hpp
index 15c0b129776..800e1e1806f 100644
--- a/src/coreComponents/common/FixedSizeDequeWithMutexes.hpp
+++ b/src/coreComponents/common/FixedSizeDequeWithMutexes.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/GEOS_RAJA_Interface.hpp b/src/coreComponents/common/GEOS_RAJA_Interface.hpp
index 9f7d0bde21a..3b651c9e5c6 100644
--- a/src/coreComponents/common/GEOS_RAJA_Interface.hpp
+++ b/src/coreComponents/common/GEOS_RAJA_Interface.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/GeosxConfig.hpp.in b/src/coreComponents/common/GeosxConfig.hpp.in
index 6942640552d..704a9ebd0ac 100644
--- a/src/coreComponents/common/GeosxConfig.hpp.in
+++ b/src/coreComponents/common/GeosxConfig.hpp.in
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/GeosxMacros.hpp b/src/coreComponents/common/GeosxMacros.hpp
index 7396a6cf006..f73cb2740a3 100644
--- a/src/coreComponents/common/GeosxMacros.hpp
+++ b/src/coreComponents/common/GeosxMacros.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/LifoStorage.hpp b/src/coreComponents/common/LifoStorage.hpp
index 6bc25ec8bbb..16ce24f0e13 100644
--- a/src/coreComponents/common/LifoStorage.hpp
+++ b/src/coreComponents/common/LifoStorage.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/LifoStorageCommon.hpp b/src/coreComponents/common/LifoStorageCommon.hpp
index ff31b170a7a..08c1144e9fe 100644
--- a/src/coreComponents/common/LifoStorageCommon.hpp
+++ b/src/coreComponents/common/LifoStorageCommon.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/LifoStorageCuda.hpp b/src/coreComponents/common/LifoStorageCuda.hpp
index 0afb560fe2a..bb03115f011 100644
--- a/src/coreComponents/common/LifoStorageCuda.hpp
+++ b/src/coreComponents/common/LifoStorageCuda.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/LifoStorageHost.hpp b/src/coreComponents/common/LifoStorageHost.hpp
index 3ffb202db74..f787f10a17f 100644
--- a/src/coreComponents/common/LifoStorageHost.hpp
+++ b/src/coreComponents/common/LifoStorageHost.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/MemoryInfos.cpp b/src/coreComponents/common/MemoryInfos.cpp
index 51213c5cfec..4ad404188e3 100644
--- a/src/coreComponents/common/MemoryInfos.cpp
+++ b/src/coreComponents/common/MemoryInfos.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/MemoryInfos.hpp b/src/coreComponents/common/MemoryInfos.hpp
index 90763a7f18d..a3dcc024359 100644
--- a/src/coreComponents/common/MemoryInfos.hpp
+++ b/src/coreComponents/common/MemoryInfos.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/MpiWrapper.cpp b/src/coreComponents/common/MpiWrapper.cpp
index 8b8a0afc6a2..f2b830e734e 100644
--- a/src/coreComponents/common/MpiWrapper.cpp
+++ b/src/coreComponents/common/MpiWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/MpiWrapper.hpp b/src/coreComponents/common/MpiWrapper.hpp
index 9f165e682d3..998524d3b13 100644
--- a/src/coreComponents/common/MpiWrapper.hpp
+++ b/src/coreComponents/common/MpiWrapper.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/MultiMutexesLock.hpp b/src/coreComponents/common/MultiMutexesLock.hpp
index f338fea4478..e3142abbadc 100644
--- a/src/coreComponents/common/MultiMutexesLock.hpp
+++ b/src/coreComponents/common/MultiMutexesLock.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Path.cpp b/src/coreComponents/common/Path.cpp
index 853f4557904..a983e5af3cc 100644
--- a/src/coreComponents/common/Path.cpp
+++ b/src/coreComponents/common/Path.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Path.hpp b/src/coreComponents/common/Path.hpp
index 27e54f3cf03..9f768838e31 100644
--- a/src/coreComponents/common/Path.hpp
+++ b/src/coreComponents/common/Path.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/PhysicsConstants.hpp b/src/coreComponents/common/PhysicsConstants.hpp
index 8bc35c1b1fd..50a2384ef8c 100644
--- a/src/coreComponents/common/PhysicsConstants.hpp
+++ b/src/coreComponents/common/PhysicsConstants.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Span.hpp b/src/coreComponents/common/Span.hpp
index 4623fdcdf5f..49469bf968e 100644
--- a/src/coreComponents/common/Span.hpp
+++ b/src/coreComponents/common/Span.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Stopwatch.hpp b/src/coreComponents/common/Stopwatch.hpp
index c506f5190ab..9aec6f65f66 100644
--- a/src/coreComponents/common/Stopwatch.hpp
+++ b/src/coreComponents/common/Stopwatch.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Tensor.hpp b/src/coreComponents/common/Tensor.hpp
index 0a13e98cdcc..602f21794e1 100644
--- a/src/coreComponents/common/Tensor.hpp
+++ b/src/coreComponents/common/Tensor.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Timer.hpp b/src/coreComponents/common/Timer.hpp
index 8deac3d3cc7..f7a4b342dcc 100644
--- a/src/coreComponents/common/Timer.hpp
+++ b/src/coreComponents/common/Timer.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/TimingMacros.hpp b/src/coreComponents/common/TimingMacros.hpp
index 01dc0a7f880..c9935cbd1b6 100644
--- a/src/coreComponents/common/TimingMacros.hpp
+++ b/src/coreComponents/common/TimingMacros.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/TypeDispatch.hpp b/src/coreComponents/common/TypeDispatch.hpp
index d01ddf58637..282c9421589 100644
--- a/src/coreComponents/common/TypeDispatch.hpp
+++ b/src/coreComponents/common/TypeDispatch.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Units.cpp b/src/coreComponents/common/Units.cpp
index b5a53033c71..746cd866a7c 100644
--- a/src/coreComponents/common/Units.cpp
+++ b/src/coreComponents/common/Units.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/Units.hpp b/src/coreComponents/common/Units.hpp
index 26b19eef555..ba35f3fb8d6 100644
--- a/src/coreComponents/common/Units.hpp
+++ b/src/coreComponents/common/Units.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/format/Format.hpp b/src/coreComponents/common/format/Format.hpp
index d8dcb832cf0..de5954dcc37 100644
--- a/src/coreComponents/common/format/Format.hpp
+++ b/src/coreComponents/common/format/Format.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/format/StringUtilities.cpp b/src/coreComponents/common/format/StringUtilities.cpp
index 0c692f6a17d..cd13ba3919e 100644
--- a/src/coreComponents/common/format/StringUtilities.cpp
+++ b/src/coreComponents/common/format/StringUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -57,10 +57,10 @@ string_view trimSpaces( string_view str )
}
-string removeStringAndFollowingContent( string const & str,
- string const & strToRemove )
+string removeStringAndFollowingContent( string_view const str,
+ string_view const strToRemove )
{
- string newStr = str;
+ string_view newStr = str;
// check if the line contains the string to remove
std::size_t const pos = newStr.find( strToRemove );
@@ -70,7 +70,7 @@ string removeStringAndFollowingContent( string const & str,
// remove the character and everything afterwards
newStr = newStr.substr( 0, pos );
}
- return newStr;
+ return string( newStr );
}
// put definition here so we can control the allowable values of T and
diff --git a/src/coreComponents/common/format/StringUtilities.hpp b/src/coreComponents/common/format/StringUtilities.hpp
index a03e44ac8ea..8f083816c86 100644
--- a/src/coreComponents/common/format/StringUtilities.hpp
+++ b/src/coreComponents/common/format/StringUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -39,11 +39,11 @@ string toLower( string const & input );
/**
* @brief Join strings or other printable objects with a delimiter.
- * @tparam IT type of iterator into the range of objects to join
- * @tparam S type of delimiter, usually char, char const * or string
- * @param first iterator to start of the range
- * @param last iterator past-the-end of the range
- * @param delim delimiter used to glue together strings
+ * @tparam IT type of iterator into the range of objects to join
+ * @tparam S type of delimiter, usually char, char const * or string
+ * @param first iterator to start of the range
+ * @param last iterator past-the-end of the range
+ * @param delim delimiter used to glue together strings
* @return a string containing input values concatenated with a delimiter
*/
template< typename IT, typename S = char >
@@ -66,14 +66,57 @@ string join( IT first, IT last, S const & delim = S() )
* @brief Join strings or other printable objects with a delimiter.
* @tparam CONTAINER type of container to join
* @tparam S the type of delimiter, usually char, char const * or string
- * @param cont the container to join
+ * @param container the container to join
* @param delim delimiter used to glue together strings
* @return a string containing input values concatenated with a delimiter
*/
template< typename CONTAINER, typename S = char >
-string join( CONTAINER const & cont, S const & delim = S() )
+string join( CONTAINER const & container, S const & delim = S() )
+{
+ return join( std::begin( container ), std::end( container ), delim );
+}
+
+/**
+ * @brief Join strings or other printable objects returned by a formatter functor.
+ * @tparam IT type of iterator into the range of objects to join
+ * @tparam S type of delimiter, usually char, char const * or string
+ * @tparam LAMBDA type of formatter functor, usually `[]( auto it ) -> string`
+ * @param formattingFunc formatter function to get a formattable value from a IT iterator
+ * @param first iterator to start of the range
+ * @param last iterator past-the-end of the range
+ * @param delim delimiter used to glue together strings
+ * @return a string containing input values concatenated with a delimiter
+ */
+template< typename IT, typename S, typename LAMBDA >
+string joinLamda( IT first, IT last, S const & delim, LAMBDA formattingFunc )
+{
+ if( first == last )
+ {
+ return {};
+ }
+ std::ostringstream oss;
+ oss << formattingFunc( first );
+ while( ++first != last )
+ {
+ oss << delim << formattingFunc( first );
+ }
+ return oss.str();
+}
+
+/**
+ * @brief Join strings or other printable objects returned by a formatter functor.
+ * @tparam CONTAINER type of container to join
+ * @tparam S type of delimiter, usually char, char const * or string
+ * @tparam LAMBDA type of formatter functor, usually `[]( auto it ) -> string`
+ * @param formattingFunc formatter function to get a formattable value from an iterator of the container
+ * @param container container to join
+ * @param delim delimiter used to glue together strings
+ * @return a string containing input values concatenated with a delimiter
+ */
+template< typename CONTAINER, typename S, typename LAMBDA >
+string joinLamda( CONTAINER const & container, S const & delim, LAMBDA formattingFunc )
{
- return join( std::begin( cont ), std::end( cont ), delim );
+ return joinLamda( std::begin( container ), std::end( container ), delim, formattingFunc );
}
/**
@@ -181,8 +224,8 @@ string_view trimSpaces( string_view str );
* @param[in] strToRemove the string to search for in the line
* @return the new (truncated) string
*/
-string removeStringAndFollowingContent( string const & str,
- string const & strToRemove );
+string removeStringAndFollowingContent( string_view str,
+ string_view strToRemove );
/**
* @brief Take a string, and return a array1d with the cast values
diff --git a/src/coreComponents/common/format/table/TableData.cpp b/src/coreComponents/common/format/table/TableData.cpp
index c4af2bce74a..dcbec10a01a 100644
--- a/src/coreComponents/common/format/table/TableData.cpp
+++ b/src/coreComponents/common/format/table/TableData.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -51,11 +51,42 @@ std::vector< string > const & TableData::getErrorMsgs() const
return m_errorsMsg;
}
-TableData2D::Conversion1D TableData2D::buildTableData( string_view targetUnit,
- string_view rowFmt,
- string_view columnFmt ) const
+void TableData2D::collectTableValues( arraySlice1d< real64 const > rowAxisValues,
+ arraySlice1d< real64 const > columnAxisValues,
+ arrayView1d< real64 const > values )
{
- TableData2D::Conversion1D tableData1D;
+ integer const nX = rowAxisValues.size();
+ integer const nY = columnAxisValues.size();
+
+ for( integer i = 0; i < nX; i++ )
+ {
+ for( integer y = 0; y < nY; y++ )
+ {
+ addCell( rowAxisValues[i], columnAxisValues[y], values[ y*nX + i ] );
+ }
+ }
+}
+
+TableData2D::TableDataHolder TableData2D::convertTable2D( arrayView1d< real64 const > const values,
+ units::Unit const valueUnit,
+ ArrayOfArraysView< real64 const > const coordinates,
+ string_view rowAxisDescription,
+ string_view columnAxisDescription )
+{
+ string const rowFmt = GEOS_FMT( "{} = {{}}", rowAxisDescription );
+ string const columnFmt = GEOS_FMT( "{} = {{}}", columnAxisDescription );
+
+ collectTableValues( coordinates[0], coordinates[1], values );
+ return buildTableData( string( units::getDescription( valueUnit )),
+ rowFmt,
+ columnFmt );
+}
+
+TableData2D::TableDataHolder TableData2D::buildTableData( string_view targetUnit,
+ string_view rowFmt,
+ string_view columnFmt ) const
+{
+ TableData2D::TableDataHolder tableData1D;
std::vector< size_t > rowsLength;
tableData1D.headerNames.push_back( string( targetUnit ) );
diff --git a/src/coreComponents/common/format/table/TableData.hpp b/src/coreComponents/common/format/table/TableData.hpp
index 005e3dda7bc..aa35f06a0f6 100644
--- a/src/coreComponents/common/format/table/TableData.hpp
+++ b/src/coreComponents/common/format/table/TableData.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -20,6 +20,7 @@
#ifndef GEOS_COMMON_FORMAT_TABLE_TABLEDATA_HPP
#define GEOS_COMMON_FORMAT_TABLE_TABLEDATA_HPP
+#include "common/Units.hpp"
#include "common/DataTypes.hpp"
#include "common/format/Format.hpp"
@@ -85,9 +86,10 @@ class TableData2D
using ColumnType = real64;
/// Struct containing conversion informations
- struct Conversion1D
+ struct TableDataHolder
{
/// Vector containing all columns names
+ /// A header value is presented as "pressure [K] = {}"
std::vector< string > headerNames;
/// TableData to be built
TableData tableData;
@@ -103,6 +105,30 @@ class TableData2D
template< typename T >
void addCell( RowType rowValue, ColumnType columnValue, T const & value );
+ /**
+ * @brief Collects all the values needed to build the table
+ * @param rowAxisValues Vector containing all row axis values
+ * @param columnAxisValues Vector containing all column axis values
+ * @param values Vector containing all table values
+ */
+ void collectTableValues( arraySlice1d< real64 const > rowAxisValues,
+ arraySlice1d< real64 const > columnAxisValues,
+ arrayView1d< real64 const > values );
+
+ /**
+ * @param values Vector containing all table values
+ * @param valueUnit The table unit value
+ * @param coordinates Array containing row/column axis values
+ * @param rowAxisDescription The description for a row unit value
+ * @param columnAxisDescription The description for a column unit value
+ * @return A struct containing the tableData converted and all header values ;
+ */
+ TableData2D::TableDataHolder convertTable2D( arrayView1d< real64 const > const values,
+ units::Unit const valueUnit,
+ ArrayOfArraysView< real64 const > const coordinates,
+ string_view rowAxisDescription,
+ string_view columnAxisDescription );
+
/**
* @return Convert and return a struct containing a 1D Table, the column names list from a TableData2D and any errors related to the table
* @param dataDescription The table dataDescription shown at the top left side
@@ -112,7 +138,8 @@ class TableData2D
* By default it displays the axis value.
* I.E to display a customized axis to show the pressures in y axis, a rowFmt value can be : "pressure [K] = {}"
*/
- Conversion1D buildTableData( string_view dataDescription, string_view rowFmt = "{}", string_view columnFmt = "{}" ) const;
+ TableDataHolder buildTableData( string_view dataDescription,
+ string_view rowFmt = "{}", string_view columnFmt = "{}" ) const;
private:
/// @brief all cell values by their [ row ][ column ]
diff --git a/src/coreComponents/common/format/table/TableFormatter.cpp b/src/coreComponents/common/format/table/TableFormatter.cpp
index 13956a41cd0..56f529bdcee 100644
--- a/src/coreComponents/common/format/table/TableFormatter.cpp
+++ b/src/coreComponents/common/format/table/TableFormatter.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,6 +17,7 @@
* @file TableFormatter.cpp
*/
+#include "TableFormatter.hpp"
#include
#include "common/format/StringUtilities.hpp"
#include "TableFormatter.hpp"
@@ -67,7 +68,8 @@ string TableCSVFormatter::dataToString( TableData const & tableData ) const
return oss.str();
}
-string TableCSVFormatter::toString( TableData const & tableData ) const
+template<>
+string TableCSVFormatter::toString< TableData >( TableData const & tableData ) const
{
return headerToString() + dataToString( tableData );
}
@@ -155,7 +157,8 @@ string TableTextFormatter::layoutToString() const
return tableOutput.str();
}
-string TableTextFormatter::toString( TableData const & tableData ) const
+template<>
+string TableTextFormatter::toString< TableData >( TableData const & tableData ) const
{
std::ostringstream tableOutput;
string sectionSeparatingLine;
@@ -403,4 +406,5 @@ void TableTextFormatter::outputSectionRows( std::vector< TableLayout::Column > c
tableOutput << GEOS_FMT( "{}\n", sectionSeparatingLine );
}
}
+
}
diff --git a/src/coreComponents/common/format/table/TableFormatter.hpp b/src/coreComponents/common/format/table/TableFormatter.hpp
index 21ddc8c5b11..165533445b6 100644
--- a/src/coreComponents/common/format/table/TableFormatter.hpp
+++ b/src/coreComponents/common/format/table/TableFormatter.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -37,6 +37,8 @@ class TableFormatter
/// Layout for a table
TableLayout m_tableLayout;
+ TableFormatter() = default;
+
/**
* @brief Construct a new Table Formatter from a tableLayout
* @param tableLayout Contain all column names and optionnaly the table title
@@ -56,6 +58,13 @@ class TableCSVFormatter : public TableFormatter
{
public:
+ /**
+ * @brief Construct a new Table Formatter
+ */
+ TableCSVFormatter():
+ TableFormatter( TableLayout() )
+ {}
+
/**
* @brief Construct a new Table Formatter from a tableLayout
* @param tableLayout Contain all column names and optionnaly the table title
@@ -80,28 +89,47 @@ class TableCSVFormatter : public TableFormatter
string dataToString( TableData const & tableData ) const;
/**
- * @brief Convert the TableData to a table string.
- * @param tableData The TableData to convert.
- * @return The table string representation of the TableData.
+ * @brief Convert a data source to a CSV string.
+ * @tparam DATASOURCE The source to convert
+ * @param tableData The data source to convert
+ * @return The CSV string representation of a data source.
*/
- string toString( TableData const & tableData ) const;
+ template< typename DATASOURCE >
+ string toString( DATASOURCE const & tableData ) const;
};
+/**
+ * @brief Convert the TableData to a CSV string.
+ * @param tableData The TableData to convert.
+ * @return The CSV string representation of the TableData.
+ */
+template<>
+string TableCSVFormatter::toString< TableData >( TableData const & tableData ) const;
+
+
/**
* @brief class for log formatting
*/
class TableTextFormatter : public TableFormatter
{
-
public:
+
+ /**
+ * @brief Construct a new TableFormatter
+ */
+ TableTextFormatter():
+ TableFormatter( TableLayout() )
+ {}
+
/**
* @brief Construct a new TableFormatter from a tableLayout
* @param tableLayout Contain all column names and optionnaly the table title
*/
TableTextFormatter( TableLayout const & tableLayout );
+
/**
* @brief Destroy the Table Text Formatter object
*/
@@ -113,11 +141,12 @@ class TableTextFormatter : public TableFormatter
string layoutToString() const;
/**
- * @brief Convert the TableData to a table string.
- * @param tableData The TableData to convert.
+ * @brief Convert a data source to a table string.
+ * @param tableData The data source to convert.
* @return The table string representation of the TableData.
*/
- string toString( TableData const & tableData ) const;
+ template< typename DATASOURCE >
+ string toString( DATASOURCE const & tableData ) const;
private:
@@ -126,7 +155,7 @@ class TableTextFormatter : public TableFormatter
/// for the extremity of a row
static constexpr char m_horizontalLine = '-';
- /**F
+ /**
* @brief Fill the vector (m_column) in tableData with values from rows stored in tableData.
* @param columns Vector of columns to be filled.
* @param tableData Vector containing all rows filled with values
@@ -217,6 +246,14 @@ class TableTextFormatter : public TableFormatter
integer const nbRows,
TableLayout::Section const section ) const;
};
+
+/**
+ * @brief Convert a TableData to a table string.
+ * @param tableData The TableData to convert.
+ * @return The table string representation of the TableData.
+ */
+template<>
+string TableTextFormatter::toString< TableData >( TableData const & tableData ) const;
}
#endif /* GEOS_COMMON_FORMAT_TABLE_TABLEFORMATTER_HPP */
diff --git a/src/coreComponents/common/format/table/TableLayout.cpp b/src/coreComponents/common/format/table/TableLayout.cpp
index b3de6f6b917..7912baa9211 100644
--- a/src/coreComponents/common/format/table/TableLayout.cpp
+++ b/src/coreComponents/common/format/table/TableLayout.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/format/table/TableLayout.hpp b/src/coreComponents/common/format/table/TableLayout.hpp
index 1c4608e3ea5..4f24fa5559c 100644
--- a/src/coreComponents/common/format/table/TableLayout.hpp
+++ b/src/coreComponents/common/format/table/TableLayout.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -97,6 +97,8 @@ class TableLayout
string m_maxStringSize;
};
+ TableLayout() = default;
+
/**
* @brief Construct a new Table object, all values in the table are centered by default
* @param columnNames The names of the columns
diff --git a/src/coreComponents/common/format/table/unitTests/testTable.cpp b/src/coreComponents/common/format/table/unitTests/testTable.cpp
index 37c78d01db6..3663b5eae22 100644
--- a/src/coreComponents/common/format/table/unitTests/testTable.cpp
+++ b/src/coreComponents/common/format/table/unitTests/testTable.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -210,9 +210,9 @@ TEST( testTable, table2DTable )
//convert
string const rowFmt = GEOS_FMT( "{} = {{}}", "Temperature" );
string const columnFmt = GEOS_FMT( "{} = {{}}", "Pression" );
- TableData2D::Conversion1D tableconverted = tableData.buildTableData( "Viscosity kg*s",
- rowFmt,
- columnFmt );
+ TableData2D::TableDataHolder tableconverted = tableData.buildTableData( "Viscosity kg*s",
+ rowFmt,
+ columnFmt );
//format
TableLayout const tableLayout( tableconverted.headerNames );
@@ -248,9 +248,9 @@ TEST( testTable, table2DColumnMismatch )
//convert
string const rowFmt = GEOS_FMT( "{} = {{}}", "Temperature" );
string const columnFmt = GEOS_FMT( "{} = {{}}", "Pression" );
- TableData2D::Conversion1D tableConverted = tableData.buildTableData( "Viscosity kg*s",
- rowFmt,
- columnFmt );
+ TableData2D::TableDataHolder tableConverted = tableData.buildTableData( "Viscosity kg*s",
+ rowFmt,
+ columnFmt );
//format
TableLayout const tableLayout( tableConverted.headerNames );
@@ -274,11 +274,10 @@ TEST( testTable, table2DColumnMismatch )
TEST( testTable, layoutTable )
{
string filename = "fluid1_phaseModel1_PhillipsBrineDensity_table";
- //2. format
+
string log = GEOS_FMT( "The {} PVT table exceeding 500 rows.\nTo visualize the tables, go to the generated csv \n", filename );
TableLayout const tableLayoutInfos( {TableLayout::ColumnParam{{log}, TableLayout::Alignment::left}}, filename );
- //3. log
TableTextFormatter const tableLog( tableLayoutInfos );
EXPECT_EQ( tableLog.layoutToString(),
"\n-------------------------------------------------------------------------------------\n"
diff --git a/src/coreComponents/common/format/unitTests/testStringUtilities.cpp b/src/coreComponents/common/format/unitTests/testStringUtilities.cpp
index bbf682de8e9..94ca8bc039e 100644
--- a/src/coreComponents/common/format/unitTests/testStringUtilities.cpp
+++ b/src/coreComponents/common/format/unitTests/testStringUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/initializeEnvironment.cpp b/src/coreComponents/common/initializeEnvironment.cpp
index 03bf8bfcea0..ee3b826aec6 100644
--- a/src/coreComponents/common/initializeEnvironment.cpp
+++ b/src/coreComponents/common/initializeEnvironment.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -98,6 +98,9 @@ void setupLvArray()
#else
LvArray::system::disableFloatingPointExceptions( FE_ALL_EXCEPT );
#endif
+
+ /* Disable chai callbacks by default */
+ chai::ArrayManager::getInstance()->disableCallbacks();
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/coreComponents/common/initializeEnvironment.hpp b/src/coreComponents/common/initializeEnvironment.hpp
index 70e2b4b720b..d6364028799 100644
--- a/src/coreComponents/common/initializeEnvironment.hpp
+++ b/src/coreComponents/common/initializeEnvironment.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/logger/Logger.cpp b/src/coreComponents/common/logger/Logger.cpp
index c730e8168ad..bd800697524 100644
--- a/src/coreComponents/common/logger/Logger.cpp
+++ b/src/coreComponents/common/logger/Logger.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/logger/Logger.hpp b/src/coreComponents/common/logger/Logger.hpp
index 2988677aaa8..a10c5330b19 100644
--- a/src/coreComponents/common/logger/Logger.hpp
+++ b/src/coreComponents/common/logger/Logger.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -79,6 +79,21 @@
} \
} while( false )
+/**
+ * @brief Conditionally log a message on screen on rank 0 without line breaking.
+ * @param EXP an expression that will be evaluated as a predicate
+ * @param msg a message to log (any expression that can be stream inserted)
+ */
+#define GEOS_LOG_RANK_0_IF_NLR( EXP, msg ) \
+ do { \
+ if( ::geos::logger::internal::rank == 0 && EXP ) \
+ { \
+ std::ostringstream oss; \
+ oss << msg; \
+ std::cout << oss.str(); \
+ } \
+ } while( false )
+
/**
* @brief Log a message on screen on rank 0.
* @param msg a message to log (any expression that can be stream inserted)
@@ -456,6 +471,7 @@
* @brief Output messages based on current Group's log level.
* @param[in] minLevel minimum log level
* @param[in] msg a message to log (any expression that can be stream inserted)
+ * @deprecated Will be replaced by GEOS_LOG_LEVEL_INFO
*/
#define GEOS_LOG_LEVEL( minLevel, msg ) GEOS_LOG_IF( this->getLogLevel() >= minLevel, msg );
@@ -463,6 +479,7 @@
* @brief Output messages (only on rank 0) based on current Group's log level.
* @param[in] minLevel minimum log level
* @param[in] msg a message to log (any expression that can be stream inserted)
+ * @deprecated Will be replaced by GEOS_LOG_LEVEL_INFO_RANK_0
*/
#define GEOS_LOG_LEVEL_RANK_0( minLevel, msg ) GEOS_LOG_RANK_0_IF( this->getLogLevel() >= minLevel, msg )
@@ -470,6 +487,7 @@
* @brief Output messages (with one line per rank) based on current Group's log level.
* @param[in] minLevel minimum log level
* @param[in] msg a message to log (any expression that can be stream inserted)
+ * @deprecated Will be replaced by GEOS_LOG_LEVEL_INFO_BY_RANK
*/
#define GEOS_LOG_LEVEL_BY_RANK( minLevel, msg ) GEOS_LOG_RANK_IF( this->getLogLevel() >= minLevel, msg )
diff --git a/src/coreComponents/common/unitTests/testCaliperSmoke.cpp b/src/coreComponents/common/unitTests/testCaliperSmoke.cpp
index 77771355819..2c3b5fa8cde 100644
--- a/src/coreComponents/common/unitTests/testCaliperSmoke.cpp
+++ b/src/coreComponents/common/unitTests/testCaliperSmoke.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/unitTests/testDataTypes.cpp b/src/coreComponents/common/unitTests/testDataTypes.cpp
index bd875e8d70b..b5c2a1f87ee 100644
--- a/src/coreComponents/common/unitTests/testDataTypes.cpp
+++ b/src/coreComponents/common/unitTests/testDataTypes.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/unitTests/testFixedSizeDeque.cpp b/src/coreComponents/common/unitTests/testFixedSizeDeque.cpp
index b9a2489b181..e5f64662e64 100644
--- a/src/coreComponents/common/unitTests/testFixedSizeDeque.cpp
+++ b/src/coreComponents/common/unitTests/testFixedSizeDeque.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/unitTests/testLifoStorage.cpp b/src/coreComponents/common/unitTests/testLifoStorage.cpp
index 1432137b545..f5b260b0b28 100644
--- a/src/coreComponents/common/unitTests/testLifoStorage.cpp
+++ b/src/coreComponents/common/unitTests/testLifoStorage.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -120,7 +120,7 @@ void testLifoStorageBig( int elemCnt, int numberOfElementsOnDevice, int numberOf
array.move( local::RAJAHelper< POLICY >::space );
LifoStorage< float, localIndex > lifo( "lifo", array, numberOfElementsOnDevice, numberOfElementsOnHost, totalNumberOfBuffers );
- for( int j = 0; j < 10; j++ )
+ for( int j = 0; j < totalNumberOfBuffers; j++ )
{
float * dataPointer = array.data();
@@ -128,7 +128,7 @@ void testLifoStorageBig( int elemCnt, int numberOfElementsOnDevice, int numberOf
lifo.push( array );
}
- for( int j = 0; j < 10; j++ )
+ for( int j = 0; j < totalNumberOfBuffers; j++ )
{
lifo.pop( array );
float * dataPointer = array.data();
@@ -178,29 +178,34 @@ TEST( LifoStorageTest, LifoStorageBufferOnCUDA )
TEST( LifoStorageTest, LifoStorageBufferOnCUDAlarge )
{
- testLifoStorageBig< parallelDevicePolicy< > >( 1000000, 2, 3, 10000 );
+ testLifoStorageBig< parallelDevicePolicy< > >( 1000000, 2, 3, 10 );
}
TEST( LifoStorageTest, LifoStorageBufferOnCUDAlargeAutoSizeHost )
{
- testLifoStorageBig< parallelDevicePolicy< > >( 1000000, 2, -80, 10000 );
+ testLifoStorageBig< parallelDevicePolicy< > >( 1000000, 2, -80, 10 );
}
TEST( LifoStorageTest, LifoStorageBufferOnCUDAlargeAutoSizeDevice )
{
- testLifoStorageBig< parallelDevicePolicy< > >( 1000000, -80, 3, 10000 );
+ testLifoStorageBig< parallelDevicePolicy< > >( 1000000, -80, 3, 10 );
}
TEST( LifoStorageTest, LifoStorageBufferOnCUDAlargeAutoSizeBoth )
{
- testLifoStorageBig< parallelDevicePolicy< > >( 1000000, -80, -80, 10000 );
+ testLifoStorageBig< parallelDevicePolicy< > >( 1000000, -80, -80, 10 );
}
-
-TEST( LifoStorageTest, LifoStorageBufferOnCUDANoDeviceBuffer )
-{
- testLifoStorage< local::devicePolicy< 32 > >( 10, 0, 3, 10 );
-}
+// The following test is disabled for now, as it produces a random assertion error
+// that affects the current CI (see issue https://github.com/GEOS-DEV/GEOS/issues/3355).
+// The error appears randomly on some configurations, and is probably related to the
+// size-0 device buffer case that this test covers. This case should not be frequent
+// in practise, but the issue should be resolved and the test reactivated as soon as
+// a solution is found.
+//TEST( LifoStorageTest, LifoStorageBufferOnCUDANoDeviceBuffer )
+//{
+// testLifoStorage< local::devicePolicy< 32 > >( 10, 0, 3, 10 );
+//}
TEST( LifoStorageTest, LifoStorageAsyncBufferOnCUDA )
{
diff --git a/src/coreComponents/common/unitTests/testTypeDispatch.cpp b/src/coreComponents/common/unitTests/testTypeDispatch.cpp
index 4b0b19db0ab..414436cd46d 100644
--- a/src/coreComponents/common/unitTests/testTypeDispatch.cpp
+++ b/src/coreComponents/common/unitTests/testTypeDispatch.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/common/unitTests/testUnits.cpp b/src/coreComponents/common/unitTests/testUnits.cpp
index a27d979c1a2..f94a3616b5e 100644
--- a/src/coreComponents/common/unitTests/testUnits.cpp
+++ b/src/coreComponents/common/unitTests/testUnits.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/CMakeLists.txt b/src/coreComponents/constitutive/CMakeLists.txt
index 38304adc24c..69a953f361a 100644
--- a/src/coreComponents/constitutive/CMakeLists.txt
+++ b/src/coreComponents/constitutive/CMakeLists.txt
@@ -39,8 +39,6 @@ set( constitutive_headers
fluid/multifluid/MultiFluidConstants.hpp
fluid/multifluid/MultiFluidUtils.hpp
fluid/multifluid/MultiFluidFields.hpp
- fluid/multifluid/PVTDriver.hpp
- fluid/multifluid/PVTDriverRunTest.hpp
fluid/multifluid/blackOil/BlackOilFluidBase.hpp
fluid/multifluid/blackOil/BlackOilFluid.hpp
fluid/multifluid/blackOil/DeadOilFluid.hpp
@@ -76,8 +74,11 @@ set( constitutive_headers
fluid/multifluid/compositional/models/ComponentProperties.hpp
fluid/multifluid/compositional/models/CompositionalDensity.hpp
fluid/multifluid/compositional/models/ConstantViscosity.hpp
+ fluid/multifluid/compositional/models/CriticalVolume.hpp
fluid/multifluid/compositional/models/EquationOfState.hpp
fluid/multifluid/compositional/models/FunctionBase.hpp
+ fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.hpp
+ fluid/multifluid/compositional/models/ImmiscibleWaterParameters.hpp
fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.hpp
fluid/multifluid/compositional/models/LohrenzBrayClarkViscosityImpl.hpp
fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.hpp
@@ -89,8 +90,6 @@ set( constitutive_headers
fluid/multifluid/reactive/ReactiveBrineFluid.hpp
fluid/multifluid/reactive/ReactiveMultiFluid.hpp
fluid/multifluid/reactive/ReactiveMultiFluidFields.hpp
- fluid/multifluid/reactive/ReactiveFluidDriver.hpp
- fluid/multifluid/reactive/ReactiveFluidSelector.hpp
fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.hpp
fluid/multifluid/reactive/chemicalReactions/KineticReactions.hpp
fluid/multifluid/reactive/chemicalReactions/ReactionsBase.hpp
@@ -116,8 +115,6 @@ set( constitutive_headers
permeability/ProppantPermeability.hpp
permeability/SlipDependentPermeability.hpp
permeability/WillisRichardsPermeability.hpp
- relativePermeability/RelpermDriver.hpp
- relativePermeability/RelpermDriverRunTest.hpp
relativePermeability/BrooksCoreyBakerRelativePermeability.hpp
relativePermeability/BrooksCoreyStone2RelativePermeability.hpp
relativePermeability/BrooksCoreyRelativePermeability.hpp
@@ -161,7 +158,6 @@ set( constitutive_headers
solid/SolidModelDiscretizationOpsTransverseIsotropic.hpp
solid/SolidModelDiscretizationOpsOrthotropic.hpp
solid/CeramicDamage.hpp
- solid/TriaxialDriver.hpp
solid/porosity/PorosityFields.hpp
solid/porosity/BiotPorosity.hpp
solid/porosity/PorosityBase.hpp
@@ -173,7 +169,7 @@ set( constitutive_headers
thermalConductivity/MultiPhaseThermalConductivityFields.hpp
thermalConductivity/MultiPhaseThermalConductivitySelector.hpp
thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.hpp
- thermalConductivity/SinglePhaseConstantThermalConductivity.hpp
+ thermalConductivity/SinglePhaseThermalConductivity.hpp
thermalConductivity/SinglePhaseThermalConductivityBase.hpp
thermalConductivity/SinglePhaseThermalConductivityFields.hpp
thermalConductivity/SinglePhaseThermalConductivitySelector.hpp
@@ -203,17 +199,11 @@ set( constitutive_sources
dispersion/DispersionBase.cpp
dispersion/LinearIsotropicDispersion.cpp
fluid/multifluid/MultiFluidBase.cpp
- fluid/multifluid/PVTDriver.cpp
fluid/multifluid/blackOil/BlackOilFluidBase.cpp
fluid/multifluid/blackOil/BlackOilFluid.cpp
fluid/multifluid/blackOil/DeadOilFluid.cpp
- fluid/multifluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
fluid/multifluid/blackOil/PVTOData.cpp
fluid/multifluid/CO2Brine/CO2BrineFluid.cpp
- fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
- fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
- fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
- fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.cpp
fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.cpp
fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.cpp
@@ -231,15 +221,15 @@ set( constitutive_sources
fluid/multifluid/CO2Brine/functions/WaterDensity.cpp
fluid/multifluid/compositional/models/CompositionalDensity.cpp
fluid/multifluid/compositional/models/ConstantViscosity.cpp
+ fluid/multifluid/compositional/models/CriticalVolume.cpp
+ fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.cpp
+ fluid/multifluid/compositional/models/ImmiscibleWaterParameters.cpp
fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.cpp
fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.cpp
fluid/multifluid/compositional/CompositionalMultiphaseFluid.cpp
fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.cpp
- fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
- fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
fluid/multifluid/reactive/ReactiveBrineFluid.cpp
fluid/multifluid/reactive/ReactiveMultiFluid.cpp
- fluid/multifluid/reactive/ReactiveFluidDriver.cpp
fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.cpp
fluid/multifluid/reactive/chemicalReactions/KineticReactions.cpp
fluid/multifluid/reactive/chemicalReactions/ReactionsBase.cpp
@@ -268,14 +258,6 @@ set( constitutive_sources
relativePermeability/TableRelativePermeabilityHysteresis.cpp
relativePermeability/VanGenuchtenBakerRelativePermeability.cpp
relativePermeability/VanGenuchtenStone2RelativePermeability.cpp
- relativePermeability/RelpermDriver.cpp
- relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
- relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
- relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
- relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
- relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
- relativePermeability/RelpermDriverTableRelativeRunTest.cpp
- relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
solid/CompressibleSolid.cpp
solid/CoupledSolidBase.cpp
solid/ProppantSolid.cpp
@@ -296,7 +278,6 @@ set( constitutive_sources
solid/SolidBase.cpp
solid/SolidInternalEnergy.cpp
solid/CeramicDamage.cpp
- solid/TriaxialDriver.cpp
solid/porosity/BiotPorosity.cpp
solid/porosity/PorosityBase.cpp
solid/porosity/PressurePorosity.cpp
@@ -304,11 +285,11 @@ set( constitutive_sources
thermalConductivity/MultiPhaseConstantThermalConductivity.cpp
thermalConductivity/MultiPhaseThermalConductivityBase.cpp
thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.cpp
- thermalConductivity/SinglePhaseConstantThermalConductivity.cpp
+ thermalConductivity/SinglePhaseThermalConductivity.cpp
thermalConductivity/SinglePhaseThermalConductivityBase.cpp
)
-set( dependencyList ${parallelDeps} events dataRepository functions denseLinearAlgebra )
+set( dependencyList ${parallelDeps} functions denseLinearAlgebra )
if( ENABLE_PVTPackage )
set( constitutive_headers
@@ -318,22 +299,28 @@ if( ENABLE_PVTPackage )
set( constitutive_sources
${constitutive_sources}
fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.cpp
- fluid/multifluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp )
+ )
add_subdirectory( PVTPackage )
list( APPEND dependencyList PVTPackage )
endif()
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
+
blt_add_library( NAME constitutive
SOURCES ${constitutive_sources}
HEADERS ${constitutive_headers}
- DEPENDS_ON ${dependencyList}
+ DEPENDS_ON ${decoratedDependencies}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
target_include_directories( constitutive PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS constitutive LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
+
if( GEOS_ENABLE_TESTS )
add_subdirectory( unitTests )
endif( )
diff --git a/src/coreComponents/constitutive/ConstitutiveBase.cpp b/src/coreComponents/constitutive/ConstitutiveBase.cpp
index 5912c5036ae..2c7334239c3 100644
--- a/src/coreComponents/constitutive/ConstitutiveBase.cpp
+++ b/src/coreComponents/constitutive/ConstitutiveBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -30,7 +30,8 @@ namespace constitutive
ConstitutiveBase::ConstitutiveBase( string const & name,
Group * const parent ):
Group( name, parent ),
- m_numQuadraturePoints( 1 )
+ m_numQuadraturePoints( 1 ),
+ m_isClone( false )
{
setInputFlags( InputFlags::OPTIONAL_NONUNIQUE );
}
@@ -72,6 +73,11 @@ void ConstitutiveBase::allocateConstitutiveData( dataRepository::Group & parent,
this->resize( parent.size() );
}
+void ConstitutiveBase::setIsClone( bool const newState )
+{
+ m_isClone = newState;
+}
+
std::unique_ptr< ConstitutiveBase >
ConstitutiveBase::deliverClone( string const & name,
Group * const parent ) const
@@ -84,6 +90,8 @@ ConstitutiveBase::deliverClone( string const & name,
wrapper.copyWrapper( this->getWrapperBase( wrapper.getName() ) );
} );
+ newModel->setIsClone( true );
+
return newModel;
}
diff --git a/src/coreComponents/constitutive/ConstitutiveBase.hpp b/src/coreComponents/constitutive/ConstitutiveBase.hpp
index 1c876768381..c025a58bb4b 100644
--- a/src/coreComponents/constitutive/ConstitutiveBase.hpp
+++ b/src/coreComponents/constitutive/ConstitutiveBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -113,6 +113,11 @@ class ConstitutiveBase : public dataRepository::Group
localIndex numQuadraturePoints() const { return m_numQuadraturePoints; }
+ /**
+ * @return true if the instance has been produced with deliverClone()
+ */
+ bool isClone() const { return m_isClone; }
+
virtual std::vector< string > getSubRelationNames() const { return {}; }
/**
@@ -162,7 +167,16 @@ class ConstitutiveBase : public dataRepository::Group
private:
+ /**
+ * @brief Set a isClone state boolean
+ * @param newState The state of the new constitutive model
+ */
+ void setIsClone( bool const newState );
+
localIndex m_numQuadraturePoints;
+
+ /// Indicate if this constitutive model a clone
+ bool m_isClone;
};
}
diff --git a/src/coreComponents/constitutive/ConstitutiveManager.cpp b/src/coreComponents/constitutive/ConstitutiveManager.cpp
index 5328aaf10c3..38d47321344 100644
--- a/src/coreComponents/constitutive/ConstitutiveManager.cpp
+++ b/src/coreComponents/constitutive/ConstitutiveManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/ConstitutiveManager.hpp b/src/coreComponents/constitutive/ConstitutiveManager.hpp
index 3962a4bbe75..fbea4c187ed 100644
--- a/src/coreComponents/constitutive/ConstitutiveManager.hpp
+++ b/src/coreComponents/constitutive/ConstitutiveManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/ConstitutivePassThru.hpp b/src/coreComponents/constitutive/ConstitutivePassThru.hpp
index a74a7f4dc87..decabffbb6a 100644
--- a/src/coreComponents/constitutive/ConstitutivePassThru.hpp
+++ b/src/coreComponents/constitutive/ConstitutivePassThru.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -49,6 +49,7 @@
#include "permeability/ProppantPermeability.hpp"
#include "permeability/SlipDependentPermeability.hpp"
#include "permeability/WillisRichardsPermeability.hpp"
+#include "contact/CoulombFriction.hpp"
namespace geos
@@ -83,6 +84,20 @@ struct ConstitutivePassThru< ElasticIsotropic >
}
};
+/**
+ * Specialization for models that derive from CoulombFriction.
+ */
+template<>
+struct ConstitutivePassThru< CoulombFriction >
+{
+ template< typename LAMBDA >
+ static
+ void execute( ConstitutiveBase & constitutiveRelation, LAMBDA && lambda )
+ {
+ ConstitutivePassThruHandler< CoulombFriction >::execute( constitutiveRelation,
+ std::forward< LAMBDA >( lambda ) );
+ }
+};
/**
* Specialization for models that derive from SolidBase.
diff --git a/src/coreComponents/constitutive/ConstitutivePassThruHandler.hpp b/src/coreComponents/constitutive/ConstitutivePassThruHandler.hpp
index 631b32d6b2f..54dc51b24cc 100644
--- a/src/coreComponents/constitutive/ConstitutivePassThruHandler.hpp
+++ b/src/coreComponents/constitutive/ConstitutivePassThruHandler.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/ExponentialRelation.hpp b/src/coreComponents/constitutive/ExponentialRelation.hpp
index ff0f197872a..64866627cbd 100644
--- a/src/coreComponents/constitutive/ExponentialRelation.hpp
+++ b/src/coreComponents/constitutive/ExponentialRelation.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/NullModel.cpp b/src/coreComponents/constitutive/NullModel.cpp
index 732a47c53b9..7ec9e6f19c0 100644
--- a/src/coreComponents/constitutive/NullModel.cpp
+++ b/src/coreComponents/constitutive/NullModel.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/NullModel.hpp b/src/coreComponents/constitutive/NullModel.hpp
index 0a0635da757..e26a34b525b 100644
--- a/src/coreComponents/constitutive/NullModel.hpp
+++ b/src/coreComponents/constitutive/NullModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.cpp b/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.cpp
index 6e34b636749..eab49c34049 100644
--- a/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.hpp b/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.hpp
index 48d53d7e6a2..67f4195d31b 100644
--- a/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/BrooksCoreyCapillaryPressure.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.cpp b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.cpp
index b097576cc1a..b3d7e2bba0b 100644
--- a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.hpp b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.hpp
index efe78bdd908..b63aea24aac 100644
--- a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureFields.hpp b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureFields.hpp
index 74b5c13998f..b9836e21f11 100644
--- a/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureFields.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/CapillaryPressureFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.cpp b/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.cpp
index de1a06ddf1b..1dda8c49484 100644
--- a/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -250,6 +250,7 @@ void JFunctionCapillaryPressure::saveConvergedRockState( arrayView2d< real64 con
{
permeability = convergedPermeability[ei][0][2];
}
+ GEOS_ERROR_IF( permeability < LvArray::NumericLimits< real64 >::epsilon, "Zero permeability in J-function capillary pressure" );
// here we compute an average of the porosity over quadrature points
// this average is exact for tets, regular pyramids/wedges/hexes, or for VEM
diff --git a/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.hpp b/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.hpp
index 33395544d0c..270adb15902 100644
--- a/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/JFunctionCapillaryPressure.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.cpp b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.cpp
index a5354d499a8..13d9926f49a 100644
--- a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.hpp b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.hpp
index 35afce50906..170055d19bb 100644
--- a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressure.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.cpp b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.cpp
index f6ee1174791..818f869f2b4 100644
--- a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.hpp b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.hpp
index b55e4858e36..3e66d868928 100644
--- a/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/TableCapillaryPressureHelpers.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.cpp b/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.cpp
index a7822804573..d739e9e2d5b 100644
--- a/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.cpp
+++ b/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.hpp b/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.hpp
index f7512bfbc9b..17e58221279 100644
--- a/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/VanGenuchtenCapillaryPressure.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/capillaryPressureSelector.hpp b/src/coreComponents/constitutive/capillaryPressure/capillaryPressureSelector.hpp
index 987ec59bc60..ad6b69b9082 100644
--- a/src/coreComponents/constitutive/capillaryPressure/capillaryPressureSelector.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/capillaryPressureSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/capillaryPressure/layouts.hpp b/src/coreComponents/constitutive/capillaryPressure/layouts.hpp
index 802c932fcc7..e66655c18b9 100644
--- a/src/coreComponents/constitutive/capillaryPressure/layouts.hpp
+++ b/src/coreComponents/constitutive/capillaryPressure/layouts.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/contact/CoulombFriction.cpp b/src/coreComponents/constitutive/contact/CoulombFriction.cpp
index bf9d89cb073..1199f652d7e 100644
--- a/src/coreComponents/constitutive/contact/CoulombFriction.cpp
+++ b/src/coreComponents/constitutive/contact/CoulombFriction.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -73,7 +73,7 @@ void CoulombFriction::allocateConstitutiveData( Group & parent,
}
-CoulombFrictionUpdates CoulombFriction::createKernelWrapper() const
+CoulombFrictionUpdates CoulombFriction::createKernelUpdates() const
{
return CoulombFrictionUpdates( m_displacementJumpThreshold,
m_shearStiffness,
diff --git a/src/coreComponents/constitutive/contact/CoulombFriction.hpp b/src/coreComponents/constitutive/contact/CoulombFriction.hpp
index e2cd87f024f..2ed7d182536 100644
--- a/src/coreComponents/constitutive/contact/CoulombFriction.hpp
+++ b/src/coreComponents/constitutive/contact/CoulombFriction.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -90,6 +90,41 @@ class CoulombFrictionUpdates : public FrictionBaseUpdates
arraySlice1d< real64 const > const & tractionVector,
integer & fractureState ) const override final;
+ GEOS_HOST_DEVICE
+ inline
+ virtual void updateTraction( arraySlice1d< real64 const > const & oldDispJump,
+ arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ bool const symmetric,
+ bool const fixedLimitTau,
+ real64 const normalTractionTolerance,
+ real64 const tangentialTractionTolerance,
+ real64 ( &dTraction_dDispJump )[3][3],
+ real64 ( &tractionNew )[3],
+ integer & fractureState ) const override final;
+
+
+ GEOS_HOST_DEVICE
+ inline
+ virtual void updateTractionOnly( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ arraySlice1d< real64 > const & tractionNew ) const override final;
+
+ GEOS_HOST_DEVICE
+ inline
+ virtual void constraintCheck( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 > const & tractionVector,
+ integer const fractureState,
+ real64 const normalTractionTolerance,
+ real64 const normalDisplacementTolerance,
+ real64 const slidingTolerance,
+ real64 const slidingCheckTolerance,
+ integer & condConv ) const override final;
+
private:
/// The shear stiffness
real64 m_shearStiffness;
@@ -155,7 +190,7 @@ class CoulombFriction : public FrictionBase
* @brief Create an update kernel wrapper.
* @return the wrapper
*/
- KernelWrapper createKernelWrapper() const;
+ KernelWrapper createKernelUpdates() const;
protected:
@@ -302,6 +337,252 @@ inline void CoulombFrictionUpdates::updateFractureState( localIndex const k,
}
}
+GEOS_HOST_DEVICE
+inline void CoulombFrictionUpdates::updateTraction( arraySlice1d< real64 const > const & oldDispJump,
+ arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ bool const symmetric,
+ bool const fixedLimitTau,
+ real64 const normalTractionTolerance,
+ real64 const tangentialTractionTolerance,
+ real64 ( & dTraction_dDispJump )[3][3],
+ real64 ( & tractionNew ) [3],
+ integer & fractureState ) const
+{
+
+ using namespace fields::contact;
+
+ real64 dLimitTangentialTractionNorm_dTraction = 0.0;
+ real64 limitTau = 0.0;
+
+ // Compute the trial traction
+ real64 tractionTrial[ 3 ];
+ tractionTrial[ 0 ] = traction[0] + penalty[0] * dispJump[0];
+ tractionTrial[ 1 ] = traction[1] + penalty[1] * (dispJump[1] - oldDispJump[1]);
+ tractionTrial[ 2 ] = traction[2] + penalty[1] * (dispJump[2] - oldDispJump[2]);
+
+ // Compute tangential trial traction norm
+ real64 const tau[2] = { tractionTrial[1],
+ tractionTrial[2] };
+ real64 const tractionTrialNorm = LvArray::tensorOps::l2Norm< 2 >( tau );
+
+ // If normal tangential trial is positive (opening)
+ fractureState = FractureState::Stick;
+ if( tractionTrial[ 0 ] > normalTractionTolerance )
+ {
+ tractionNew[0] = 0.0;
+ dTraction_dDispJump[0][0] = 0.0;
+ fractureState = FractureState::Open;
+ }
+ else
+ {
+ tractionNew[0] = tractionTrial[0];
+ dTraction_dDispJump[0][0] = -penalty[ 0 ];
+ }
+
+ // Compute limit Tau
+ if( fixedLimitTau )
+ {
+ limitTau = computeLimitTangentialTractionNorm( traction[0],
+ dLimitTangentialTractionNorm_dTraction );
+ }
+ else
+ {
+ limitTau = computeLimitTangentialTractionNorm( tractionNew[0],
+ dLimitTangentialTractionNorm_dTraction );
+ }
+
+ if( tractionTrialNorm <= tangentialTractionTolerance )
+ {
+ // It is needed for the first iteration (both t and u are equal to zero)
+ dTraction_dDispJump[1][1] = -penalty[1];
+ dTraction_dDispJump[2][2] = -penalty[1];
+
+ tractionNew[1] = tractionTrial[1];
+ tractionNew[2] = tractionTrial[2];
+
+ if( fractureState != FractureState::Open )
+ fractureState = FractureState::Stick;
+ }
+ else if( limitTau <= tangentialTractionTolerance )
+ {
+ dTraction_dDispJump[1][1] = 0.0;
+ dTraction_dDispJump[2][2] = 0.0;
+
+ tractionNew[1] = (fixedLimitTau) ? tractionTrial[1] : 0.0;
+ tractionNew[2] = (fixedLimitTau) ? tractionTrial[2] : 0.0;
+
+ if( fractureState != FractureState::Open )
+ fractureState = FractureState::Slip;
+ }
+ else
+ {
+ // Compute psi and dpsi
+ //real64 const psi = std::tanh( tractionTrialNorm/limitTau );
+ //real64 const dpsi = 1.0-std::pow(psi,2);
+ real64 const psi = ( tractionTrialNorm > limitTau) ? 1.0 : tractionTrialNorm/limitTau;
+ real64 const dpsi = ( tractionTrialNorm > limitTau) ? 0.0 : 1.0;
+
+ if( fractureState != FractureState::Open )
+ {
+ fractureState = ( tractionTrialNorm > limitTau) ? FractureState::Slip : FractureState::Stick;
+ }
+
+ // Two symmetric 2x2 matrices
+ real64 dNormTTdgT[ 3 ];
+ dNormTTdgT[ 0 ] = tractionTrial[ 1 ] * tractionTrial[ 1 ];
+ dNormTTdgT[ 1 ] = tractionTrial[ 2 ] * tractionTrial[ 2 ];
+ dNormTTdgT[ 2 ] = tractionTrial[ 1 ] * tractionTrial[ 2 ];
+
+ real64 dTdgT[ 3 ];
+ dTdgT[ 0 ] = (tractionTrialNorm * tractionTrialNorm - dNormTTdgT[0]);
+ dTdgT[ 1 ] = (tractionTrialNorm * tractionTrialNorm - dNormTTdgT[1]);
+ dTdgT[ 2 ] = -dNormTTdgT[2];
+
+ LvArray::tensorOps::scale< 3 >( dNormTTdgT, 1. / std::pow( tractionTrialNorm, 2 ) );
+ LvArray::tensorOps::scale< 3 >( dTdgT, 1. / std::pow( tractionTrialNorm, 3 ) );
+
+ // Compute dTdDispJump
+ dTraction_dDispJump[1][1] = -penalty[1] * (
+ dpsi * dNormTTdgT[0] +
+ psi * dTdgT[0] * limitTau );
+ dTraction_dDispJump[2][2] = -penalty[1] * (
+ dpsi * dNormTTdgT[1] +
+ psi * dTdgT[1] * limitTau );
+ dTraction_dDispJump[1][2] = -penalty[1] * (
+ dpsi * dNormTTdgT[2] +
+ psi * dTdgT[2] * limitTau );
+ dTraction_dDispJump[2][1] = dTraction_dDispJump[1][2];
+
+ if( !symmetric )
+ {
+ // Nonsymetric term
+ dTraction_dDispJump[1][0] = -dTraction_dDispJump[0][0] * m_frictionCoefficient *
+ tractionTrial[1] * (psi/tractionTrialNorm - dpsi/limitTau);
+ dTraction_dDispJump[2][0] = -dTraction_dDispJump[0][0] * m_frictionCoefficient *
+ tractionTrial[2] * (psi/tractionTrialNorm - dpsi/limitTau);
+ }
+
+ LvArray::tensorOps::scale< 3 >( tractionTrial, (psi * limitTau)/tractionTrialNorm );
+ tractionNew[1] = tractionTrial[1];
+ tractionNew[2] = tractionTrial[2];
+ }
+
+}
+
+GEOS_HOST_DEVICE
+inline void CoulombFrictionUpdates::updateTractionOnly( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ arraySlice1d< real64 > const & tractionNew ) const
+{
+
+ // TODO: Pass this tol as an argument or define a new class member
+ real64 const zero = LvArray::NumericLimits< real64 >::epsilon;
+
+ tractionNew[0] = traction[0] + penalty[0] * dispJump[0];
+ tractionNew[1] = traction[1] + penalty[1] * deltaDispJump[1];
+ tractionNew[2] = traction[2] + penalty[1] * deltaDispJump[2];
+
+ real64 const tau[2] = { tractionNew[1],
+ tractionNew[2] };
+ real64 const currentTau = LvArray::tensorOps::l2Norm< 2 >( tau );
+
+ real64 dLimitTangentialTractionNorm_dTraction = 0.0;
+ real64 const limitTau = computeLimitTangentialTractionNorm( tractionNew[0],
+ dLimitTangentialTractionNorm_dTraction );
+
+ // Compute psi
+ real64 psi;
+ if( limitTau < zero )
+ {
+ psi = 1.0;
+ }
+ else
+ {
+ //psi = std::tanh(currentTau / limitTau);
+ psi = (currentTau > limitTau ) ? 1.0 : currentTau/limitTau;
+ }
+
+ // Compute the new tangential traction
+ if( limitTau > zero && currentTau > zero )
+ {
+ tractionNew[1] *= limitTau * psi / currentTau;
+ tractionNew[2] *= limitTau * psi / currentTau;
+ }
+ else
+ {
+ tractionNew[1] *= 0.0;
+ tractionNew[2] *= 0.0;
+ }
+}
+
+GEOS_HOST_DEVICE
+inline void CoulombFrictionUpdates::constraintCheck( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 > const & tractionVector,
+ integer const fractureState,
+ real64 const normalTractionTolerance,
+ real64 const normalDisplacementTolerance,
+ real64 const slidingTolerance,
+ real64 const slidingCheckTolerance,
+ integer & condConv ) const
+{
+
+ using namespace fields::contact;
+
+ // Compute the slip
+ real64 const deltaDisp[2] = { deltaDispJump[1],
+ deltaDispJump[2] };
+
+ real64 const deltaDispNorm = LvArray::tensorOps::l2Norm< 2 >( deltaDisp );
+
+ // Compute current Tau and limit Tau
+ real64 const tau[2] = { tractionVector[1],
+ tractionVector[2] };
+ real64 const currentTau = LvArray::tensorOps::l2Norm< 2 >( tau );
+
+ real64 dLimitTangentialTractionNorm_dTraction = 0.0;
+ real64 const limitTau = computeLimitTangentialTractionNorm( tractionVector[0],
+ dLimitTangentialTractionNorm_dTraction );
+
+ condConv = 0;
+ // Case 1: if it is open
+ if( tractionVector[0] >= normalTractionTolerance )
+ {
+ if( fractureState != FractureState::Open )
+ {
+ condConv = 1;
+ }
+ tractionVector[0] = 0.0;
+ tractionVector[1] = 0.0;
+ tractionVector[2] = 0.0;
+ }
+ else
+ {
+ // Case 2: compenetration
+ if(( LvArray::math::abs( dispJump[0] ) > normalDisplacementTolerance ) &&
+ (fractureState != FractureState::Open))
+ {
+ condConv = 2;
+ }
+ // Case 3: it is stick and dg is greater than 0
+ if( fractureState == FractureState::Stick &&
+ deltaDispNorm > slidingTolerance )
+ {
+ condConv = 3;
+ }
+
+ // Case 4: the elastic tangential traction is greater than the limit
+ if( currentTau > (LvArray::math::abs( limitTau ) * (1.0 + slidingCheckTolerance)) )
+ {
+ condConv = 4;
+ }
+ }
+}
+
} /* namespace constitutive */
} /* namespace geos */
diff --git a/src/coreComponents/constitutive/contact/FrictionBase.hpp b/src/coreComponents/constitutive/contact/FrictionBase.hpp
index 13186378e42..e05923f2998 100644
--- a/src/coreComponents/constitutive/contact/FrictionBase.hpp
+++ b/src/coreComponents/constitutive/contact/FrictionBase.hpp
@@ -89,7 +89,81 @@ class FrictionBaseUpdates
integer & fractureState ) const
{ GEOS_UNUSED_VAR( k, dispJump, tractionVector, fractureState ); }
+ /**
+ * @brief Update the trial traction vector ( return mapping )
+ * @param[in] oldDispJump the displacement jump of the previous time step
+ * @param[in] dispJump the displacement jump of the current time step
+ * @param[in] penalty the penalty coefficients
+ * @param[in] traction the traction vector
+ * @param[in] symmetric flag to compute only the symmetric part of dTraction_dDispJump
+ * @param[in] fixedLimitTau flag to keep fixed the tangential stress
+ * @param[in] normalTractionTolerance normal traction tolerance (if tn > tol => fracture is open)
+ * @param[in] tangentialTractionTolerance tangential traction tolerance (if tau < tol => tau = 0)
+ * @param[out] dTraction_dDispJump matrix containing the derivatives of traction over the displacement jump
+ * @param[out] tractionNew the new traction vector
+ * @param[out] fractureState the fracture state
+ */
+ GEOS_HOST_DEVICE
+ inline
+ virtual void updateTraction( arraySlice1d< real64 const > const & oldDispJump,
+ arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ bool const symmetric,
+ bool const fixedLimitTau,
+ real64 const normalTractionTolerance,
+ real64 const tangentialTractionTolerance,
+ real64 ( & dTraction_dDispJump )[3][3],
+ real64 ( & tractionNew )[3],
+ integer & fractureState ) const
+ {
+ GEOS_UNUSED_VAR( oldDispJump, dispJump, penalty, traction, symmetric, fixedLimitTau,
+ normalTractionTolerance, tangentialTractionTolerance,
+ dTraction_dDispJump, tractionNew, fractureState );
+ }
+ /**
+ * @brief Update the traction vector only ( return mapping )
+ * @param[in] dispJump the displacement jump of the current time step
+ * @param[in] deltaDispJump the delta displacement jump of the current time step
+ * @param[in] penalty the penalty coefficients
+ * @param[in] traction the traction vector
+ * @param[out] tractionNew the new traction vector
+ */
+ GEOS_HOST_DEVICE
+ inline
+ virtual void updateTractionOnly( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 const > const & penalty,
+ arraySlice1d< real64 const > const & traction,
+ arraySlice1d< real64 > const & tractionNew ) const
+ { GEOS_UNUSED_VAR( dispJump, deltaDispJump, penalty, traction, tractionNew ); }
+
+ /**
+ * @brief Check for the constraint satisfaction
+ * @param[in] dispJump the displacement jump of the current time step
+ * @param[in] deltaDispJump the delta displacement jump of the current time step
+ * @param[in] tractionVector the traction vector
+ * @param[in] fractureState the fracture check
+ * @param[in] tolerance the tolerance
+ * @param[out] condConv flag indicating the result of the check
+ */
+ GEOS_HOST_DEVICE
+ inline
+ virtual void constraintCheck( arraySlice1d< real64 const > const & dispJump,
+ arraySlice1d< real64 const > const & deltaDispJump,
+ arraySlice1d< real64 > const & tractionVector,
+ integer const fractureState,
+ real64 const normalTractionTolerance,
+ real64 const normalDisplacementTolerance,
+ real64 const slidingTolerance,
+ real64 const slidingCheckTolerance,
+ integer & condConv ) const
+ {
+ GEOS_UNUSED_VAR( dispJump, deltaDispJump, tractionVector, fractureState,
+ normalTractionTolerance, normalDisplacementTolerance, slidingTolerance,
+ slidingCheckTolerance, condConv );
+ }
/**
* @brief Evaluate the limit tangential traction norm and return the derivative wrt normal traction
diff --git a/src/coreComponents/constitutive/contact/FrictionSelector.hpp b/src/coreComponents/constitutive/contact/FrictionSelector.hpp
index 70f510eb0a7..8eab7ff72dd 100644
--- a/src/coreComponents/constitutive/contact/FrictionSelector.hpp
+++ b/src/coreComponents/constitutive/contact/FrictionSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/contact/FrictionlessContact.cpp b/src/coreComponents/constitutive/contact/FrictionlessContact.cpp
index a74b36a76fb..e7fb6bb8ba6 100644
--- a/src/coreComponents/constitutive/contact/FrictionlessContact.cpp
+++ b/src/coreComponents/constitutive/contact/FrictionlessContact.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -35,7 +35,7 @@ FrictionlessContact::FrictionlessContact( string const & name,
FrictionlessContact::~FrictionlessContact()
{}
-FrictionlessContactUpdates FrictionlessContact::createKernelWrapper() const
+FrictionlessContactUpdates FrictionlessContact::createKernelUpdates() const
{
return FrictionlessContactUpdates( m_displacementJumpThreshold );
}
diff --git a/src/coreComponents/constitutive/contact/FrictionlessContact.hpp b/src/coreComponents/constitutive/contact/FrictionlessContact.hpp
index 81aeea036d3..83e53fd8e14 100644
--- a/src/coreComponents/constitutive/contact/FrictionlessContact.hpp
+++ b/src/coreComponents/constitutive/contact/FrictionlessContact.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -118,7 +118,7 @@ class FrictionlessContact : public FrictionBase
* @brief Create an update kernel wrapper.
* @return the wrapper
*/
- KernelWrapper createKernelWrapper() const;
+ KernelWrapper createKernelUpdates() const;
/**
* @struct Structure to hold scoped key names
diff --git a/src/coreComponents/constitutive/contact/HydraulicApertureTable.cpp b/src/coreComponents/constitutive/contact/HydraulicApertureTable.cpp
index 60c3f0ab807..b57d9e3e58e 100644
--- a/src/coreComponents/constitutive/contact/HydraulicApertureTable.cpp
+++ b/src/coreComponents/constitutive/contact/HydraulicApertureTable.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/contact/HydraulicApertureTable.hpp b/src/coreComponents/constitutive/contact/HydraulicApertureTable.hpp
index c1e9c47c1ce..2022e6cec5c 100644
--- a/src/coreComponents/constitutive/contact/HydraulicApertureTable.hpp
+++ b/src/coreComponents/constitutive/contact/HydraulicApertureTable.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/ConstantDiffusion.cpp b/src/coreComponents/constitutive/diffusion/ConstantDiffusion.cpp
index 0ea578e7f32..d53096ba4ff 100644
--- a/src/coreComponents/constitutive/diffusion/ConstantDiffusion.cpp
+++ b/src/coreComponents/constitutive/diffusion/ConstantDiffusion.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/ConstantDiffusion.hpp b/src/coreComponents/constitutive/diffusion/ConstantDiffusion.hpp
index ae25a77d2ac..c482781b8bb 100644
--- a/src/coreComponents/constitutive/diffusion/ConstantDiffusion.hpp
+++ b/src/coreComponents/constitutive/diffusion/ConstantDiffusion.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/DiffusionBase.cpp b/src/coreComponents/constitutive/diffusion/DiffusionBase.cpp
index e87a50d5426..8bacdb7dfb5 100644
--- a/src/coreComponents/constitutive/diffusion/DiffusionBase.cpp
+++ b/src/coreComponents/constitutive/diffusion/DiffusionBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/DiffusionBase.hpp b/src/coreComponents/constitutive/diffusion/DiffusionBase.hpp
index a80b749242f..7bc5daed75b 100644
--- a/src/coreComponents/constitutive/diffusion/DiffusionBase.hpp
+++ b/src/coreComponents/constitutive/diffusion/DiffusionBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/DiffusionFields.hpp b/src/coreComponents/constitutive/diffusion/DiffusionFields.hpp
index 052a4d907d5..397f6214553 100644
--- a/src/coreComponents/constitutive/diffusion/DiffusionFields.hpp
+++ b/src/coreComponents/constitutive/diffusion/DiffusionFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/diffusion/DiffusionSelector.hpp b/src/coreComponents/constitutive/diffusion/DiffusionSelector.hpp
index 42634f06f40..fe077fef543 100644
--- a/src/coreComponents/constitutive/diffusion/DiffusionSelector.hpp
+++ b/src/coreComponents/constitutive/diffusion/DiffusionSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/DispersionBase.cpp b/src/coreComponents/constitutive/dispersion/DispersionBase.cpp
index 416904148f4..8e15b45fe77 100644
--- a/src/coreComponents/constitutive/dispersion/DispersionBase.cpp
+++ b/src/coreComponents/constitutive/dispersion/DispersionBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/DispersionBase.hpp b/src/coreComponents/constitutive/dispersion/DispersionBase.hpp
index 99587459115..6ced3ca28b8 100644
--- a/src/coreComponents/constitutive/dispersion/DispersionBase.hpp
+++ b/src/coreComponents/constitutive/dispersion/DispersionBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/DispersionFields.hpp b/src/coreComponents/constitutive/dispersion/DispersionFields.hpp
index 66f85fc2781..0baca85dca8 100644
--- a/src/coreComponents/constitutive/dispersion/DispersionFields.hpp
+++ b/src/coreComponents/constitutive/dispersion/DispersionFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/DispersionSelector.hpp b/src/coreComponents/constitutive/dispersion/DispersionSelector.hpp
index f0e5f146fef..3dda4ba2ab1 100644
--- a/src/coreComponents/constitutive/dispersion/DispersionSelector.hpp
+++ b/src/coreComponents/constitutive/dispersion/DispersionSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.cpp b/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.cpp
index 57cf6b28e4b..5f49d1a66fd 100644
--- a/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.cpp
+++ b/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.hpp b/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.hpp
index 4ac27a5d81c..949f72e51d6 100644
--- a/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.hpp
+++ b/src/coreComponents/constitutive/dispersion/LinearIsotropicDispersion.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/docs/BiotPorosity.rst b/src/coreComponents/constitutive/docs/BiotPorosity.rst
index dd74e0dbbc5..e1257d14c1e 100644
--- a/src/coreComponents/constitutive/docs/BiotPorosity.rst
+++ b/src/coreComponents/constitutive/docs/BiotPorosity.rst
@@ -33,7 +33,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/BiotPorosity.rst
+.. include:: /docs/sphinx/datastructure/BiotPorosity.rst
Example
=======================
diff --git a/src/coreComponents/constitutive/docs/BlackOilFluid.rst b/src/coreComponents/constitutive/docs/BlackOilFluid.rst
index a7e3fb27e68..106cd122646 100644
--- a/src/coreComponents/constitutive/docs/BlackOilFluid.rst
+++ b/src/coreComponents/constitutive/docs/BlackOilFluid.rst
@@ -83,7 +83,7 @@ In order to use the model, GEOS must be built with ``-DENABLE_PVTPACKAGE=ON`` (d
The following attributes are supported:
-.. include:: ../../../coreComponents/schema/docs/BlackOilFluid.rst
+.. include:: /docs/sphinx/datastructure/BlackOilFluid.rst
Supported phase names are:
diff --git a/src/coreComponents/constitutive/docs/BrooksCoreyCapillaryPressure.rst b/src/coreComponents/constitutive/docs/BrooksCoreyCapillaryPressure.rst
index e2820290648..e9e5ed043f9 100644
--- a/src/coreComponents/constitutive/docs/BrooksCoreyCapillaryPressure.rst
+++ b/src/coreComponents/constitutive/docs/BrooksCoreyCapillaryPressure.rst
@@ -47,7 +47,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/BrooksCoreyCapillaryPressure.rst
+.. include:: /docs/sphinx/datastructure/BrooksCoreyCapillaryPressure.rst
Below are some comments on the model parameters:
diff --git a/src/coreComponents/constitutive/docs/BrooksCoreyRelativePermeability.rst b/src/coreComponents/constitutive/docs/BrooksCoreyRelativePermeability.rst
index be638c984b1..2ef89a3e981 100644
--- a/src/coreComponents/constitutive/docs/BrooksCoreyRelativePermeability.rst
+++ b/src/coreComponents/constitutive/docs/BrooksCoreyRelativePermeability.rst
@@ -35,7 +35,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/BrooksCoreyRelativePermeability.rst
+.. include:: /docs/sphinx/datastructure/BrooksCoreyRelativePermeability.rst
Below are some comments on the model parameters.
diff --git a/src/coreComponents/constitutive/docs/CO2BrineFluid.rst b/src/coreComponents/constitutive/docs/CO2BrineFluid.rst
index 61ab1782578..2a3e001fc46 100644
--- a/src/coreComponents/constitutive/docs/CO2BrineFluid.rst
+++ b/src/coreComponents/constitutive/docs/CO2BrineFluid.rst
@@ -244,7 +244,7 @@ The models are represented by ````, ```` node in the input
The following attributes are supported:
-.. include:: ../../../coreComponents/schema/docs/CompressibleSinglePhaseFluid.rst
+.. include:: /docs/sphinx/datastructure/CompressibleSinglePhaseFluid.rst
Example
=========================
diff --git a/src/coreComponents/constitutive/docs/ConstantPermeability.rst b/src/coreComponents/constitutive/docs/ConstantPermeability.rst
index 6c4b065bdfc..84b0d26fe58 100644
--- a/src/coreComponents/constitutive/docs/ConstantPermeability.rst
+++ b/src/coreComponents/constitutive/docs/ConstantPermeability.rst
@@ -17,7 +17,7 @@ Parameters
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/ConstantPermeability.rst
+.. include:: /docs/sphinx/datastructure/ConstantPermeability.rst
Example
diff --git a/src/coreComponents/constitutive/docs/Constitutive.rst b/src/coreComponents/constitutive/docs/Constitutive.rst
index 68279ea3774..d1441d78d7b 100644
--- a/src/coreComponents/constitutive/docs/Constitutive.rst
+++ b/src/coreComponents/constitutive/docs/Constitutive.rst
@@ -19,6 +19,7 @@ These models are grouped together based on their input/output interface.
PermeabilityModels
PorousSolids
TemperatureDependentSolidVolumetricHeatCapacity
+ TemperatureDependentThermalConductivity
In an input XML file, constitutive models are listed in the ```` block.
@@ -50,7 +51,7 @@ A typical ```` and ```` block will look like:
diff --git a/src/coreComponents/constitutive/docs/ExponentialDecayPermeability.rst b/src/coreComponents/constitutive/docs/ExponentialDecayPermeability.rst
index c5e5889fa42..b2221a83db7 100644
--- a/src/coreComponents/constitutive/docs/ExponentialDecayPermeability.rst
+++ b/src/coreComponents/constitutive/docs/ExponentialDecayPermeability.rst
@@ -30,7 +30,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/ExponentialDecayPermeability.rst
+.. include:: /docs/sphinx/datastructure/ExponentialDecayPermeability.rst
Example
diff --git a/src/coreComponents/constitutive/docs/FluidModels.rst b/src/coreComponents/constitutive/docs/FluidModels.rst
index 3b7beb6c902..445f8a82f0b 100644
--- a/src/coreComponents/constitutive/docs/FluidModels.rst
+++ b/src/coreComponents/constitutive/docs/FluidModels.rst
@@ -15,6 +15,4 @@ single fluids and fluid mixtures.
CompositionalMultiphaseFluid
- CO2BrineFluid
-
- PVTDriver
+ CO2BrineFluid
\ No newline at end of file
diff --git a/src/coreComponents/constitutive/docs/KozenyCarmanPermeability.rst b/src/coreComponents/constitutive/docs/KozenyCarmanPermeability.rst
index 8365288ce2f..0f315a4ce9f 100644
--- a/src/coreComponents/constitutive/docs/KozenyCarmanPermeability.rst
+++ b/src/coreComponents/constitutive/docs/KozenyCarmanPermeability.rst
@@ -32,7 +32,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/CarmanKozenyPermeability.rst
+.. include:: /docs/sphinx/datastructure/CarmanKozenyPermeability.rst
diff --git a/src/coreComponents/constitutive/docs/ParallelPlatesPermeability.rst b/src/coreComponents/constitutive/docs/ParallelPlatesPermeability.rst
index 8f53bbb32a8..3169f3d0f84 100644
--- a/src/coreComponents/constitutive/docs/ParallelPlatesPermeability.rst
+++ b/src/coreComponents/constitutive/docs/ParallelPlatesPermeability.rst
@@ -35,7 +35,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/ParallelPlatesPermeability.rst
+.. include:: /docs/sphinx/datastructure/ParallelPlatesPermeability.rst
.. _Witherspoon et al.: https://agupubs.onlinelibrary.wiley.com/doi/pdf/10.1029/WR016i006p01016
diff --git a/src/coreComponents/constitutive/docs/PressurePorosity.rst b/src/coreComponents/constitutive/docs/PressurePorosity.rst
index 9a6fcb1d365..6659084688b 100644
--- a/src/coreComponents/constitutive/docs/PressurePorosity.rst
+++ b/src/coreComponents/constitutive/docs/PressurePorosity.rst
@@ -23,7 +23,7 @@ Parameters
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/PressurePorosity.rst
+.. include:: /docs/sphinx/datastructure/PressurePorosity.rst
Example
=======================
diff --git a/src/coreComponents/constitutive/docs/SlipDependentPermeability.rst b/src/coreComponents/constitutive/docs/SlipDependentPermeability.rst
index fb47d4cd597..562728ce046 100644
--- a/src/coreComponents/constitutive/docs/SlipDependentPermeability.rst
+++ b/src/coreComponents/constitutive/docs/SlipDependentPermeability.rst
@@ -30,7 +30,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/SlipDependentPermeability.rst
+.. include:: /docs/sphinx/datastructure/SlipDependentPermeability.rst
Example
diff --git a/src/coreComponents/constitutive/docs/TableCapillaryPressure.rst b/src/coreComponents/constitutive/docs/TableCapillaryPressure.rst
index 64246920f27..e420a43e51b 100644
--- a/src/coreComponents/constitutive/docs/TableCapillaryPressure.rst
+++ b/src/coreComponents/constitutive/docs/TableCapillaryPressure.rst
@@ -46,7 +46,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/TableCapillaryPressure.rst
+.. include:: /docs/sphinx/datastructure/TableCapillaryPressure.rst
Below are some comments on the model parameters.
diff --git a/src/coreComponents/constitutive/docs/TableRelativePermeability.rst b/src/coreComponents/constitutive/docs/TableRelativePermeability.rst
index 1e77bf9c9c6..c7bc8285cfb 100644
--- a/src/coreComponents/constitutive/docs/TableRelativePermeability.rst
+++ b/src/coreComponents/constitutive/docs/TableRelativePermeability.rst
@@ -28,7 +28,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/TableRelativePermeability.rst
+.. include:: /docs/sphinx/datastructure/TableRelativePermeability.rst
Below are some comments on the model parameters.
diff --git a/src/coreComponents/constitutive/docs/TemperatureDependentSolidVolumetricHeatCapacity.rst b/src/coreComponents/constitutive/docs/TemperatureDependentSolidVolumetricHeatCapacity.rst
index 22feb9c1b8c..3ea9510c5d5 100644
--- a/src/coreComponents/constitutive/docs/TemperatureDependentSolidVolumetricHeatCapacity.rst
+++ b/src/coreComponents/constitutive/docs/TemperatureDependentSolidVolumetricHeatCapacity.rst
@@ -35,7 +35,8 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/TemperatureDependentSolidVolumetricHeatCapacity.rst
+.. include:: /docs/sphinx/datastructure/SolidInternalEnergy.rst
+
Example
diff --git a/src/coreComponents/constitutive/docs/TemperatureDependentThermalConductivity.rst b/src/coreComponents/constitutive/docs/TemperatureDependentThermalConductivity.rst
new file mode 100644
index 00000000000..35a047ca0b9
--- /dev/null
+++ b/src/coreComponents/constitutive/docs/TemperatureDependentThermalConductivity.rst
@@ -0,0 +1,53 @@
+.. _TemperatureDependentThermalConductivity:
+
+
+##########################################################
+Temperature-dependent Thermal Conductivity Model
+##########################################################
+
+
+Overview
+======================
+
+In this model, thermal conductivity of porous medium is defined as a linear function of temperature:
+
+.. math::
+ k = k_{0} + \frac{ dk }{ dT } (T - T_{0})
+
+where
+ :math:`k` is the thermal conductivity at temperature T, which is a vector;
+ :math:`k_{0}` is the reference thermal conductivity at the reference temperature;
+ :math:`T_{0}` is the reference temperature;
+ :math:`\frac{ dk }{ dT }` is the gradient of the thermal conductivity with respect to temperature, which equals to zero for the cases with constant thermal conductivity; note that this term is also in vector form, whose components could vary with directions.
+
+
+
+Parameters
+======================
+
+The temperature-dependent thermal conductivity model is called in the
+```` block of the input XML file.
+This model must be assigned a unique name via the
+``name`` attribute.
+This name is used to attach the model to CellElementRegion of the physical
+domain in the ```` block.
+
+The following attributes are supported:
+
+.. include:: /docs/sphinx/datastructure/SinglePhaseThermalConductivity.rst
+
+
+Example
+=======================
+
+.. code-block:: xml
+
+
+ ...
+
+ ...
+
diff --git a/src/coreComponents/constitutive/docs/ThreePhaseRelativePermeability.rst b/src/coreComponents/constitutive/docs/ThreePhaseRelativePermeability.rst
index 5aa85ef9b01..4176072e29e 100644
--- a/src/coreComponents/constitutive/docs/ThreePhaseRelativePermeability.rst
+++ b/src/coreComponents/constitutive/docs/ThreePhaseRelativePermeability.rst
@@ -57,7 +57,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/BrooksCoreyBakerRelativePermeability.rst
+.. include:: /docs/sphinx/datastructure/BrooksCoreyBakerRelativePermeability.rst
Below are some comments on the model parameters.
diff --git a/src/coreComponents/constitutive/docs/VanGenuchtenCapillaryPressure.rst b/src/coreComponents/constitutive/docs/VanGenuchtenCapillaryPressure.rst
index 8f1d3fac28b..366fc3d5d97 100644
--- a/src/coreComponents/constitutive/docs/VanGenuchtenCapillaryPressure.rst
+++ b/src/coreComponents/constitutive/docs/VanGenuchtenCapillaryPressure.rst
@@ -52,7 +52,7 @@ node.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/VanGenuchtenCapillaryPressure.rst
+.. include:: /docs/sphinx/datastructure/VanGenuchtenCapillaryPressure.rst
Below are some comments on the model parameters:
diff --git a/src/coreComponents/constitutive/docs/WillisRichardsPermeability.rst b/src/coreComponents/constitutive/docs/WillisRichardsPermeability.rst
index f3c02410953..49105b211e7 100644
--- a/src/coreComponents/constitutive/docs/WillisRichardsPermeability.rst
+++ b/src/coreComponents/constitutive/docs/WillisRichardsPermeability.rst
@@ -41,7 +41,7 @@ block.
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/WillisRichardsPermeability.rst
+.. include:: /docs/sphinx/datastructure/WillisRichardsPermeability.rst
Example
diff --git a/src/coreComponents/constitutive/docs/constitutiveDeveloperGuide.rst b/src/coreComponents/constitutive/docs/constitutiveDeveloperGuide.rst
index 224903eabfc..8f1b7292122 100644
--- a/src/coreComponents/constitutive/docs/constitutiveDeveloperGuide.rst
+++ b/src/coreComponents/constitutive/docs/constitutiveDeveloperGuide.rst
@@ -88,7 +88,7 @@ dependency of porosity and permeability on the primary unknowns.
The base class ``CoupledSolidBase`` implements some basic behaviors
and is used to access a generic ``CoupledSolid`` in a physics solver:
-.. literalinclude:: /coreComponents/physicsSolvers/fluidFlow/SinglePhaseBase.cpp
+.. literalinclude:: /coreComponents/physicsSolvers/fluidFlow/SinglePhaseBase.hpp
:language: c++
:start-after: //START_SPHINX_INCLUDE_COUPLEDSOLID
:end-before: //END_SPHINX_INCLUDE_COUPLEDSOLID
diff --git a/src/coreComponents/constitutive/docs/solid/DruckerPrager.rst b/src/coreComponents/constitutive/docs/solid/DruckerPrager.rst
index 51c52063308..dcb4ccafe49 100644
--- a/src/coreComponents/constitutive/docs/solid/DruckerPrager.rst
+++ b/src/coreComponents/constitutive/docs/solid/DruckerPrager.rst
@@ -83,7 +83,7 @@ Parameters
The following attributes are supported:
-.. include:: /coreComponents/schema/docs/DruckerPrager.rst
+.. include:: /docs/sphinx/datastructure/DruckerPrager.rst
Example
~~~~~~~~~~~~~~~
diff --git a/src/coreComponents/constitutive/docs/solid/ElasticIsotropic.rst b/src/coreComponents/constitutive/docs/solid/ElasticIsotropic.rst
index bbd0cc27eb7..92dcf35daed 100644
--- a/src/coreComponents/constitutive/docs/solid/ElasticIsotropic.rst
+++ b/src/coreComponents/constitutive/docs/solid/ElasticIsotropic.rst
@@ -67,7 +67,7 @@ two will be internally calculated. The "default" keyword in front of certain pr
is the default value adopted for a region unless the user separately specifies a heterogeneous field via the
``FieldSpecification`` mechanism.
-.. include:: /coreComponents/schema/docs/ElasticIsotropic.rst
+.. include:: /docs/sphinx/datastructure/ElasticIsotropic.rst
Example
=========================
diff --git a/src/coreComponents/constitutive/docs/solid/ElasticOrthotropic.rst b/src/coreComponents/constitutive/docs/solid/ElasticOrthotropic.rst
index cf794fb2f0c..483cf8116d2 100644
--- a/src/coreComponents/constitutive/docs/solid/ElasticOrthotropic.rst
+++ b/src/coreComponents/constitutive/docs/solid/ElasticOrthotropic.rst
@@ -47,7 +47,7 @@ The following attributes are supported. The "default" keyword in front of certa
is the default value adopted for a region unless the user separately specifies a heterogeneous field via the
``FieldSpecification`` mechanism.
-.. include:: /coreComponents/schema/docs/ElasticOrthotropic.rst
+.. include:: /docs/sphinx/datastructure/ElasticOrthotropic.rst
Example
=========================
diff --git a/src/coreComponents/constitutive/docs/solid/ElasticTransverseIsotropic.rst b/src/coreComponents/constitutive/docs/solid/ElasticTransverseIsotropic.rst
index aa0cb479042..8ea11a38cd1 100644
--- a/src/coreComponents/constitutive/docs/solid/ElasticTransverseIsotropic.rst
+++ b/src/coreComponents/constitutive/docs/solid/ElasticTransverseIsotropic.rst
@@ -47,7 +47,7 @@ The following attributes are supported. The "default" keyword in front of certa
is the default value adopted for a region unless the user separately specifies a heterogeneous field via the
``FieldSpecification`` mechanism.
-.. include:: /coreComponents/schema/docs/ElasticTransverseIsotropic.rst
+.. include:: /docs/sphinx/datastructure/ElasticTransverseIsotropic.rst
Example
=========================
diff --git a/src/coreComponents/constitutive/docs/solid/SolidModels.rst b/src/coreComponents/constitutive/docs/solid/SolidModels.rst
index a62f1ce024e..de494d86bf0 100644
--- a/src/coreComponents/constitutive/docs/solid/SolidModels.rst
+++ b/src/coreComponents/constitutive/docs/solid/SolidModels.rst
@@ -12,7 +12,6 @@ known models.
Theory
Voight
Plasticity
- TriaxialDriver
ElasticIsotropic
ElasticIsotropicPressureDependent
ElasticTransverseIsotropic
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.cpp
index 67454b13c51..c90b6c296f6 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -21,6 +21,7 @@
#include "constitutive/fluid/multifluid/MultiFluidFields.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp"
#include "common/Units.hpp"
+#include "functions/TableFunction.hpp"
namespace geos
{
@@ -102,6 +103,12 @@ CO2BrineFluid( string const & name, Group * const parent ):
setRestartFlags( RestartFlags::NO_WRITE ).
setDescription( "Names of solubility tables for each phase" );
+ this->registerWrapper( viewKeyStruct::writeCSVFlagString(), &m_writeCSV ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setRestartFlags( RestartFlags::NO_WRITE ).
+ setDescription( "Write PVT tables into a CSV file" ).
+ setDefaultValue( 0 );
+
// if this is a thermal model, we need to make sure that the arrays will be properly displayed and saved to restart
if( isThermal() )
{
@@ -228,14 +235,12 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::postInputInitialization()
string const expectedGasPhaseNames[] = { "CO2", "co2", "gas", "Gas" };
m_p2Index = PVTFunctionHelpers::findName( m_phaseNames, expectedGasPhaseNames, viewKeyStruct::phaseNamesString() );
-
createPVTModels();
}
template< typename PHASE1, typename PHASE2, typename FLASH >
void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
{
-
// TODO: get rid of these external files and move into XML, this is too error prone
// For now, to support the legacy input, we read all the input parameters at once in the arrays below, and then we create the models
array1d< array1d< string > > phase1InputParams;
@@ -325,10 +330,23 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
InputError );
// then, we are ready to instantiate the phase models
- m_phase1 = std::make_unique< PHASE1 >( getName() + "_phaseModel1", phase1InputParams, m_componentNames, m_componentMolarWeight,
- getLogLevel() > 0 && logger::internal::rank==0 );
- m_phase2 = std::make_unique< PHASE2 >( getName() + "_phaseModel2", phase2InputParams, m_componentNames, m_componentMolarWeight,
- getLogLevel() > 0 && logger::internal::rank==0 );
+ bool const isClone = this->isClone();
+ TableFunction::OutputOptions const pvtOutputOpts = {
+ !isClone && m_writeCSV,// writeCSV
+ !isClone && (getLogLevel() > 0 && logger::internal::rank==0), // writeInLog
+ };
+
+ m_phase1 = std::make_unique< PHASE1 >( getName() + "_phaseModel1",
+ phase1InputParams,
+ m_componentNames,
+ m_componentMolarWeight,
+ pvtOutputOpts );
+ m_phase2 = std::make_unique< PHASE2 >( getName() + "_phaseModel2",
+ phase2InputParams,
+ m_componentNames,
+ m_componentMolarWeight,
+ pvtOutputOpts );
+
// 2) Create the flash model
if( !m_flashModelParaFile.empty())
@@ -349,12 +367,16 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
{
if( strs[1] == FLASH::catalogName() )
{
+ TableFunction::OutputOptions const flashOutputOpts = {
+ !isClone && m_writeCSV,// writeCSV
+ !isClone && (getLogLevel() > 0 && logger::internal::rank==0), // writeInLog
+ };
m_flash = std::make_unique< FLASH >( getName() + '_' + FLASH::catalogName(),
strs,
m_phaseNames,
m_componentNames,
m_componentMolarWeight,
- getLogLevel() > 0 && logger::internal::rank==0 );
+ flashOutputOpts );
}
}
else
@@ -390,12 +412,18 @@ void CO2BrineFluid< PHASE1, PHASE2, FLASH >::createPVTModels()
{
strs[2] = m_solubilityTables[0];
}
+
+ TableFunction::OutputOptions const flashOutputOpts = {
+ !isClone && m_writeCSV,// writeCSV
+ !isClone && (getLogLevel() >= 0 && logger::internal::rank==0), // writeInLog
+ };
+
m_flash = std::make_unique< FLASH >( getName() + '_' + FLASH::catalogName(),
strs,
m_phaseNames,
m_componentNames,
m_componentMolarWeight,
- getLogLevel() > 0 && logger::internal::rank==0 );
+ flashOutputOpts );
}
GEOS_THROW_IF( m_flash == nullptr,
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp
index 9285d4f2c0e..eb31780f4d4 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -171,6 +171,7 @@ class CO2BrineFluid : public MultiFluidBase
static constexpr char const * flashModelParaFileString() { return "flashModelParaFile"; }
static constexpr char const * solubilityTablesString() { return "solubilityTableNames"; }
static constexpr char const * phasePVTParaFilesString() { return "phasePVTParaFiles"; }
+ static constexpr char const * writeCSVFlagString() { return "writeCSV"; }
};
protected:
@@ -181,6 +182,9 @@ class CO2BrineFluid : public MultiFluidBase
private:
+ /**
+ * @brief Create a PVT Model and output them
+ */
void createPVTModels();
/// Names of the files defining the viscosity and density models
@@ -198,6 +202,8 @@ class CO2BrineFluid : public MultiFluidBase
/// Index of the gas phase
integer m_p2Index;
+ /// Output csv file containing informations about PVT
+ integer m_writeCSV;
/// Brine constitutive models
std::unique_ptr< PHASE1 > m_phase1;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PhaseModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PhaseModel.hpp
index d3bdc762b0e..9c398939b62 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PhaseModel.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PhaseModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -20,6 +20,8 @@
#ifndef GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_CO2BRINE_PHASEMODEL_HPP_
#define GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_CO2BRINE_PHASEMODEL_HPP_
+#include "functions/TableFunction.hpp"
+
namespace geos
{
@@ -54,27 +56,28 @@ struct PhaseModel
* @param[in] inputParams input parameters read from files
* @param[in] componentNames names of the components
* @param[in] componentMolarWeight molar weights of the components
+ * @param[in] pvtOutputOpts A structure containing generated table output options
*/
PhaseModel( string const & phaseModelName,
array1d< array1d< string > > const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable )
+ TableFunction::OutputOptions const pvtOutputOpts )
: density( phaseModelName + "_" + Density::catalogName(),
inputParams[InputParamOrder::DENSITY],
componentNames,
componentMolarWeight,
- printTable ),
+ pvtOutputOpts ),
viscosity( phaseModelName + "_" + Viscosity::catalogName(),
inputParams[InputParamOrder::VISCOSITY],
componentNames,
componentMolarWeight,
- printTable ),
+ pvtOutputOpts ),
enthalpy( phaseModelName + "_" + Enthalpy::catalogName(),
inputParams[InputParamOrder::ENTHALPY],
componentNames,
componentMolarWeight,
- printTable )
+ pvtOutputOpts )
{}
/// The phase density model
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.cpp
index 9be9db8ac8a..5edd296fd51 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -192,7 +192,7 @@ BrineEnthalpy::BrineEnthalpy( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -205,13 +205,12 @@ BrineEnthalpy::BrineEnthalpy( string const & name,
m_CO2EnthalpyTable = makeCO2EnthalpyTable( inputParams, m_functionName, FunctionManager::getInstance() );
m_brineEnthalpyTable = makeBrineEnthalpyTable( inputParams, m_functionName, FunctionManager::getInstance() );
- if( printTable )
- {
- m_CO2EnthalpyTable->print( m_CO2EnthalpyTable->getName() );
- m_brineEnthalpyTable->print( m_brineEnthalpyTable->getName() );
- }
+
+ m_CO2EnthalpyTable->outputPVTTableData( pvtOutputOpts );
+ m_brineEnthalpyTable->outputPVTTableData( pvtOutputOpts );
}
+
void BrineEnthalpy::checkTablesParameters( real64 const pressure,
real64 const temperature ) const
{
@@ -233,8 +232,6 @@ BrineEnthalpy::createKernelWrapper() const
m_waterIndex );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, BrineEnthalpy, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.hpp
index cc0978206c0..2e000d40f97 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/BrineEnthalpy.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -92,7 +92,7 @@ class BrineEnthalpy : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "BrineEnthalpy"; }
@@ -144,7 +144,7 @@ void BrineEnthalpyUpdate::compute( real64 const & pressure,
arraySlice1d< real64, USD3 > const & dValue,
bool useMass ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 const input[2] = { pressure, temperature };
real64 brineEnthalpy_dTemperature = 0.0;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.cpp
index 8bae9da6bd3..227f5a93912 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.hpp
index 32936f78fc4..534c9d1f1d2 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2EOSSolver.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.cpp
index 2bb308086e6..01683a9dd64 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -257,7 +257,7 @@ CO2Enthalpy::CO2Enthalpy( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -266,8 +266,9 @@ CO2Enthalpy::CO2Enthalpy( string const & name,
m_CO2Index = PVTFunctionHelpers::findName( componentNames, expectedCO2ComponentNames, "componentNames" );
m_CO2EnthalpyTable = makeCO2EnthalpyTable( inputParams, m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_CO2EnthalpyTable->print( m_CO2EnthalpyTable->getName() );
+
+ m_CO2EnthalpyTable->outputPVTTableData( pvtOutputOpts );
+ m_CO2EnthalpyTable->outputPVTTableData( pvtOutputOpts );
}
@@ -309,8 +310,6 @@ CO2Enthalpy::createKernelWrapper() const
m_CO2Index );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, CO2Enthalpy, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.hpp
index 41aaa3ea1d5..034ad20475a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Enthalpy.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -80,7 +80,7 @@ class CO2Enthalpy : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "CO2Enthalpy"; }
@@ -131,7 +131,7 @@ void CO2EnthalpyUpdate::compute( real64 const & pressure,
{
GEOS_UNUSED_VAR( phaseComposition, dPhaseComposition );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 const input[2] = { pressure, temperature };
real64 CO2EnthalpyDeriv[2]{};
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.cpp
index 77d27b1a883..131fdb60ed9 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -221,7 +221,7 @@ CO2Solubility::CO2Solubility( string const & name,
string_array const & phaseNames,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
FlashModelBase( name,
componentNames,
componentMolarWeight )
@@ -257,11 +257,9 @@ CO2Solubility::CO2Solubility( string const & name,
std::tie( m_CO2SolubilityTable, m_WaterVapourisationTable ) = makeSolubilityTables( m_modelName, inputParams, solubilityModel );
- if( printTable )
- {
- m_CO2SolubilityTable->print( m_CO2SolubilityTable->getName() );
- m_WaterVapourisationTable->print( m_WaterVapourisationTable->getName() );
- }
+ m_CO2SolubilityTable->outputPVTTableData( pvtOutputOpts );
+ m_WaterVapourisationTable->outputPVTTableData( pvtOutputOpts );
+
}
void CO2Solubility::checkTablesParameters( real64 const pressure,
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.hpp
index d69edc81041..fe24e1e0270 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2Solubility.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -21,10 +21,10 @@
#define GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_CO2BRINE_FUNCTIONS_CO2SOLUBILITY_HPP_
#include "FlashModelBase.hpp"
-
#include "constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp"
#include "constitutive/fluid/multifluid/Layouts.hpp"
#include "constitutive/fluid/multifluid/MultiFluidUtils.hpp"
+#include "fileIO/Outputs/OutputBase.hpp"
#include "functions/TableFunction.hpp"
namespace geos
@@ -42,8 +42,8 @@ class CO2SolubilityUpdate final : public FlashModelBaseUpdate
{
public:
- using PhaseProp = MultiFluidVar< real64, 3, multifluid::LAYOUT_PHASE, multifluid::LAYOUT_PHASE_DC >;
- using PhaseComp = MultiFluidVar< real64, 4, multifluid::LAYOUT_PHASE_COMP, multifluid::LAYOUT_PHASE_COMP_DC >;
+ using PhaseProp = MultiFluidVar< real64, 3, constitutive::multifluid::LAYOUT_PHASE, constitutive::multifluid::LAYOUT_PHASE_DC >;
+ using PhaseComp = MultiFluidVar< real64, 4, constitutive::multifluid::LAYOUT_PHASE_COMP, constitutive::multifluid::LAYOUT_PHASE_COMP_DC >;
CO2SolubilityUpdate( arrayView1d< real64 const > const & componentMolarWeight,
TableFunction const & CO2SolubilityTable,
@@ -117,7 +117,7 @@ class CO2Solubility : public FlashModelBase
string_array const & phaseNames,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "CO2Solubility"; }
@@ -167,7 +167,7 @@ CO2SolubilityUpdate::compute( real64 const & pressure,
PhaseProp::SliceType const phaseFraction,
PhaseComp::SliceType const phaseCompFraction ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
// Solubility of CO2 is read from the tables in the form of moles of CO2 per kg of water
// Solubility of water is read from the tables in the form of moles of water per kg of CO2
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.cpp
index 4546e1381ae..7defd458bd4 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -32,14 +32,14 @@ namespace PVTProps
namespace
{
-constexpr real64 P_Pa_f = 1e+5;
-constexpr real64 P_c = 73.773 * P_Pa_f;
-constexpr real64 T_c = 304.1282;
-constexpr real64 Rgas = constants::gasConstant;
-constexpr real64 V_c = Rgas*T_c/P_c;
+inline constexpr real64 P_Pa_f = 1e+5;
+inline constexpr real64 P_c = 73.773 * P_Pa_f;
+inline constexpr real64 T_c = 304.1282;
+inline constexpr real64 Rgas = constants::gasConstant;
+inline constexpr real64 V_c = Rgas*T_c/P_c;
// these coefficients are in Table (A1) of Duan and Sun (2003)
-constexpr real64 acoef[] =
+inline constexpr real64 acoef[15] =
{ 8.99288497e-2, -4.94783127e-1, 4.77922245e-2, 1.03808883e-2, -2.82516861e-2, 9.49887563e-2, 5.20600880e-4,
-2.93540971e-4, -1.77265112e-3, -2.51101973e-5, 8.93353441e-5, 7.88998563e-5, -1.66727022e-2, 1.398, 2.96e-2 };
@@ -65,7 +65,7 @@ real64 co2EOS( real64 const & T, real64 const & P, real64 const & V_r )
real64 PWater( real64 const & T )
{
// these coefficients are defined in Table (B1) of Duan and Sun (2003)
- constexpr real64 ccoef[] = { -38.640844, 5.8948420, 59.876516, 26.654627, 10.637097 };
+ static constexpr real64 ccoef[5] = { -38.640844, 5.8948420, 59.876516, 26.654627, 10.637097 };
// H2O critical pressure (bars)
real64 const P_c_w = 220.85;
@@ -92,18 +92,36 @@ real64 logF( real64 const & T, real64 const & P, real64 const & V_r )
real64 const T_r = units::convertCToK( T ) / T_c;
real64 const Z = P_r * V_r/T_r;
+ real64 const inv_T_r = 1.0/T_r;
+ real64 const inv_T_r2 = inv_T_r*inv_T_r;
+ real64 const inv_T_r3 = inv_T_r2*inv_T_r;
+ real64 const inv_V_r = 1.0/V_r;
+ real64 const inv_V_r2 = inv_V_r*inv_V_r;
+ real64 const inv_V_r3 = inv_V_r2*inv_V_r;
+ real64 const inv_V_r4 = inv_V_r3*inv_V_r;
+ real64 const inv_V_r5 = inv_V_r4*inv_V_r;
+
// fugacity coefficient of CO2, equation (A6) of Duan and Sun (2003)
real64 const log_f = Z - 1 - log( Z ) +
- ( acoef[0] + acoef[1]/T_r/T_r + acoef[2]/T_r/T_r/T_r )/V_r
- + ( acoef[3] + acoef[4]/T_r/T_r + acoef[5]/T_r/T_r/T_r )/2.0/V_r/V_r
- + ( acoef[6] + acoef[7]/T_r/T_r + acoef[8]/T_r/T_r/T_r )/4.0/V_r/V_r/V_r/V_r
- + ( acoef[9] + acoef[10]/T_r/T_r + acoef[11]/T_r/T_r/T_r )/5.0/V_r/V_r/V_r/V_r/V_r
- + acoef[12]/2.0/T_r/T_r/T_r/acoef[14] * ( acoef[13] + 1.0 - (acoef[13] + 1.0 + acoef[14]/V_r/V_r) * exp( -acoef[14]/V_r/V_r ) );
+ ( acoef[0] + acoef[1]*inv_T_r2 + acoef[2]*inv_T_r3 )*inv_V_r
+ + ( acoef[3] + acoef[4]*inv_T_r2 + acoef[5]*inv_T_r3 )*0.5*inv_V_r2
+ + ( acoef[6] + acoef[7]*inv_T_r2 + acoef[8]*inv_T_r3 )*0.25*inv_V_r4
+ + ( acoef[9] + acoef[10]*inv_T_r2 + acoef[11]*inv_T_r3 )*0.2*inv_V_r5
+ + acoef[12]*0.5*inv_T_r3/acoef[14] * ( acoef[13] + 1.0 - (acoef[13] + 1.0 + acoef[14]*inv_V_r2) * exp( -acoef[14]*inv_V_r2 ) );
+ //This causes a divide by zero FPE when using clang14 on ruby
+ // real64 const log_f = Z - 1 - log( Z ) +
+ // ( acoef[0] + acoef[1]/T_r/T_r + acoef[2]/T_r/T_r/T_r )/V_r
+ // + ( acoef[3] + acoef[4]/T_r/T_r + acoef[5]/T_r/T_r/T_r )/2.0/V_r/V_r
+ // + ( acoef[6] + acoef[7]/T_r/T_r + acoef[8]/T_r/T_r/T_r )/4.0/V_r/V_r/V_r/V_r
+ // + ( acoef[9] + acoef[10]/T_r/T_r + acoef[11]/T_r/T_r/T_r )/5.0/V_r/V_r/V_r/V_r/V_r
+ // + acoef[12]/2.0/T_r/T_r/T_r/acoef[14] * ( acoef[13] + 1.0 - (acoef[13] + 1.0 + acoef[14]/V_r/V_r) * exp(
+ // -acoef[14]/V_r/V_r ) );
+
return log_f;
}
-real64 Par( real64 const & T, real64 const & P, real64 const * cc )
+real64 Par( real64 const & T, real64 const & P, real64 const (&cc)[11] )
{
// "equation for the parameters", see equation (7) of Duan and Sun (2003)
real64 x = cc[0]
@@ -162,11 +180,11 @@ void calculateCO2Solubility( string const & functionName,
array1d< real64 > const & values )
{
// Interaction parameters, see Table 2 of Duan and Sun (2003)
- constexpr real64 mu[] =
+ static constexpr real64 mu[11] =
{ 28.9447706, -0.0354581768, -4770.67077, 1.02782768e-5, 33.8126098, 9.04037140e-3,
-1.14934031e-3, -0.307405726, -0.0907301486, 9.32713393e-4, 0 };
- constexpr real64 lambda[] = { -0.411370585, 6.07632013e-4, 97.5347708, 0, 0, 0, 0, -0.0237622469, 0.0170656236, 0, 1.41335834e-5 };
- constexpr real64 zeta[] = { 3.36389723e-4, -1.98298980e-5, 0, 0, 0, 0, 0, 2.12220830e-3, -5.24873303e-3, 0, 0 };
+ static constexpr real64 lambda[11] = { -0.411370585, 6.07632013e-4, 97.5347708, 0, 0, 0, 0, -0.0237622469, 0.0170656236, 0, 1.41335834e-5 };
+ static constexpr real64 zeta[11] = { 3.36389723e-4, -1.98298980e-5, 0, 0, 0, 0, 0, 2.12220830e-3, -5.24873303e-3, 0, 0 };
localIndex const nPressures = tableCoords.nPressures();
localIndex const nTemperatures = tableCoords.nTemperatures();
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.hpp
index 677f6c61450..9b918c8be5f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilityDuanSun.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.cpp
index dfd7ed7add3..f9ce8006fc9 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.hpp
index 6310bf49224..1f612890a9a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/CO2SolubilitySpycherPruess.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.cpp
index 8713454505c..7ba7020fa9e 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -38,7 +38,7 @@ EzrokhiBrineDensity::EzrokhiBrineDensity( string const & name,
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -52,11 +52,9 @@ EzrokhiBrineDensity::EzrokhiBrineDensity( string const & name,
makeCoefficients( inputPara );
m_waterSatDensityTable = PureWaterProperties::makeSaturationDensityTable( m_functionName, FunctionManager::getInstance() );
m_waterSatPressureTable = PureWaterProperties::makeSaturationPressureTable( m_functionName, FunctionManager::getInstance() );
- if( printTable )
- {
- m_waterSatDensityTable->print( m_waterSatDensityTable->getName() );
- m_waterSatPressureTable->print( m_waterSatPressureTable->getName() );
- }
+
+ m_waterSatPressureTable->outputPVTTableData( pvtOutputOpts );
+ m_waterSatDensityTable->outputPVTTableData( pvtOutputOpts );
}
void EzrokhiBrineDensity::makeCoefficients( string_array const & inputPara )
@@ -103,8 +101,6 @@ EzrokhiBrineDensity::createKernelWrapper() const
m_coef2 );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, EzrokhiBrineDensity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // end namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.hpp
index 17a084355c2..5942eff4f0a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineDensity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -109,7 +109,7 @@ class EzrokhiBrineDensity : public PVTFunctionBase
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
virtual ~EzrokhiBrineDensity() override = default;
@@ -173,7 +173,7 @@ void EzrokhiBrineDensityUpdate::compute( real64 const & pressure,
bool useMass ) const
{
constexpr integer numDof = 4;
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 waterSatDensity_dTemperature = 0.0;
real64 waterSatPressure_dTemperature = 0.0;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.cpp
index 6b7ac1ed990..c300237899a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -38,7 +38,7 @@ EzrokhiBrineViscosity::EzrokhiBrineViscosity( string const & name,
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -51,8 +51,8 @@ EzrokhiBrineViscosity::EzrokhiBrineViscosity( string const & name,
makeCoefficients( inputPara );
m_waterViscosityTable = PureWaterProperties::makeSaturationViscosityTable( m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_waterViscosityTable->print( m_waterViscosityTable->getName() );
+
+ m_waterViscosityTable->outputPVTTableData( pvtOutputOpts );
}
void EzrokhiBrineViscosity::makeCoefficients( string_array const & inputPara )
@@ -94,8 +94,6 @@ EzrokhiBrineViscosity::createKernelWrapper() const
m_coef2 );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, EzrokhiBrineViscosity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // end namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.hpp
index 6a8c66be0c3..7140a4ca41c 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/EzrokhiBrineViscosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -98,7 +98,7 @@ class EzrokhiBrineViscosity : public PVTFunctionBase
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
virtual ~EzrokhiBrineViscosity() override = default;
@@ -158,7 +158,7 @@ void EzrokhiBrineViscosityUpdate::compute( real64 const & pressure,
{
GEOS_UNUSED_VAR( pressure, useMass );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 waterVisc_dTemperature = 0.0;
real64 const waterVisc = m_waterViscosityTable.compute( &temperature, &waterVisc_dTemperature );
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.cpp
index f79cd790427..11bc6522254 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -142,14 +142,14 @@ FenghourCO2Viscosity::FenghourCO2Viscosity( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable )
+ TableFunction::OutputOptions const pvtOutputOpts )
: PVTFunctionBase( name,
componentNames,
componentMolarWeight )
{
m_CO2ViscosityTable = makeViscosityTable( inputParams, m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_CO2ViscosityTable->print( m_CO2ViscosityTable->getName() );
+
+ m_CO2ViscosityTable->outputPVTTableData( pvtOutputOpts );
}
void FenghourCO2Viscosity::checkTablesParameters( real64 const pressure,
@@ -166,8 +166,6 @@ FenghourCO2Viscosity::createKernelWrapper() const
*m_CO2ViscosityTable );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, FenghourCO2Viscosity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // end namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.hpp
index 3f9dd756f00..ea490882910 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FenghourCO2Viscosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -76,7 +76,7 @@ class FenghourCO2Viscosity : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
virtual ~FenghourCO2Viscosity() override = default;
@@ -125,7 +125,7 @@ void FenghourCO2ViscosityUpdate::compute( real64 const & pressure,
dPhaseComposition,
useMass );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 const input[2] = { pressure, temperature };
real64 densityDeriv[2]{};
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FlashModelBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FlashModelBase.hpp
index afa90c08979..acef1ec1ab0 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FlashModelBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/FlashModelBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -78,19 +78,6 @@ class FlashModelBase
virtual ~FlashModelBase() = default;
- using CatalogInterface = dataRepository::CatalogInterface< FlashModelBase,
- string const &,
- string_array const &,
- string_array const &,
- string_array const &,
- array1d< real64 > const &,
- bool const >;
- static typename CatalogInterface::CatalogType & getCatalog()
- {
- static CatalogInterface::CatalogType catalog;
- return catalog;
- }
-
virtual string getCatalogName() const = 0;
/**
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/NoOpPVTFunction.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/NoOpPVTFunction.hpp
index 688fe9ae3e8..c647a071f79 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/NoOpPVTFunction.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/NoOpPVTFunction.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -71,12 +71,12 @@ class NoOpPVTFunction : public PVTFunctionBase
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable )
+ TableFunction::OutputOptions const pvtOutputOpts )
: PVTFunctionBase( name,
componentNames,
componentMolarWeight )
{
- GEOS_UNUSED_VAR( inputPara, printTable );
+ GEOS_UNUSED_VAR( inputPara, pvtOutputOpts );
}
virtual ~NoOpPVTFunction() override = default;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionBase.hpp
index 783e3976405..135d7c899c4 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -113,17 +113,6 @@ class PVTFunctionBase
virtual ~PVTFunctionBase() = default;
- using CatalogInterface = dataRepository::CatalogInterface< PVTFunctionBase,
- string const &,
- array1d< string > const &,
- array1d< string > const &,
- array1d< real64 > const &,
- bool const >;
- static typename CatalogInterface::CatalogType & getCatalog()
- {
- static CatalogInterface::CatalogType catalog;
- return catalog;
- }
virtual string getCatalogName() const = 0;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.cpp
index dd445557884..a05497483eb 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp
index 1d93b628265..9dde0d4cf39 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.cpp
index 6122bc4ef61..017f5ab92f8 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -177,7 +177,7 @@ PhillipsBrineDensity::PhillipsBrineDensity( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -189,8 +189,8 @@ PhillipsBrineDensity::PhillipsBrineDensity( string const & name,
m_waterIndex = PVTFunctionHelpers::findName( componentNames, expectedWaterComponentNames, "componentNames" );
m_brineDensityTable = makeDensityTable( inputParams, m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_brineDensityTable->print( m_brineDensityTable->getName() );
+
+ m_brineDensityTable->outputPVTTableData( pvtOutputOpts );
}
PhillipsBrineDensity::KernelWrapper
@@ -209,8 +209,6 @@ void PhillipsBrineDensity::checkTablesParameters( real64 const pressure,
m_brineDensityTable->checkCoord( temperature, 1 );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, PhillipsBrineDensity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.hpp
index 8d5dbe22103..fbfa037be96 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineDensity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -86,7 +86,7 @@ class PhillipsBrineDensity : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "PhillipsBrineDensity"; }
@@ -136,7 +136,7 @@ void PhillipsBrineDensityUpdate::compute( real64 const & pressure,
arraySlice1d< real64, USD3 > const & dValue,
bool useMass ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
// this method implements the method proposed by E. Garcia (2001)
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.cpp
index c8836f67143..8dd96a8a82d 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -37,15 +37,15 @@ PhillipsBrineViscosity::PhillipsBrineViscosity( string const & name,
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
{
m_waterViscosityTable = PureWaterProperties::makeSaturationViscosityTable( m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_waterViscosityTable->print( m_waterViscosityTable->getName() );
makeCoefficients( inputPara );
+
+ m_waterViscosityTable->outputPVTTableData( pvtOutputOpts );
}
void PhillipsBrineViscosity::makeCoefficients( string_array const & inputPara )
@@ -92,8 +92,6 @@ PhillipsBrineViscosity::createKernelWrapper() const
m_coef1 );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, PhillipsBrineViscosity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // end namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.hpp
index 14dd9c2c65c..bdb6bfa0f5a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PhillipsBrineViscosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -84,7 +84,7 @@ class PhillipsBrineViscosity : public PVTFunctionBase
string_array const & inputPara,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
virtual ~PhillipsBrineViscosity() override = default;
@@ -140,7 +140,7 @@ void PhillipsBrineViscosityUpdate::compute( real64 const & pressure,
dPhaseComposition,
useMass );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
// compute the viscosity of pure water as a function of temperature
real64 dPureWaterVisc_dTemperature;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.cpp
index e6f0364e012..a3cb6458b94 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.hpp
index bd7f990b215..872983ce8b8 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.cpp
index e8787ccd427..0ef520014a0 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -279,7 +279,7 @@ SpanWagnerCO2Density::SpanWagnerCO2Density( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
@@ -288,8 +288,8 @@ SpanWagnerCO2Density::SpanWagnerCO2Density( string const & name,
m_CO2Index = PVTFunctionHelpers::findName( componentNames, expectedCO2ComponentNames, "componentNames" );
m_CO2DensityTable = makeDensityTable( inputParams, m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_CO2DensityTable->print( m_CO2DensityTable->getName() );
+
+ m_CO2DensityTable->outputPVTTableData( pvtOutputOpts );
}
void SpanWagnerCO2Density::checkTablesParameters( real64 const pressure,
@@ -307,8 +307,6 @@ SpanWagnerCO2Density::createKernelWrapper() const
m_CO2Index );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, SpanWagnerCO2Density, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.hpp
index e68d2ea01d2..f729064fcf0 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/SpanWagnerCO2Density.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -81,7 +81,7 @@ class SpanWagnerCO2Density : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "SpanWagnerCO2Density"; }
@@ -135,7 +135,7 @@ void SpanWagnerCO2DensityUpdate::compute( real64 const & pressure,
{
GEOS_UNUSED_VAR( phaseComposition, dPhaseComposition );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 const input[2] = { pressure, temperature };
real64 densityDeriv[2]{};
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.cpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.cpp
index 4c0d3dada34..41a047c11b5 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -37,15 +37,15 @@ WaterDensity::WaterDensity( string const & name,
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable ):
+ TableFunction::OutputOptions const pvtOutputOpts ):
PVTFunctionBase( name,
componentNames,
componentMolarWeight )
{
GEOS_UNUSED_VAR( inputParams );
m_waterDensityTable = PureWaterProperties::makeSaturationDensityTable( m_functionName, FunctionManager::getInstance() );
- if( printTable )
- m_waterDensityTable->print( m_waterDensityTable->getName() );
+
+ m_waterDensityTable->outputPVTTableData( pvtOutputOpts );
}
void WaterDensity::checkTablesParameters( real64 const pressure,
@@ -62,8 +62,6 @@ WaterDensity::createKernelWrapper() const
*m_waterDensityTable );
}
-REGISTER_CATALOG_ENTRY( PVTFunctionBase, WaterDensity, string const &, string_array const &, string_array const &, array1d< real64 > const &, bool const )
-
} // namespace PVTProps
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.hpp b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.hpp
index 96e1eecf0e0..36cd4932661 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/functions/WaterDensity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -76,7 +76,7 @@ class WaterDensity : public PVTFunctionBase
string_array const & inputParams,
string_array const & componentNames,
array1d< real64 > const & componentMolarWeight,
- bool const printTable );
+ TableFunction::OutputOptions const pvtOutputOpts );
static string catalogName() { return "WaterDensity"; }
virtual string getCatalogName() const final { return catalogName(); }
@@ -118,7 +118,7 @@ void WaterDensityUpdate::compute( real64 const & pressure,
{
GEOS_UNUSED_VAR( phaseComposition, dPhaseComposition, useMass );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
real64 const input[2] = { pressure, temperature };
real64 densityDeriv[2]{};
diff --git a/src/coreComponents/constitutive/fluid/multifluid/Layouts.hpp b/src/coreComponents/constitutive/fluid/multifluid/Layouts.hpp
index 5bdc55d2a46..626f988104e 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/Layouts.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/Layouts.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.cpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.cpp
index 16cb5903adc..a0d1157a022 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp
index 825fac729af..802f9a921bf 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -128,67 +128,67 @@ class MultiFluidBase : public ConstitutiveBase
*/
void setMassFlag( bool const flag ) { m_useMass = flag; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseFraction() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseFraction() const
{ return m_phaseFraction.value; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseFraction() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseFraction() const
{ return m_phaseFraction.derivs; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseDensity() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseDensity() const
{ return m_phaseDensity.value; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseDensity_n() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseDensity_n() const
{ return m_phaseDensity_n; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseDensity() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseDensity() const
{ return m_phaseDensity.derivs; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseMassDensity() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseMassDensity() const
{ return m_phaseMassDensity.value; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseMassDensity() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseMassDensity() const
{ return m_phaseMassDensity.derivs; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseViscosity() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseViscosity() const
{ return m_phaseViscosity.value; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseViscosity() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseViscosity() const
{ return m_phaseViscosity.derivs; }
- arrayView4d< real64 const, multifluid::USD_PHASE_COMP > phaseCompFraction() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_COMP > phaseCompFraction() const
{ return m_phaseCompFraction.value; }
- arrayView4d< real64 const, multifluid::USD_PHASE_COMP > phaseCompFraction_n() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_COMP > phaseCompFraction_n() const
{ return m_phaseCompFraction_n; }
- arrayView5d< real64 const, multifluid::USD_PHASE_COMP_DC > dPhaseCompFraction() const
+ arrayView5d< real64 const, constitutive::multifluid::USD_PHASE_COMP_DC > dPhaseCompFraction() const
{ return m_phaseCompFraction.derivs; }
- arrayView2d< real64 const, multifluid::USD_FLUID > totalDensity() const
+ arrayView2d< real64 const, constitutive::multifluid::USD_FLUID > totalDensity() const
{ return m_totalDensity.value; }
- arrayView2d< real64 const, multifluid::USD_FLUID > totalDensity_n() const
+ arrayView2d< real64 const, constitutive::multifluid::USD_FLUID > totalDensity_n() const
{ return m_totalDensity_n; }
- arrayView3d< real64 const, multifluid::USD_FLUID_DC > dTotalDensity() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_FLUID_DC > dTotalDensity() const
{ return m_totalDensity.derivs; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseEnthalpy() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseEnthalpy() const
{ return m_phaseEnthalpy.value; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseEnthalpy_n() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseEnthalpy_n() const
{ return m_phaseEnthalpy_n; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseEnthalpy() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseEnthalpy() const
{ return m_phaseEnthalpy.derivs; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseInternalEnergy() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseInternalEnergy() const
{ return m_phaseInternalEnergy.value; }
- arrayView3d< real64 const, multifluid::USD_PHASE > phaseInternalEnergy_n() const
+ arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseInternalEnergy_n() const
{ return m_phaseInternalEnergy_n; }
- arrayView4d< real64 const, multifluid::USD_PHASE_DC > dPhaseInternalEnergy() const
+ arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_DC > dPhaseInternalEnergy() const
{ return m_phaseInternalEnergy.derivs; }
/**
@@ -222,9 +222,9 @@ class MultiFluidBase : public ConstitutiveBase
public:
- using PhaseProp = MultiFluidVar< real64, 3, multifluid::LAYOUT_PHASE, multifluid::LAYOUT_PHASE_DC >;
- using PhaseComp = MultiFluidVar< real64, 4, multifluid::LAYOUT_PHASE_COMP, multifluid::LAYOUT_PHASE_COMP_DC >;
- using FluidProp = MultiFluidVar< real64, 2, multifluid::LAYOUT_FLUID, multifluid::LAYOUT_FLUID_DC >;
+ using PhaseProp = MultiFluidVar< real64, 3, constitutive::multifluid::LAYOUT_PHASE, constitutive::multifluid::LAYOUT_PHASE_DC >;
+ using PhaseComp = MultiFluidVar< real64, 4, constitutive::multifluid::LAYOUT_PHASE_COMP, constitutive::multifluid::LAYOUT_PHASE_COMP_DC >;
+ using FluidProp = MultiFluidVar< real64, 2, constitutive::multifluid::LAYOUT_FLUID, constitutive::multifluid::LAYOUT_FLUID_DC >;
public:
class KernelWrapper
@@ -271,28 +271,28 @@ class MultiFluidBase : public ConstitutiveBase
GEOS_FORCE_INLINE
integer numPhases() const { return LvArray::integerConversion< integer >( m_phaseFraction.value.size( 2 ) ); }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseFraction() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseFraction() const
{ return m_phaseFraction.value; }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseDensity() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseDensity() const
{ return m_phaseDensity.value; }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseMassDensity() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseMassDensity() const
{ return m_phaseMassDensity.value; }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseViscosity() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseViscosity() const
{ return m_phaseViscosity.value; }
- GEOS_HOST_DEVICE arrayView4d< real64 const, multifluid::USD_PHASE_COMP > phaseCompFraction() const
+ GEOS_HOST_DEVICE arrayView4d< real64 const, constitutive::multifluid::USD_PHASE_COMP > phaseCompFraction() const
{ return m_phaseCompFraction.value; }
- GEOS_HOST_DEVICE arrayView2d< real64 const, multifluid::USD_FLUID > totalDensity() const
+ GEOS_HOST_DEVICE arrayView2d< real64 const, constitutive::multifluid::USD_FLUID > totalDensity() const
{ return m_totalDensity.value; }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseEnthalpy() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseEnthalpy() const
{ return m_phaseEnthalpy.value; }
- GEOS_HOST_DEVICE arrayView3d< real64 const, multifluid::USD_PHASE > phaseInternalEnergy() const
+ GEOS_HOST_DEVICE arrayView3d< real64 const, constitutive::multifluid::USD_PHASE > phaseInternalEnergy() const
{ return m_phaseInternalEnergy.value; }
/**
@@ -318,13 +318,13 @@ class MultiFluidBase : public ConstitutiveBase
real64 const pressure,
real64 const temperature,
arraySlice1d< real64 const, compflow::USD_COMP - 1 > const & composition,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseFraction,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseDensity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseMassDensity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseViscosity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseEnthalpy,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseInternalEnergy,
- arraySlice2d< real64, multifluid::USD_PHASE_COMP-2 > const & phaseCompFraction,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseFraction,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseDensity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseMassDensity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseViscosity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseEnthalpy,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseInternalEnergy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_COMP-2 > const & phaseCompFraction,
real64 & totalDensity );
protected:
@@ -404,8 +404,8 @@ class MultiFluidBase : public ConstitutiveBase
template< integer maxNumComp, integer maxNumPhase >
GEOS_HOST_DEVICE
void convertToMassFractions( real64 const (&phaseMolecularWeight)[maxNumPhase],
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_COMP - 2 > const phaseCompFrac ) const;
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_COMP - 2 > const phaseCompFrac ) const;
/**
* @brief Utility function to convert mole fractions to mass fractions and keep derivatives
@@ -432,10 +432,10 @@ class MultiFluidBase : public ConstitutiveBase
real64 const (&dPhaseMolecularWeight)[maxNumPhase][maxNumComp+2],
PhaseProp::SliceType const phaseFrac,
PhaseComp::SliceType const phaseCompFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const;
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const;
/**
* @brief Utility function to compute the internal energy from pressure, enthalpy, and density
@@ -450,10 +450,10 @@ class MultiFluidBase : public ConstitutiveBase
template< integer maxNumComp, integer maxNumPhase >
GEOS_HOST_DEVICE
void computeInternalEnergy( real64 const & pressure,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseMassDens,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseEnthalpy,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const;
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseMassDens,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseEnthalpy,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const;
/**
* @brief Utility function to compute the internal energy from pressure, enthalpy, and density and keep derivatives
@@ -480,8 +480,8 @@ class MultiFluidBase : public ConstitutiveBase
*/
template< integer maxNumComp, integer maxNumPhase >
GEOS_HOST_DEVICE
- void computeTotalDensity( arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseDens,
+ void computeTotalDensity( arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseDens,
real64 & totalDens ) const;
/**
@@ -523,7 +523,7 @@ class MultiFluidBase : public ConstitutiveBase
real64 totalCompressibility( integer const i, integer const q ) const
{
real64 const totalFluidDensity = totalDensity()( i, q );
- real64 const dTotalFluidDensity_dP = m_totalDensity.derivs( i, q, multifluid::DerivativeOffset::dP );
+ real64 const dTotalFluidDensity_dP = m_totalDensity.derivs( i, q, constitutive::multifluid::DerivativeOffset::dP );
return 0.0 < totalFluidDensity ? dTotalFluidDensity_dP / totalFluidDensity : 0.0;
}
@@ -600,10 +600,10 @@ class MultiFluidBase : public ConstitutiveBase
void computeDerivativesWrtMassFractions( real64 const (&dCompMoleFrac_dCompMassFrac)[maxNumComp][maxNumComp],
PhaseProp::SliceType const phaseFrac,
PhaseComp::SliceType const phaseCompFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const;
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const;
/**
* @brief Main compute function to update properties in a cell with derivatives (used in Newton iterations)
@@ -693,11 +693,11 @@ class MultiFluidBase : public ConstitutiveBase
// backup data
- array3d< real64, multifluid::LAYOUT_PHASE > m_phaseDensity_n;
- array3d< real64, multifluid::LAYOUT_PHASE > m_phaseEnthalpy_n;
- array3d< real64, multifluid::LAYOUT_PHASE > m_phaseInternalEnergy_n;
- array4d< real64, multifluid::LAYOUT_PHASE_COMP > m_phaseCompFraction_n;
- array2d< real64, multifluid::LAYOUT_FLUID > m_totalDensity_n;
+ array3d< real64, constitutive::multifluid::LAYOUT_PHASE > m_phaseDensity_n;
+ array3d< real64, constitutive::multifluid::LAYOUT_PHASE > m_phaseEnthalpy_n;
+ array3d< real64, constitutive::multifluid::LAYOUT_PHASE > m_phaseInternalEnergy_n;
+ array4d< real64, constitutive::multifluid::LAYOUT_PHASE_COMP > m_phaseCompFraction_n;
+ array2d< real64, constitutive::multifluid::LAYOUT_FLUID > m_totalDensity_n;
};
@@ -708,13 +708,13 @@ MultiFluidBase::KernelWrapper::computeValues( FLUIDWRAPPER const fluidWrapper,
real64 const pressure,
real64 const temperature,
arraySlice1d< real64 const, compflow::USD_COMP - 1 > const & composition,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseFraction,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseDensity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseMassDensity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseViscosity,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseEnthalpy,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const & phaseInternalEnergy,
- arraySlice2d< real64, multifluid::USD_PHASE_COMP-2 > const & phaseCompFraction,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseFraction,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseDensity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseMassDensity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseViscosity,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseEnthalpy,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const & phaseInternalEnergy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_COMP-2 > const & phaseCompFraction,
real64 & totalDensity )
{
integer constexpr maxNumPhase = MAX_NUM_PHASES;
@@ -726,9 +726,9 @@ MultiFluidBase::KernelWrapper::computeValues( FLUIDWRAPPER const fluidWrapper,
// Allocate data for derivatives. All properties of the same type will use the same memory
// space for the derivatives. The derivatives returned will clearly be garbage but the values
// should be correct.
- StackArray< real64, 4, maxNumDof * maxNumPhase, multifluid::LAYOUT_PHASE_DC > dPhaseProp( 1, 1, numPhase, numComp+2 );
- StackArray< real64, 5, maxNumDof * maxNumComp * maxNumPhase, multifluid::LAYOUT_PHASE_COMP_DC > dPhaseComp( 1, 1, numPhase, numComp, numComp+2 );
- StackArray< real64, 3, maxNumDof, multifluid::LAYOUT_FLUID_DC > dFluidProp( 1, 1, numComp+2 );
+ StackArray< real64, 4, maxNumDof * maxNumPhase, constitutive::multifluid::LAYOUT_PHASE_DC > dPhaseProp( 1, 1, numPhase, numComp+2 );
+ StackArray< real64, 5, maxNumDof * maxNumComp * maxNumPhase, constitutive::multifluid::LAYOUT_PHASE_COMP_DC > dPhaseComp( 1, 1, numPhase, numComp, numComp+2 );
+ StackArray< real64, 3, maxNumDof, constitutive::multifluid::LAYOUT_FLUID_DC > dFluidProp( 1, 1, numComp+2 );
// Wrap the output in multi variable objects
PhaseProp::SliceType phaseFractionWrapper { phaseFraction, dPhaseProp[0][0] };
@@ -808,8 +808,8 @@ GEOS_FORCE_INLINE
void
MultiFluidBase::KernelWrapper::
convertToMassFractions( real64 const (&phaseMolecularWeight)[maxNumPhase],
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_COMP - 2 > const phaseCompFrac ) const
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_COMP - 2 > const phaseCompFrac ) const
{
using namespace multifluid;
@@ -854,10 +854,10 @@ MultiFluidBase::KernelWrapper::
real64 const (&dPhaseMolecularWeight)[maxNumPhase][maxNumComp+2],
PhaseProp::SliceType const phaseFrac,
PhaseComp::SliceType const phaseCompFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const
{
convertToPhaseMassFractions( phaseMolecularWeight,
dPhaseMolecularWeight,
@@ -884,7 +884,7 @@ MultiFluidBase::KernelWrapper::
real64 const (&dPhaseMolecularWeight)[maxNumPhase][maxNumDof],
PhaseProp::SliceType const phaseFrac ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const numPhase = numPhases();
integer const numComp = numComponents();
@@ -939,7 +939,7 @@ MultiFluidBase::KernelWrapper::
PhaseProp::SliceType const phaseFrac,
PhaseComp::SliceType const phaseCompFrac ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const numPhase = numPhases();
integer const numComp = numComponents();
@@ -985,12 +985,12 @@ MultiFluidBase::KernelWrapper::
computeDerivativesWrtMassFractions( real64 const (&dCompMoleFrac_dCompMassFrac)[maxNumComp][maxNumComp],
PhaseProp::SliceType const phaseFrac,
PhaseComp::SliceType const phaseCompFrac,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
- arraySlice2d< real64, multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseDens,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseVisc,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseEnthalpy,
+ arraySlice2d< real64, constitutive::multifluid::USD_PHASE_DC - 2 > const dPhaseInternalEnergy ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const numPhase = numPhases();
integer const numComp = numComponents();
@@ -1017,10 +1017,10 @@ GEOS_FORCE_INLINE
void
MultiFluidBase::KernelWrapper::
computeInternalEnergy( real64 const & pressure,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseMassDens,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseEnthalpy,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseMassDens,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseEnthalpy,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseInternalEnergy ) const
{
using namespace multifluid;
@@ -1087,8 +1087,8 @@ template< integer maxNumComp, integer maxNumPhase >
GEOS_HOST_DEVICE
inline void
MultiFluidBase::KernelWrapper::
- computeTotalDensity( arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseFrac,
- arraySlice1d< real64, multifluid::USD_PHASE - 2 > const phaseDens,
+ computeTotalDensity( arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseFrac,
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE - 2 > const phaseDens,
real64 & totalDens ) const
{
using namespace multifluid;
@@ -1119,7 +1119,7 @@ MultiFluidBase::KernelWrapper::
PhaseProp::SliceType const phaseDensity,
FluidProp::SliceType const totalDensity ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const numComp = numComponents();
integer const numPhase = numPhases();
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidConstants.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidConstants.hpp
index 6d94ba2c422..191d49a90bb 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidConstants.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidConstants.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidFields.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidFields.hpp
index d73639350a0..4983406b17a 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidFields.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidSelector.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidSelector.hpp
index 470720f3617..7d54ed3e3c4 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidSelector.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -37,7 +37,7 @@ namespace constitutive
{
template< typename LAMBDA >
-void constitutiveUpdatePassThru( MultiFluidBase const & fluid,
+void constitutiveUpdatePassThru( constitutive::MultiFluidBase const & fluid,
LAMBDA && lambda )
{
ConstitutivePassThruHandler< DeadOilFluid,
@@ -59,7 +59,7 @@ void constitutiveUpdatePassThru( MultiFluidBase const & fluid,
}
template< typename LAMBDA >
-void constitutiveUpdatePassThru( MultiFluidBase & fluid,
+void constitutiveUpdatePassThru( constitutive::MultiFluidBase & fluid,
LAMBDA && lambda )
{
ConstitutivePassThruHandler< DeadOilFluid,
@@ -117,7 +117,7 @@ struct ComponentSelector< camp::idx_seq< Is ... > >
}
template< bool THERMAL = false, typename LAMBDA = NoOpFunc >
-void constitutiveComponentUpdatePassThru( MultiFluidBase & fluidBase,
+void constitutiveComponentUpdatePassThru( constitutive::MultiFluidBase & fluidBase,
integer const numComps,
LAMBDA && lambda )
{
diff --git a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidUtils.hpp b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidUtils.hpp
index 3bccb811d38..68283ef38c5 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/MultiFluidUtils.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/MultiFluidUtils.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.cpp
index 5daaa66f6d9..4a4118c1cbf 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.hpp
index 29ff379ea41..112c677bad3 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -142,7 +142,7 @@ class BlackOilFluid : public BlackOilFluidBase
void computeDensitiesViscosities( bool const needDerivs,
real64 const pressure,
real64 const composition[NC_BO],
- arraySlice1d< real64 const, multifluid::USD_PHASE - 2 > const & phaseFrac,
+ arraySlice1d< real64 const, constitutive::multifluid::USD_PHASE - 2 > const & phaseFrac,
PhaseProp::SliceType const & phaseDens,
PhaseProp::SliceType const & phaseMassDens,
PhaseProp::SliceType const & phaseVisc,
@@ -253,7 +253,7 @@ class BlackOilFluid : public BlackOilFluidBase
real64 const dBo_dPres,
real64 const dBo_dComp[HNC_BO],
real64 & dens,
- arraySlice1d< real64, multifluid::USD_PHASE_DC - 3 > const & dDens ) const;
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE_DC - 3 > const & dDens ) const;
/// Data needed to update the oil phase properties
PVTOData::KernelWrapper m_PVTOView;
@@ -415,7 +415,7 @@ BlackOilFluid::KernelWrapper::
PhaseProp::SliceType const & phaseFraction,
PhaseComp::SliceType const & phaseCompFraction ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
using PT = BlackOilFluid::PhaseType;
integer const ipOil = m_phaseOrder[PT::OIL];
@@ -563,14 +563,14 @@ BlackOilFluid::KernelWrapper::
computeDensitiesViscosities( bool const needDerivs,
real64 const pressure,
real64 const composition[NC_BO],
- arraySlice1d< real64 const, multifluid::USD_PHASE - 2 > const & phaseFrac,
+ arraySlice1d< real64 const, constitutive::multifluid::USD_PHASE - 2 > const & phaseFrac,
PhaseProp::SliceType const & phaseDens,
PhaseProp::SliceType const & phaseMassDens,
PhaseProp::SliceType const & phaseVisc,
real64 phaseMolecularWeight[NP_BO],
real64 dPhaseMolecularWeight[NP_BO][NC_BO+2] ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
using PT = BlackOilFluid::PhaseType;
integer const ipOil = m_phaseOrder[PT::OIL];
@@ -905,9 +905,9 @@ BlackOilFluid::KernelWrapper::
real64 const dBo_dPres,
real64 const dBo_dComp[HNC_BO],
real64 & dens,
- arraySlice1d< real64, multifluid::USD_PHASE_DC - 3 > const & dDens ) const
+ arraySlice1d< real64, constitutive::multifluid::USD_PHASE_DC - 3 > const & dDens ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
using PT = BlackOilFluid::PhaseType;
real64 const oilDens = (useMass)? m_PVTOView.m_surfaceMassDensity[PT::OIL]:
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.cpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.cpp
index e31fa7bb339..0e86a3e7777 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.hpp
index 03a6aadba67..dbca6083fca 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/BlackOilFluidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.cpp
index 390e756f5fd..91162808882 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.hpp
index 361f15aa343..69311e692f2 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/DeadOilFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -161,7 +161,7 @@ DeadOilFluid::KernelWrapper::
computeDensities( real64 const pressure,
PhaseProp::SliceType const & phaseMassDens ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
LvArray::forValuesInSlice( phaseMassDens.derivs, []( real64 & val ){ val = 0.0; } );
@@ -207,7 +207,7 @@ DeadOilFluid::KernelWrapper::
computeViscosities( real64 const pressure,
PhaseProp::SliceType const & phaseVisc ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
LvArray::forValuesInSlice( phaseVisc.derivs, []( real64 & val ){ val = 0.0; } );
@@ -255,7 +255,7 @@ DeadOilFluid::KernelWrapper::
{
GEOS_UNUSED_VAR( temperature, phaseEnthalpy, phaseInternalEnergy );
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const nComps = numComponents();
integer const nPhases = numPhases();
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.cpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.cpp
index eee1929c68e..1a36a2e124b 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.hpp b/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.hpp
index bcc002ff0f7..cec6671cb93 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTOData.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.cpp
index c90f0fe9366..aa91a802388 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -196,6 +196,8 @@ CompositionalMultiphaseFluid< FLASH, PHASE1, PHASE2, PHASE3 >::deliverClone( str
Group * const parent ) const
{
std::unique_ptr< ConstitutiveBase > clone = MultiFluidBase::deliverClone( name, parent );
+ CompositionalMultiphaseFluid & newFluid = dynamicCast< CompositionalMultiphaseFluid & >( *clone );
+ newFluid.createModels();
return clone;
}
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp
index 5e37c4ab479..a8f846aac39 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.cpp
index 176d051f0f3..0edd0113625 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.hpp
index 85bb218a6f3..e6fa1574e55 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -188,7 +188,7 @@ CompositionalMultiphaseFluidPVTPackage::KernelWrapper::
GEOS_UNUSED_VAR( totalDensity );
#else
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer constexpr maxNumComp = MultiFluidBase::MAX_NUM_COMPONENTS;
integer constexpr maxNumPhase = MultiFluidBase::MAX_NUM_PHASES;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.cpp
index 40002e84e48..1ef2d44b8f7 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.hpp
index bcf0e5c482e..1567f4b4c46 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidUpdates.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -421,7 +421,7 @@ convertDerivativesToTotalMoleFraction( integer const numComps,
arraySlice1d< real64, USD2 > const & dProperty,
arraySlice1d< real64 > const & workSpace )
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
integer const numDofs = numComps + 2;
for( integer kc = 0; kc < numDofs; ++kc )
{
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalProperties.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalProperties.hpp
index ccf48b312b9..d58252d405f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalProperties.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalProperties.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalPropertiesImpl.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalPropertiesImpl.hpp
index dfe817fc894..d7ac72c2912 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalPropertiesImpl.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CompositionalPropertiesImpl.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CubicEOSPhaseModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CubicEOSPhaseModel.hpp
index d992157f521..ac6d7efc240 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CubicEOSPhaseModel.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/CubicEOSPhaseModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/FugacityCalculator.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/FugacityCalculator.hpp
index 3ef3cf25b5f..758a4e8ec89 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/FugacityCalculator.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/FugacityCalculator.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/KValueInitialization.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/KValueInitialization.hpp
index 59d50b60eba..7135d944906 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/KValueInitialization.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/KValueInitialization.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -64,39 +64,6 @@ struct KValueInitialization
}
}
- /**
- * @brief Calculate gas-liquid k-values near the convergence pressure
- * @param[in] numComps number of components
- * @param[in] pressure pressure
- * @param[in] temperature temperature
- * @param[in] componentProperties The compositional component properties
- * @param[out] kValues the calculated k-values
- **/
- template< integer USD >
- GEOS_HOST_DEVICE
- GEOS_FORCE_INLINE
- static void
- computeConstantLiquidKvalue( integer const numComps,
- real64 const pressure,
- real64 const temperature,
- ComponentProperties::KernelWrapper const & componentProperties,
- arraySlice1d< real64, USD > const & kValues )
- {
- GEOS_UNUSED_VAR( pressure, temperature );
- arrayView1d< real64 const > const & criticalPressure = componentProperties.m_componentCriticalPressure;
- real64 averagePressure = 0.0; // Average pressure
- for( integer ic = 0; ic < numComps; ++ic )
- {
- averagePressure += criticalPressure[ic];
- }
- averagePressure /= numComps;
- constexpr real64 kValueGap = 0.01;
- for( integer ic = 0; ic < numComps; ++ic )
- {
- kValues[ic] = criticalPressure[ic] < averagePressure ? 1.0/(1.0 + kValueGap) : 1.0/(1.0 - kValueGap);
- }
- }
-
/**
* @brief Calculate water-gas k-value
* @param[in] pressure pressure
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/NegativeTwoPhaseFlash.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/NegativeTwoPhaseFlash.hpp
index be61c18688d..f492995b1ad 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/NegativeTwoPhaseFlash.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/NegativeTwoPhaseFlash.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -32,15 +32,12 @@ namespace geos
namespace constitutive
{
-
-using namespace multifluid;
-
namespace compositional
{
struct NegativeTwoPhaseFlash
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
public:
/**
@@ -177,7 +174,7 @@ struct NegativeTwoPhaseFlash
* @param[out] fugacityRatios the fugacity rations
* @return The error
*/
- template< integer USD >
+ template< integer USD1, integer USD2 >
GEOS_HOST_DEVICE
static real64 computeFugacityRatio(
integer const numComps,
@@ -187,34 +184,32 @@ struct NegativeTwoPhaseFlash
ComponentProperties::KernelWrapper const & componentProperties,
EquationOfStateType const liquidEos,
EquationOfStateType const vapourEos,
- arraySlice1d< real64 const, USD > const & kValues,
+ arraySlice1d< real64 const, USD1 > const & kValues,
arraySlice1d< integer const > const & presentComponents,
real64 & vapourPhaseMoleFraction,
- arraySlice1d< real64, USD > const & liquidComposition,
- arraySlice1d< real64, USD > const & vapourComposition,
+ arraySlice1d< real64, USD2 > const & liquidComposition,
+ arraySlice1d< real64, USD2 > const & vapourComposition,
arraySlice1d< real64 > const & logLiquidFugacity,
arraySlice1d< real64 > const & logVapourFugacity,
arraySlice1d< real64 > const & fugacityRatios );
/**
* @brief Solve the lineat system for the derivatives of the flash
- * @param[in] A the coefficient matrix
- * @param[in] b the rhs
- * @param[out] x the solution
+ * @param[in/out] A the coefficient matrix. Destroyed after call
+ * @param[in/out] X the rhs and solution
* @return @c true if the problem is well solved @c false otherwise
*/
+ template< int USD >
GEOS_HOST_DEVICE
- static bool solveLinearSystem( arraySlice2d< real64 const > const & A,
- arraySlice1d< real64 const > const & b,
- arraySlice1d< real64 > const & x )
+ static bool solveLinearSystem( arraySlice2d< real64, USD > const & A,
+ arraySlice2d< real64, USD > const & X )
{
#if defined(GEOS_DEVICE_COMPILE)
GEOS_UNUSED_VAR( A );
- GEOS_UNUSED_VAR( b );
- GEOS_UNUSED_VAR( x );
+ GEOS_UNUSED_VAR( X );
return false;
#else
- BlasLapackLA::solveLinearSystem( A, b, x );
+ BlasLapackLA::solveLinearSystem( A, X );
return true;
#endif
}
@@ -262,9 +257,6 @@ bool NegativeTwoPhaseFlash::compute( integer const numComps,
}
}
- bool kValueReset = true;
- constexpr real64 boundsTolerance = 1.0e-3;
-
if( needInitialisation )
{
KValueInitialization::computeWilsonGasLiquidKvalue( numComps,
@@ -276,8 +268,6 @@ bool NegativeTwoPhaseFlash::compute( integer const numComps,
auto const presentComponents = componentIndices.toSliceConst();
- real64 const initialVapourFraction = RachfordRice::solve( kVapourLiquid.toSliceConst(), composition, presentComponents );
-
bool converged = false;
for( localIndex iterationCount = 0; iterationCount < MultiFluidConstants::maxSSIIterations; ++iterationCount )
{
@@ -306,23 +296,9 @@ bool NegativeTwoPhaseFlash::compute( integer const numComps,
}
// Update K-values
- if( (vapourPhaseMoleFraction < -boundsTolerance || 1.0-vapourPhaseMoleFraction < -boundsTolerance)
- && 0.2 < LvArray::math::abs( vapourPhaseMoleFraction-initialVapourFraction )
- && !kValueReset )
- {
- KValueInitialization::computeConstantLiquidKvalue( numComps,
- pressure,
- temperature,
- componentProperties,
- kVapourLiquid );
- kValueReset = true;
- }
- else
+ for( integer ic = 0; ic < numComps; ++ic )
{
- for( integer ic = 0; ic < numComps; ++ic )
- {
- kVapourLiquid[ic] *= exp( fugacityRatios[ic] );
- }
+ kVapourLiquid[ic] *= exp( fugacityRatios[ic] );
}
}
@@ -435,12 +411,11 @@ void NegativeTwoPhaseFlash::computeDerivatives(
constexpr integer maxNumVals = 2*MultiFluidConstants::MAX_NUM_COMPONENTS+1;
integer const numVals = 2*numComps;
- stackArray1d< real64, maxNumVals > b( numVals + 1 );
- stackArray1d< real64, maxNumVals > x( numVals + 1 );
- stackArray2d< real64, maxNumVals * maxNumVals > A( numVals + 1, numVals + 1 );
+ StackArray< real64, 2, maxNumVals * maxNumVals, MatrixLayout::COL_MAJOR_PERM > A( numVals + 1, numVals + 1 );
+ StackArray< real64, 2, maxNumVals * maxNumVals, MatrixLayout::COL_MAJOR_PERM > X( numVals + 1, numVals + 1 );
LvArray::forValuesInSlice( A.toSlice(), setZero );
- LvArray::forValuesInSlice( b.toSlice(), setZero );
+ LvArray::forValuesInSlice( X.toSlice(), setZero );
for( integer ic = 0; ic < numComps; ++ic )
{
@@ -472,50 +447,47 @@ void NegativeTwoPhaseFlash::computeDerivatives(
A( e, xi ) = -1.0;
A( e, yi ) = 1.0;
}
+
// Pressure and temperature derivatives
- for( integer const pc : {Deriv::dP, Deriv::dT} )
+ for( integer ic = 0; ic < numComps; ++ic )
{
- for( integer ic = 0; ic < numComps; ++ic )
- {
- real64 const phiL = exp( logLiquidFugacity( ic ) );
- real64 const phiV = exp( logVapourFugacity( ic ) );
- b( ic ) = 0.0;
- b( ic + numComps ) = -liquidComposition[ic] * phiL * logLiquidFugacityDerivs( ic, pc )
- + vapourComposition[ic] * phiV * logVapourFugacityDerivs( ic, pc );
- }
- b( numVals ) = 0.0;
- solveLinearSystem( A, b, x );
- for( integer ic = 0; ic < numComps; ++ic )
- {
- liquidCompositionDerivs( ic, pc ) = x( ic );
- vapourCompositionDerivs( ic, pc ) = x( ic + numComps );
- }
- vapourFractionDerivs( pc ) = x( numVals );
+ real64 const phiL = -liquidComposition[ic] * exp( logLiquidFugacity( ic ) );
+ real64 const phiV = vapourComposition[ic] * exp( logVapourFugacity( ic ) );
+ X( ic + numComps, Deriv::dP ) = phiL * logLiquidFugacityDerivs( ic, Deriv::dP ) +
+ phiV * logVapourFugacityDerivs( ic, Deriv::dP );
+ X( ic + numComps, Deriv::dT ) = phiL * logLiquidFugacityDerivs( ic, Deriv::dT ) +
+ phiV * logVapourFugacityDerivs( ic, Deriv::dT );
}
+
// Composition derivatives
for( integer kc = 0; kc < numComps; ++kc )
{
- integer const pc = Deriv::dC + kc;
+ integer const idof = Deriv::dC + kc;
for( integer ic = 0; ic < numComps; ++ic )
{
- b( ic ) = -composition[ic];
- b( ic + numComps ) = 0.0;
+ X( ic, idof ) = -composition[ic];
}
- b( kc ) += 1.0;
- b( numVals ) = 0.0;
- solveLinearSystem( A, b, x );
+ X( kc, idof ) += 1.0;
+ }
+
+ // Solve linear system
+ solveLinearSystem( A.toSlice(), X.toSlice() );
+
+ // Fill in the derivatives
+ for( integer idof = 0; idof < numDofs; ++idof )
+ {
for( integer ic = 0; ic < numComps; ++ic )
{
- liquidCompositionDerivs( ic, pc ) = x( ic );
- vapourCompositionDerivs( ic, pc ) = x( ic + numComps );
+ liquidCompositionDerivs( ic, idof ) = X( ic, idof );
+ vapourCompositionDerivs( ic, idof ) = X( ic + numComps, idof );
}
- vapourFractionDerivs( pc ) = x( numVals );
+ vapourFractionDerivs( idof ) = X( numVals, idof );
}
}
}
-template< integer USD >
+template< integer USD1, integer USD2 >
GEOS_HOST_DEVICE
real64 NegativeTwoPhaseFlash::computeFugacityRatio(
integer const numComps,
@@ -525,11 +497,11 @@ real64 NegativeTwoPhaseFlash::computeFugacityRatio(
ComponentProperties::KernelWrapper const & componentProperties,
EquationOfStateType const liquidEos,
EquationOfStateType const vapourEos,
- arraySlice1d< real64 const, USD > const & kValues,
+ arraySlice1d< real64 const, USD1 > const & kValues,
arraySlice1d< integer const > const & presentComponents,
real64 & vapourPhaseMoleFraction,
- arraySlice1d< real64, USD > const & liquidComposition,
- arraySlice1d< real64, USD > const & vapourComposition,
+ arraySlice1d< real64, USD2 > const & liquidComposition,
+ arraySlice1d< real64, USD2 > const & vapourComposition,
arraySlice1d< real64 > const & logLiquidFugacity,
arraySlice1d< real64 > const & logVapourFugacity,
arraySlice1d< real64 > const & fugacityRatios )
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/RachfordRice.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/RachfordRice.hpp
index aaf71b93089..f12b715cbe7 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/RachfordRice.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/RachfordRice.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/StabilityTest.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/StabilityTest.hpp
index d322a3a993d..95577d6a2c4 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/StabilityTest.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/functions/StabilityTest.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -52,7 +52,7 @@ struct StabilityTest
* @param[out] kValues the k-values estimated from the stationary points
* @return a flag indicating that 2 stationary points have been found
*/
- template< integer USD1 >
+ template< integer USD1, integer USD2 >
GEOS_HOST_DEVICE
static bool compute( integer const numComps,
real64 const pressure,
@@ -61,25 +61,23 @@ struct StabilityTest
ComponentProperties::KernelWrapper const & componentProperties,
EquationOfStateType const & equationOfState,
real64 & tangentPlaneDistance,
- arraySlice1d< real64 > const & kValues )
+ arraySlice1d< real64, USD2 > const & kValues )
{
constexpr integer numTrials = 2; // Trial compositions
- stackArray1d< real64, maxNumComps > logFugacity( numComps );
- stackArray1d< real64, maxNumComps > normalizedComposition( numComps );
- stackArray2d< real64, numTrials *maxNumComps > trialComposition( numTrials, numComps );
- stackArray1d< real64, maxNumComps > logTrialComposition( numComps );
- stackArray1d< real64, maxNumComps > hyperplane( numComps ); // h-parameter
+ stackArray2d< real64, 4*maxNumComps > workSpace( 4, numComps );
+ arraySlice1d< real64 > logFugacity = workSpace[0];
+ arraySlice1d< real64 > normalizedComposition = workSpace[1];
+ arraySlice1d< real64 > logTrialComposition = workSpace[2];
+ arraySlice1d< real64 > hyperplane = workSpace[3]; // h-parameter
stackArray1d< integer, maxNumComps > availableComponents( numComps );
calculatePresentComponents( numComps, composition, availableComponents );
auto const presentComponents = availableComponents.toSliceConst();
+ LvArray::forValuesInSlice( workSpace.toSlice(), []( real64 & a ){ a = 0.0; } );
+
// Calculate the hyperplane parameter
// h_i = log( z_i ) + log( phi_i )
- for( integer ic = 0; ic < numComps; ++ic )
- {
- hyperplane[ic] = 0.0;
- }
FugacityCalculator::computeLogFugacity( numComps,
pressure,
temperature,
@@ -99,43 +97,21 @@ struct StabilityTest
componentProperties,
kValues );
- for( integer ic = 0; ic < numComps; ++ic )
- {
- trialComposition( 0, ic ) = composition[ic] / kValues[ic];
- trialComposition( 1, ic ) = composition[ic] * kValues[ic];
- }
-
- integer numberOfStationaryPoints = 0;
tangentPlaneDistance = LvArray::NumericLimits< real64 >::max;
for( integer trialIndex = 0; trialIndex < numTrials; ++trialIndex )
{
- for( integer ic = 0; ic < numComps; ++ic )
- {
- normalizedComposition[ic] = trialComposition( trialIndex, ic );
- }
- normalizeComposition( numComps, normalizedComposition.toSlice() );
-
- FugacityCalculator::computeLogFugacity( numComps,
- pressure,
- temperature,
- normalizedComposition.toSliceConst(),
- componentProperties,
- equationOfState,
- logFugacity );
+ // Initialise next sample
+ real64 const alpha = static_cast< real64 >(trialIndex)/(numTrials-1);
for( integer const ic : presentComponents )
{
- logTrialComposition[ic] = LvArray::math::log( trialComposition( trialIndex, ic ) );
+ normalizedComposition[ic] = composition[ic]*(alpha * kValues[ic] + (1.0 - alpha) / kValues[ic]);
+ logTrialComposition[ic] = LvArray::math::log( normalizedComposition[ic] );
}
+
for( localIndex iterationCount = 0; iterationCount < MultiFluidConstants::maxSSIIterations; ++iterationCount )
{
- for( integer const ic : presentComponents )
- {
- logTrialComposition[ic] = hyperplane[ic] - logFugacity[ic];
- trialComposition( trialIndex, ic ) = LvArray::math::exp( logTrialComposition[ic] );
- normalizedComposition[ic] = trialComposition( trialIndex, ic );
- }
- normalizeComposition( numComps, normalizedComposition.toSlice() );
-
+ // Normalise the composition and calculate the fugacity
+ real64 const totalMoles = normalizeComposition( numComps, normalizedComposition );
FugacityCalculator::computeLogFugacity( numComps,
pressure,
temperature,
@@ -144,6 +120,22 @@ struct StabilityTest
equationOfState,
logFugacity );
+ // Calculate the TPD
+ real64 tpd = 0.0;
+ for( integer const ic : presentComponents )
+ {
+ tpd += composition[ic] + totalMoles * normalizedComposition[ic] * (logTrialComposition[ic] + logFugacity[ic] - hyperplane[ic] - 1.0);
+ }
+ if( tpd < tangentPlaneDistance )
+ {
+ tangentPlaneDistance = tpd;
+ }
+ if( tangentPlaneDistance < -MultiFluidConstants::fugacityTolerance )
+ {
+ break;
+ }
+
+ // Check stationarity
real64 error = 0.0;
for( integer const ic : presentComponents )
{
@@ -151,32 +143,24 @@ struct StabilityTest
error += (dG*dG);
}
error = LvArray::math::sqrt( error );
-
if( error < MultiFluidConstants::fugacityTolerance )
{
- // Calculate modified tangent plane distance (Michelsen, 1982b) of trial composition relative to input composition
- real64 tpd = 1.0;
- for( integer const ic : presentComponents )
- {
- tpd += trialComposition( trialIndex, ic ) * (logTrialComposition[ic] + logFugacity[ic] - hyperplane[ic] - 1.0);
- }
- if( tpd < tangentPlaneDistance )
- {
- tangentPlaneDistance = tpd;
- }
- numberOfStationaryPoints++;
break;
}
+
+ // Update to next step
+ for( integer const ic : presentComponents )
+ {
+ logTrialComposition[ic] = hyperplane[ic] - logFugacity[ic];
+ normalizedComposition[ic] = LvArray::math::exp( logTrialComposition[ic] );
+ }
}
- }
- if( numberOfStationaryPoints == numTrials )
- {
- for( integer const ic : presentComponents )
+ if( tangentPlaneDistance < -MultiFluidConstants::fugacityTolerance )
{
- kValues[ic] = trialComposition( 1, ic ) / trialComposition( 0, ic );
+ break;
}
}
- return numberOfStationaryPoints == numTrials;
+ return true;
}
private:
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ComponentProperties.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ComponentProperties.hpp
index e11290a280b..2d92185454f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ComponentProperties.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ComponentProperties.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -56,6 +56,7 @@ class ComponentProperties final
/**
* Data accessors
*/
+ arrayView1d< string > const & getComponentName() const { return m_componentNames; }
arrayView1d< real64 > const & getComponentMolarWeight() const { return m_componentMolarWeight; }
arrayView1d< real64 > const & getComponentCriticalPressure() const { return m_componentCriticalPressure; }
arrayView1d< real64 > const & getComponentCriticalTemperature() const { return m_componentCriticalTemperature; }
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.cpp
index 227ff77ffff..6fe6b1a11e7 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.hpp
index 4851da980fd..9fce5bdd029 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CompositionalDensity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.cpp
index 2b6f05510bf..76c565f51a7 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.hpp
index 236f430b9a1..d7fabd362d6 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ConstantViscosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CriticalVolume.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CriticalVolume.cpp
new file mode 100644
index 00000000000..e62ddefe077
--- /dev/null
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/CriticalVolume.cpp
@@ -0,0 +1,92 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * 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.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file CriticalVolume.cpp
+ */
+
+#include "CriticalVolume.hpp"
+#include "ComponentProperties.hpp"
+
+#include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
+
+namespace geos
+{
+
+namespace constitutive
+{
+
+namespace compositional
+{
+
+CriticalVolume::CriticalVolume( std::unique_ptr< ModelParameters > parameters ):
+ ModelParameters( std::move( parameters ) )
+{}
+
+std::unique_ptr< ModelParameters > CriticalVolume::create( std::unique_ptr< ModelParameters > parameters )
+{
+ if( parameters && parameters->get< CriticalVolume >() != nullptr )
+ {
+ return parameters;
+ }
+ return std::make_unique< CriticalVolume >( std::move( parameters ) );
+}
+
+void CriticalVolume::registerParametersImpl( MultiFluidBase * fluid )
+{
+ fluid->registerWrapper( viewKeyStruct::componentCriticalVolumeString(), &m_componentCriticalVolume ).
+ setInputFlag( dataRepository::InputFlags::OPTIONAL ).
+ setDescription( "Component critical volumes" );
+}
+
+void CriticalVolume::postInputInitializationImpl( MultiFluidBase const * fluid,
+ ComponentProperties const & componentProperties )
+{
+ integer const numComponents = fluid->numFluidComponents();
+
+ if( m_componentCriticalVolume.empty() )
+ {
+ m_componentCriticalVolume.resize( numComponents );
+
+ arrayView1d< real64 > const & componentCriticalPressure = componentProperties.getComponentCriticalPressure();
+ arrayView1d< real64 > const & componentCriticalTemperature = componentProperties.getComponentCriticalTemperature();
+
+ calculateCriticalVolume( numComponents,
+ componentCriticalPressure,
+ componentCriticalTemperature,
+ m_componentCriticalVolume );
+ }
+
+ GEOS_THROW_IF_NE_MSG( m_componentCriticalVolume.size(), numComponents,
+ GEOS_FMT( "{}: invalid number of values in attribute '{}'", fluid->getFullName(),
+ viewKeyStruct::componentCriticalVolumeString() ),
+ InputError );
+}
+
+void CriticalVolume::calculateCriticalVolume( integer const numComponents,
+ arrayView1d< const real64 > const criticalPressure,
+ arrayView1d< const real64 > const criticalTemperature,
+ arrayView1d< real64 > const criticalVolume )
+{
+ for( integer ic=0; ic parameters );
+ ~CriticalVolume() override = default;
+
+ static std::unique_ptr< ModelParameters > create( std::unique_ptr< ModelParameters > parameters );
+
+ array1d< real64 > m_componentCriticalVolume;
+
+protected:
+ void registerParametersImpl( MultiFluidBase * fluid ) override;
+
+ void postInputInitializationImpl( MultiFluidBase const * fluid, ComponentProperties const & componentProperties ) override;
+
+ struct viewKeyStruct
+ {
+ static constexpr char const * componentCriticalVolumeString() { return "componentCriticalVolume"; }
+ };
+
+ /**
+ * @brief Estimate critical volumes using Ihmels' (2010) correlation
+ * @details reference: http://dx.doi.org/10.1021/je100167w
+ * @param[in] numComponents The number of components
+ * @param[in] criticalPressure The component critical pressures
+ * @param[in] criticalTemperature The component critical temperatures
+ * @param[in] criticalVolume The component critical volumes
+ */
+ static void calculateCriticalVolume( integer const numComponents,
+ arrayView1d< const real64 > const criticalPressure,
+ arrayView1d< const real64 > const criticalTemperature,
+ arrayView1d< real64 > const criticalVolume );
+};
+
+} // end namespace compositional
+
+} // end namespace constitutive
+
+} // end namespace geos
+
+#endif //GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_CRITICALVOLUME_HPP_
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/EquationOfState.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/EquationOfState.hpp
index 40ba0fb80a3..dd6b3d294c7 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/EquationOfState.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/EquationOfState.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -62,6 +62,11 @@ class EquationOfState : public ModelParameters
return std::make_unique< EquationOfState >( std::move( parameters ) );
}
+ struct viewKeyStruct
+ {
+ static constexpr char const * equationsOfStateString() { return "equationsOfState"; }
+ };
+
string_array m_equationsOfStateNames;
protected:
@@ -90,11 +95,6 @@ class EquationOfState : public ModelParameters
EnumStrings< EquationOfStateType >::fromString( eos );
}
}
-
- struct viewKeyStruct
- {
- static constexpr char const * equationsOfStateString() { return "equationsOfState"; }
- };
};
} // end namespace compositional
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/FunctionBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/FunctionBase.hpp
index f32e388c9ad..60d15385144 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/FunctionBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/FunctionBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.cpp
new file mode 100644
index 00000000000..62fafd82953
--- /dev/null
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.cpp
@@ -0,0 +1,104 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file ImmiscibleWaterFlashModel.cpp
+ */
+
+#include "ImmiscibleWaterFlashModel.hpp"
+#include "ImmiscibleWaterParameters.hpp"
+#include "EquationOfState.hpp"
+
+namespace geos
+{
+
+namespace constitutive
+{
+
+namespace compositional
+{
+
+// Naming conventions
+string ImmiscibleWaterFlashModel::catalogName()
+{
+ return "ThreePhase";
+}
+
+ImmiscibleWaterFlashModel::ImmiscibleWaterFlashModel( string const & name,
+ ComponentProperties const & componentProperties,
+ ModelParameters const & modelParameters ):
+ FunctionBase( name, componentProperties ),
+ m_parameters( modelParameters )
+{
+ m_waterComponentIndex = ImmiscibleWaterParameters::getWaterComponentIndex( componentProperties );
+}
+
+ImmiscibleWaterFlashModel::KernelWrapper
+ImmiscibleWaterFlashModel::createKernelWrapper() const
+{
+ constexpr integer liquidIndex = 0;
+ constexpr integer vapourIndex = 1;
+ constexpr integer aqueousIndex = 2;
+ EquationOfState const * equationOfState = m_parameters.get< EquationOfState >();
+ EquationOfStateType const liquidEos = EnumStrings< EquationOfStateType >::fromString( equationOfState->m_equationsOfStateNames[liquidIndex] );
+ EquationOfStateType const vapourEos = EnumStrings< EquationOfStateType >::fromString( equationOfState->m_equationsOfStateNames[vapourIndex] );
+
+ array1d< real64 > componentCriticalVolume( m_componentProperties.getNumberOfComponents());
+
+ return KernelWrapper( m_componentProperties.getNumberOfComponents(),
+ liquidIndex,
+ vapourIndex,
+ aqueousIndex,
+ m_waterComponentIndex,
+ liquidEos,
+ vapourEos,
+ componentCriticalVolume );
+}
+
+ImmiscibleWaterFlashModelUpdate::ImmiscibleWaterFlashModelUpdate(
+ integer const numComponents,
+ integer const liquidIndex,
+ integer const vapourIndex,
+ integer const aqueousIndex,
+ integer const waterComponentIndex,
+ EquationOfStateType const liquidEos,
+ EquationOfStateType const vapourEos,
+ arrayView1d< real64 const > const componentCriticalVolume ):
+ m_twoPhaseModel( numComponents,
+ liquidIndex,
+ vapourIndex,
+ liquidEos,
+ vapourEos,
+ componentCriticalVolume ),
+ m_numComponents( numComponents ),
+ m_liquidIndex( liquidIndex ),
+ m_vapourIndex( vapourIndex ),
+ m_aquoesIndex( aqueousIndex ),
+ m_waterComponentIndex( waterComponentIndex )
+{}
+
+std::unique_ptr< ModelParameters >
+ImmiscibleWaterFlashModel::createParameters( std::unique_ptr< ModelParameters > parameters )
+{
+ auto params = NegativeTwoPhaseFlashModel::createParameters( std::move( parameters ) );
+ params = ImmiscibleWaterParameters::create( std::move( params ) );
+ return params;
+}
+
+} // end namespace compositional
+
+} // namespace constitutive
+
+} // end namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.hpp
new file mode 100644
index 00000000000..96b213940c1
--- /dev/null
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.hpp
@@ -0,0 +1,212 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file ImmiscibleWaterFlashModel.hpp
+ */
+
+#ifndef GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERFLASHMODEL_HPP_
+#define GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERFLASHMODEL_HPP_
+
+#include "FunctionBase.hpp"
+#include "EquationOfState.hpp"
+
+#include "constitutive/fluid/multifluid/Layouts.hpp"
+#include "constitutive/fluid/multifluid/MultiFluidUtils.hpp"
+#include "NegativeTwoPhaseFlashModel.hpp"
+
+namespace geos
+{
+
+namespace constitutive
+{
+
+namespace compositional
+{
+
+class ModelParameters;
+
+class ImmiscibleWaterFlashModelUpdate final : public FunctionBaseUpdate
+{
+private:
+ static constexpr integer maxNumComps = MultiFluidConstants::MAX_NUM_COMPONENTS;
+public:
+
+ using PhaseProp = NegativeTwoPhaseFlashModelUpdate::PhaseProp;
+ using PhaseComp = NegativeTwoPhaseFlashModelUpdate::PhaseComp;
+ using Deriv = multifluid::DerivativeOffset;
+
+ ImmiscibleWaterFlashModelUpdate( integer const numComponents,
+ integer const liquidIndex,
+ integer const vapourIndex,
+ integer const aqueousIndex,
+ integer const waterComponentIndex,
+ EquationOfStateType const liquidEos,
+ EquationOfStateType const vapourEos,
+ arrayView1d< real64 const > const componentCriticalVolume );
+
+ // Mark as a 3-phase flash
+ GEOS_HOST_DEVICE
+ static constexpr integer getNumberOfPhases() { return 3; }
+
+ template< int USD1, int USD2 >
+ GEOS_HOST_DEVICE
+ void compute( ComponentProperties::KernelWrapper const & componentProperties,
+ real64 const & pressure,
+ real64 const & temperature,
+ arraySlice1d< real64 const, USD1 > const & compFraction,
+ arraySlice2d< real64, USD2 > const & kValues,
+ PhaseProp::SliceType const phaseFraction,
+ PhaseComp::SliceType const phaseCompFraction ) const;
+
+private:
+ template< int USD >
+ GEOS_FORCE_INLINE
+ GEOS_HOST_DEVICE
+ void convertCompositionDerivatives( real64 const hcMoleFraction,
+ arraySlice1d< real64 const > const & composition,
+ arraySlice1d< real64, USD > const & derivatives ) const
+ {
+ real64 dvdzi = 0.0;
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ dvdzi += derivatives[Deriv::dC+ic] * composition[ic];
+ }
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ derivatives[Deriv::dC+ic] /= hcMoleFraction;
+ }
+ derivatives[Deriv::dC+m_waterComponentIndex] = dvdzi / hcMoleFraction;
+ }
+
+private:
+ NegativeTwoPhaseFlashModel::KernelWrapper const m_twoPhaseModel;
+ integer const m_numComponents;
+ integer const m_liquidIndex;
+ integer const m_vapourIndex;
+ integer const m_aquoesIndex;
+ integer const m_waterComponentIndex;
+};
+
+class ImmiscibleWaterFlashModel : public FunctionBase
+{
+public:
+ ImmiscibleWaterFlashModel( string const & name,
+ ComponentProperties const & componentProperties,
+ ModelParameters const & modelParameters );
+
+ static string catalogName();
+
+ FunctionType functionType() const override
+ {
+ return FunctionType::FLASH;
+ }
+
+ /// Type of kernel wrapper for in-kernel update
+ using KernelWrapper = ImmiscibleWaterFlashModelUpdate;
+
+ /**
+ * @brief Create an update kernel wrapper.
+ * @return the wrapper
+ */
+ KernelWrapper createKernelWrapper() const;
+
+ // Create parameters unique to this model
+ static std::unique_ptr< ModelParameters > createParameters( std::unique_ptr< ModelParameters > parameters );
+
+private:
+ ModelParameters const & m_parameters;
+ integer m_waterComponentIndex{-1};
+};
+
+template< int USD1, int USD2 >
+GEOS_HOST_DEVICE
+void ImmiscibleWaterFlashModelUpdate::compute( ComponentProperties::KernelWrapper const & componentProperties,
+ real64 const & pressure,
+ real64 const & temperature,
+ arraySlice1d< real64 const, USD1 > const & compFraction,
+ arraySlice2d< real64, USD2 > const & kValues,
+ PhaseProp::SliceType const phaseFraction,
+ PhaseComp::SliceType const phaseCompFraction ) const
+{
+ LvArray::forValuesInSlice( phaseFraction.value, setZero );
+ LvArray::forValuesInSlice( phaseFraction.derivs, setZero );
+ LvArray::forValuesInSlice( phaseCompFraction.value, setZero );
+ LvArray::forValuesInSlice( phaseCompFraction.derivs, setZero );
+
+ // Water phase
+ phaseFraction.value[m_aquoesIndex] = compFraction[m_waterComponentIndex];
+ phaseFraction.derivs( m_aquoesIndex, Deriv::dC + m_waterComponentIndex ) = 1.0;
+ phaseCompFraction.value( m_aquoesIndex, m_waterComponentIndex ) = 1.0;
+
+ // Total hydrocarbon mole fraction
+ real64 const z_hc = 1.0 - compFraction[m_waterComponentIndex];
+
+ if( z_hc < MultiFluidConstants::minForSpeciesPresence )
+ {
+ // Single phase water
+ real64 const constantComposition = 1.0 / (m_numComponents - 1);
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ phaseCompFraction.value( m_liquidIndex, ic ) = constantComposition;
+ phaseCompFraction.value( m_vapourIndex, ic ) = constantComposition;
+ }
+ phaseCompFraction.value( m_liquidIndex, m_waterComponentIndex ) = 0.0;
+ phaseCompFraction.value( m_vapourIndex, m_waterComponentIndex ) = 0.0;
+ }
+ else
+ {
+ // Hydrocarbon phases
+
+ // Calculate normalised hyrdocarbon composition
+ stackArray1d< real64, maxNumComps > composition( m_numComponents );
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ composition[ic] = compFraction[ic] / z_hc;
+ }
+ composition[m_waterComponentIndex] = 0.0;
+
+ // Perform negative two-phase flash
+ m_twoPhaseModel.compute( componentProperties,
+ pressure,
+ temperature,
+ composition.toSliceConst(),
+ kValues,
+ phaseFraction,
+ phaseCompFraction );
+
+ for( integer const phaseIndex : {m_liquidIndex, m_vapourIndex} )
+ {
+ real64 const v = phaseFraction.value[phaseIndex];
+ phaseFraction.value[phaseIndex] *= z_hc;
+ LvArray::forValuesInSlice( phaseFraction.derivs[phaseIndex], [&]( real64 & a ){ a *= z_hc; } );
+ convertCompositionDerivatives( z_hc, composition.toSliceConst(), phaseFraction.derivs[phaseIndex] );
+ phaseFraction.derivs( phaseIndex, Deriv::dC+m_waterComponentIndex ) = -v;
+
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ convertCompositionDerivatives( z_hc, composition.toSliceConst(), phaseCompFraction.derivs[phaseIndex][ic] );
+ }
+ }
+ }
+}
+
+} // end namespace compositional
+
+} // end namespace constitutive
+
+} // end namespace geos
+
+#endif //GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERFLASHMODEL_HPP_
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.cpp
new file mode 100644
index 00000000000..87c1d659435
--- /dev/null
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.cpp
@@ -0,0 +1,89 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file ImmiscibleWaterParameters.cpp
+ */
+
+#include "ImmiscibleWaterParameters.hpp"
+#include "ComponentProperties.hpp"
+#include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
+#include "dataRepository/InputFlags.hpp"
+#include "common/format/StringUtilities.hpp"
+
+namespace geos
+{
+
+namespace constitutive
+{
+
+namespace compositional
+{
+
+ImmiscibleWaterParameters::ImmiscibleWaterParameters( std::unique_ptr< ModelParameters > parameters ):
+ ModelParameters( std::move( parameters ) )
+{}
+
+std::unique_ptr< ModelParameters >
+ImmiscibleWaterParameters::create( std::unique_ptr< ModelParameters > parameters )
+{
+ if( parameters && parameters->get< ImmiscibleWaterParameters >() != nullptr )
+ {
+ return parameters;
+ }
+ return std::make_unique< ImmiscibleWaterParameters >( std::move( parameters ) );
+}
+
+integer ImmiscibleWaterParameters::getWaterComponentIndex( ComponentProperties const & componentProperties )
+{
+ auto componentNames = componentProperties.getComponentName();
+ integer const numComps = componentNames.size();
+ for( integer ic = 0; ic < numComps; ++ic )
+ {
+ string const compName = stringutilities::toLower( componentNames[ic] );
+ if( compName == waterComponentName )
+ {
+ return ic;
+ }
+ }
+ return -1;
+}
+
+void ImmiscibleWaterParameters::registerParametersImpl( MultiFluidBase * fluid )
+{
+ GEOS_UNUSED_VAR( fluid );
+}
+
+void ImmiscibleWaterParameters::postInputInitializationImpl( MultiFluidBase const * fluid,
+ ComponentProperties const & componentProperties )
+{
+ integer const waterIndex = fluid->getWaterPhaseIndex();
+ GEOS_THROW_IF_LT_MSG( waterIndex, 0,
+ GEOS_FMT( "{}: water phase not found '{}'", fluid->getFullName(),
+ MultiFluidBase::viewKeyStruct::phaseNamesString() ),
+ InputError );
+
+ integer const h2oIndex = getWaterComponentIndex( componentProperties );
+ GEOS_THROW_IF_LT_MSG( h2oIndex, 0,
+ GEOS_FMT( "{}: water component not found '{}'", fluid->getFullName(),
+ MultiFluidBase::viewKeyStruct::componentNamesString() ),
+ InputError );
+}
+
+} // end namespace compositional
+
+} // end namespace constitutive
+
+} // end namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.hpp
new file mode 100644
index 00000000000..9404e565f83
--- /dev/null
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterParameters.hpp
@@ -0,0 +1,59 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file ImmiscibleWaterParameters.hpp
+ */
+
+#ifndef GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERPARAMETERS_HPP_
+#define GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERPARAMETERS_HPP_
+
+#include "ModelParameters.hpp"
+#include "common/DataTypes.hpp"
+
+namespace geos
+{
+
+namespace constitutive
+{
+
+namespace compositional
+{
+
+class ImmiscibleWaterParameters : public ModelParameters
+{
+ static constexpr char const * waterComponentName = "h2o";
+
+public:
+ ImmiscibleWaterParameters( std::unique_ptr< ModelParameters > parameters );
+ ~ImmiscibleWaterParameters() override = default;
+
+ static std::unique_ptr< ModelParameters > create( std::unique_ptr< ModelParameters > parameters );
+
+ static integer getWaterComponentIndex( ComponentProperties const & componentProperties );
+
+protected:
+ void registerParametersImpl( MultiFluidBase * fluid ) override;
+
+ void postInputInitializationImpl( MultiFluidBase const * fluid, ComponentProperties const & componentProperties ) override;
+};
+
+} // end namespace compositional
+
+} // end namespace constitutive
+
+} // end namespace geos
+
+#endif //GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_IMMISCIBLEWATERPARAMETERS_HPP_
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.cpp
index ff353033d20..615e24ab9c1 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -18,6 +18,7 @@
*/
#include "LohrenzBrayClarkViscosity.hpp"
+#include "CriticalVolume.hpp"
#include "constitutive/fluid/multifluid/Layouts.hpp"
#include "constitutive/fluid/multifluid/MultiFluidConstants.hpp"
#include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
@@ -42,7 +43,7 @@ LohrenzBrayClarkViscosity::LohrenzBrayClarkViscosity( string const & name,
integer const phaseIndex,
ModelParameters const & modelParameters ):
FunctionBase( name, componentProperties ),
- m_parameters( modelParameters.get< Parameters >() )
+ m_parameters( modelParameters )
{
GEOS_UNUSED_VAR( phaseIndex );
}
@@ -50,8 +51,10 @@ LohrenzBrayClarkViscosity::LohrenzBrayClarkViscosity( string const & name,
LohrenzBrayClarkViscosity::KernelWrapper
LohrenzBrayClarkViscosity::createKernelWrapper() const
{
- auto const mixingType = EnumStrings< LohrenzBrayClarkViscosityUpdate::MixingType >::fromString( m_parameters->m_componentMixingType );
- return KernelWrapper( mixingType, m_parameters->m_componentCriticalVolume );
+ Parameters const * parameters = m_parameters.get< Parameters >();
+ CriticalVolume const * criticalVolume = m_parameters.get< CriticalVolume >();
+ auto const mixingType = EnumStrings< LohrenzBrayClarkViscosityUpdate::MixingType >::fromString( parameters->m_componentMixingType );
+ return KernelWrapper( mixingType, criticalVolume->m_componentCriticalVolume );
}
std::unique_ptr< ModelParameters >
@@ -61,7 +64,7 @@ LohrenzBrayClarkViscosity::createParameters( std::unique_ptr< ModelParameters >
{
return parameters;
}
- return std::make_unique< Parameters >( std::move( parameters ) );
+ return std::make_unique< Parameters >( CriticalVolume::create( std::move( parameters )) );
}
LohrenzBrayClarkViscosity::Parameters::Parameters( std::unique_ptr< ModelParameters > parameters ):
@@ -73,10 +76,6 @@ LohrenzBrayClarkViscosity::Parameters::Parameters( std::unique_ptr< ModelParamet
void LohrenzBrayClarkViscosity::Parameters::registerParametersImpl( MultiFluidBase * fluid )
{
- fluid->registerWrapper( viewKeyStruct::componentCriticalVolumeString(), &m_componentCriticalVolume ).
- setInputFlag( dataRepository::InputFlags::OPTIONAL ).
- setDescription( "Component critical volumes" );
-
fluid->registerWrapper( viewKeyStruct::componentMixingTypeString(), &m_componentMixingType ).
setInputFlag( dataRepository::InputFlags::OPTIONAL ).
setApplyDefaultValue( m_componentMixingType ).
@@ -87,42 +86,11 @@ void LohrenzBrayClarkViscosity::Parameters::registerParametersImpl( MultiFluidBa
void LohrenzBrayClarkViscosity::Parameters::postInputInitializationImpl( MultiFluidBase const * fluid,
ComponentProperties const & componentProperties )
{
- integer const numComponents = fluid->numFluidComponents();
-
- if( m_componentCriticalVolume.empty() )
- {
- m_componentCriticalVolume.resize( numComponents );
-
- arrayView1d< real64 > const & componentCriticalPressure = componentProperties.getComponentCriticalPressure();
- arrayView1d< real64 > const & componentCriticalTemperature = componentProperties.getComponentCriticalTemperature();
-
- calculateCriticalVolume( numComponents,
- componentCriticalPressure,
- componentCriticalTemperature,
- m_componentCriticalVolume );
- }
-
- GEOS_THROW_IF_NE_MSG( m_componentCriticalVolume.size(), numComponents,
- GEOS_FMT( "{}: invalid number of values in attribute '{}'", fluid->getFullName(),
- viewKeyStruct::componentCriticalVolumeString() ),
- InputError );
-
+ GEOS_UNUSED_VAR( fluid, componentProperties );
// If the value is invalid, this will throw
EnumStrings< LohrenzBrayClarkViscosityUpdate::MixingType >::fromString( m_componentMixingType );
}
-void LohrenzBrayClarkViscosity::Parameters::calculateCriticalVolume(
- integer const numComponents,
- arrayView1d< const real64 > const criticalPressure,
- arrayView1d< const real64 > const criticalTemperature,
- arrayView1d< real64 > const criticalVolume )
-{
- for( integer ic=0; ic m_componentCriticalVolume;
private:
void registerParametersImpl( MultiFluidBase * fluid ) override;
@@ -304,29 +305,15 @@ class LohrenzBrayClarkViscosity : public FunctionBase
struct viewKeyStruct
{
- static constexpr char const * componentCriticalVolumeString() { return "componentCriticalVolume"; }
static constexpr char const * componentMixingTypeString() { return "viscosityMixingRule"; }
};
-
- /**
- * @brief Estimate critical volumes using Ihmels' (2010) correlation
- * @details reference: http://dx.doi.org/10.1021/je100167w
- * @param[in] numComponents The number of components
- * @param[in] criticalPressure The component critical pressures
- * @param[in] criticalTemperature The component critical temperatures
- * @param[in] criticalVolume The component critical volumes
- */
- static void calculateCriticalVolume( integer const numComponents,
- arrayView1d< const real64 > const criticalPressure,
- arrayView1d< const real64 > const criticalTemperature,
- arrayView1d< real64 > const criticalVolume );
};
// Create parameters unique to this model
static std::unique_ptr< ModelParameters > createParameters( std::unique_ptr< ModelParameters > parameters );
private:
- Parameters const * m_parameters{};
+ ModelParameters const & m_parameters;
};
/// Declare strings associated with enumeration values.
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosityImpl.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosityImpl.hpp
index 77b624b50a2..1a1999e78ba 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosityImpl.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosityImpl.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -136,7 +136,7 @@ void LohrenzBrayClarkViscosityUpdate::computePhaseDiluteViscosity_HerningZippere
real64 & phaseViscosity,
arraySlice1d< real64, USD2 > const & dPhaseViscosity ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
GEOS_UNUSED_VAR( temperature );
real64 A = 0.0;
@@ -175,7 +175,7 @@ void LohrenzBrayClarkViscosityUpdate::computePhaseDiluteViscosity_Wilke( integer
real64 & phaseViscosity,
arraySlice1d< real64, USD2 > const & dPhaseViscosity ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
GEOS_UNUSED_VAR( temperature );
// compute the "phi" interaction matrix (and its temperature derivatives)
@@ -256,7 +256,7 @@ void LohrenzBrayClarkViscosityUpdate::computePhaseDiluteViscosity_Brokaw( intege
real64 & phaseViscosity,
arraySlice1d< real64, USD2 > const & dPhaseViscosity ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
GEOS_UNUSED_VAR( temperature );
// Compute the "phi" interaction matrix (constant, as only function of molecular weights)
@@ -324,7 +324,7 @@ void LohrenzBrayClarkViscosityUpdate::computePhaseViscosity_LohrenzBrayClark( in
real64 & phaseViscosity,
arraySlice1d< real64, USD2 > const & dPhaseViscosity ) const
{
- using Deriv = multifluid::DerivativeOffset;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
// Compute phase pseudo properties via Kay's mixing rule
real64 phaseCriticalPressure = 0.0;
real64 phaseCriticalTemperature = 0.0;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ModelParameters.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ModelParameters.hpp
index 498f35810a2..922e1ef877c 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ModelParameters.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/ModelParameters.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -20,6 +20,9 @@
#ifndef GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_MODELPARAMETERS_HPP_
#define GEOS_CONSTITUTIVE_FLUID_MULTIFLUID_COMPOSITIONAL_MODELS_MODELPARAMETERS_HPP_
+#include
+#include "common/GeosxMacros.hpp"
+
namespace geos
{
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.cpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.cpp
index 0ba841e2e44..12d0e5ba541 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -18,6 +18,8 @@
*/
#include "NegativeTwoPhaseFlashModel.hpp"
+#include "EquationOfState.hpp"
+#include "CriticalVolume.hpp"
namespace geos
{
@@ -37,19 +39,27 @@ string NegativeTwoPhaseFlashModel::catalogName()
NegativeTwoPhaseFlashModel::NegativeTwoPhaseFlashModel( string const & name,
ComponentProperties const & componentProperties,
ModelParameters const & modelParameters ):
- FunctionBase( name, componentProperties )
-{
- m_parameters = modelParameters.get< EquationOfState >();
-}
+ FunctionBase( name, componentProperties ),
+ m_parameters( modelParameters )
+{}
NegativeTwoPhaseFlashModel::KernelWrapper
NegativeTwoPhaseFlashModel::createKernelWrapper() const
{
constexpr integer liquidIndex = 0;
constexpr integer vapourIndex = 1;
- EquationOfStateType const liquidEos = EnumStrings< EquationOfStateType >::fromString( m_parameters->m_equationsOfStateNames[liquidIndex] );
- EquationOfStateType const vapourEos = EnumStrings< EquationOfStateType >::fromString( m_parameters->m_equationsOfStateNames[vapourIndex] );
- return KernelWrapper( m_componentProperties.getNumberOfComponents(), liquidIndex, vapourIndex, liquidEos, vapourEos );
+ EquationOfState const * equationOfState = m_parameters.get< EquationOfState >();
+ EquationOfStateType const liquidEos = EnumStrings< EquationOfStateType >::fromString( equationOfState->m_equationsOfStateNames[liquidIndex] );
+ EquationOfStateType const vapourEos = EnumStrings< EquationOfStateType >::fromString( equationOfState->m_equationsOfStateNames[vapourIndex] );
+
+ CriticalVolume const * criticalVolume = m_parameters.get< CriticalVolume >();
+
+ return KernelWrapper( m_componentProperties.getNumberOfComponents(),
+ liquidIndex,
+ vapourIndex,
+ liquidEos,
+ vapourEos,
+ criticalVolume->m_componentCriticalVolume );
}
NegativeTwoPhaseFlashModelUpdate::NegativeTwoPhaseFlashModelUpdate(
@@ -57,18 +67,22 @@ NegativeTwoPhaseFlashModelUpdate::NegativeTwoPhaseFlashModelUpdate(
integer const liquidIndex,
integer const vapourIndex,
EquationOfStateType const liquidEos,
- EquationOfStateType const vapourEos ):
+ EquationOfStateType const vapourEos,
+ arrayView1d< real64 const > const componentCriticalVolume ):
m_numComponents( numComponents ),
m_liquidIndex( liquidIndex ),
m_vapourIndex( vapourIndex ),
m_liquidEos( liquidEos ),
- m_vapourEos( vapourEos )
+ m_vapourEos( vapourEos ),
+ m_componentCriticalVolume( componentCriticalVolume )
{}
std::unique_ptr< ModelParameters >
NegativeTwoPhaseFlashModel::createParameters( std::unique_ptr< ModelParameters > parameters )
{
- return EquationOfState::create( std::move( parameters ) );
+ std::unique_ptr< ModelParameters > params = EquationOfState::create( std::move( parameters ) );
+ params = CriticalVolume::create( std::move( params ) );
+ return params;
}
} // end namespace compositional
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.hpp
index 32300637aea..c1696c2a635 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NegativeTwoPhaseFlashModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -25,6 +25,7 @@
#include "constitutive/fluid/multifluid/Layouts.hpp"
#include "constitutive/fluid/multifluid/MultiFluidUtils.hpp"
+#include "constitutive/fluid/multifluid/compositional/functions/StabilityTest.hpp"
#include "constitutive/fluid/multifluid/compositional/functions/NegativeTwoPhaseFlash.hpp"
namespace geos
@@ -36,20 +37,23 @@ namespace constitutive
namespace compositional
{
-class EquationOfState;
+class ModelParameters;
class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate
{
public:
+ using PhaseProp = MultiFluidVar< real64, 3, constitutive::multifluid::LAYOUT_PHASE, constitutive::multifluid::LAYOUT_PHASE_DC >;
+ using PhaseComp = MultiFluidVar< real64, 4, constitutive::multifluid::LAYOUT_PHASE_COMP, constitutive::multifluid::LAYOUT_PHASE_COMP_DC >;
+ using Deriv = constitutive::multifluid::DerivativeOffset;
- using PhaseProp = MultiFluidVar< real64, 3, multifluid::LAYOUT_PHASE, multifluid::LAYOUT_PHASE_DC >;
- using PhaseComp = MultiFluidVar< real64, 4, multifluid::LAYOUT_PHASE_COMP, multifluid::LAYOUT_PHASE_COMP_DC >;
+ static constexpr real64 stabilityTolerance = MultiFluidConstants::fugacityTolerance;
NegativeTwoPhaseFlashModelUpdate( integer const numComponents,
integer const liquidIndex,
integer const vapourIndex,
EquationOfStateType const liquidEos,
- EquationOfStateType const vapourEos );
+ EquationOfStateType const vapourEos,
+ arrayView1d< real64 const > const componentCriticalVolume );
// Mark as a 2-phase flash
GEOS_HOST_DEVICE
@@ -67,36 +71,73 @@ class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate
{
integer const numDofs = 2 + m_numComponents;
- // Iterative solve to converge flash
- bool const flashStatus = NegativeTwoPhaseFlash::compute( m_numComponents,
- pressure,
- temperature,
- compFraction,
- componentProperties,
- m_liquidEos,
- m_vapourEos,
- kValues,
- phaseFraction.value[m_vapourIndex],
- phaseCompFraction.value[m_liquidIndex],
- phaseCompFraction.value[m_vapourIndex] );
- GEOS_ERROR_IF( !flashStatus,
- GEOS_FMT( "Negative two phase flash failed to converge at pressure {:.5e} and temperature {:.3f}",
- pressure, temperature ));
-
- // Calculate derivatives
- NegativeTwoPhaseFlash::computeDerivatives( m_numComponents,
- pressure,
- temperature,
- compFraction,
- componentProperties,
- m_liquidEos,
- m_vapourEos,
- phaseFraction.value[m_vapourIndex],
- phaseCompFraction.value[m_liquidIndex].toSliceConst(),
- phaseCompFraction.value[m_vapourIndex].toSliceConst(),
- phaseFraction.derivs[m_vapourIndex],
- phaseCompFraction.derivs[m_liquidIndex],
- phaseCompFraction.derivs[m_vapourIndex] );
+ // Perform stability test to check that we have 2 phases
+ real64 tangentPlaneDistance = 0.0;
+ bool const stabilityStatus = StabilityTest::compute( m_numComponents,
+ pressure,
+ temperature,
+ compFraction,
+ componentProperties,
+ m_liquidEos,
+ tangentPlaneDistance,
+ kValues[0] );
+ GEOS_ERROR_IF( !stabilityStatus,
+ GEOS_FMT( "Stability test failed at pressure {:.5e} and temperature {:.3f}", pressure, temperature ));
+
+ if( tangentPlaneDistance < -stabilityTolerance )
+ {
+ // Unstable mixture
+ // Iterative solve to converge flash
+ bool const flashStatus = NegativeTwoPhaseFlash::compute( m_numComponents,
+ pressure,
+ temperature,
+ compFraction,
+ componentProperties,
+ m_liquidEos,
+ m_vapourEos,
+ kValues,
+ phaseFraction.value[m_vapourIndex],
+ phaseCompFraction.value[m_liquidIndex],
+ phaseCompFraction.value[m_vapourIndex] );
+
+ GEOS_ERROR_IF( !flashStatus,
+ GEOS_FMT( "Negative two phase flash failed to converge at pressure {:.5e} and temperature {:.3f}",
+ pressure, temperature ));
+
+ // Calculate derivatives
+ NegativeTwoPhaseFlash::computeDerivatives( m_numComponents,
+ pressure,
+ temperature,
+ compFraction,
+ componentProperties,
+ m_liquidEos,
+ m_vapourEos,
+ phaseFraction.value[m_vapourIndex],
+ phaseCompFraction.value[m_liquidIndex].toSliceConst(),
+ phaseCompFraction.value[m_vapourIndex].toSliceConst(),
+ phaseFraction.derivs[m_vapourIndex],
+ phaseCompFraction.derivs[m_liquidIndex],
+ phaseCompFraction.derivs[m_vapourIndex] );
+ }
+ else
+ {
+ // Stable mixture - simply label
+ calculateLiCorrelation( componentProperties,
+ temperature,
+ compFraction,
+ phaseFraction.value[m_vapourIndex] );
+
+ LvArray::forValuesInSlice( phaseFraction.derivs[m_vapourIndex], setZero );
+ LvArray::forValuesInSlice( phaseCompFraction.derivs[m_liquidIndex], setZero );
+ LvArray::forValuesInSlice( phaseCompFraction.derivs[m_vapourIndex], setZero );
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ phaseCompFraction.value( m_vapourIndex, ic ) = compFraction[ic];
+ phaseCompFraction.value( m_liquidIndex, ic ) = compFraction[ic];
+ phaseCompFraction.derivs( m_vapourIndex, ic, Deriv::dC + ic ) = 1.0;
+ phaseCompFraction.derivs( m_liquidIndex, ic, Deriv::dC + ic ) = 1.0;
+ }
+ }
// Complete by calculating liquid phase fraction
phaseFraction.value[m_liquidIndex] = 1.0 - phaseFraction.value[m_vapourIndex];
@@ -106,12 +147,40 @@ class NegativeTwoPhaseFlashModelUpdate final : public FunctionBaseUpdate
}
}
+ template< int USD >
+ GEOS_HOST_DEVICE
+ void calculateLiCorrelation( ComponentProperties::KernelWrapper const & componentProperties,
+ real64 const & temperature,
+ arraySlice1d< real64 const, USD > const & composition,
+ real64 & vapourFraction ) const
+ {
+ real64 sumVz = 0.0;
+ real64 sumVzt = 0.0;
+ arrayView1d< real64 const > const & criticalTemperature = componentProperties.m_componentCriticalTemperature;
+ for( integer ic = 0; ic < m_numComponents; ++ic )
+ {
+ real64 const Vz = m_componentCriticalVolume[ic] * composition[ic];
+ sumVz += Vz;
+ sumVzt += Vz * criticalTemperature[ic];
+ }
+ real64 const pseudoCritTemperature = sumVzt / sumVz;
+ if( pseudoCritTemperature < temperature )
+ {
+ vapourFraction = 1.0;
+ }
+ else
+ {
+ vapourFraction = 0.0;
+ }
+ }
+
private:
integer const m_numComponents;
integer const m_liquidIndex;
integer const m_vapourIndex;
EquationOfStateType const m_liquidEos;
EquationOfStateType const m_vapourEos;
+ arrayView1d< real64 const > const m_componentCriticalVolume;
};
class NegativeTwoPhaseFlashModel : public FunctionBase
@@ -141,7 +210,7 @@ class NegativeTwoPhaseFlashModel : public FunctionBase
static std::unique_ptr< ModelParameters > createParameters( std::unique_ptr< ModelParameters > parameters );
private:
- EquationOfState const * m_parameters{};
+ ModelParameters const & m_parameters;
};
} // end namespace compositional
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NullModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NullModel.hpp
index 1a619cfcf88..9226dda9343 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NullModel.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/NullModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/PhaseModel.hpp b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/PhaseModel.hpp
index 4b3213d84a2..bf13c8d01ab 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/models/PhaseModel.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/compositional/models/PhaseModel.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.cpp
index 1cb850d3b40..fa2dc6eb819 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -20,6 +20,7 @@
#include "constitutive/fluid/multifluid/MultiFluidFields.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/functions/PVTFunctionHelpers.hpp"
+#include "constitutive/ConstitutiveManager.hpp"
#include "common/Units.hpp"
namespace geos
@@ -69,6 +70,12 @@ ReactiveBrineFluid( string const & name, Group * const parent ):
setRestartFlags( RestartFlags::NO_WRITE ).
setDescription( "Names of the files defining the parameters of the viscosity and density models" );
+ this->registerWrapper( viewKeyStruct::writeCSVFlagString(), &m_writeCSV ).
+ setApplyDefaultValue( 0 ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setRestartFlags( RestartFlags::NO_WRITE ).
+ setDescription( "Write PVT tables into a CSV file" );
+
// if this is a thermal model, we need to make sure that the arrays will be properly displayed and saved to restart
if( isThermal() )
{
@@ -94,6 +101,7 @@ std::unique_ptr< ConstitutiveBase >
ReactiveBrineFluid< PHASE > ::
deliverClone( string const & name, Group * const parent ) const
{
+
std::unique_ptr< ConstitutiveBase > clone = ReactiveMultiFluid::deliverClone( name, parent );
ReactiveBrineFluid & newConstitutiveRelation = dynamicCast< ReactiveBrineFluid & >( *clone );
@@ -129,7 +137,6 @@ void ReactiveBrineFluid< PHASE > ::postInputInitialization()
template< typename PHASE >
void ReactiveBrineFluid< PHASE > ::createPVTModels()
{
-
// TODO: get rid of these external files and move into XML, this is too error prone
// For now, to support the legacy input, we read all the input parameters at once in the arrays below, and then we create the models
array1d< array1d< string > > phase1InputParams;
@@ -193,9 +200,15 @@ void ReactiveBrineFluid< PHASE > ::createPVTModels()
GEOS_FMT( "{}: PVT model {} not found in input files", getFullName(), PHASE::Enthalpy::catalogName() ),
InputError );
+ bool const isClone = this->isClone();
+ TableFunction::OutputOptions const pvtOutputOpts = {
+ !isClone && m_writeCSV,// writeCSV
+ !isClone && (getLogLevel() >= 0 && logger::internal::rank==0), // writeInLog
+ };
+
// then, we are ready to instantiate the phase models
m_phase = std::make_unique< PHASE >( getName() + "_phaseModel1", phase1InputParams, m_componentNames, m_componentMolarWeight,
- getLogLevel() > 0 && logger::internal::rank==0 );
+ pvtOutputOpts );
}
template< typename PHASE >
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.hpp
index bf7040d8cb4..9ba08387cf6 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveBrineFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -152,6 +152,7 @@ class ReactiveBrineFluid : public ReactiveMultiFluid
struct viewKeyStruct : ReactiveMultiFluid::viewKeyStruct
{
static constexpr char const * phasePVTParaFilesString() { return "phasePVTParaFiles"; }
+ static constexpr char const * writeCSVFlagString() { return "writeCSV"; }
};
protected:
@@ -160,11 +161,17 @@ class ReactiveBrineFluid : public ReactiveMultiFluid
private:
+ /**
+ * @brief Create a PVT Model and output them
+ */
void createPVTModels();
/// Names of the files defining the viscosity and density models
path_array m_phasePVTParaFiles;
+ /// Output csv file containing informations about PVT
+ integer m_writeCSV;
+
/// Brine constitutive models
std::unique_ptr< PHASE > m_phase;
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidSelector.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidSelector.hpp
index 307d7a6dab0..c322d6a3fb5 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidSelector.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.cpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.cpp
index fcb3a6e61c5..7e66577b671 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.hpp
index 4fd8f6c9fb3..460f45c2c35 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -189,13 +189,13 @@ class ReactiveMultiFluid : public MultiFluidBase
std::unique_ptr< chemicalReactions::KineticReactions > m_kineticReactions;
- array2d< real64, multifluid::LAYOUT_FLUID > m_primarySpeciesConcentration;
+ array2d< real64, constitutive::multifluid::LAYOUT_FLUID > m_primarySpeciesConcentration;
- array2d< real64, multifluid::LAYOUT_FLUID > m_secondarySpeciesConcentration;
+ array2d< real64, constitutive::multifluid::LAYOUT_FLUID > m_secondarySpeciesConcentration;
- array2d< real64, multifluid::LAYOUT_FLUID > m_primarySpeciesTotalConcentration;
+ array2d< real64, constitutive::multifluid::LAYOUT_FLUID > m_primarySpeciesTotalConcentration;
- array2d< real64, multifluid::LAYOUT_FLUID > m_kineticReactionRates;
+ array2d< real64, constitutive::multifluid::LAYOUT_FLUID > m_kineticReactionRates;
};
inline void
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluidFields.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluidFields.hpp
index 65b609f1e7e..83fda798442 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluidFields.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveMultiFluidFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.cpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.cpp
index d98b9b7c1dc..7c5bc5b162b 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.hpp
index dfb3f4fcbea..ecd3a28633d 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/EquilibriumReactions.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.cpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.cpp
index 8b21bd86df6..7a17afc8666 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.hpp
index 22f0ef1b0fa..05f82ae4d64 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/KineticReactions.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.cpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.cpp
index 899c4322778..3b8f8a6db28 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.cpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.hpp b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.hpp
index ed5f67b8154..35c084290c1 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.hpp
+++ b/src/coreComponents/constitutive/fluid/multifluid/reactive/chemicalReactions/ReactionsBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.cpp b/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.cpp
index 353fa69abcd..28550afbfc6 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.hpp b/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.hpp
index 6155265b287..d4c545b002e 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/CompressibleSinglePhaseFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.cpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.cpp
index b0f9fc5b2dd..38f067be667 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.hpp
index 76579665d1f..3d621f888d0 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.cpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.cpp
index fa7a07322ad..778d9a752ab 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.hpp
index 5356b3d5910..761e0c63a28 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidFields.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidFields.hpp
index 82981ebece3..fd8a69196fd 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidFields.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidSelector.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidSelector.hpp
index 92aa8bc821c..f7e39e26b73 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidSelector.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ParticleFluidSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.cpp b/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.cpp
index 35892c14bad..4c59aeb37ba 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.hpp
index 22ac6bed8d5..0a9c1610635 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ProppantSlurryFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.cpp b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.cpp
index 170e7800a47..e9870a759a4 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.hpp
index 28f7c574676..d5f63c8dedb 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidFields.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidFields.hpp
index 7a0dc182027..61949828116 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidFields.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidSelector.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidSelector.hpp
index 5b33c887c63..cdb7103fd1a 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidSelector.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SingleFluidSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.cpp b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.cpp
index 284692521c9..c51906552a5 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.hpp
index fcc24a0f7fb..2ab967932c9 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidFields.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidFields.hpp
index ec918c41e5a..fe45d82982f 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidFields.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidSelector.hpp b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidSelector.hpp
index be026cb79c2..731c0856eec 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidSelector.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/SlurryFluidSelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.cpp b/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.cpp
index 5815c2f7a47..181af8bcba2 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.cpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.hpp b/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.hpp
index 59f65081225..01d7a802e6d 100644
--- a/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.hpp
+++ b/src/coreComponents/constitutive/fluid/singlefluid/ThermalCompressibleSinglePhaseFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.cpp b/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.cpp
index 189fffb985d..598f0851e5a 100644
--- a/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.hpp b/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.hpp
index a0e583a308f..56215dd6df5 100644
--- a/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/CarmanKozenyPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ConstantPermeability.cpp b/src/coreComponents/constitutive/permeability/ConstantPermeability.cpp
index c0653de3d5b..798bc79bb9a 100644
--- a/src/coreComponents/constitutive/permeability/ConstantPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/ConstantPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ConstantPermeability.hpp b/src/coreComponents/constitutive/permeability/ConstantPermeability.hpp
index 48e62f39982..70954cf1e22 100644
--- a/src/coreComponents/constitutive/permeability/ConstantPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/ConstantPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.cpp b/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.cpp
index e4559758a0a..31ecf701137 100644
--- a/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.hpp b/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.hpp
index b51d42f51e4..df2136e18dd 100644
--- a/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/ExponentialDecayPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.cpp b/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.cpp
index afe5ba8e927..65b42bb0103 100644
--- a/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.hpp b/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.hpp
index b96ab7c6632..0f42a319307 100644
--- a/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/ParallelPlatesPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/PermeabilityBase.cpp b/src/coreComponents/constitutive/permeability/PermeabilityBase.cpp
index c85c2efb10c..949adb86f97 100644
--- a/src/coreComponents/constitutive/permeability/PermeabilityBase.cpp
+++ b/src/coreComponents/constitutive/permeability/PermeabilityBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/PermeabilityBase.hpp b/src/coreComponents/constitutive/permeability/PermeabilityBase.hpp
index 1ba7774c1c5..6c7cb62bdd9 100644
--- a/src/coreComponents/constitutive/permeability/PermeabilityBase.hpp
+++ b/src/coreComponents/constitutive/permeability/PermeabilityBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/PermeabilityFields.hpp b/src/coreComponents/constitutive/permeability/PermeabilityFields.hpp
index 863b108592e..cafb94fb3ee 100644
--- a/src/coreComponents/constitutive/permeability/PermeabilityFields.hpp
+++ b/src/coreComponents/constitutive/permeability/PermeabilityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/PressurePermeability.cpp b/src/coreComponents/constitutive/permeability/PressurePermeability.cpp
index b10676acb64..625b4af4c38 100644
--- a/src/coreComponents/constitutive/permeability/PressurePermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/PressurePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/PressurePermeability.hpp b/src/coreComponents/constitutive/permeability/PressurePermeability.hpp
index d2ae5db4231..28ad3559670 100644
--- a/src/coreComponents/constitutive/permeability/PressurePermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/PressurePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ProppantPermeability.cpp b/src/coreComponents/constitutive/permeability/ProppantPermeability.cpp
index fa9b1b5d49c..b9a72df93bc 100644
--- a/src/coreComponents/constitutive/permeability/ProppantPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/ProppantPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/ProppantPermeability.hpp b/src/coreComponents/constitutive/permeability/ProppantPermeability.hpp
index 4d5ac39eb82..3c81228d217 100644
--- a/src/coreComponents/constitutive/permeability/ProppantPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/ProppantPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/SlipDependentPermeability.cpp b/src/coreComponents/constitutive/permeability/SlipDependentPermeability.cpp
index 0daa99a4a77..ca69e02561e 100644
--- a/src/coreComponents/constitutive/permeability/SlipDependentPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/SlipDependentPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/SlipDependentPermeability.hpp b/src/coreComponents/constitutive/permeability/SlipDependentPermeability.hpp
index 2a4e6e6b19b..b7d52617a64 100644
--- a/src/coreComponents/constitutive/permeability/SlipDependentPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/SlipDependentPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.cpp b/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.cpp
index 35bf742fc14..9be8d42e3b2 100644
--- a/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.cpp
+++ b/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.hpp b/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.hpp
index a524ca5cc8c..d1d6a846745 100644
--- a/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.hpp
+++ b/src/coreComponents/constitutive/permeability/WillisRichardsPermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.cpp
index c15cc574149..b43afd85521 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.hpp
index 584dffca25a..57181e7f726 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -40,9 +40,9 @@ class BrooksCoreyBakerRelativePermeabilityUpdate final : public RelativePermeabi
real64 const volFracScale,
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: RelativePermeabilityBaseUpdate( phaseTypes,
phaseOrder,
phaseRelPerm,
@@ -58,9 +58,9 @@ class BrooksCoreyBakerRelativePermeabilityUpdate final : public RelativePermeabi
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -164,9 +164,9 @@ GEOS_HOST_DEVICE
inline void
BrooksCoreyBakerRelativePermeabilityUpdate::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.cpp
index aecdbe4abcb..458a0fc23b1 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.hpp
index 38908ea028a..e4fc6195e7e 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyRelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -37,9 +37,9 @@ class BrooksCoreyRelativePermeabilityUpdate final : public RelativePermeabilityB
real64 const volFracScale,
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: RelativePermeabilityBaseUpdate( phaseTypes,
phaseOrder,
phaseRelPerm,
@@ -53,9 +53,9 @@ class BrooksCoreyRelativePermeabilityUpdate final : public RelativePermeabilityB
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -125,9 +125,9 @@ GEOS_HOST_DEVICE
inline void
BrooksCoreyRelativePermeabilityUpdate::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.cpp
index 94af64dd9af..f7bf08c0f4f 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.hpp
index a73d7894d54..99e6caff614 100644
--- a/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -40,9 +40,9 @@ class BrooksCoreyStone2RelativePermeabilityUpdate final : public RelativePermeab
real64 const volFracScale,
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: RelativePermeabilityBaseUpdate( phaseTypes,
phaseOrder,
phaseRelPerm,
@@ -58,9 +58,9 @@ class BrooksCoreyStone2RelativePermeabilityUpdate final : public RelativePermeab
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -162,9 +162,9 @@ GEOS_HOST_DEVICE
inline void
BrooksCoreyStone2RelativePermeabilityUpdate::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.cpp b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.cpp
index 6918a3de6d9..093dd9a52fd 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.hpp b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.hpp
index 00f8f9a5be1..da634a6ac48 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -58,7 +58,7 @@ class RelativePermeabilityBaseUpdate
*/
GEOS_HOST_DEVICE
- arrayView3d< real64 const, relperm::USD_RELPERM > relperm() const
+ arrayView3d< real64 const, constitutive::relperm::USD_RELPERM > relperm() const
{ return m_phaseRelPerm; }
/**
@@ -87,9 +87,9 @@ class RelativePermeabilityBaseUpdate
RelativePermeabilityBaseUpdate( arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: m_phaseTypes( phaseTypes ),
m_phaseOrder( phaseOrder ),
m_phaseRelPerm( phaseRelPerm ),
@@ -99,10 +99,10 @@ class RelativePermeabilityBaseUpdate
arrayView1d< integer const > m_phaseTypes;
arrayView1d< integer const > m_phaseOrder;
- arrayView3d< real64, relperm::USD_RELPERM > m_phaseRelPerm;
- arrayView4d< real64, relperm::USD_RELPERM_DS > m_dPhaseRelPerm_dPhaseVolFrac;
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > m_phaseRelPerm;
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > m_dPhaseRelPerm_dPhaseVolFrac;
- arrayView3d< real64, relperm::USD_RELPERM > m_phaseTrappedVolFrac;
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > m_phaseTrappedVolFrac;
private:
GEOS_HOST_DEVICE
@@ -157,10 +157,10 @@ class RelativePermeabilityBase : public ConstitutiveBase
arrayView1d< string const > phaseNames() const { return m_phaseNames; }
- arrayView3d< real64 const, relperm::USD_RELPERM > phaseTrappedVolFraction() const { return m_phaseTrappedVolFrac; }
+ arrayView3d< real64 const, constitutive::relperm::USD_RELPERM > phaseTrappedVolFraction() const { return m_phaseTrappedVolFrac; }
- arrayView3d< real64 const, relperm::USD_RELPERM > phaseRelPerm() const { return m_phaseRelPerm; }
- arrayView4d< real64 const, relperm::USD_RELPERM_DS > dPhaseRelPerm_dPhaseVolFraction() const { return m_dPhaseRelPerm_dPhaseVolFrac; }
+ arrayView3d< real64 const, constitutive::relperm::USD_RELPERM > phaseRelPerm() const { return m_phaseRelPerm; }
+ arrayView4d< real64 const, constitutive::relperm::USD_RELPERM_DS > dPhaseRelPerm_dPhaseVolFraction() const { return m_dPhaseRelPerm_dPhaseVolFrac; }
arrayView1d< integer const > getPhaseOrder() const { return m_phaseOrder; }
virtual arrayView1d< real64 const > getPhaseMinVolumeFraction() const = 0;
@@ -213,10 +213,10 @@ class RelativePermeabilityBase : public ConstitutiveBase
protected:
// output quantities
- array3d< real64, relperm::LAYOUT_RELPERM > m_phaseRelPerm;
- array3d< real64, relperm::LAYOUT_RELPERM > m_phaseRelPerm_n;
- array4d< real64, relperm::LAYOUT_RELPERM_DS > m_dPhaseRelPerm_dPhaseVolFrac;
- array3d< real64, relperm::LAYOUT_RELPERM > m_phaseTrappedVolFrac;
+ array3d< real64, constitutive::relperm::LAYOUT_RELPERM > m_phaseRelPerm;
+ array3d< real64, constitutive::relperm::LAYOUT_RELPERM > m_phaseRelPerm_n;
+ array4d< real64, constitutive::relperm::LAYOUT_RELPERM_DS > m_dPhaseRelPerm_dPhaseVolFrac;
+ array3d< real64, constitutive::relperm::LAYOUT_RELPERM > m_phaseTrappedVolFrac;
};
diff --git a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityFields.hpp b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityFields.hpp
index 5944dfa453a..d4aad3b60e0 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityFields.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityInterpolators.hpp b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityInterpolators.hpp
index 2b91a498afb..eae8eb8b394 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityInterpolators.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilityInterpolators.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -60,7 +60,7 @@ struct Baker
real64 const & goRelPerm,
real64 const & dGoRelPerm_dOilVolFrac,
real64 & threePhaseRelPerm,
- arraySlice1d< real64, relperm::USD_RELPERM_DS - 3 > const & dThreePhaseRelPerm_dVolFrac )
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM_DS - 3 > const & dThreePhaseRelPerm_dVolFrac )
{
using PT = RelativePermeabilityBase::PhaseType;
integer const ipWater = phaseOrder[PT::WATER];
@@ -148,7 +148,7 @@ struct Stone2
real64 const & gRelPerm,
real64 const & dGRelPerm_dGasVolFrac,
real64 & threePhaseRelPerm,
- arraySlice1d< real64, relperm::USD_RELPERM_DS - 3 > const & dThreePhaseRelPerm_dVolFrac )
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM_DS - 3 > const & dThreePhaseRelPerm_dVolFrac )
{
using PT = RelativePermeabilityBase::PhaseType;
diff --git a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilitySelector.hpp b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilitySelector.hpp
index 4f4f1622661..6ee5cd3d31d 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelativePermeabilitySelector.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/RelativePermeabilitySelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -51,7 +51,7 @@ void constitutiveUpdatePassThru( RelativePermeabilityBase const & relPerm,
BrooksCoreyBakerRelativePermeability,
BrooksCoreyStone2RelativePermeability,
TableRelativePermeability,
- TableRelativePermeabilityHysteresis,
+ constitutive::TableRelativePermeabilityHysteresis,
VanGenuchtenBakerRelativePermeability,
VanGenuchtenStone2RelativePermeability >::execute( relPerm, std::forward< LAMBDA >( lambda ) );
}
@@ -64,7 +64,7 @@ void constitutiveUpdatePassThru( RelativePermeabilityBase & relPerm,
BrooksCoreyBakerRelativePermeability,
BrooksCoreyStone2RelativePermeability,
TableRelativePermeability,
- TableRelativePermeabilityHysteresis,
+ constitutive::TableRelativePermeabilityHysteresis,
VanGenuchtenBakerRelativePermeability,
VanGenuchtenStone2RelativePermeability >::execute( relPerm, std::forward< LAMBDA >( lambda ) );
}
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.cpp
index 131d71c2baa..26bd464c4ac 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.hpp
index 81ebbe2d5a0..89ad0cc0460 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -73,31 +73,31 @@ class TableRelativePermeability : public RelativePermeabilityBase
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
ThreePhaseInterpolator const & threePhaseInterpolator,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac );
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac );
GEOS_HOST_DEVICE
void computeTwoPhase( integer const ipWetting,
integer const ipNonWetting,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
void computeThreePhase( integer const ipWetting,
integer const ipInter,
integer const ipNonWetting,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -190,8 +190,8 @@ TableRelativePermeability::KernelWrapper::
computeTwoPhase( integer const ipWetting,
integer const ipNonWetting,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
using TPT = TableRelativePermeability::TwoPhasePairPhaseType;
@@ -216,8 +216,8 @@ TableRelativePermeability::KernelWrapper::
integer const ipInter,
integer const ipNonWetting,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
real64 interRelPerm_wi = 0; // oil rel perm using two-phase gas-oil data
real64 dInterRelPerm_wi_dInterVolFrac = 0; // derivative w.r.t to So
@@ -295,9 +295,9 @@ GEOS_HOST_DEVICE
inline void
TableRelativePermeability::KernelWrapper::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.cpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.cpp
index fbe56c0138c..ab8fa7e3749 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.hpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.hpp
index 362f687c681..bb220ab6bdc 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHelpers.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.cpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.cpp
index e55d7886024..4eb224bb5e2 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -22,7 +22,6 @@
#include "constitutive/relativePermeability/RelativePermeabilityFields.hpp"
#include "constitutive/relativePermeability/TableRelativePermeabilityHelpers.hpp"
#include "functions/FunctionManager.hpp"
-#include "constitutive/relativePermeability/RelpermDriver.hpp"
namespace geos
{
diff --git a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.hpp b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.hpp
index 9b50ca2fdf4..1ecd09e95f7 100644
--- a/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/TableRelativePermeabilityHysteresis.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -135,9 +135,9 @@ class TableRelativePermeabilityHysteresis : public RelativePermeabilityBase
real64 const & waterOilRelPermMaxValue,
arrayView2d< real64 const, compflow::USD_PHASE > const & phaseMinHistoricalVolFraction,
arrayView2d< real64 const, compflow::USD_PHASE > const & phaseMaxHistoricalVolFraction,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac );
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac );
/**
* @brief Function updating the relperm (and derivative) for a phase using the drainage table
@@ -256,10 +256,10 @@ class TableRelativePermeabilityHysteresis : public RelativePermeabilityBase
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
arraySlice2d< real64,
- relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
/**
* @brief Function updating all the phase relperms (and derivatives) for three-phase flow
@@ -281,10 +281,10 @@ class TableRelativePermeabilityHysteresis : public RelativePermeabilityBase
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
arraySlice2d< real64,
- relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
/**
* @brief Main function updating all the phase relperms (and derivatives)
@@ -298,9 +298,9 @@ class TableRelativePermeabilityHysteresis : public RelativePermeabilityBase
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -780,12 +780,12 @@ TableRelativePermeabilityHysteresis::KernelWrapper::
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
- using TPT = TableRelativePermeabilityHysteresis::TwoPhasePairPhaseType;
- using IPT = TableRelativePermeabilityHysteresis::ImbibitionPhasePairPhaseType;
+ using TPT = constitutive::TableRelativePermeabilityHysteresis::TwoPhasePairPhaseType;
+ using IPT = constitutive::TableRelativePermeabilityHysteresis::ImbibitionPhasePairPhaseType;
// ---------- wetting rel perm
if( !m_phaseHasHysteresis[IPT::WETTING] ||
@@ -870,17 +870,17 @@ TableRelativePermeabilityHysteresis::KernelWrapper::
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
real64 interRelPerm_wi = 0; // oil rel perm using two-phase gas-oil data
real64 dInterRelPerm_wi_dInterVolFrac = 0; // derivative w.r.t to So
real64 interRelPerm_nwi = 0; // oil rel perm using two-phase gas-oil data
real64 dInterRelPerm_nwi_dInterVolFrac = 0; // derivative w.r.t to So
- using TPT = TableRelativePermeabilityHysteresis::ThreePhasePairPhaseType;
- using IPT = TableRelativePermeabilityHysteresis::ImbibitionPhasePairPhaseType;
+ using TPT = constitutive::TableRelativePermeabilityHysteresis::ThreePhasePairPhaseType;
+ using IPT = constitutive::TableRelativePermeabilityHysteresis::ImbibitionPhasePairPhaseType;
// 1) Wetting and intermediate phase relative permeabilities using two-phase wetting-intermediate data
@@ -1013,9 +1013,9 @@ TableRelativePermeabilityHysteresis::KernelWrapper::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMaxHistoricalVolFraction,
arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseMinHistoricalVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val )
{ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.cpp
index 2a769a7dbd5..b690d9abcfe 100644
--- a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.hpp
index 2ac9e4ce0b6..88ac8c2eafc 100644
--- a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -40,9 +40,9 @@ class VanGenuchtenBakerRelativePermeabilityUpdate final : public RelativePermeab
real64 const volFracScale,
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: RelativePermeabilityBaseUpdate( phaseTypes,
phaseOrder,
phaseRelPerm,
@@ -58,9 +58,9 @@ class VanGenuchtenBakerRelativePermeabilityUpdate final : public RelativePermeab
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -162,9 +162,9 @@ GEOS_HOST_DEVICE
inline void
VanGenuchtenBakerRelativePermeabilityUpdate::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.cpp b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.cpp
index 0f61f3528ad..816b4639ace 100644
--- a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.cpp
+++ b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.hpp b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.hpp
index 2753175bfd7..9896b892950 100644
--- a/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -40,9 +40,9 @@ class VanGenuchtenStone2RelativePermeabilityUpdate final : public RelativePermea
real64 const volFracScale,
arrayView1d< integer const > const & phaseTypes,
arrayView1d< integer const > const & phaseOrder,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseRelPerm,
- arrayView4d< real64, relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
- arrayView3d< real64, relperm::USD_RELPERM > const & phaseTrappedVolFrac )
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseRelPerm,
+ arrayView4d< real64, constitutive::relperm::USD_RELPERM_DS > const & dPhaseRelPerm_dPhaseVolFrac,
+ arrayView3d< real64, constitutive::relperm::USD_RELPERM > const & phaseTrappedVolFrac )
: RelativePermeabilityBaseUpdate( phaseTypes,
phaseOrder,
phaseRelPerm,
@@ -58,9 +58,9 @@ class VanGenuchtenStone2RelativePermeabilityUpdate final : public RelativePermea
GEOS_HOST_DEVICE
void compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const;
GEOS_HOST_DEVICE
virtual void update( localIndex const k,
@@ -163,9 +163,9 @@ GEOS_HOST_DEVICE
inline void
VanGenuchtenStone2RelativePermeabilityUpdate::
compute( arraySlice1d< real64 const, compflow::USD_PHASE - 1 > const & phaseVolFraction,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
- arraySlice1d< real64, relperm::USD_RELPERM - 2 > const & phaseRelPerm,
- arraySlice2d< real64, relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseTrappedVolFrac,
+ arraySlice1d< real64, constitutive::relperm::USD_RELPERM - 2 > const & phaseRelPerm,
+ arraySlice2d< real64, constitutive::relperm::USD_RELPERM_DS - 2 > const & dPhaseRelPerm_dPhaseVolFrac ) const
{
LvArray::forValuesInSlice( dPhaseRelPerm_dPhaseVolFrac, []( real64 & val ){ val = 0.0; } );
diff --git a/src/coreComponents/constitutive/relativePermeability/layouts.hpp b/src/coreComponents/constitutive/relativePermeability/layouts.hpp
index 16a8c6c2a97..54c2e307a30 100644
--- a/src/coreComponents/constitutive/relativePermeability/layouts.hpp
+++ b/src/coreComponents/constitutive/relativePermeability/layouts.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CeramicDamage.cpp b/src/coreComponents/constitutive/solid/CeramicDamage.cpp
index 5cb32401d0c..77cc069f45b 100644
--- a/src/coreComponents/constitutive/solid/CeramicDamage.cpp
+++ b/src/coreComponents/constitutive/solid/CeramicDamage.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CeramicDamage.hpp b/src/coreComponents/constitutive/solid/CeramicDamage.hpp
index 660360e458f..e53fb9c4eb7 100644
--- a/src/coreComponents/constitutive/solid/CeramicDamage.hpp
+++ b/src/coreComponents/constitutive/solid/CeramicDamage.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CompressibleSolid.cpp b/src/coreComponents/constitutive/solid/CompressibleSolid.cpp
index efcad2165f7..2366d66654b 100644
--- a/src/coreComponents/constitutive/solid/CompressibleSolid.cpp
+++ b/src/coreComponents/constitutive/solid/CompressibleSolid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CompressibleSolid.hpp b/src/coreComponents/constitutive/solid/CompressibleSolid.hpp
index 8a6620186ae..0fc8464a260 100644
--- a/src/coreComponents/constitutive/solid/CompressibleSolid.hpp
+++ b/src/coreComponents/constitutive/solid/CompressibleSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CoupledSolid.hpp b/src/coreComponents/constitutive/solid/CoupledSolid.hpp
index 84ee74fb11b..e255738fd22 100644
--- a/src/coreComponents/constitutive/solid/CoupledSolid.hpp
+++ b/src/coreComponents/constitutive/solid/CoupledSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CoupledSolidBase.cpp b/src/coreComponents/constitutive/solid/CoupledSolidBase.cpp
index bc3ae992802..70cdb0f1a3c 100644
--- a/src/coreComponents/constitutive/solid/CoupledSolidBase.cpp
+++ b/src/coreComponents/constitutive/solid/CoupledSolidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/CoupledSolidBase.hpp b/src/coreComponents/constitutive/solid/CoupledSolidBase.hpp
index 4b7656e8daa..0facab675ca 100644
--- a/src/coreComponents/constitutive/solid/CoupledSolidBase.hpp
+++ b/src/coreComponents/constitutive/solid/CoupledSolidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Damage.cpp b/src/coreComponents/constitutive/solid/Damage.cpp
index cee1a0260e7..46f64f49621 100644
--- a/src/coreComponents/constitutive/solid/Damage.cpp
+++ b/src/coreComponents/constitutive/solid/Damage.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Damage.hpp b/src/coreComponents/constitutive/solid/Damage.hpp
index d8fd9b3cac3..53eb7b6b1b4 100644
--- a/src/coreComponents/constitutive/solid/Damage.hpp
+++ b/src/coreComponents/constitutive/solid/Damage.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DamageSpectral.cpp b/src/coreComponents/constitutive/solid/DamageSpectral.cpp
index 3cf1ca7c7b8..995870109c1 100644
--- a/src/coreComponents/constitutive/solid/DamageSpectral.cpp
+++ b/src/coreComponents/constitutive/solid/DamageSpectral.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DamageSpectral.hpp b/src/coreComponents/constitutive/solid/DamageSpectral.hpp
index 10439797fed..6e2fe29a2b2 100644
--- a/src/coreComponents/constitutive/solid/DamageSpectral.hpp
+++ b/src/coreComponents/constitutive/solid/DamageSpectral.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -29,8 +29,6 @@
#define QUADRATIC_DISSIPATION 0
-using namespace LvArray;
-
namespace geos
{
namespace constitutive
diff --git a/src/coreComponents/constitutive/solid/DamageSpectralUtilities.hpp b/src/coreComponents/constitutive/solid/DamageSpectralUtilities.hpp
index bd0584af82c..ebd09c0defe 100644
--- a/src/coreComponents/constitutive/solid/DamageSpectralUtilities.hpp
+++ b/src/coreComponents/constitutive/solid/DamageSpectralUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DamageVolDev.cpp b/src/coreComponents/constitutive/solid/DamageVolDev.cpp
index eb123a7a73c..5b739797f08 100644
--- a/src/coreComponents/constitutive/solid/DamageVolDev.cpp
+++ b/src/coreComponents/constitutive/solid/DamageVolDev.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DamageVolDev.hpp b/src/coreComponents/constitutive/solid/DamageVolDev.hpp
index 3db1120707a..5121efd3264 100644
--- a/src/coreComponents/constitutive/solid/DamageVolDev.hpp
+++ b/src/coreComponents/constitutive/solid/DamageVolDev.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DelftEgg.cpp b/src/coreComponents/constitutive/solid/DelftEgg.cpp
index 5797ca7c1db..c0067b98c74 100644
--- a/src/coreComponents/constitutive/solid/DelftEgg.cpp
+++ b/src/coreComponents/constitutive/solid/DelftEgg.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DelftEgg.hpp b/src/coreComponents/constitutive/solid/DelftEgg.hpp
index 978933ce0d9..aa0d523b96e 100644
--- a/src/coreComponents/constitutive/solid/DelftEgg.hpp
+++ b/src/coreComponents/constitutive/solid/DelftEgg.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.cpp b/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.cpp
index fe42be1bb1e..d5dd8ae8571 100644
--- a/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.cpp
+++ b/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.hpp b/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.hpp
index a69d0b113a0..41fea87e3a0 100644
--- a/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.hpp
+++ b/src/coreComponents/constitutive/solid/Deprecated/PoreVolumeCompressibleSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.cpp b/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.cpp
index 0674e48d5ce..45e3b5d0163 100644
--- a/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.cpp
+++ b/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.hpp b/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.hpp
index 98c25a52e48..730c7366741 100644
--- a/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.hpp
+++ b/src/coreComponents/constitutive/solid/Deprecated/PoroElastic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DruckerPrager.cpp b/src/coreComponents/constitutive/solid/DruckerPrager.cpp
index 02c9ca51f7b..31f5eadde37 100644
--- a/src/coreComponents/constitutive/solid/DruckerPrager.cpp
+++ b/src/coreComponents/constitutive/solid/DruckerPrager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DruckerPrager.hpp b/src/coreComponents/constitutive/solid/DruckerPrager.hpp
index 2551c3b679c..559b2574a6f 100644
--- a/src/coreComponents/constitutive/solid/DruckerPrager.hpp
+++ b/src/coreComponents/constitutive/solid/DruckerPrager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DruckerPragerExtended.cpp b/src/coreComponents/constitutive/solid/DruckerPragerExtended.cpp
index 601f4add769..589017c137b 100644
--- a/src/coreComponents/constitutive/solid/DruckerPragerExtended.cpp
+++ b/src/coreComponents/constitutive/solid/DruckerPragerExtended.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DruckerPragerExtended.hpp b/src/coreComponents/constitutive/solid/DruckerPragerExtended.hpp
index 465fc8fd262..3ee5589a467 100644
--- a/src/coreComponents/constitutive/solid/DruckerPragerExtended.hpp
+++ b/src/coreComponents/constitutive/solid/DruckerPragerExtended.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DuvautLionsSolid.cpp b/src/coreComponents/constitutive/solid/DuvautLionsSolid.cpp
index c419186830e..e6de4db060a 100644
--- a/src/coreComponents/constitutive/solid/DuvautLionsSolid.cpp
+++ b/src/coreComponents/constitutive/solid/DuvautLionsSolid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/DuvautLionsSolid.hpp b/src/coreComponents/constitutive/solid/DuvautLionsSolid.hpp
index 6f2a392191a..aea9de6e248 100644
--- a/src/coreComponents/constitutive/solid/DuvautLionsSolid.hpp
+++ b/src/coreComponents/constitutive/solid/DuvautLionsSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticIsotropic.cpp b/src/coreComponents/constitutive/solid/ElasticIsotropic.cpp
index eb6ee291755..0567a493b3f 100644
--- a/src/coreComponents/constitutive/solid/ElasticIsotropic.cpp
+++ b/src/coreComponents/constitutive/solid/ElasticIsotropic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticIsotropic.hpp b/src/coreComponents/constitutive/solid/ElasticIsotropic.hpp
index bfac7f8c2dd..b6388f8e907 100644
--- a/src/coreComponents/constitutive/solid/ElasticIsotropic.hpp
+++ b/src/coreComponents/constitutive/solid/ElasticIsotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.cpp b/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.cpp
index 120b3018002..fc6221a64fa 100644
--- a/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.cpp
+++ b/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.hpp b/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.hpp
index 1b911e37f85..3718765d3b2 100644
--- a/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.hpp
+++ b/src/coreComponents/constitutive/solid/ElasticIsotropicPressureDependent.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticOrthotropic.cpp b/src/coreComponents/constitutive/solid/ElasticOrthotropic.cpp
index c1e6572d7f4..53ec491e631 100644
--- a/src/coreComponents/constitutive/solid/ElasticOrthotropic.cpp
+++ b/src/coreComponents/constitutive/solid/ElasticOrthotropic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticOrthotropic.hpp b/src/coreComponents/constitutive/solid/ElasticOrthotropic.hpp
index 9197da0d1db..8b2de4284a5 100644
--- a/src/coreComponents/constitutive/solid/ElasticOrthotropic.hpp
+++ b/src/coreComponents/constitutive/solid/ElasticOrthotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.cpp b/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.cpp
index 2aacdfd5f49..5e96b28a251 100644
--- a/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.cpp
+++ b/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.hpp b/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.hpp
index 87e55a0acb9..0e5f53fe2b3 100644
--- a/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.hpp
+++ b/src/coreComponents/constitutive/solid/ElasticTransverseIsotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/InvariantDecompositions.hpp b/src/coreComponents/constitutive/solid/InvariantDecompositions.hpp
index 0d833f0e514..fed49ad74f7 100644
--- a/src/coreComponents/constitutive/solid/InvariantDecompositions.hpp
+++ b/src/coreComponents/constitutive/solid/InvariantDecompositions.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ModifiedCamClay.cpp b/src/coreComponents/constitutive/solid/ModifiedCamClay.cpp
index 7e1f8d8495f..f5dfae8f624 100644
--- a/src/coreComponents/constitutive/solid/ModifiedCamClay.cpp
+++ b/src/coreComponents/constitutive/solid/ModifiedCamClay.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ModifiedCamClay.hpp b/src/coreComponents/constitutive/solid/ModifiedCamClay.hpp
index 1d537829c7c..8098ed1a851 100644
--- a/src/coreComponents/constitutive/solid/ModifiedCamClay.hpp
+++ b/src/coreComponents/constitutive/solid/ModifiedCamClay.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/PerfectlyPlastic.cpp b/src/coreComponents/constitutive/solid/PerfectlyPlastic.cpp
index e37da9ce328..e7425e97c0c 100644
--- a/src/coreComponents/constitutive/solid/PerfectlyPlastic.cpp
+++ b/src/coreComponents/constitutive/solid/PerfectlyPlastic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/PerfectlyPlastic.hpp b/src/coreComponents/constitutive/solid/PerfectlyPlastic.hpp
index ecd19e68df1..58531b5fa8b 100644
--- a/src/coreComponents/constitutive/solid/PerfectlyPlastic.hpp
+++ b/src/coreComponents/constitutive/solid/PerfectlyPlastic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/PorousSolid.cpp b/src/coreComponents/constitutive/solid/PorousSolid.cpp
index 45527e04213..b4641e0b863 100644
--- a/src/coreComponents/constitutive/solid/PorousSolid.cpp
+++ b/src/coreComponents/constitutive/solid/PorousSolid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/PorousSolid.hpp b/src/coreComponents/constitutive/solid/PorousSolid.hpp
index 0d7567bf019..92502fd947c 100644
--- a/src/coreComponents/constitutive/solid/PorousSolid.hpp
+++ b/src/coreComponents/constitutive/solid/PorousSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/PropertyConversions.hpp b/src/coreComponents/constitutive/solid/PropertyConversions.hpp
index 6119995d621..232004c7388 100644
--- a/src/coreComponents/constitutive/solid/PropertyConversions.hpp
+++ b/src/coreComponents/constitutive/solid/PropertyConversions.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ProppantSolid.cpp b/src/coreComponents/constitutive/solid/ProppantSolid.cpp
index 975da1852d5..60fae0f7796 100644
--- a/src/coreComponents/constitutive/solid/ProppantSolid.cpp
+++ b/src/coreComponents/constitutive/solid/ProppantSolid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/ProppantSolid.hpp b/src/coreComponents/constitutive/solid/ProppantSolid.hpp
index 394ecd9083b..ef3f596fb39 100644
--- a/src/coreComponents/constitutive/solid/ProppantSolid.hpp
+++ b/src/coreComponents/constitutive/solid/ProppantSolid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidBase.cpp b/src/coreComponents/constitutive/solid/SolidBase.cpp
index 41ac8776c4b..88985c4c710 100644
--- a/src/coreComponents/constitutive/solid/SolidBase.cpp
+++ b/src/coreComponents/constitutive/solid/SolidBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidBase.hpp b/src/coreComponents/constitutive/solid/SolidBase.hpp
index 54c281731f4..cbcf7ffaca8 100644
--- a/src/coreComponents/constitutive/solid/SolidBase.hpp
+++ b/src/coreComponents/constitutive/solid/SolidBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidInternalEnergy.cpp b/src/coreComponents/constitutive/solid/SolidInternalEnergy.cpp
index da98b275657..ccd670cd40c 100644
--- a/src/coreComponents/constitutive/solid/SolidInternalEnergy.cpp
+++ b/src/coreComponents/constitutive/solid/SolidInternalEnergy.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidInternalEnergy.hpp b/src/coreComponents/constitutive/solid/SolidInternalEnergy.hpp
index e257cdb6ff2..49dde48bb02 100644
--- a/src/coreComponents/constitutive/solid/SolidInternalEnergy.hpp
+++ b/src/coreComponents/constitutive/solid/SolidInternalEnergy.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOps.hpp b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOps.hpp
index 47be2037a9f..710449b0a19 100644
--- a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOps.hpp
+++ b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOps.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsFullyAnisotroipic.hpp b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsFullyAnisotroipic.hpp
index dbf1ca64346..a3e3ccb715e 100644
--- a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsFullyAnisotroipic.hpp
+++ b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsFullyAnisotroipic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsIsotropic.hpp b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsIsotropic.hpp
index 8532358c494..27cdf14073b 100644
--- a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsIsotropic.hpp
+++ b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsIsotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsOrthotropic.hpp b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsOrthotropic.hpp
index 9b117a096c2..435802503b9 100644
--- a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsOrthotropic.hpp
+++ b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsOrthotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsTransverseIsotropic.hpp b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsTransverseIsotropic.hpp
index 9424a68460d..e4a6f6d75b9 100644
--- a/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsTransverseIsotropic.hpp
+++ b/src/coreComponents/constitutive/solid/SolidModelDiscretizationOpsTransverseIsotropic.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/SolidUtilities.hpp b/src/coreComponents/constitutive/solid/SolidUtilities.hpp
index 045e1b92269..59cd1c79a91 100644
--- a/src/coreComponents/constitutive/solid/SolidUtilities.hpp
+++ b/src/coreComponents/constitutive/solid/SolidUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/BiotPorosity.cpp b/src/coreComponents/constitutive/solid/porosity/BiotPorosity.cpp
index d949fa07e8c..ca0bcfc2a2e 100644
--- a/src/coreComponents/constitutive/solid/porosity/BiotPorosity.cpp
+++ b/src/coreComponents/constitutive/solid/porosity/BiotPorosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/BiotPorosity.hpp b/src/coreComponents/constitutive/solid/porosity/BiotPorosity.hpp
index 39f04818ef9..1e7087744f7 100644
--- a/src/coreComponents/constitutive/solid/porosity/BiotPorosity.hpp
+++ b/src/coreComponents/constitutive/solid/porosity/BiotPorosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/PorosityBase.cpp b/src/coreComponents/constitutive/solid/porosity/PorosityBase.cpp
index f700fa7c4f3..4665e9a78be 100644
--- a/src/coreComponents/constitutive/solid/porosity/PorosityBase.cpp
+++ b/src/coreComponents/constitutive/solid/porosity/PorosityBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/PorosityBase.hpp b/src/coreComponents/constitutive/solid/porosity/PorosityBase.hpp
index 2fff8f32b8f..2f5486e73a0 100644
--- a/src/coreComponents/constitutive/solid/porosity/PorosityBase.hpp
+++ b/src/coreComponents/constitutive/solid/porosity/PorosityBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/PorosityFields.hpp b/src/coreComponents/constitutive/solid/porosity/PorosityFields.hpp
index 84509da2768..835a15ec859 100644
--- a/src/coreComponents/constitutive/solid/porosity/PorosityFields.hpp
+++ b/src/coreComponents/constitutive/solid/porosity/PorosityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/PressurePorosity.cpp b/src/coreComponents/constitutive/solid/porosity/PressurePorosity.cpp
index 5626e2dccc6..37b79e20fdf 100644
--- a/src/coreComponents/constitutive/solid/porosity/PressurePorosity.cpp
+++ b/src/coreComponents/constitutive/solid/porosity/PressurePorosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/PressurePorosity.hpp b/src/coreComponents/constitutive/solid/porosity/PressurePorosity.hpp
index e526543a72b..10b896a40ef 100644
--- a/src/coreComponents/constitutive/solid/porosity/PressurePorosity.hpp
+++ b/src/coreComponents/constitutive/solid/porosity/PressurePorosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.cpp b/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.cpp
index 48e9875761f..cf6f62a5059 100644
--- a/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.cpp
+++ b/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.hpp b/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.hpp
index a9114db79d1..49256bbfd80 100644
--- a/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.hpp
+++ b/src/coreComponents/constitutive/solid/porosity/ProppantPorosity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.cpp
index cb0f118fe49..b7a78462ce5 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.cpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.hpp
index 1ece6881d5b..e819bd9a5dd 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseConstantThermalConductivity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.cpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.cpp
index 1e99c0a29b1..5754a2960ce 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.cpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.hpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.hpp
index 77b7543c810..96c70739b2f 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityFields.hpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityFields.hpp
index eddb8f90168..98107f4f134 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityFields.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivitySelector.hpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivitySelector.hpp
index 28e9fd85607..c1036ea94ce 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivitySelector.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseThermalConductivitySelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.cpp
index a4cfebf897e..f88f92a932c 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.cpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.hpp
index 5a03ec9165e..5e0844f1178 100644
--- a/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/MultiPhaseVolumeWeightedThermalConductivity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.cpp
deleted file mode 100644
index 235e7bf528f..00000000000
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.cpp
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * ------------------------------------------------------------------------------------------------------------
- * SPDX-License-Identifier: LGPL-2.1-only
- *
- * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
- * Copyright (c) 2018-2024 Total, S.A
- * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
- * Copyright (c) 2019- GEOS/GEOSX Contributors
- * All rights reserved
- *
- * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
- * ------------------------------------------------------------------------------------------------------------
- */
-
-/**
- * @file SinglePhaseConstantThermalConductivity.cpp
- */
-
-#include "SinglePhaseConstantThermalConductivity.hpp"
-
-namespace geos
-{
-
-using namespace dataRepository;
-
-namespace constitutive
-{
-
-SinglePhaseConstantThermalConductivity::SinglePhaseConstantThermalConductivity( string const & name, Group * const parent ):
- SinglePhaseThermalConductivityBase( name, parent )
-{
- registerWrapper( viewKeyStruct::thermalConductivityComponentsString(), &m_thermalConductivityComponents ).
- setInputFlag( InputFlags::REQUIRED ).
- setRestartFlags( RestartFlags::NO_WRITE ).
- setDescription( "xx, yy, and zz components of a diagonal thermal conductivity tensor [J/(s.m.K)]" );
-}
-
-std::unique_ptr< ConstitutiveBase >
-SinglePhaseConstantThermalConductivity::deliverClone( string const & name,
- Group * const parent ) const
-{
- return SinglePhaseThermalConductivityBase::deliverClone( name, parent );
-}
-
-void SinglePhaseConstantThermalConductivity::initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const
-{
- for( localIndex ei = 0; ei < initialPorosity.size( 0 ); ++ei )
- {
- // NOTE: enforcing 1 quadrature point
- for( localIndex q = 0; q < 1; ++q )
- {
- m_effectiveConductivity[ei][q][0] = m_thermalConductivityComponents[0];
- m_effectiveConductivity[ei][q][1] = m_thermalConductivityComponents[1];
- m_effectiveConductivity[ei][q][2] = m_thermalConductivityComponents[2];
- }
- }
-}
-
-void SinglePhaseConstantThermalConductivity::update( arrayView2d< real64 const > const & initialPorosity ) const
-{
- real64 thermalConductivityComponents[3];
- for( int i = 0; i<3; ++i )
- {
- thermalConductivityComponents[i] = m_thermalConductivityComponents[i];
- }
- arrayView3d< real64 > const effectiveConductivity = m_effectiveConductivity;
-
- forAll< parallelDevicePolicy<> >( initialPorosity.size( 0 ), [=] GEOS_HOST_DEVICE ( localIndex const ei )
- {
- // NOTE: enforcing 1 quadrature point
- for( localIndex q = 0; q < 1; ++q )
- {
- effectiveConductivity[ei][q][0] = thermalConductivityComponents[0];
- effectiveConductivity[ei][q][1] = thermalConductivityComponents[1];
- effectiveConductivity[ei][q][2] = thermalConductivityComponents[2];
- }
- } );
-}
-
-void SinglePhaseConstantThermalConductivity::allocateConstitutiveData( dataRepository::Group & parent,
- localIndex const numConstitutivePointsPerParentIndex )
-{
- SinglePhaseThermalConductivityBase::allocateConstitutiveData( parent, numConstitutivePointsPerParentIndex );
-}
-
-void SinglePhaseConstantThermalConductivity::postInputInitialization()
-{
- GEOS_THROW_IF( m_thermalConductivityComponents[0] <= 0 ||
- m_thermalConductivityComponents[1] <= 0 ||
- m_thermalConductivityComponents[2] <= 0,
- GEOS_FMT( "{}: the components of the thermal conductivity tensor must be strictly positive",
- getFullName() ),
- InputError );
-}
-
-REGISTER_CATALOG_ENTRY( ConstitutiveBase, SinglePhaseConstantThermalConductivity, string const &, Group * const )
-
-} // namespace constitutive
-
-} // namespace geos
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp
new file mode 100644
index 00000000000..aad8dcb5187
--- /dev/null
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp
@@ -0,0 +1,134 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file SinglePhaseThermalConductivity.cpp
+ */
+
+#include "SinglePhaseThermalConductivity.hpp"
+
+namespace geos
+{
+
+using namespace dataRepository;
+
+namespace constitutive
+{
+
+SinglePhaseThermalConductivity::SinglePhaseThermalConductivity( string const & name, Group * const parent ):
+ SinglePhaseThermalConductivityBase( name, parent )
+{
+ registerWrapper( viewKeyStruct::defaultThermalConductivityComponentsString(), &m_defaultThermalConductivityComponents ).
+ setInputFlag( InputFlags::REQUIRED ).
+ setRestartFlags( RestartFlags::NO_WRITE ).
+ setDescription( "xx, yy, and zz diagonal components of the default thermal conductivity tensor [J/(s.m.K)]" );
+
+ registerWrapper( viewKeyStruct::thermalConductivityGradientComponentsString(), &m_thermalConductivityGradientComponents ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setApplyDefaultValue( {0.0, 0.0, 0.0} ).
+ setDescription( "xx, yy, and zz diagonal components of the thermal conductivity gradient tensor w.r.t. temperature [J/(s.m.K^2)]" );
+
+ registerWrapper( viewKeyStruct::referenceTemperatureString(), &m_referenceTemperature ).
+ setInputFlag( InputFlags::OPTIONAL ).
+ setApplyDefaultValue( 0.0 ).
+ setDescription( "The reference temperature at which the conductivity components are equal to the default values" );
+}
+
+std::unique_ptr< ConstitutiveBase >
+SinglePhaseThermalConductivity::deliverClone( string const & name,
+ Group * const parent ) const
+{
+ return SinglePhaseThermalConductivityBase::deliverClone( name, parent );
+}
+
+void SinglePhaseThermalConductivity::initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const
+{
+ arrayView3d< real64 > dEffectiveConductivity_dT = m_dEffectiveConductivity_dT.toView();
+ arrayView3d< real64 > effectiveConductivity = m_effectiveConductivity.toView();
+ R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents;
+ R1Tensor const thermalConductivityGradientComponents = m_thermalConductivityGradientComponents;
+
+ forAll< parallelDevicePolicy<> >( initialPorosity.size( 0 ), [=] GEOS_HOST_DEVICE ( localIndex const ei )
+ {
+ // NOTE: enforcing 1 quadrature point
+ for( localIndex q = 0; q < 1; ++q )
+ {
+ effectiveConductivity[ei][q][0] = defaultThermalConductivityComponents[0];
+ effectiveConductivity[ei][q][1] = defaultThermalConductivityComponents[1];
+ effectiveConductivity[ei][q][2] = defaultThermalConductivityComponents[2];
+
+ dEffectiveConductivity_dT[ei][q][0] = thermalConductivityGradientComponents[0];
+ dEffectiveConductivity_dT[ei][q][1] = thermalConductivityGradientComponents[1];
+ dEffectiveConductivity_dT[ei][q][2] = thermalConductivityGradientComponents[2];
+ }
+ } );
+}
+
+void SinglePhaseThermalConductivity::updateFromTemperature( arrayView1d< real64 const > const & temperature ) const
+{
+ arrayView3d< real64 > dEffectiveConductivity_dT = m_dEffectiveConductivity_dT.toView();
+ arrayView3d< real64 > effectiveConductivity = m_effectiveConductivity.toView();
+ R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents;
+ R1Tensor const thermalConductivityGradientComponents = m_thermalConductivityGradientComponents;
+ real64 const referenceTemperature = m_referenceTemperature;
+
+ forAll< parallelDevicePolicy<> >( temperature.size( 0 ), [=] GEOS_HOST_DEVICE ( localIndex const ei )
+ {
+ for( localIndex q = 0; q < 1; ++q )
+ {
+
+ real64 const deltaTemperature = temperature[ei] - referenceTemperature;
+
+ effectiveConductivity[ei][q][0] = defaultThermalConductivityComponents[0] + thermalConductivityGradientComponents[0] * deltaTemperature;
+ effectiveConductivity[ei][q][1] = defaultThermalConductivityComponents[1] + thermalConductivityGradientComponents[1] * deltaTemperature;
+ effectiveConductivity[ei][q][2] = defaultThermalConductivityComponents[2] + thermalConductivityGradientComponents[2] * deltaTemperature;
+
+ for( localIndex i=0; i<=2; i++ )
+ {
+ if( effectiveConductivity[ei][q][i] <1e-2 )
+ {
+ effectiveConductivity[ei][q][i] = 1e-2; // W/m/K To avoid negative conductivity
+ }
+ }
+
+ dEffectiveConductivity_dT[ei][q][0] = thermalConductivityGradientComponents[0];
+ dEffectiveConductivity_dT[ei][q][1] = thermalConductivityGradientComponents[1];
+ dEffectiveConductivity_dT[ei][q][2] = thermalConductivityGradientComponents[2];
+ }
+ } );
+}
+
+void SinglePhaseThermalConductivity::allocateConstitutiveData( dataRepository::Group & parent,
+ localIndex const numConstitutivePointsPerParentIndex )
+{
+ SinglePhaseThermalConductivityBase::allocateConstitutiveData( parent, numConstitutivePointsPerParentIndex );
+}
+
+void SinglePhaseThermalConductivity::postInputInitialization()
+{
+ GEOS_THROW_IF( m_defaultThermalConductivityComponents[0] <= 0 ||
+ m_defaultThermalConductivityComponents[1] <= 0 ||
+ m_defaultThermalConductivityComponents[2] <= 0,
+ GEOS_FMT( "{}: the components of the default thermal conductivity tensor must be strictly positive",
+ getFullName() ),
+ InputError );
+
+}
+
+REGISTER_CATALOG_ENTRY( ConstitutiveBase, SinglePhaseThermalConductivity, string const &, Group * const )
+
+} // namespace constitutive
+
+} // namespace geos
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp
similarity index 60%
rename from src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.hpp
rename to src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp
index 214e386db88..fa6d7623ef8 100644
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,11 +14,11 @@
*/
/**
- * @file SinglePhaseConstantThermalConductivity.hpp
+ * @file SinglePhaseThermalConductivity.hpp
*/
-#ifndef GEOS_CONSTITUTIVE_SINGLEPHASE_THERMALCONDUCTIVITY_CONSTANTTHERMALCONDUCTIVITY_HPP_
-#define GEOS_CONSTITUTIVE_SINGLEPHASE_THERMALCONDUCTIVITY_CONSTANTTHERMALCONDUCTIVITY_HPP_
+#ifndef GEOS_CONSTITUTIVE_SINGLEPHASE_THERMALCONDUCTIVITY_THERMALCONDUCTIVITY_HPP_
+#define GEOS_CONSTITUTIVE_SINGLEPHASE_THERMALCONDUCTIVITY_THERMALCONDUCTIVITY_HPP_
#include "constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp"
@@ -31,7 +31,7 @@ namespace constitutive
/**
* @brief The update class for constant thermal conductivity (does not do anything)
*/
-class SinglePhaseConstantThermalConductivityUpdate : public SinglePhaseThermalConductivityBaseUpdate
+class SinglePhaseThermalConductivityUpdate : public SinglePhaseThermalConductivityBaseUpdate
{
public:
@@ -40,8 +40,10 @@ class SinglePhaseConstantThermalConductivityUpdate : public SinglePhaseThermalCo
* @param effectiveConductivity the array of cell-wise effective conductivities in the subregion
* the subregion
*/
- SinglePhaseConstantThermalConductivityUpdate( arrayView3d< real64 > const & effectiveConductivity )
- : SinglePhaseThermalConductivityBaseUpdate( effectiveConductivity )
+ SinglePhaseThermalConductivityUpdate( arrayView3d< real64 > const & effectiveConductivity,
+ arrayView3d< real64 > const & dEffectiveConductivity_dT )
+ : SinglePhaseThermalConductivityBaseUpdate( effectiveConductivity,
+ dEffectiveConductivity_dT )
{}
GEOS_HOST_DEVICE
@@ -55,7 +57,7 @@ class SinglePhaseConstantThermalConductivityUpdate : public SinglePhaseThermalCo
/**
* @brief The class for constant thermal conductivity
*/
-class SinglePhaseConstantThermalConductivity : public SinglePhaseThermalConductivityBase
+class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase
{
public:
@@ -64,7 +66,7 @@ class SinglePhaseConstantThermalConductivity : public SinglePhaseThermalConducti
* @param[in] name the name of the class
* @param[in] parent pointer to the parent Group
*/
- SinglePhaseConstantThermalConductivity( string const & name, Group * const parent );
+ SinglePhaseThermalConductivity( string const & name, Group * const parent );
std::unique_ptr< ConstitutiveBase > deliverClone( string const & name,
Group * const parent ) const override;
@@ -72,18 +74,16 @@ class SinglePhaseConstantThermalConductivity : public SinglePhaseThermalConducti
virtual void allocateConstitutiveData( dataRepository::Group & parent,
localIndex const numConstitutivePointsPerParentIndex ) override;
- static string catalogName() { return "SinglePhaseConstantThermalConductivity"; }
+ static string catalogName() { return "SinglePhaseThermalConductivity"; }
virtual string getCatalogName() const override { return catalogName(); }
-
virtual void initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const override final;
- virtual void update( arrayView2d< real64 const > const & porosity ) const override final;
-
+ virtual void updateFromTemperature( arrayView1d< real64 const > const & temperature ) const override final;
/// Type of kernel wrapper for in-kernel update
- using KernelWrapper = SinglePhaseConstantThermalConductivityUpdate;
+ using KernelWrapper = SinglePhaseThermalConductivityUpdate;
/**
* @brief Create an update kernel wrapper.
@@ -91,12 +91,15 @@ class SinglePhaseConstantThermalConductivity : public SinglePhaseThermalConducti
*/
KernelWrapper createKernelWrapper() const
{
- return KernelWrapper( m_effectiveConductivity );
+ return KernelWrapper( m_effectiveConductivity,
+ m_dEffectiveConductivity_dT );
}
struct viewKeyStruct : public SinglePhaseThermalConductivityBase::viewKeyStruct
{
- static constexpr char const * thermalConductivityComponentsString() { return "thermalConductivityComponents"; }
+ static constexpr char const * defaultThermalConductivityComponentsString() { return "defaultThermalConductivityComponents"; }
+ static constexpr char const * thermalConductivityGradientComponentsString() { return "thermalConductivityGradientComponents"; }
+ static constexpr char const * referenceTemperatureString() { return "referenceTemperature"; }
} viewKeys;
protected:
@@ -105,8 +108,14 @@ class SinglePhaseConstantThermalConductivity : public SinglePhaseThermalConducti
private:
- /// default thermal conductivity in the subRegion
- R1Tensor m_thermalConductivityComponents;
+ /// Default thermal conductivity components in the subRegion
+ R1Tensor m_defaultThermalConductivityComponents;
+
+ /// Thermal conductivity gradient components in the subRegion
+ R1Tensor m_thermalConductivityGradientComponents;
+
+ /// Reference temperature
+ real64 m_referenceTemperature;
};
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp
index 1a2b3db708d..d4760a4d871 100644
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -33,6 +33,7 @@ SinglePhaseThermalConductivityBase::SinglePhaseThermalConductivityBase( string c
: ConstitutiveBase( name, parent )
{
registerField( fields::thermalconductivity::effectiveConductivity{}, &m_effectiveConductivity );
+ registerField( fields::thermalconductivity::dEffectiveConductivity_dT{}, &m_dEffectiveConductivity_dT );
}
void SinglePhaseThermalConductivityBase::postInputInitialization()
@@ -40,6 +41,7 @@ void SinglePhaseThermalConductivityBase::postInputInitialization()
ConstitutiveBase::postInputInitialization();
m_effectiveConductivity.resize( 0, 0, 3 );
+ m_dEffectiveConductivity_dT.resize( 0, 0, 3 );
}
void SinglePhaseThermalConductivityBase::allocateConstitutiveData( dataRepository::Group & parent,
@@ -47,6 +49,7 @@ void SinglePhaseThermalConductivityBase::allocateConstitutiveData( dataRepositor
{
// NOTE: enforcing 1 quadrature point
m_effectiveConductivity.resize( 0, 1, 3 );
+ m_dEffectiveConductivity_dT.resize( 0, 1, 3 );
ConstitutiveBase::allocateConstitutiveData( parent, numConstitutivePointsPerParentIndex );
}
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp
index cccc537dc99..c0037f04751 100644
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -56,16 +56,18 @@ class SinglePhaseThermalConductivityBaseUpdate
/**
* @brief Constructor for the class performing the thermal conductivity updates
* @param effectiveConductivity the array of cell-wise effective conductivities in the subregion
- * @param dEffectiveConductivity_dPhaseVolFrac the array of cell-wise derivatives of effective conductivities wrt phase vol fractions in
- * the subregion
*/
- SinglePhaseThermalConductivityBaseUpdate( arrayView3d< real64 > const & effectiveConductivity )
- : m_effectiveConductivity( effectiveConductivity )
+ SinglePhaseThermalConductivityBaseUpdate( arrayView3d< real64 > const & effectiveConductivity,
+ arrayView3d< real64 > const & dEffectiveConductivity_dT )
+ : m_effectiveConductivity( effectiveConductivity ),
+ m_dEffectiveConductivity_dT( dEffectiveConductivity_dT )
{}
/// View on the cell-wise effective conductivities
arrayView3d< real64 > m_effectiveConductivity;
+ /// View on the derivative of effective conductivities w.r.t. temperature
+ arrayView3d< real64 > m_dEffectiveConductivity_dT;
private:
/**
@@ -125,12 +127,25 @@ class SinglePhaseThermalConductivityBase : public ConstitutiveBase
virtual void update( arrayView2d< real64 const > const & porosity ) const
{ GEOS_UNUSED_VAR( porosity ); }
+ /**
+ * @brief Update the thermal conductivity state
+ * @param[in] temperature the temperature field
+ */
+ virtual void updateFromTemperature( arrayView1d< real64 const > const & temperature ) const
+ { GEOS_UNUSED_VAR( temperature ); }
+
/**
* @brief Getter for the effective conductivities in the subRegion
* @return an arrayView of effective conductivities
*/
arrayView3d< real64 const > effectiveConductivity() const { return m_effectiveConductivity; }
+ /**
+ * @brief Getter for the derivative of effective conductivities in the subRegion w.r.t. temperature
+ * @return an arrayView of derivative of effective conductivities w.r.t. temperature
+ */
+ arrayView3d< real64 const > dEffectiveConductivity_dT() const { return m_dEffectiveConductivity_dT; }
+
private:
/**
@@ -147,6 +162,8 @@ class SinglePhaseThermalConductivityBase : public ConstitutiveBase
/// cell-wise effective conductivities in the subregion
array3d< real64 > m_effectiveConductivity;
+ /// Derivative of effective conductivities w.r.t. temperature
+ array3d< real64 > m_dEffectiveConductivity_dT;
};
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityFields.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityFields.hpp
index b785e73e331..267183f85c3 100644
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityFields.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivitySelector.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivitySelector.hpp
index 7131e53bf94..689dc17d22b 100644
--- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivitySelector.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivitySelector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -21,7 +21,7 @@
#define GEOS_CONSTITUTIVE_SINGLEPHASE_THERMALCONDUCTIVITY_THERMALCONDUCTIVITYSELECTOR_HPP
#include "constitutive/ConstitutivePassThruHandler.hpp"
-#include "constitutive/thermalConductivity/SinglePhaseConstantThermalConductivity.hpp"
+#include "constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp"
namespace geos
{
@@ -33,14 +33,14 @@ template< typename LAMBDA >
void constitutiveUpdatePassThru( SinglePhaseThermalConductivityBase const & thermalConductivity,
LAMBDA && lambda )
{
- ConstitutivePassThruHandler< SinglePhaseConstantThermalConductivity >::execute( thermalConductivity, std::forward< LAMBDA >( lambda ) );
+ ConstitutivePassThruHandler< SinglePhaseThermalConductivity >::execute( thermalConductivity, std::forward< LAMBDA >( lambda ) );
}
template< typename LAMBDA >
void constitutiveUpdatePassThru( SinglePhaseThermalConductivityBase & thermalConductivity,
LAMBDA && lambda )
{
- ConstitutivePassThruHandler< SinglePhaseConstantThermalConductivity >::execute( thermalConductivity, std::forward< LAMBDA >( lambda ) );
+ ConstitutivePassThruHandler< SinglePhaseThermalConductivity >::execute( thermalConductivity, std::forward< LAMBDA >( lambda ) );
}
} // namespace constitutive
diff --git a/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp b/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp
index 23772a447f6..52d85814310 100644
--- a/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp
+++ b/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -40,6 +40,14 @@ DECLARE_FIELD( effectiveConductivity,
WRITE_AND_READ,
"Effective conductivity" );
+DECLARE_FIELD( dEffectiveConductivity_dT,
+ "dEffectiveConductivity_dT",
+ array3d< real64 >,
+ 0,
+ LEVEL_3,
+ WRITE_AND_READ,
+ "Derivative of effective conductivity w.r.t. temperature" );
+
DECLARE_FIELD( rockThermalConductivity,
"rockThermalConductivity",
array3d< real64 >,
diff --git a/src/coreComponents/constitutive/unitTests/CMakeLists.txt b/src/coreComponents/constitutive/unitTests/CMakeLists.txt
index a4d541ee37b..d357ad9290c 100644
--- a/src/coreComponents/constitutive/unitTests/CMakeLists.txt
+++ b/src/coreComponents/constitutive/unitTests/CMakeLists.txt
@@ -7,6 +7,7 @@ set( gtest_geosx_tests
testDruckerPrager.cpp
testElasticIsotropic.cpp
testKValueInitialization.cpp
+ testImmiscibleWaterFlashModel.cpp
testLohrenzBrayClarkViscosity.cpp
testModifiedCamClay.cpp
testMultiFluidSelector.cpp
diff --git a/src/coreComponents/constitutive/unitTests/TestFluid.hpp b/src/coreComponents/constitutive/unitTests/TestFluid.hpp
index 5713310cbec..18f8393ec14 100644
--- a/src/coreComponents/constitutive/unitTests/TestFluid.hpp
+++ b/src/coreComponents/constitutive/unitTests/TestFluid.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -67,9 +67,14 @@ class TestFluid
static std::unique_ptr< TestFluid< NC > > create( std::array< integer, NC > const & components )
{
std::unique_ptr< TestFluid< NC > > testFluid( new TestFluid() );
- for( integer ic = 0; ic < NC; ++ic )
+ const std::unordered_map< integer, string > componentNames = {
+ {Fluid::H2O, "H2O"}, {Fluid::CO2, "CO2"}, {Fluid::N2, "N2"}, {Fluid::H2S, "H2S"},
+ {Fluid::C1, "CH4"}, {Fluid::C2, "C2H6"}, {Fluid::C3, "C3H8"}, {Fluid::C4, "C4H10"},
+ {Fluid::C5, "C5H12"}, {Fluid::C8, "C8H18"}, {Fluid::C10, "C10+"},
+ };
+ for( integer const ic : components )
{
- testFluid->componentNames.emplace_back( GEOS_FMT( "COMP{}", ic+1 ));
+ testFluid->componentNames.emplace_back( componentNames.at( ic ) );
}
createArray( testFluid->criticalPressure, components, Fluid::Pc, Fluid::data );
createArray( testFluid->criticalTemperature, components, Fluid::Tc, Fluid::data );
diff --git a/src/coreComponents/constitutive/unitTests/TestFluidUtilities.hpp b/src/coreComponents/constitutive/unitTests/TestFluidUtilities.hpp
index 822a8a25070..d9824534902 100644
--- a/src/coreComponents/constitutive/unitTests/TestFluidUtilities.hpp
+++ b/src/coreComponents/constitutive/unitTests/TestFluidUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testCompositionalDensity.cpp b/src/coreComponents/constitutive/unitTests/testCompositionalDensity.cpp
index 9c3c2fbcfc4..5c787084189 100644
--- a/src/coreComponents/constitutive/unitTests/testCompositionalDensity.cpp
+++ b/src/coreComponents/constitutive/unitTests/testCompositionalDensity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testCompositionalProperties.cpp b/src/coreComponents/constitutive/unitTests/testCompositionalProperties.cpp
index 386d015f5d1..b4f0ff4e4d4 100644
--- a/src/coreComponents/constitutive/unitTests/testCompositionalProperties.cpp
+++ b/src/coreComponents/constitutive/unitTests/testCompositionalProperties.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testCubicEOS.cpp b/src/coreComponents/constitutive/unitTests/testCubicEOS.cpp
index 405e6bcf22e..8a0c0de0d44 100644
--- a/src/coreComponents/constitutive/unitTests/testCubicEOS.cpp
+++ b/src/coreComponents/constitutive/unitTests/testCubicEOS.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testDamageUtilities.cpp b/src/coreComponents/constitutive/unitTests/testDamageUtilities.cpp
index 34b8ffe29e9..ee8eee252b9 100644
--- a/src/coreComponents/constitutive/unitTests/testDamageUtilities.cpp
+++ b/src/coreComponents/constitutive/unitTests/testDamageUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testDruckerPrager.cpp b/src/coreComponents/constitutive/unitTests/testDruckerPrager.cpp
index bb7fdc39241..06d8292f9a7 100644
--- a/src/coreComponents/constitutive/unitTests/testDruckerPrager.cpp
+++ b/src/coreComponents/constitutive/unitTests/testDruckerPrager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testElasticIsotropic.cpp b/src/coreComponents/constitutive/unitTests/testElasticIsotropic.cpp
index 667c8ddd66c..b514a16eca2 100644
--- a/src/coreComponents/constitutive/unitTests/testElasticIsotropic.cpp
+++ b/src/coreComponents/constitutive/unitTests/testElasticIsotropic.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testImmiscibleWaterFlashModel.cpp b/src/coreComponents/constitutive/unitTests/testImmiscibleWaterFlashModel.cpp
new file mode 100644
index 00000000000..36716b44831
--- /dev/null
+++ b/src/coreComponents/constitutive/unitTests/testImmiscibleWaterFlashModel.cpp
@@ -0,0 +1,376 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+// Source includes
+#include "codingUtilities/UnitTestUtilities.hpp"
+#include "constitutive/fluid/multifluid/MultiFluidUtils.hpp"
+#include "constitutive/fluid/multifluid/compositional/models/EquationOfState.hpp"
+#include "constitutive/fluid/multifluid/compositional/models/ImmiscibleWaterFlashModel.hpp"
+#include "TestFluid.hpp"
+#include "TestFluidUtilities.hpp"
+
+using namespace geos::constitutive;
+using namespace geos::constitutive::compositional;
+
+namespace geos
+{
+namespace testing
+{
+
+constexpr integer numTestComps = 3;
+
+template< integer NC >
+using FlashData = std::tuple<
+ real64 const, // pressure
+ real64 const, // temperature
+ Feed< NC > const, // phase composition
+ real64 const, // expected liquid fraction
+ real64 const, // expected vapour fraction
+ real64 const, // expected aqueous fraction
+ Feed< numTestComps > const, // expected liquid mole fractions
+ Feed< numTestComps > const, // expected vapour mole fractions
+ Feed< numTestComps > const // expected aqueous mole fractions
+ >;
+
+template< integer NC >
+struct FluidData {};
+
+template<>
+struct FluidData< 3 >
+{
+ static constexpr integer testComponents[numTestComps] = {0, 1, 2};
+ static std::unique_ptr< TestFluid< 3 > > createFluid()
+ {
+ auto fluid = TestFluid< 3 >::create( {Fluid::C1, Fluid::C10, Fluid::H2O} );
+ const std::array< real64 const, 3 > bics = { 0.25, 0.0, 0.0 };
+ fluid->setBinaryCoefficients( bics );
+ return fluid;
+ }
+};
+
+template<>
+struct FluidData< 9 >
+{
+ static constexpr integer testComponents[numTestComps] = {0, 2, 8};
+ static std::unique_ptr< TestFluid< 9 > > createFluid()
+ {
+ auto fluid = TestFluid< 9 >::create( {Fluid::H2O, Fluid::CO2, Fluid::N2, Fluid::C5, Fluid::C2, Fluid::C3, Fluid::C4, Fluid::C5, Fluid::C10} );
+ const std::array< real64 const, 36 > bics = {
+ 0.01, 0, 0.003732, 0, 0.01, 0, 0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0.01, 0, 0.028, 0.01, 0.01, 0, 0, 0.01, 0, 0.04532, 0.01, 0.01, 0, 0, 0
+ };
+ fluid->setBinaryCoefficients( bics );
+ return fluid;
+ }
+};
+
+template< integer NC >
+class ImmiscibleWaterFlashModelTestFixture : public ::testing::TestWithParam< FlashData< NC > >
+{
+ static constexpr real64 relTol = 1.0e-5;
+ static constexpr real64 absTol = 1.0e-7;
+ static constexpr integer numPhases = 3;
+ static constexpr integer numComps = NC;
+ static constexpr integer numDofs = NC + 2;
+ using Deriv = geos::constitutive::multifluid::DerivativeOffset;
+ using PhasePropSlice = ImmiscibleWaterFlashModelUpdate::PhaseProp::SliceType;
+ using PhaseCompSlice = ImmiscibleWaterFlashModelUpdate::PhaseComp::SliceType;
+
+public:
+ ImmiscibleWaterFlashModelTestFixture()
+ : m_fluid( FluidData< NC >::createFluid() )
+ {
+ ComponentProperties const & componentProperties = this->m_fluid->getComponentProperties();
+
+ m_parameters = ImmiscibleWaterFlashModel::createParameters( std::move( m_parameters ) );
+
+ auto * equationOfState = const_cast< EquationOfState * >(m_parameters->get< EquationOfState >());
+ string const eosName = EnumStrings< EquationOfStateType >::toString( EquationOfStateType::PengRobinson );
+ equationOfState->m_equationsOfStateNames.emplace_back( eosName );
+ equationOfState->m_equationsOfStateNames.emplace_back( eosName );
+ equationOfState->m_equationsOfStateNames.emplace_back( eosName );
+
+ m_flash = std::make_unique< ImmiscibleWaterFlashModel >( "FlashModel", componentProperties, *m_parameters );
+ }
+
+ ~ImmiscibleWaterFlashModelTestFixture() = default;
+
+ void testFlash( FlashData< NC > const & data )
+ {
+ real64 const pressure = std::get< 0 >( data );
+ real64 const temperature = std::get< 1 >( data );
+ stackArray1d< real64, numComps > composition;
+ TestFluid< NC >::createArray( composition, std::get< 2 >( data ));
+
+ real64 const expectedPhaseFraction[numPhases] = {std::get< 3 >( data ), std::get< 4 >( data ), std::get< 5 >( data )};
+ Feed< numTestComps > const expectedPhaseComponentFraction[numPhases] = {std::get< 6 >( data ), std::get< 7 >( data ), std::get< 8 >( data ) };
+
+ stackArray2d< real64, (numPhases-1)*numComps > kValues( numPhases-1, numComps );
+ LvArray::forValuesInSlice( kValues.toSlice(), []( real64 & v ){ v = 0.0; } );
+
+ StackArray< real64, 3, numPhases, multifluid::LAYOUT_PHASE > phaseFractionData( 1, 1, numPhases );
+ StackArray< real64, 4, numPhases *numDofs, multifluid::LAYOUT_PHASE_DC > dPhaseFractionData( 1, 1, numPhases, numDofs );
+ StackArray< real64, 4, numPhases *numComps, multifluid::LAYOUT_PHASE_COMP > phaseComponentFractionData( 1, 1, numPhases, numComps );
+ StackArray< real64, 5, numPhases *numComps *numDofs, multifluid::LAYOUT_PHASE_COMP_DC > dPhaseComponentFractionData( 1, 1, numPhases, numComps, numDofs );
+
+ auto phaseFraction = phaseFractionData[0][0];
+ auto dPhaseFraction = dPhaseFractionData[0][0];
+ auto phaseComponentFraction = phaseComponentFractionData[0][0];
+ auto dPhaseComponentFraction = dPhaseComponentFractionData[0][0];
+
+ auto componentProperties = m_fluid->createKernelWrapper();
+ auto flashKernelWrapper = m_flash->createKernelWrapper();
+
+ flashKernelWrapper.compute( componentProperties,
+ pressure,
+ temperature,
+ composition.toSliceConst(),
+ kValues.toSlice(),
+ PhasePropSlice( phaseFraction, dPhaseFraction ),
+ PhaseCompSlice( phaseComponentFraction, dPhaseComponentFraction ) );
+
+ for( integer ip = 0; ip < numPhases; ip++ )
+ {
+ checkRelativeError( phaseFraction[ip], expectedPhaseFraction[ip], relTol, absTol );
+ for( integer i = 0; i < numTestComps; ++i )
+ {
+ integer const ic = FluidData< numComps >::testComponents[i];
+ checkRelativeError( phaseComponentFraction[ip][ic], expectedPhaseComponentFraction[ip][i], relTol, absTol );
+ }
+ }
+ }
+
+ void testFlashDerivatives( FlashData< NC > const & data )
+ {
+ // Number of output values from each flash calculation
+ constexpr integer numValues = numPhases * (1 + numComps);
+
+ real64 const pressure = std::get< 0 >( data );
+ real64 const temperature = std::get< 1 >( data );
+ stackArray1d< real64, numComps > composition;
+ TestFluid< NC >::createArray( composition, std::get< 2 >( data ));
+
+ stackArray2d< real64, (numPhases-1)*numComps > kValues( numPhases-1, numComps );
+ LvArray::forValuesInSlice( kValues.toSlice(), []( real64 & v ){ v = 0.0; } );
+
+ StackArray< real64, 3, numPhases, multifluid::LAYOUT_PHASE > phaseFractionData( 1, 1, numPhases );
+ StackArray< real64, 4, numPhases *numDofs, multifluid::LAYOUT_PHASE_DC > dPhaseFractionData( 1, 1, numPhases, numDofs );
+ StackArray< real64, 4, numPhases *numComps, multifluid::LAYOUT_PHASE_COMP > phaseComponentFractionData( 1, 1, numPhases, numComps );
+ StackArray< real64, 5, numPhases *numComps *numDofs, multifluid::LAYOUT_PHASE_COMP_DC > dPhaseComponentFractionData( 1, 1, numPhases, numComps, numDofs );
+
+ auto phaseFraction = phaseFractionData[0][0];
+ auto dPhaseFraction = dPhaseFractionData[0][0];
+ auto phaseComponentFraction = phaseComponentFractionData[0][0];
+ auto dPhaseComponentFraction = dPhaseComponentFractionData[0][0];
+
+ stackArray1d< real64, numValues > derivatives( numValues );
+
+ auto componentProperties = m_fluid->createKernelWrapper();
+ auto flashKernelWrapper = m_flash->createKernelWrapper();
+
+ flashKernelWrapper.compute( componentProperties,
+ pressure,
+ temperature,
+ composition.toSliceConst(),
+ kValues.toSlice(),
+ PhasePropSlice( phaseFraction, dPhaseFraction ),
+ PhaseCompSlice( phaseComponentFraction, dPhaseComponentFraction ) );
+
+ // Combine derivatives into a single output
+ auto const concatDerivatives = []( integer const kc, auto & derivs, auto const & phaseFractionDerivs, auto const & phaseComponentFractionDerivs ){
+ integer j = 0;
+ for( integer ip = 0; ip < numPhases; ++ip )
+ {
+ derivs[j++] = phaseFractionDerivs( ip, kc );
+ for( integer ic = 0; ic < numComps; ++ic )
+ {
+ derivs[j++] = phaseComponentFractionDerivs( ip, ic, kc );
+ }
+ }
+ };
+
+ auto const evaluateFlash = [&]( real64 const p, real64 const t, auto const & zmf, auto & values ){
+ StackArray< real64, 3, numPhases, multifluid::LAYOUT_PHASE > displacedPhaseFractionData( 1, 1, numPhases );
+ StackArray< real64, 4, numPhases *numDofs, multifluid::LAYOUT_PHASE_DC > displacedPhaseFractionDerivsData( 1, 1, numPhases, numDofs );
+ StackArray< real64, 4, numPhases *numComps, multifluid::LAYOUT_PHASE_COMP > displacedPhaseComponentFractionData( 1, 1, numPhases, numComps );
+ StackArray< real64, 5, numPhases *numComps *numDofs, multifluid::LAYOUT_PHASE_COMP_DC > displacedPhaseComponentFractionDerivsData( 1, 1, numPhases, numComps, numDofs );
+
+ auto displacedPhaseFraction = displacedPhaseFractionData[0][0];
+ auto displacedPhaseFractionDerivs = displacedPhaseFractionDerivsData[0][0];
+ auto displacedPhaseComponentFraction = displacedPhaseComponentFractionData[0][0];
+ auto displacedPhaseComponentFractionDerivs = displacedPhaseComponentFractionDerivsData[0][0];
+
+ flashKernelWrapper.compute( componentProperties,
+ p,
+ t,
+ zmf,
+ kValues.toSlice(),
+ PhasePropSlice( displacedPhaseFraction, displacedPhaseFractionDerivs ),
+ PhaseCompSlice( displacedPhaseComponentFraction, displacedPhaseComponentFractionDerivs ) );
+ integer j = 0;
+ for( integer ip = 0; ip < numPhases; ++ip )
+ {
+ values[j++] = displacedPhaseFraction[ip];
+ for( integer ic = 0; ic < numComps; ++ic )
+ {
+ values[j++] = displacedPhaseComponentFraction( ip, ic );
+ }
+ }
+ };
+
+ // Test against numerically calculated values
+ // --- Pressure derivatives ---
+ concatDerivatives( Deriv::dP, derivatives, dPhaseFraction, dPhaseComponentFraction );
+ real64 const dp = 1.0e-4 * pressure;
+ geos::testing::internal::testNumericalDerivative< numValues >(
+ pressure, dp, derivatives,
+ [&]( real64 const p, auto & values ) {
+ evaluateFlash( p, temperature, composition.toSliceConst(), values );
+ } );
+
+ // -- Temperature derivative
+ concatDerivatives( Deriv::dT, derivatives, dPhaseFraction, dPhaseComponentFraction );
+ real64 const dT = 1.0e-6 * temperature;
+ geos::testing::internal::testNumericalDerivative< numValues >(
+ temperature, dT, derivatives,
+ [&]( real64 const t, auto & values ) {
+ evaluateFlash( pressure, t, composition.toSliceConst(), values );
+ } );
+
+ // -- Composition derivatives derivative
+ real64 const dz = 1.0e-7;
+ for( integer const ic : FluidData< numComps >::testComponents )
+ {
+ real64 sumZ = 0.0;
+ for( integer jc = 0; jc < numComps; ++jc )
+ {
+ sumZ += composition[jc];
+ }
+ sumZ -= composition[ic];
+ if( sumZ < absTol )
+ {
+ continue;
+ }
+ concatDerivatives( Deriv::dC+ic, derivatives, dPhaseFraction, dPhaseComponentFraction );
+ geos::testing::internal::testNumericalDerivative< numValues >(
+ 0.0, dz, derivatives,
+ [&]( real64 const z, auto & values ) {
+ stackArray1d< real64, numComps > zmf( numComps );
+ for( integer jc = 0; jc < numComps; ++jc )
+ {
+ zmf[jc] = composition[jc];
+ }
+ zmf[ic] += z;
+ evaluateFlash( pressure, temperature, zmf.toSliceConst(), values );
+ } );
+ }
+ }
+
+protected:
+ std::unique_ptr< TestFluid< NC > > m_fluid{};
+ std::unique_ptr< ImmiscibleWaterFlashModel > m_flash{};
+ std::unique_ptr< ModelParameters > m_parameters{};
+};
+
+using ImmiscibleWaterFlashModel3 = ImmiscibleWaterFlashModelTestFixture< 3 >;
+using ImmiscibleWaterFlashModel9 = ImmiscibleWaterFlashModelTestFixture< 9 >;
+
+TEST_P( ImmiscibleWaterFlashModel3, testFlash )
+{
+ testFlash( GetParam() );
+}
+TEST_P( ImmiscibleWaterFlashModel3, testFlashDerivatives )
+{
+ testFlashDerivatives( GetParam() );
+}
+
+TEST_P( ImmiscibleWaterFlashModel9, testFlash )
+{
+ testFlash( GetParam() );
+}
+TEST_P( ImmiscibleWaterFlashModel9, testFlashDerivatives )
+{
+ testFlashDerivatives( GetParam() );
+}
+
+//-------------------------------------------------------------------------------
+// Data
+//-------------------------------------------------------------------------------
+/* UNCRUSTIFY-OFF */
+
+INSTANTIATE_TEST_SUITE_P(
+ ImmiscibleWaterFlashModel, ImmiscibleWaterFlashModel3,
+ ::testing::Values(
+ FlashData<3>{1.0e+05, 293.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 293.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 293.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 313.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 313.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 313.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 353.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 353.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 353.15, {0.000000, 0.000000, 1.000000}, 0.000000, 0.000000, 1.000000, {0.500000, 0.500000, 0.000000}, {0.500000, 0.500000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 293.15, {0.300000, 0.300000, 0.400000}, 0.300217, 0.299783, 0.400000, {0.000723, 0.999277, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 293.15, {0.300000, 0.300000, 0.400000}, 0.302162, 0.297838, 0.400000, {0.007157, 0.992843, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 293.15, {0.300000, 0.300000, 0.400000}, 0.320811, 0.279189, 0.400000, {0.064871, 0.935129, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 313.15, {0.300000, 0.300000, 0.400000}, 0.300236, 0.299764, 0.400000, {0.000787, 0.999213, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 313.15, {0.300000, 0.300000, 0.400000}, 0.302354, 0.297646, 0.400000, {0.007785, 0.992215, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 313.15, {0.300000, 0.300000, 0.400000}, 0.322797, 0.277203, 0.400000, {0.070623, 0.929377, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 353.15, {0.300000, 0.300000, 0.400000}, 0.300271, 0.299729, 0.400000, {0.000919, 0.999081, 0.000000}, {0.999982, 0.000018, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 353.15, {0.300000, 0.300000, 0.400000}, 0.302753, 0.297247, 0.400000, {0.009094, 0.990906, 0.000000}, {0.999998, 0.000002, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 353.15, {0.300000, 0.300000, 0.400000}, 0.326941, 0.273059, 0.400000, {0.082404, 0.917596, 0.000000}, {0.999999, 0.000001, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 293.15, {0.200000, 0.800000, 0.000000}, 0.800579, 0.199421, 0.000000, {0.000723, 0.999277, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 293.15, {0.200000, 0.800000, 0.000000}, 0.805767, 0.194233, 0.000000, {0.007157, 0.992843, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 293.15, {0.200000, 0.800000, 0.000000}, 0.855497, 0.144503, 0.000000, {0.064871, 0.935129, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 313.15, {0.200000, 0.800000, 0.000000}, 0.800630, 0.199370, 0.000000, {0.000787, 0.999213, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 313.15, {0.200000, 0.800000, 0.000000}, 0.806277, 0.193723, 0.000000, {0.007785, 0.992215, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 313.15, {0.200000, 0.800000, 0.000000}, 0.860791, 0.139209, 0.000000, {0.070623, 0.929377, 0.000000}, {1.000000, 0.000000, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+05, 353.15, {0.200000, 0.800000, 0.000000}, 0.800732, 0.199268, 0.000000, {0.000919, 0.999081, 0.000000}, {0.999982, 0.000018, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+06, 353.15, {0.200000, 0.800000, 0.000000}, 0.807341, 0.192659, 0.000000, {0.009094, 0.990906, 0.000000}, {0.999998, 0.000002, 0.000000}, {0.000000, 0.000000, 1.000000}},
+ FlashData<3>{1.0e+07, 353.15, {0.200000, 0.800000, 0.000000}, 0.871843, 0.128157, 0.000000, {0.082404, 0.917596, 0.000000}, {0.999999, 0.000001, 0.000000}, {0.000000, 0.000000, 1.000000}}
+ )
+);
+
+INSTANTIATE_TEST_SUITE_P(
+ ImmiscibleWaterFlashModel, ImmiscibleWaterFlashModel9,
+ ::testing::Values(
+ FlashData<9>{1.0e+06, 293.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.198828, 0.792172, 0.009000, {0.000000, 0.011551, 0.850986}, {0.000000, 0.672081, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 293.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.307007, 0.683993, 0.009000, {0.000000, 0.111647, 0.551128}, {0.000000, 0.731621, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 293.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.991000, 0.000000, 0.009000, {0.000000, 0.539556, 0.170737}, {0.000000, 0.539556, 0.170737}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 313.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.190493, 0.800507, 0.009000, {0.000000, 0.010985, 0.888223}, {0.000000, 0.665337, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 313.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.288620, 0.702380, 0.009000, {0.000000, 0.106713, 0.586237}, {0.000000, 0.717418, 0.000001}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 313.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.991000, 0.000000, 0.009000, {0.000000, 0.539556, 0.170737}, {0.000000, 0.539556, 0.170737}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 353.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.181787, 0.809213, 0.009000, {0.000000, 0.010453, 0.930750}, {0.000000, 0.658417, 0.000003}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 353.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.261660, 0.729340, 0.009000, {0.000000, 0.101277, 0.646622}, {0.000000, 0.696794, 0.000007}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 353.15, {0.009000, 0.003000, 0.534700, 0.114600, 0.087900, 0.045600, 0.020900, 0.015100, 0.169200}, 0.947424, 0.043576, 0.009000, {0.000000, 0.529993, 0.178339}, {0.000000, 0.747468, 0.005438}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 293.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.120388, 0.479612, 0.400000, {0.000000, 0.011551, 0.850996}, {0.000000, 0.672084, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 293.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.185888, 0.414112, 0.400000, {0.000000, 0.111648, 0.551139}, {0.000000, 0.731628, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 293.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.600000, 0.000000, 0.400000, {0.000000, 0.539550, 0.170750}, {0.000000, 0.539550, 0.170750}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 313.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.115342, 0.484658, 0.400000, {0.000000, 0.010985, 0.888229}, {0.000000, 0.665341, 0.000000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 313.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.174755, 0.425245, 0.400000, {0.000000, 0.106714, 0.586247}, {0.000000, 0.717425, 0.000001}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 313.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.600000, 0.000000, 0.400000, {0.000000, 0.539550, 0.170750}, {0.000000, 0.539550, 0.170750}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 353.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.110071, 0.489929, 0.400000, {0.000000, 0.010453, 0.930753}, {0.000000, 0.658421, 0.000003}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+07, 353.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.158432, 0.441568, 0.400000, {0.000000, 0.101278, 0.646630}, {0.000000, 0.696800, 0.000007}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 353.15, {0.400000, 0.001820, 0.323730, 0.069380, 0.053220, 0.027610, 0.012650, 0.009140, 0.102450}, 0.573644, 0.026356, 0.400000, {0.000000, 0.529997, 0.178345}, {0.000000, 0.747479, 0.005437}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+06, 313.15, {1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}, 0.000000, 0.000000, 1.000000, {0.000000, 0.125000, 0.125000}, {0.000000, 0.125000, 0.125000}, {1.000000, 0.000000, 0.000000}},
+ FlashData<9>{1.0e+08, 353.15, {1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000}, 0.000000, 0.000000, 1.000000, {0.000000, 0.125000, 0.125000}, {0.000000, 0.125000, 0.125000}, {1.000000, 0.000000, 0.000000}}
+ )
+);
+
+/* UNCRUSTIFY-ON */
+
+} // testing
+
+} // geos
diff --git a/src/coreComponents/constitutive/unitTests/testKValueInitialization.cpp b/src/coreComponents/constitutive/unitTests/testKValueInitialization.cpp
index f9de4dbf948..7fde1b28d6d 100644
--- a/src/coreComponents/constitutive/unitTests/testKValueInitialization.cpp
+++ b/src/coreComponents/constitutive/unitTests/testKValueInitialization.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testLohrenzBrayClarkViscosity.cpp b/src/coreComponents/constitutive/unitTests/testLohrenzBrayClarkViscosity.cpp
index 1d332dd2e62..f74d3c78a26 100644
--- a/src/coreComponents/constitutive/unitTests/testLohrenzBrayClarkViscosity.cpp
+++ b/src/coreComponents/constitutive/unitTests/testLohrenzBrayClarkViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -15,8 +15,8 @@
// Source includes
#include "codingUtilities/UnitTestUtilities.hpp"
-#include "constitutive/fluid/multifluid/compositional/functions/CubicEOSPhaseModel.hpp"
#include "constitutive/fluid/multifluid/compositional/models/CompositionalDensity.hpp"
+#include "constitutive/fluid/multifluid/compositional/models/CriticalVolume.hpp"
#include "constitutive/fluid/multifluid/compositional/models/LohrenzBrayClarkViscosity.hpp"
#include "TestFluid.hpp"
#include "TestFluidUtilities.hpp"
@@ -72,7 +72,7 @@ class LohrenzBrayClarkViscosityTestFixture : public ::testing::TestWithParam< V
m_parameters = CompositionalDensity::createParameters( std::make_unique< ModelParameters >() );
m_parameters = LohrenzBrayClarkViscosity::createParameters( std::move( m_parameters ) );
- auto * parameters = const_cast< LohrenzBrayClarkViscosity::Parameters * >(m_parameters->get< LohrenzBrayClarkViscosity::Parameters >());
+ auto * parameters = const_cast< CriticalVolume * >(m_parameters->get< CriticalVolume >());
parameters->m_componentCriticalVolume.resize( NC );
TestFluid< 9 >::populateArray( parameters->m_componentCriticalVolume, this->m_fluid->criticalVolume );
diff --git a/src/coreComponents/constitutive/unitTests/testModifiedCamClay.cpp b/src/coreComponents/constitutive/unitTests/testModifiedCamClay.cpp
index 8aceabd8b9b..7507a986d2c 100644
--- a/src/coreComponents/constitutive/unitTests/testModifiedCamClay.cpp
+++ b/src/coreComponents/constitutive/unitTests/testModifiedCamClay.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash.cpp b/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash.cpp
index 28ac0c4714b..05db5efdac7 100644
--- a/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash.cpp
+++ b/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash9Comp.cpp b/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash9Comp.cpp
index bbf24832e94..afb9644ba24 100644
--- a/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash9Comp.cpp
+++ b/src/coreComponents/constitutive/unitTests/testNegativeTwoPhaseFlash9Comp.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testParticleFluidEnums.cpp b/src/coreComponents/constitutive/unitTests/testParticleFluidEnums.cpp
index 140c71e6745..48ea052e2cc 100644
--- a/src/coreComponents/constitutive/unitTests/testParticleFluidEnums.cpp
+++ b/src/coreComponents/constitutive/unitTests/testParticleFluidEnums.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testPropertyConversions.cpp b/src/coreComponents/constitutive/unitTests/testPropertyConversions.cpp
index 817b541d970..86cb9470651 100644
--- a/src/coreComponents/constitutive/unitTests/testPropertyConversions.cpp
+++ b/src/coreComponents/constitutive/unitTests/testPropertyConversions.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testRachfordRice.cpp b/src/coreComponents/constitutive/unitTests/testRachfordRice.cpp
index 7a58389669d..8b771529ac6 100644
--- a/src/coreComponents/constitutive/unitTests/testRachfordRice.cpp
+++ b/src/coreComponents/constitutive/unitTests/testRachfordRice.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/unitTests/testStabilityTest2Comp.cpp b/src/coreComponents/constitutive/unitTests/testStabilityTest2Comp.cpp
index f0d0d6c2161..a3f200202e8 100644
--- a/src/coreComponents/constitutive/unitTests/testStabilityTest2Comp.cpp
+++ b/src/coreComponents/constitutive/unitTests/testStabilityTest2Comp.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -118,8 +118,8 @@ INSTANTIATE_TEST_SUITE_P(
::testing::Values(
StabilityData{ 1.00000e+06, 297.15, 0.2, 1.1102230e-16 },
StabilityData{ 1.00000e+06, 353.15, 0.2, -2.2204460e-16 },
- StabilityData{ 5.00000e+06, 297.15, 0.2, -1.0438517e+00 },
- StabilityData{ 5.00000e+06, 353.15, 0.2, -2.0228439e-03 },
+ StabilityData{ 5.00000e+06, 297.15, 0.2, -1.0160710e+00 },
+ StabilityData{ 5.00000e+06, 353.15, 0.2, -1.4627298e-03 },
StabilityData{ 2.00000e+07, 297.15, 0.2, -3.3306691e-16 },
StabilityData{ 2.00000e+07, 353.15, 0.2, -6.6613381e-16 }
)
@@ -130,8 +130,8 @@ INSTANTIATE_TEST_SUITE_P(
::testing::Values(
StabilityData{ 1.00000e+06, 297.15, 0.2, -2.2204460e-16 },
StabilityData{ 1.00000e+06, 353.15, 0.2, -3.3306691e-16 },
- StabilityData{ 5.00000e+06, 297.15, 0.2, -1.0966021e+00 },
- StabilityData{ 5.00000e+06, 353.15, 0.2, -3.6652014e-03 },
+ StabilityData{ 5.00000e+06, 297.15, 0.2, -1.0780446e+00 },
+ StabilityData{ 5.00000e+06, 353.15, 0.2, -3.1421339e-03 },
StabilityData{ 2.00000e+07, 297.15, 0.2, -2.4424907e-15 },
StabilityData{ 2.00000e+07, 353.15, 0.2, -7.7715612e-16 }
)
diff --git a/src/coreComponents/constitutive/unitTests/testStabilityTest9Comp.cpp b/src/coreComponents/constitutive/unitTests/testStabilityTest9Comp.cpp
index b36366f9261..0a1289223ab 100644
--- a/src/coreComponents/constitutive/unitTests/testStabilityTest9Comp.cpp
+++ b/src/coreComponents/constitutive/unitTests/testStabilityTest9Comp.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -199,66 +199,66 @@ TEST_P( SoaveRedlichKwong, testStabilityWithFlash )
INSTANTIATE_TEST_SUITE_P(
StabilityTest, PengRobinson,
::testing::Values(
- FlashData(1.0e+05, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.668360e+03),
- FlashData(1.0e+05, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.245873e+03),
- FlashData(1.0e+05, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.881300e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.448854e+00),
- FlashData(1.0e+05, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.507053e+00),
- FlashData(1.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.731470e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.384422e+02),
- FlashData(1.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.459664e+01),
- FlashData(1.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.775558e-17),
- FlashData(5.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.004630e-01),
- FlashData(5.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.575407e-01),
- FlashData(5.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.677416e-01),
- FlashData(5.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.922930e+00),
- FlashData(5.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.455769e-03),
- FlashData(1.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.477463e-01),
- FlashData(1.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.779360e-01),
- FlashData(1.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.512251e-01),
- FlashData(1.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.680029e-01),
- FlashData(1.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.019289e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.304512e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.440892e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.436896e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.220446e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.996004e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.082467e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.415534e-15),
- FlashData(1.0e+08, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.582068e-15),
- FlashData(1.0e+08, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 3.608225e-16),
- FlashData(1.0e+08, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.942890e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.667936e+03),
- FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.245689e+03),
- FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.881008e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.448537e+00),
- FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.445375e+00),
- FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.673207e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.382509e+02),
- FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.457261e+01),
- FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.873231e-01),
- FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.449008e-01),
- FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.617734e-01),
- FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.846717e+00),
- FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.736791e-03),
- FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.414763e-01),
- FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.717543e-01),
- FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.468894e-01),
- FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.660116e-01),
- FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.931470e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.359224e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 4.996004e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.054712e-15),
- FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.165734e-15),
- FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 8.326673e-17),
- FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.913536e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.137979e-15),
- FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 5.273559e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.275957e-15),
- FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 6.383782e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.654557e+03),
+ FlashData(1.0e+05, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.451746e+02),
+ FlashData(1.0e+05, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.648191e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.373702e+00),
+ FlashData(1.0e+05, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.862294e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.805742e-04),
+ FlashData(1.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.731794e-03),
+ FlashData(1.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.307138e+02),
+ FlashData(1.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.249650e+01),
+ FlashData(1.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.695692e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.864345e-06),
+ FlashData(5.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.661303e-05),
+ FlashData(5.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.751816e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.922828e+00),
+ FlashData(5.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.133069e-03),
+ FlashData(1.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.468194e-01),
+ FlashData(1.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.220020e-01),
+ FlashData(1.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.940155e-03),
+ FlashData(1.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.633758e-02),
+ FlashData(1.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.432557e-03),
+ FlashData(5.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.555613e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.189698e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.824334e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.014082e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.242471e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.409965e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.459838e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.031795e-15),
+ FlashData(1.0e+08, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.224052e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.127570e-17),
+ FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.654444e+03),
+ FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.451167e+02),
+ FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.648008e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.373450e+00),
+ FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.353084e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.937707e-04),
+ FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.529252e-03),
+ FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.304552e+02),
+ FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.246200e+01),
+ FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.498002e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.584882e-05),
+ FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.710689e-05),
+ FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.513597e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.846606e+00),
+ FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.388927e-03),
+ FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.436556e-01),
+ FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.200479e-01),
+ FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.516862e-03),
+ FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.407883e-02),
+ FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.400914e-03),
+ FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.453834e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 1.543904e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.550044e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.092077e-15),
+ FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.786765e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.206704e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.204834e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 4.354156e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.236059e-15),
+ FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.765422e-17),
FlashData(1.0e+05, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+05, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+05, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
@@ -266,215 +266,215 @@ INSTANTIATE_TEST_SUITE_P(
FlashData(1.0e+05, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.330669e-16),
+ FlashData(1.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
+ FlashData(5.0e+06, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+06, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
+ FlashData(5.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+06, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(1.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.332268e-15),
+ FlashData(1.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(5.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.776357e-15),
- FlashData(5.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.330669e-16),
- FlashData(5.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(1.0e+08, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 4.440892e-16),
- FlashData(1.0e+08, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 4.440892e-16),
- FlashData(1.0e+08, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+08, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
+ FlashData(1.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+08, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -5.329071e-15),
- FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 7.105427e-15),
- FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -8.881784e-16),
- FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
+ FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 3.552714e-15),
- FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -3.552714e-15),
- FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -8.881784e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -5.329071e-15),
+ FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 3.552714e-15),
- FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -5.329071e-15),
- FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
+ FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.332268e-15),
- FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 5.329071e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
+ FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 4.440892e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 5.329071e-15),
+ FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
FlashData(1.0e+05, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
- FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
- FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.775558e-16),
- FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.775558e-16),
- FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.326673e-16),
- FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.330669e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.881784e-16),
- FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 7.771561e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.704736e+01),
- FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.003960e+01),
- FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.110182e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.167750e+01),
- FlashData(1.0e+05, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.110223e-16),
- FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -9.425147e-01),
- FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.253370e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.421698e+00),
+ FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.775558e-16),
+ FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.996004e-16),
+ FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.775558e-16),
+ FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
+ FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330669e-16),
+ FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
+ FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.996004e-16),
+ FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
+ FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.165734e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.054712e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.665335e-16),
+ FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.574938e+01),
+ FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.788764e+01),
+ FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.980440e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.152737e+01),
+ FlashData(1.0e+05, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 5.551115e-17),
+ FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -8.611610e-01),
+ FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.103151e+00),
+ FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.526750e+00),
FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.845663e+00),
FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -5.551115e-17),
- FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.332268e-15),
- FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.110223e-15),
- FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -9.882070e-02),
- FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.113573e-01),
- FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.077533e-01),
- FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.275158e-15),
- FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
- FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 3.996803e-15),
- FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.110223e-16),
- FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.205757e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 2.609024e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.054712e-15),
- FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.720046e-15),
- FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.554312e-15),
- FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.665335e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.998401e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.720046e-15),
- FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.276756e-15),
- FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
- FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -6.661338e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+05, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(1.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 0.000000e+00),
+ FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.996004e-16),
+ FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -9.882069e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.113572e-01),
+ FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -6.662307e-02),
+ FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.609024e-15),
+ FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.831069e-15),
+ FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 8.881784e-16),
+ FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.776357e-15),
+ FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.536058e-02),
+ FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.665335e-16),
+ FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 9.436896e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.609024e-15),
+ FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -5.551115e-17),
+ FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.831868e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.608225e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 2.164935e-15),
+ FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -9.992007e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110206e-16),
+ FlashData(1.0e+05, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110206e-16),
+ FlashData(1.0e+05, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.388132e-21),
+ FlashData(1.0e+05, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.388132e-21),
+ FlashData(1.0e+05, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.098348e-16),
+ FlashData(1.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.103430e-16),
+ FlashData(1.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.694066e-21),
+ FlashData(1.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330449e-16),
FlashData(1.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(5.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(1.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(1.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(1.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.661338e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330669e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(1.0e+08, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.881784e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330669e-16),
- FlashData(1.0e+08, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16)
+ FlashData(5.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(5.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.254148e-16),
+ FlashData(5.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.218888e-16),
+ FlashData(5.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220412e-16),
+ FlashData(5.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.259383e-17),
+ FlashData(1.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.032879e-20),
+ FlashData(1.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.694066e-21),
+ FlashData(1.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220429e-16),
+ FlashData(5.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220599e-16),
+ FlashData(5.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.266076e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220463e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440858e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.111900e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220463e-16),
+ FlashData(1.0e+08, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.925937e-16),
+ FlashData(1.0e+08, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.198447e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.541336e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.223851e-16)
)
);
INSTANTIATE_TEST_SUITE_P(
StabilityTest, SoaveRedlichKwong,
::testing::Values(
- FlashData(1.0e+05, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.340952e+03),
- FlashData(1.0e+05, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.523837e+03),
- FlashData(1.0e+05, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.181331e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.678230e+00),
- FlashData(1.0e+05, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.775558e-17),
- FlashData(1.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.676592e+00),
- FlashData(1.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.892215e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.543862e+02),
- FlashData(1.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.627522e+01),
- FlashData(1.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.322679e-01),
- FlashData(5.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.886802e-01),
- FlashData(5.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.004309e+00),
- FlashData(5.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.584734e+00),
- FlashData(5.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.238911e-02),
- FlashData(1.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.605851e-01),
- FlashData(1.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.907913e-01),
- FlashData(1.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.671620e-01),
- FlashData(1.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.904301e-01),
- FlashData(1.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.614633e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.273559e-16),
- FlashData(5.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.159340e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 8.326673e-17),
- FlashData(5.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.081668e-15),
- FlashData(5.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.159340e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.110223e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.165734e-15),
- FlashData(1.0e+08, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.551115e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 4.163336e-16),
- FlashData(1.0e+08, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.383782e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.340423e+03),
- FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.523613e+03),
- FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.181013e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.677900e+00),
- FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.326673e-17),
- FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.611739e+00),
- FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.831153e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.541747e+02),
- FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.624997e+01),
- FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.551115e-17),
- FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.183708e-01),
- FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.753463e-01),
- FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.976633e-01),
- FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.515763e+00),
- FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.164655e-02),
- FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.538864e-01),
- FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.842051e-01),
- FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.624915e-01),
- FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.880849e-01),
- FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.514356e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.415534e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.494005e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 9.159340e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 9.436896e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.942890e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -7.771561e-16),
- FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 1.387779e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.828671e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 1.193490e-15),
- FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.942890e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.814994e+03),
+ FlashData(1.0e+05, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.241583e+02),
+ FlashData(1.0e+05, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.828694e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.557644e+00),
+ FlashData(1.0e+05, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.736526e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.257797e-03),
+ FlashData(1.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.641615e-03),
+ FlashData(1.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.511074e+02),
+ FlashData(1.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.482449e+01),
+ FlashData(1.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.509209e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.708694e-05),
+ FlashData(5.0e+06, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.932987e-04),
+ FlashData(5.0e+06, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.840385e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.584587e+00),
+ FlashData(5.0e+06, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.029479e-02),
+ FlashData(1.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.674182e-01),
+ FlashData(1.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.444982e-01),
+ FlashData(1.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.201703e-03),
+ FlashData(1.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.402326e-02),
+ FlashData(1.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.715992e-02),
+ FlashData(5.0e+07, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.502339e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.907805e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.071532e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.840219e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.379446e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.673141e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.729996e-16),
+ FlashData(1.0e+08, 3.5315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 5.551115e-17),
+ FlashData(1.0e+08, 3.9315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 6.977925e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.00900, 0.00300, 0.53470, 0.11460, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.179612e-15),
+ FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.814881e+03),
+ FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -9.241007e+02),
+ FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.828513e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.557396e+00),
+ FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.769418e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.170713e-03),
+ FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.444682e-03),
+ FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.508509e+02),
+ FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.479052e+01),
+ FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.179612e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.705802e-05),
+ FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.542653e-04),
+ FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.637320e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.515601e+00),
+ FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.953021e-02),
+ FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.633584e-01),
+ FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.416234e-01),
+ FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.840113e-03),
+ FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -5.210515e-02),
+ FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.603198e-02),
+ FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -2.909131e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.826664e-15),
+ FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 3.972517e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -8.812395e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -6.002143e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -3.093012e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -1.975850e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 9.055257e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, 8.396062e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.53770, 0.12360, 0.08790, 0.04560, 0.02090, 0.01510, 0.16920}, -4.961309e-16),
FlashData(1.0e+05, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+05, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+05, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
@@ -485,146 +485,146 @@ INSTANTIATE_TEST_SUITE_P(
FlashData(1.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
- FlashData(5.0e+06, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 4.440892e-16),
+ FlashData(5.0e+06, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+06, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
+ FlashData(5.0e+06, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+06, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.881784e-16),
- FlashData(1.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 8.881784e-16),
- FlashData(1.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 6.661338e-16),
- FlashData(1.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
+ FlashData(1.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-15),
- FlashData(5.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 4.440892e-16),
- FlashData(5.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
+ FlashData(5.0e+07, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+07, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+07, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+08, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 8.881784e-16),
- FlashData(1.0e+08, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.776357e-15),
- FlashData(1.0e+08, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.661338e-16),
- FlashData(1.0e+08, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+08, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
+ FlashData(1.0e+08, 2.8815e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.9715e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.5315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.9315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 5.7315e+02, {1.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+05, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+05, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 4.440892e-15),
+ FlashData(1.0e+05, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+05, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -3.552714e-15),
- FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -4.440892e-15),
- FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 8.881784e-16),
- FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -2.664535e-15),
- FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.421085e-14),
- FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -5.329071e-15),
+ FlashData(1.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(5.0e+06, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
- FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -8.881784e-16),
- FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 8.881784e-16),
- FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 8.881784e-15),
- FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -1.776357e-15),
- FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -8.881784e-16),
- FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, -8.881784e-16),
- FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 8.881784e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 3.552714e-15),
- FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 4.440892e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 5.329071e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 1.776357e-15),
- FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 8.881784e-16),
+ FlashData(5.0e+06, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(5.0e+07, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.8815e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 2.9715e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.5315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
+ FlashData(1.0e+08, 3.9315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+08, 5.7315e+02, {0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 1.00000}, 0.000000e+00),
FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
- FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.330669e-16),
- FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
+ FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.775558e-16),
+ FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
+ FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.775558e-16),
FlashData(1.0e+05, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.665335e-16),
FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
- FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
- FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
- FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330669e-16),
- FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110223e-16),
+ FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
+ FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.775558e-16),
+ FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
+ FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-16),
- FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
+ FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.106227e-16),
+ FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.885781e-16),
FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
- FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -4.440892e-16),
- FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.330669e-16),
- FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.326673e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.885781e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-16),
+ FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.885781e-16),
+ FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
+ FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.106227e-16),
+ FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -9.436896e-16),
+ FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -3.885781e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
+ FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 5.551115e-17),
FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.881784e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
- FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -5.551115e-17),
- FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.685339e+01),
- FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.983114e+01),
- FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.069141e+01),
- FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.232891e+01),
+ FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -9.436896e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.665335e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.547585e+01),
+ FlashData(1.0e+05, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.757647e+01),
+ FlashData(1.0e+05, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.891242e+01),
+ FlashData(1.0e+05, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.206762e+01),
FlashData(1.0e+05, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.220446e-16),
- FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -9.169123e-01),
- FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.225912e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.372920e+00),
+ FlashData(1.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -8.275766e-01),
+ FlashData(1.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.064839e+00),
+ FlashData(1.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.425766e+00),
FlashData(1.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.771453e+00),
- FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.885781e-16),
- FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 2.886580e-15),
- FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 8.881784e-16),
- FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -8.067043e-02),
- FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.893772e-01),
- FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.360564e-01),
- FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.220446e-15),
- FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.554312e-15),
- FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-15),
- FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 2.220446e-15),
- FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.378407e-02),
- FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.720046e-15),
- FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.220446e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.054712e-15),
- FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -6.661338e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 0.000000e+00),
- FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.998401e-15),
- FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -6.106227e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.720846e-15),
- FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
- FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.330669e-16),
- FlashData(1.0e+05, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+05, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(5.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(1.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(5.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220446e-16),
- FlashData(5.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(5.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(5.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+08, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.661338e-16),
- FlashData(1.0e+08, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 2.220446e-16),
- FlashData(1.0e+08, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
- FlashData(1.0e+08, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00),
- FlashData(1.0e+08, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 0.000000e+00)
+ FlashData(1.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.330669e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.052314e-15),
+ FlashData(5.0e+06, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.554312e-15),
+ FlashData(5.0e+06, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -8.067042e-02),
+ FlashData(5.0e+06, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.893771e-01),
+ FlashData(5.0e+06, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.938871e-02),
+ FlashData(1.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.552714e-15),
+ FlashData(1.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 1.831868e-15),
+ FlashData(1.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
+ FlashData(1.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.110223e-16),
+ FlashData(1.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -3.809697e-02),
+ FlashData(5.0e+07, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.498801e-15),
+ FlashData(5.0e+07, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 3.608225e-15),
+ FlashData(5.0e+07, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, 3.053113e-15),
+ FlashData(5.0e+07, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.609823e-15),
+ FlashData(5.0e+07, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -5.551115e-17),
+ FlashData(1.0e+08, 2.8815e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.276756e-15),
+ FlashData(1.0e+08, 2.9715e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -2.886580e-15),
+ FlashData(1.0e+08, 3.5315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -8.326673e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -1.720846e-15),
+ FlashData(1.0e+08, 5.7315e+02, {0.50000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.50000}, -4.440892e-16),
+ FlashData(1.0e+05, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220395e-16),
+ FlashData(1.0e+05, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110071e-16),
+ FlashData(1.0e+05, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110206e-16),
+ FlashData(1.0e+05, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+05, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.206961e-16),
+ FlashData(1.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.108224e-16),
+ FlashData(1.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110240e-16),
+ FlashData(1.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -8.470329e-21),
+ FlashData(1.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110223e-16),
+ FlashData(5.0e+06, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.706067e-16),
+ FlashData(5.0e+06, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(5.0e+06, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110206e-16),
+ FlashData(5.0e+06, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.113577e-16),
+ FlashData(5.0e+06, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 3.388132e-21),
+ FlashData(1.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220412e-16),
+ FlashData(1.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.694066e-21),
+ FlashData(1.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110189e-16),
+ FlashData(1.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.192985e-16),
+ FlashData(1.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220429e-16),
+ FlashData(5.0e+07, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220243e-16),
+ FlashData(5.0e+07, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.524659e-20),
+ FlashData(5.0e+07, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110206e-16),
+ FlashData(5.0e+07, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.220260e-16),
+ FlashData(5.0e+07, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.108190e-16),
+ FlashData(1.0e+08, 2.8815e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -6.661135e-16),
+ FlashData(1.0e+08, 2.9715e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.110375e-16),
+ FlashData(1.0e+08, 3.5315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -2.995007e-16),
+ FlashData(1.0e+08, 3.9315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, 1.110240e-16),
+ FlashData(1.0e+08, 5.7315e+02, {0.00001, 0.00000, 0.99999, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000}, -1.105768e-16)
)
);
diff --git a/src/coreComponents/constitutive/unitTests/testTriaxial.cpp b/src/coreComponents/constitutive/unitTests/testTriaxial.cpp
index 6cdc9f64237..009d7727d9a 100644
--- a/src/coreComponents/constitutive/unitTests/testTriaxial.cpp
+++ b/src/coreComponents/constitutive/unitTests/testTriaxial.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutiveDrivers/CMakeLists.txt b/src/coreComponents/constitutiveDrivers/CMakeLists.txt
new file mode 100644
index 00000000000..41e4a946d28
--- /dev/null
+++ b/src/coreComponents/constitutiveDrivers/CMakeLists.txt
@@ -0,0 +1,57 @@
+#
+# Specify all headers
+#
+set( constitutiveDrivers_headers
+ fluid/multiFluid/PVTDriver.hpp
+ fluid/multiFluid/PVTDriverRunTest.hpp
+ fluid/multiFluid/reactive/ReactiveFluidDriver.hpp
+ relativePermeability/RelpermDriver.hpp
+ relativePermeability/RelpermDriverRunTest.hpp
+ solid/TriaxialDriver.hpp
+ )
+#
+# Specify all sources
+#
+set( constitutiveDrivers_sources
+ fluid/multiFluid/PVTDriver.cpp
+ fluid/multiFluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
+ fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
+ fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
+ fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
+ fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
+ fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
+ fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
+ fluid/multiFluid/reactive/ReactiveFluidDriver.cpp
+ relativePermeability/RelpermDriver.cpp
+ relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
+ relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
+ relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
+ relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
+ relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
+ relativePermeability/RelpermDriverTableRelativeRunTest.cpp
+ relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
+ solid/TriaxialDriver.cpp
+ )
+
+set( dependencyList ${parallelDeps} constitutive events )
+
+if( ENABLE_PVTPackage )
+ set( constitutiveDrivers_sources
+ ${constitutiveDrivers_sources}
+ fluid/multiFluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
+ )
+endif()
+
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
+
+blt_add_library( NAME constitutiveDrivers
+ SOURCES ${constitutiveDrivers_sources}
+ HEADERS ${constitutiveDrivers_headers}
+ DEPENDS_ON ${decoratedDependencies}
+ OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
+ )
+
+target_include_directories( constitutiveDrivers PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS constitutiveDrivers LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
diff --git a/src/coreComponents/constitutiveDrivers/docs/ConstitutiveDrivers.rst b/src/coreComponents/constitutiveDrivers/docs/ConstitutiveDrivers.rst
new file mode 100644
index 00000000000..8ad6a17ca83
--- /dev/null
+++ b/src/coreComponents/constitutiveDrivers/docs/ConstitutiveDrivers.rst
@@ -0,0 +1,13 @@
+.. _ConstitutiveDrivers:
+
+Constitutive Drivers
+============================================
+To test and calibrate constitutive models, GEOS provides a set of drivers that can be used to run simulations with specific input parameters.
+These drivers are designed to facilitate the exploration of various constitutive behaviors and to validate the models against known benchmarks.
+
+.. toctree::
+ :maxdepth: 1
+
+ PVTDriver
+
+ TriaxialDriver
diff --git a/src/coreComponents/constitutive/docs/PVTDriver.rst b/src/coreComponents/constitutiveDrivers/docs/PVTDriver.rst
similarity index 99%
rename from src/coreComponents/constitutive/docs/PVTDriver.rst
rename to src/coreComponents/constitutiveDrivers/docs/PVTDriver.rst
index ae9563480c1..eaa849ea060 100644
--- a/src/coreComponents/constitutive/docs/PVTDriver.rst
+++ b/src/coreComponents/constitutiveDrivers/docs/PVTDriver.rst
@@ -80,7 +80,7 @@ Parameters
----------
The key XML parameters for the PVTDriver are summarized in the following table:
-.. include:: /coreComponents/schema/docs/PVTDriver.rst
+.. include:: /docs/sphinx/datastructure/PVTDriver.rst
Output Format
-------------
diff --git a/src/coreComponents/constitutive/docs/solid/TriaxialDriver.rst b/src/coreComponents/constitutiveDrivers/docs/TriaxialDriver.rst
similarity index 98%
rename from src/coreComponents/constitutive/docs/solid/TriaxialDriver.rst
rename to src/coreComponents/constitutiveDrivers/docs/TriaxialDriver.rst
index 8ddede6ba58..ced93bc86f7 100644
--- a/src/coreComponents/constitutive/docs/solid/TriaxialDriver.rst
+++ b/src/coreComponents/constitutiveDrivers/docs/TriaxialDriver.rst
@@ -21,7 +21,7 @@ XML Structure
-------------
A typical XML file to run the triaxial driver will have the following key elements. We present the whole file first, before digging into the individual blocks.
-.. literalinclude:: ../../../unitTests/constitutiveTests/testTriaxial_druckerPragerExtended.xml
+.. literalinclude:: ../../unitTests/constitutiveTests/testTriaxial_druckerPragerExtended.xml
:language: xml
The first thing to note is that the XML structure is identical to a standard GEOS input deck. In fact, once the constitutive block is calibrated, one could start adding solver and discretization blocks to the same file to create a proper field simulation. This makes it easy to go back and forth between calibration and simulation.
@@ -32,7 +32,7 @@ Internally, the triaxial driver uses a simple form of time-stepping to advance t
The key parameters for the TriaxialDriver are:
-.. include:: /coreComponents/schema/docs/TriaxialDriver.rst
+.. include:: /docs/sphinx/datastructure/TriaxialDriver.rst
.. note::
diff --git a/src/coreComponents/constitutive/docs/solid/TriaxialDriver.svg b/src/coreComponents/constitutiveDrivers/docs/TriaxialDriver.svg
similarity index 100%
rename from src/coreComponents/constitutive/docs/solid/TriaxialDriver.svg
rename to src/coreComponents/constitutiveDrivers/docs/TriaxialDriver.svg
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
similarity index 89%
rename from src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
index 37e0092277e..fb0ab379189 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -13,7 +13,7 @@
* ------------------------------------------------------------------------------------------------------------
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
similarity index 89%
rename from src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
index a42c0773420..a27cfb29699 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrineEzrokhiThermalFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -13,7 +13,7 @@
* ------------------------------------------------------------------------------------------------------------
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
similarity index 89%
rename from src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
index a7fe70a0b0d..145b2faae17 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -13,7 +13,7 @@
* ------------------------------------------------------------------------------------------------------------
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
similarity index 89%
rename from src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
index 4536efa96f5..d6f41b1bf52 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/CO2Brine/PVTDriverRunTestCO2BrinePhillipsThermalFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -13,7 +13,7 @@
* ------------------------------------------------------------------------------------------------------------
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/CO2BrineFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/PVTDriver.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.cpp
similarity index 99%
rename from src/coreComponents/constitutive/fluid/multifluid/PVTDriver.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.cpp
index 8a987d2168b..47150da347f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/PVTDriver.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -24,7 +24,7 @@
#include "constitutive/fluid/multifluid/MultiFluidBase.hpp"
#include "constitutive/fluid/multifluid/MultiFluidSelector.hpp"
#include "constitutive/fluid/multifluid/MultiFluidConstants.hpp"
-#include "fileIO/Outputs/OutputBase.hpp"
+//#include "fileIO/Outputs/OutputBase.hpp"
#include "functions/FunctionManager.hpp"
#include "functions/TableFunction.hpp"
#include "common/format/StringUtilities.hpp"
diff --git a/src/coreComponents/constitutive/fluid/multifluid/PVTDriver.hpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.hpp
similarity index 99%
rename from src/coreComponents/constitutive/fluid/multifluid/PVTDriver.hpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.hpp
index 958c9fdfac3..dda67dac39c 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/PVTDriver.hpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriver.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/PVTDriverRunTest.hpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp
similarity index 99%
rename from src/coreComponents/constitutive/fluid/multifluid/PVTDriverRunTest.hpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp
index 5a8594a34cc..0a0254b196f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/PVTDriverRunTest.hpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
similarity index 91%
rename from src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
index 86ae569e672..829f310e773 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/blackOil/PVTDriverRunTestDeadOilFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,7 +17,7 @@
* PVTDriverRunTestDeadOilFluid.cpp
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/blackOil/DeadOilFluid.hpp"
#include "constitutive/fluid/multifluid/blackOil/BlackOilFluid.hpp"
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
similarity index 90%
rename from src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
index 95d7805133b..dbf4cf32eef 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalMultiphaseFluid.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,7 +17,7 @@
* PVTDriverRunTestCompositionalMultiphaseFluid.cpp
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluidPVTPackage.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
similarity index 90%
rename from src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
index 5e3a7da05d5..821b98d216e 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,7 +17,7 @@
* PVTDriverRunTestCompositionalTwoPhaseConstantViscosity.cpp
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
similarity index 90%
rename from src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
index f1c85834b70..ba69e1f711d 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/compositional/PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,7 +17,7 @@
* PVTDriverRunTestCompositionalTwoPhaseLohrenzBrayClarkViscosity.cpp
*/
-#include "constitutive/fluid/multifluid/PVTDriverRunTest.hpp"
+#include "constitutiveDrivers/fluid/multiFluid/PVTDriverRunTest.hpp"
#include "constitutive/fluid/multifluid/compositional/CompositionalMultiphaseFluid.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.cpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.cpp
similarity index 99%
rename from src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.cpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.cpp
index 7c95359f28a..8c2cc1f083f 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.cpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -18,7 +18,6 @@
*/
#include "ReactiveFluidDriver.hpp"
-#include "fileIO/Outputs/OutputBase.hpp"
#include "constitutive/fluid/multifluid/CO2Brine/functions/PureWaterProperties.hpp"
#include "functions/TableFunction.hpp"
#include "functions/FunctionManager.hpp"
diff --git a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.hpp b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.hpp
similarity index 94%
rename from src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.hpp
rename to src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.hpp
index 5f8ff2f2597..57f273e3b1e 100644
--- a/src/coreComponents/constitutive/fluid/multifluid/reactive/ReactiveFluidDriver.hpp
+++ b/src/coreComponents/constitutiveDrivers/fluid/multiFluid/reactive/ReactiveFluidDriver.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -32,8 +32,6 @@
namespace geos
{
-using namespace constitutive;
-
/**
* @class ReactiveFluidDriver
*
@@ -114,7 +112,8 @@ class ReactiveFluidDriver : public TaskBase
enum columnKeys { TIME, PRES, TEMP }; ///< Enumeration of "input" column keys for readability
- static constexpr real64 m_baselineTol = MultiFluidConstants::baselineTolerance; ///< Comparison tolerance for baseline results
+ static constexpr real64 m_baselineTol = constitutive::MultiFluidConstants::baselineTolerance; ///< Comparison tolerance for baseline
+ ///< results
};
} /* namespace geos */
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriver.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.cpp
similarity index 99%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriver.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.cpp
index e2d684d74ca..75c701977d9 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriver.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriver.hpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.hpp
similarity index 99%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriver.hpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.hpp
index 890d453dc9f..b2516879f99 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriver.hpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriver.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
index c46982327aa..578a3d59522 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyBakerRunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "BrooksCoreyBakerRelativePermeability.hpp"
+#include "constitutive/relativePermeability/BrooksCoreyBakerRelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
index 6fb6f873dbc..7e492550302 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyRunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "BrooksCoreyRelativePermeability.hpp"
+#include "constitutive/relativePermeability/BrooksCoreyRelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
index 57efb4ff67a..c1ca451cdc2 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverBrooksCoreyStone2RunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "BrooksCoreyStone2RelativePermeability.hpp"
+#include "constitutive/relativePermeability/BrooksCoreyStone2RelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverRunTest.hpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverRunTest.hpp
similarity index 90%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverRunTest.hpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverRunTest.hpp
index a6fe4f06212..7187ae8feb9 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverRunTest.hpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverRunTest.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -16,19 +16,18 @@
#ifndef GEOS_RELPERMDRIVERRUNTEST_HPP_
#define GEOS_RELPERMDRIVERRUNTEST_HPP_
-#include "constitutive/relativePermeability/RelpermDriver.hpp"
+#include "constitutiveDrivers/relativePermeability/RelpermDriver.hpp"
#include "constitutive/relativePermeability/RelativePermeabilityFields.hpp"
-#include "layouts.hpp"
+#include "constitutive/relativePermeability/layouts.hpp"
namespace geos
{
-using namespace constitutive;
-
//specific to Hysteresis
template< typename RELPERM_TYPE >
-std::enable_if_t< std::is_same< TableRelativePermeabilityHysteresis, RELPERM_TYPE >::value, void >
+std::enable_if_t< std::is_same< constitutive::TableRelativePermeabilityHysteresis,
+ RELPERM_TYPE >::value, void >
RelpermDriver::runTest( RELPERM_TYPE & relperm,
const arrayView2d< real64 > & table )
{
@@ -37,7 +36,7 @@ RelpermDriver::runTest( RELPERM_TYPE & relperm,
// create kernel wrapper
- typename TableRelativePermeabilityHysteresis::KernelWrapper const kernelWrapper = relperm.createKernelWrapper();
+ typename constitutive::TableRelativePermeabilityHysteresis::KernelWrapper const kernelWrapper = relperm.createKernelWrapper();
// set saturation to user specified feed
// it is more convenient to provide input in molar, so perform molar to mass conversion here
@@ -91,15 +90,15 @@ RelpermDriver::runTest( RELPERM_TYPE & relperm,
arrayView2d< real64 const, compflow::USD_PHASE > const saturation = saturationValues.toViewConst();
- auto const & phaseHasHysteresis = relperm.template getReference< array1d< integer > >( TableRelativePermeabilityHysteresis::viewKeyStruct::phaseHasHysteresisString());
+ auto const & phaseHasHysteresis = relperm.template getReference< array1d< integer > >( constitutive::TableRelativePermeabilityHysteresis::viewKeyStruct::phaseHasHysteresisString());
arrayView2d< real64, compflow::USD_PHASE > phaseMaxHistoricalVolFraction = relperm.template getField< fields::relperm::phaseMaxHistoricalVolFraction >().reference();
arrayView2d< real64, compflow::USD_PHASE > phaseMinHistoricalVolFraction = relperm.template getField< fields::relperm::phaseMinHistoricalVolFraction >().reference();
arrayView1d< real64 > const drainagePhaseMinVolFraction = relperm.template getReference< array1d< real64 > >(
- TableRelativePermeabilityHysteresis::viewKeyStruct::drainagePhaseMinVolumeFractionString());
+ constitutive::TableRelativePermeabilityHysteresis::viewKeyStruct::drainagePhaseMinVolumeFractionString());
arrayView1d< real64 > const drainagePhaseMaxVolFraction = relperm.template getReference< array1d< real64 > >(
- TableRelativePermeabilityHysteresis::viewKeyStruct::drainagePhaseMaxVolumeFractionString());
+ constitutive::TableRelativePermeabilityHysteresis::viewKeyStruct::drainagePhaseMaxVolumeFractionString());
//setting for drainage
{
@@ -165,7 +164,7 @@ RelpermDriver::runTest( RELPERM_TYPE & relperm,
}
template< typename RELPERM_TYPE >
-std::enable_if_t< !std::is_same< TableRelativePermeabilityHysteresis, RELPERM_TYPE >::value, void >
+std::enable_if_t< !std::is_same< constitutive::TableRelativePermeabilityHysteresis, RELPERM_TYPE >::value, void >
RelpermDriver::runTest( RELPERM_TYPE & relperm,
const arrayView2d< real64 > & table )
{
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
index b3572d74fe3..cad00bfc8a1 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeHysteresisRunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "TableRelativePermeabilityHysteresis.hpp"
+#include "constitutive/relativePermeability/TableRelativePermeabilityHysteresis.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeRunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeRunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeRunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeRunTest.cpp
index bfa0ad9c510..22b21ea79d8 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverTableRelativeRunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverTableRelativeRunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "TableRelativePermeability.hpp"
+#include "constitutive/relativePermeability/TableRelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
similarity index 88%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
index 3de1845934b..45b9400a33e 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenBakerRunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "VanGenuchtenBakerRelativePermeability.hpp"
+#include "constitutive/relativePermeability/VanGenuchtenBakerRelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
similarity index 87%
rename from src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
rename to src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
index 4e3ef1fc796..caac2444ec7 100644
--- a/src/coreComponents/constitutive/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
+++ b/src/coreComponents/constitutiveDrivers/relativePermeability/RelpermDriverVanGenuchtenStone2RunTest.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -14,7 +14,7 @@
*/
#include "RelpermDriverRunTest.hpp"
-#include "VanGenuchtenStone2RelativePermeability.hpp"
+#include "constitutive/relativePermeability/VanGenuchtenStone2RelativePermeability.hpp"
namespace geos
diff --git a/src/coreComponents/constitutive/solid/TriaxialDriver.cpp b/src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.cpp
similarity index 99%
rename from src/coreComponents/constitutive/solid/TriaxialDriver.cpp
rename to src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.cpp
index 5d345e6986f..49158cbc925 100644
--- a/src/coreComponents/constitutive/solid/TriaxialDriver.cpp
+++ b/src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -18,7 +18,6 @@
*/
#include "TriaxialDriver.hpp"
-#include "fileIO/Outputs/OutputBase.hpp"
namespace geos
{
diff --git a/src/coreComponents/constitutive/solid/TriaxialDriver.hpp b/src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.hpp
similarity index 98%
rename from src/coreComponents/constitutive/solid/TriaxialDriver.hpp
rename to src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.hpp
index 73e4957a13a..1072d924818 100644
--- a/src/coreComponents/constitutive/solid/TriaxialDriver.hpp
+++ b/src/coreComponents/constitutiveDrivers/solid/TriaxialDriver.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -32,8 +32,6 @@
namespace geos
{
-using namespace constitutive;
-
/**
* @class TriaxialDriver
*
diff --git a/src/coreComponents/dataRepository/BufferOps.hpp b/src/coreComponents/dataRepository/BufferOps.hpp
index 65ff284d676..c76bcee136e 100644
--- a/src/coreComponents/dataRepository/BufferOps.hpp
+++ b/src/coreComponents/dataRepository/BufferOps.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/BufferOpsDevice.cpp b/src/coreComponents/dataRepository/BufferOpsDevice.cpp
index b6215d3ea62..cf9c562a634 100644
--- a/src/coreComponents/dataRepository/BufferOpsDevice.cpp
+++ b/src/coreComponents/dataRepository/BufferOpsDevice.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/BufferOpsDevice.hpp b/src/coreComponents/dataRepository/BufferOpsDevice.hpp
index 12abafac593..0fec5bbf5a7 100644
--- a/src/coreComponents/dataRepository/BufferOpsDevice.hpp
+++ b/src/coreComponents/dataRepository/BufferOpsDevice.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/BufferOps_inline.hpp b/src/coreComponents/dataRepository/BufferOps_inline.hpp
index 961d3173f38..cd87b74e7eb 100644
--- a/src/coreComponents/dataRepository/BufferOps_inline.hpp
+++ b/src/coreComponents/dataRepository/BufferOps_inline.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/CMakeLists.txt b/src/coreComponents/dataRepository/CMakeLists.txt
index bfaecd6d778..f3e4e82628e 100644
--- a/src/coreComponents/dataRepository/CMakeLists.txt
+++ b/src/coreComponents/dataRepository/CMakeLists.txt
@@ -11,6 +11,8 @@ set( dataRepository_headers
InputFlags.hpp
KeyIndexT.hpp
KeyNames.hpp
+ LogLevelsInfo.hpp
+ LogLevelsRegistry.hpp
MappedVector.hpp
ObjectCatalog.hpp
ReferenceWrapper.hpp
@@ -35,6 +37,7 @@ set( dataRepository_sources
xmlWrapper.cpp
DataContext.cpp
GroupContext.cpp
+ LogLevelsRegistry.cpp
WrapperContext.cpp )
set( dependencyList ${parallelDeps} codingUtilities )
@@ -50,14 +53,19 @@ if( ENABLE_PYGEOSX )
list( APPEND dependencyList Python3::Python pylvarray )
endif()
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
blt_add_library( NAME dataRepository
SOURCES ${dataRepository_sources}
HEADERS ${dataRepository_headers}
- DEPENDS_ON ${dependencyList}
- OBJECT ${GEOS_BUILD_OBJ_LIBS} )
+ DEPENDS_ON ${decoratedDependencies}
+ OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
+ )
target_include_directories( dataRepository PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS dataRepository LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
if( GEOS_ENABLE_TESTS )
diff --git a/src/coreComponents/dataRepository/ConduitRestart.cpp b/src/coreComponents/dataRepository/ConduitRestart.cpp
index c94a1724e52..e0c18bc1b24 100644
--- a/src/coreComponents/dataRepository/ConduitRestart.cpp
+++ b/src/coreComponents/dataRepository/ConduitRestart.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/ConduitRestart.hpp b/src/coreComponents/dataRepository/ConduitRestart.hpp
index d853c84a2df..2fe3c07c98e 100644
--- a/src/coreComponents/dataRepository/ConduitRestart.hpp
+++ b/src/coreComponents/dataRepository/ConduitRestart.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/DataContext.cpp b/src/coreComponents/dataRepository/DataContext.cpp
index fc8ebe9d9ee..e20eab50e60 100644
--- a/src/coreComponents/dataRepository/DataContext.cpp
+++ b/src/coreComponents/dataRepository/DataContext.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/DataContext.hpp b/src/coreComponents/dataRepository/DataContext.hpp
index 403b2fb5e55..16600e02f1b 100644
--- a/src/coreComponents/dataRepository/DataContext.hpp
+++ b/src/coreComponents/dataRepository/DataContext.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/DefaultValue.hpp b/src/coreComponents/dataRepository/DefaultValue.hpp
index c5d5f3d21f4..dd2fed96a7d 100644
--- a/src/coreComponents/dataRepository/DefaultValue.hpp
+++ b/src/coreComponents/dataRepository/DefaultValue.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/ExecutableGroup.cpp b/src/coreComponents/dataRepository/ExecutableGroup.cpp
index a43b45a4280..4552db2d3d4 100644
--- a/src/coreComponents/dataRepository/ExecutableGroup.cpp
+++ b/src/coreComponents/dataRepository/ExecutableGroup.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/ExecutableGroup.hpp b/src/coreComponents/dataRepository/ExecutableGroup.hpp
index ae183dd5d80..dd3da89af5b 100644
--- a/src/coreComponents/dataRepository/ExecutableGroup.hpp
+++ b/src/coreComponents/dataRepository/ExecutableGroup.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/Group.cpp b/src/coreComponents/dataRepository/Group.cpp
index e420631f5ff..abbf6379fa9 100644
--- a/src/coreComponents/dataRepository/Group.cpp
+++ b/src/coreComponents/dataRepository/Group.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -50,6 +50,7 @@ Group::Group( string const & name,
m_restart_flags( RestartFlags::WRITE_AND_READ ),
m_input_flags( InputFlags::INVALID ),
m_conduitNode( rootNode[ name ] ),
+ m_logLevelsRegistry( std::make_unique< LogLevelsRegistry >() ),
m_dataContext( std::make_unique< GroupContext >( *this ) )
{}
@@ -80,7 +81,6 @@ void Group::deregisterWrapper( string const & name )
m_conduitNode.remove( name );
}
-
void Group::resize( indexType const newSize )
{
forWrappers( [newSize] ( WrapperBase & wrapper )
@@ -245,6 +245,7 @@ void Group::processInputFile( xmlWrapper::xmlNode const & targetNode,
void Group::postInputInitializationRecursive()
{
+ m_logLevelsRegistry = nullptr;
for( auto const & subGroupIter : m_subGroups )
{
subGroupIter.second->postInputInitializationRecursive();
diff --git a/src/coreComponents/dataRepository/Group.hpp b/src/coreComponents/dataRepository/Group.hpp
index 44dbd6bb0d4..1cbc00c739a 100644
--- a/src/coreComponents/dataRepository/Group.hpp
+++ b/src/coreComponents/dataRepository/Group.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -27,6 +27,8 @@
#include "RestartFlags.hpp"
#include "Wrapper.hpp"
#include "xmlWrapper.hpp"
+#include "LogLevelsInfo.hpp"
+#include "LogLevelsRegistry.hpp"
#include
@@ -143,7 +145,7 @@ class Group
using CatalogInterface = dataRepository::CatalogInterface< Group, string const &, Group * const >;
/**
- * @brief Get the singleton catalog for this class.
+ * @brief Get the singleton catalog for this Group.
* @return reference to the catalog object
*/
static CatalogInterface::CatalogType & getCatalog();
@@ -863,6 +865,16 @@ class Group
///@}
//END_SPHINX_INCLUDE_REGISTER_WRAPPER
+ /**
+ * @brief Append a levelCondition and a log description to the description of the wrapped object given a log info struct.
+ * Must be called in constructor.
+ * @tparam LOG_LEVEL_INFO The log documentation to add.
+ * @return void if the trait is verified.
+ */
+ template< typename LOG_LEVEL_INFO >
+ std::enable_if_t< geos::is_log_level_info< LOG_LEVEL_INFO >, void >
+ addLogLevel();
+
/**
* @name Schema generation methods
*/
@@ -1478,7 +1490,9 @@ class Group
*/
void loadFromConduit();
- /// Enable verbosity input for object
+ /**
+ * @deprecated will be remove and replace by addLogLevel
+ */
void enableLogLevelInput();
/**
@@ -1615,6 +1629,8 @@ class Group
/// Verbosity flag for group logs
integer m_logLevel;
+
+
//END_SPHINX_INCLUDE_02
/// Restart flag for this group... and subsequently all wrappers in this group.
@@ -1626,6 +1642,9 @@ class Group
/// Reference to the conduit::Node that mirrors this group
conduit::Node & m_conduitNode;
+ // Keep track of log levels & descriptions
+ std::unique_ptr< LogLevelsRegistry > m_logLevelsRegistry;
+
/// A DataContext object used to provide contextual information on this Group,
/// if it is created from an input XML file, the line or offset in that file.
std::unique_ptr< DataContext > m_dataContext;
@@ -1712,6 +1731,24 @@ Wrapper< T > & Group::registerWrapper( string const & name,
return rval;
}
+template< typename LOG_LEVEL_INFO >
+std::enable_if_t< geos::is_log_level_info< LOG_LEVEL_INFO >, void >
+Group::addLogLevel()
+{
+ GEOS_ERROR_IF( m_logLevelsRegistry == nullptr, "You cannot call addLogLevel after schema generation" );
+
+ Wrapper< integer > * wrapper = getWrapperPointer< integer >( viewKeyStruct::logLevelString() );
+ if( wrapper == nullptr )
+ {
+ wrapper = ®isterWrapper( viewKeyStruct::logLevelString(), &m_logLevel );
+ wrapper->setApplyDefaultValue( 0 );
+ wrapper->setInputFlag( InputFlags::OPTIONAL );
+ }
+ m_logLevelsRegistry->addEntry( LOG_LEVEL_INFO::getMinLogLevel(),
+ LOG_LEVEL_INFO::getDescription() );
+ wrapper->setDescription( m_logLevelsRegistry->buildLogLevelDescription());
+}
+
} /* end namespace dataRepository */
} /* end namespace geos */
diff --git a/src/coreComponents/dataRepository/GroupContext.cpp b/src/coreComponents/dataRepository/GroupContext.cpp
index 1312cab5f32..e19a7358fa1 100644
--- a/src/coreComponents/dataRepository/GroupContext.cpp
+++ b/src/coreComponents/dataRepository/GroupContext.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/GroupContext.hpp b/src/coreComponents/dataRepository/GroupContext.hpp
index f29238660e0..d361bd26e58 100644
--- a/src/coreComponents/dataRepository/GroupContext.hpp
+++ b/src/coreComponents/dataRepository/GroupContext.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/HistoryDataSpec.hpp b/src/coreComponents/dataRepository/HistoryDataSpec.hpp
index 3fd0d56b3a5..5ffbc3eb343 100644
--- a/src/coreComponents/dataRepository/HistoryDataSpec.hpp
+++ b/src/coreComponents/dataRepository/HistoryDataSpec.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/InputFlags.hpp b/src/coreComponents/dataRepository/InputFlags.hpp
index 72dc4d862b2..d761ad85f28 100644
--- a/src/coreComponents/dataRepository/InputFlags.hpp
+++ b/src/coreComponents/dataRepository/InputFlags.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/KeyIndexT.hpp b/src/coreComponents/dataRepository/KeyIndexT.hpp
index b5dbb501bc2..6a6b2ff32a3 100644
--- a/src/coreComponents/dataRepository/KeyIndexT.hpp
+++ b/src/coreComponents/dataRepository/KeyIndexT.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/KeyNames.hpp b/src/coreComponents/dataRepository/KeyNames.hpp
index 78efdd84762..30842d4c719 100644
--- a/src/coreComponents/dataRepository/KeyNames.hpp
+++ b/src/coreComponents/dataRepository/KeyNames.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/LogLevelsInfo.hpp b/src/coreComponents/dataRepository/LogLevelsInfo.hpp
new file mode 100644
index 00000000000..d0b0ee1817d
--- /dev/null
+++ b/src/coreComponents/dataRepository/LogLevelsInfo.hpp
@@ -0,0 +1,90 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * 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.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file LogLevelsInfo.hpp
+ * This file contains log level information infrastructure and the mecanism to ensure LOG_LEVEL_INFO structure is valid
+ */
+#ifndef GEOS_COMMON_LOGLEVELSINFO_HPP
+#define GEOS_COMMON_LOGLEVELSINFO_HPP
+
+#include "common/DataTypes.hpp"
+#include "common/format/Format.hpp"
+
+namespace geos
+{
+
+/**
+ * @brief Trait used to check whether a LOG_LEVEL_INFO structure is valid.
+ * @tparam LOG_LEVEL_INFO The log level structure to check.
+ *
+ * A log level structure must have this following
+ * struct LogName
+ * {
+ * static constexpr int getMinLogLevel() { return 1; }
+ * static constexpr std::string_view getDescription() { return "Log level description"; }
+ * };
+ */
+template< typename LOG_LEVEL_INFO >
+static constexpr bool is_log_level_info =
+ std::is_same_v< integer, decltype(LOG_LEVEL_INFO::getMinLogLevel()) > &&
+ std::is_same_v< std::string_view, decltype(LOG_LEVEL_INFO::getDescription()) >;
+
+/**
+ * @brief Verify if a log level is active
+ * @tparam LOG_LEVEL_INFO The structure containing log level information.
+ * @param level Log level to be checked.
+ * @return `true` if the log level is active, `false` otherwise.
+ * @pre `LOG_LEVEL_INFO` must satisfy `logInfo::is_log_level_info`.
+ *
+ */
+template< typename LOG_LEVEL_INFO >
+std::enable_if_t< is_log_level_info< LOG_LEVEL_INFO >, bool >
+isLogLevelActive( integer level )
+{
+ return level >= LOG_LEVEL_INFO::getMinLogLevel();
+}
+
+/** ThOSE 3 macros would replace the ones in Logger.hpp */
+/**
+ * @brief Output messages based on current Group's log level.
+ * @param[in] logInfoStruct Strut containing log level desscription
+ * @param[in] msg a message to log (any expression that can be stream inserted)
+ */
+#define GEOS_LOG_LEVEL_INFO( logInfoStruct, msg ) GEOS_LOG_IF( isLogLevelActive< logInfoStruct >( this->getLogLevel() ), msg );
+
+/**
+ * @brief Output messages (only on rank 0) based on current Group's log level.
+ * @param[in] logInfoStruct Strut containing log level desscription
+ * @param[in] msg a message to log (any expression that can be stream inserted)
+ */
+#define GEOS_LOG_LEVEL_INFO_RANK_0( logInfoStruct, msg ) GEOS_LOG_RANK_0_IF( isLogLevelActive< logInfoStruct >( this->getLogLevel() ), msg );
+
+/**
+ * @brief Output messages (with one line per rank) based on current Group's log level.
+ * @param[in] logInfoStruct Strut containing log level desscription
+ * @param[in] msg a message to log (any expression that can be stream inserted)
+ */
+#define GEOS_LOG_LEVEL_INFO_BY_RANK( logInfoStruct, msg ) GEOS_LOG_RANK_IF( isLogLevelActive< logInfoStruct >( this->getLogLevel() ), msg );
+
+/**
+ * @brief Output messages (only on rank 0) based on current Group's log level without the line return.
+ * @param[in] logInfoStruct Strut containing log level desscription
+ * @param[in] msg a message to log (any expression that can be stream inserted)
+ */
+#define GEOS_LOG_LEVEL_INFO_RANK_0_NLR( logInfoStruct, msg ) GEOS_LOG_RANK_0_IF_NLR( isLogLevelActive< logInfoStruct >( this->getLogLevel() ), msg );
+
+}
+
+#endif // GEOS_COMMON_LOGLEVELSINFO_HPP
diff --git a/src/coreComponents/dataRepository/LogLevelsRegistry.cpp b/src/coreComponents/dataRepository/LogLevelsRegistry.cpp
new file mode 100644
index 00000000000..ae3e48ccd72
--- /dev/null
+++ b/src/coreComponents/dataRepository/LogLevelsRegistry.cpp
@@ -0,0 +1,43 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * 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 "LogLevelsRegistry.hpp"
+
+namespace geos
+{
+
+void LogLevelsRegistry::addEntry( integer condition, std::string_view description )
+{
+ m_logLevelsDescriptions[condition].push_back( string( description ) );
+}
+
+string LogLevelsRegistry::buildLogLevelDescription() const
+{
+ std::ostringstream description;
+ description << "Sets the level of information to write in the standard output (the console typically).\n"
+ "Level 0 outputs no specific information for this solver. Higher levels require more outputs.";
+ for( auto const & [logLevel, logDescriptions] : m_logLevelsDescriptions )
+ {
+ description << GEOS_FMT( "\n{}\n", logLevel );
+ for( size_t idxDesc = 0; idxDesc < logDescriptions.size(); idxDesc++ )
+ {
+ description << " - " << logDescriptions[idxDesc];
+ if( idxDesc != logDescriptions.size() - 1 )
+ description << '\n';
+ }
+ }
+ return description.str();
+}
+
+}
diff --git a/src/coreComponents/dataRepository/LogLevelsRegistry.hpp b/src/coreComponents/dataRepository/LogLevelsRegistry.hpp
new file mode 100644
index 00000000000..88b38224cdc
--- /dev/null
+++ b/src/coreComponents/dataRepository/LogLevelsRegistry.hpp
@@ -0,0 +1,60 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * 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.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file LogLevelsRegistry.hpp
+ */
+
+#ifndef GEOS_COMMON_LOGLEVELSREGISTRY_HPP
+#define GEOS_COMMON_LOGLEVELSREGISTRY_HPP
+
+#include "common/DataTypes.hpp"
+#include "common/format/Format.hpp"
+
+namespace geos
+{
+
+/**
+ * @brief Keep track of log level documention for a group
+ */
+class LogLevelsRegistry
+{
+public:
+
+ /**
+ * @brief Add a log description for a wrapper
+ * @param level The minimum log level
+ * @param description The description for the log level
+ */
+ void addEntry( integer level, std::string_view description );
+
+ /**
+ * @brief Construct the log level string description for a wrapper
+ * @return The log level string description
+ */
+ string buildLogLevelDescription() const;
+
+private:
+
+ /**
+ * @brief Map for building the log level string for each wrapper.
+ * key : a logLevel condition, values : a set of description for a corresponding loglevel.
+ */
+ std::map< integer, std::vector< std::string > > m_logLevelsDescriptions;
+
+};
+
+}
+
+#endif
diff --git a/src/coreComponents/dataRepository/MappedVector.hpp b/src/coreComponents/dataRepository/MappedVector.hpp
index 82fd0d6f3b3..4fe016be1c1 100644
--- a/src/coreComponents/dataRepository/MappedVector.hpp
+++ b/src/coreComponents/dataRepository/MappedVector.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/ObjectCatalog.hpp b/src/coreComponents/dataRepository/ObjectCatalog.hpp
index 71c7d7a2f84..c03715e09df 100644
--- a/src/coreComponents/dataRepository/ObjectCatalog.hpp
+++ b/src/coreComponents/dataRepository/ObjectCatalog.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/ReferenceWrapper.hpp b/src/coreComponents/dataRepository/ReferenceWrapper.hpp
index 930710ef6d1..0bd8b374b5e 100644
--- a/src/coreComponents/dataRepository/ReferenceWrapper.hpp
+++ b/src/coreComponents/dataRepository/ReferenceWrapper.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/RestartFlags.hpp b/src/coreComponents/dataRepository/RestartFlags.hpp
index c827ee4d0bb..3188c7ad601 100644
--- a/src/coreComponents/dataRepository/RestartFlags.hpp
+++ b/src/coreComponents/dataRepository/RestartFlags.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/Utilities.cpp b/src/coreComponents/dataRepository/Utilities.cpp
index d8c6d9e1c34..37180553677 100644
--- a/src/coreComponents/dataRepository/Utilities.cpp
+++ b/src/coreComponents/dataRepository/Utilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/Utilities.hpp b/src/coreComponents/dataRepository/Utilities.hpp
index 18ab6cc9c0c..c88cc3290e7 100644
--- a/src/coreComponents/dataRepository/Utilities.hpp
+++ b/src/coreComponents/dataRepository/Utilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/Wrapper.hpp b/src/coreComponents/dataRepository/Wrapper.hpp
index d3a5255a4d1..881d9df2a6c 100644
--- a/src/coreComponents/dataRepository/Wrapper.hpp
+++ b/src/coreComponents/dataRepository/Wrapper.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/WrapperBase.cpp b/src/coreComponents/dataRepository/WrapperBase.cpp
index 0c1aa286d06..518bf4dfed2 100644
--- a/src/coreComponents/dataRepository/WrapperBase.cpp
+++ b/src/coreComponents/dataRepository/WrapperBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/WrapperBase.hpp b/src/coreComponents/dataRepository/WrapperBase.hpp
index dfc4baa69a1..8737beb8473 100644
--- a/src/coreComponents/dataRepository/WrapperBase.hpp
+++ b/src/coreComponents/dataRepository/WrapperBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/WrapperContext.cpp b/src/coreComponents/dataRepository/WrapperContext.cpp
index 71a2d5259da..253a2d9c053 100644
--- a/src/coreComponents/dataRepository/WrapperContext.cpp
+++ b/src/coreComponents/dataRepository/WrapperContext.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/WrapperContext.hpp b/src/coreComponents/dataRepository/WrapperContext.hpp
index cf12d1ba166..7c1b059919d 100644
--- a/src/coreComponents/dataRepository/WrapperContext.hpp
+++ b/src/coreComponents/dataRepository/WrapperContext.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/docs/Group.rst b/src/coreComponents/dataRepository/docs/Group.rst
index 39547980be3..370ac8937b9 100644
--- a/src/coreComponents/dataRepository/docs/Group.rst
+++ b/src/coreComponents/dataRepository/docs/Group.rst
@@ -119,3 +119,9 @@ Looping Interface
:language: c++
:start-after: //START_SPHINX_INCLUDE_LOOP_INTERFACE
:end-before: //END_SPHINX_INCLUDE_LOOP_INTERFACE
+
+
+Doxygen API documentation
+-------------------------
+
+`Group API <../../../doxygen_output/html/classgeos_1_1data_repository_1_1_group.html>`_
diff --git a/src/coreComponents/dataRepository/docs/MappedVector.rst b/src/coreComponents/dataRepository/docs/MappedVector.rst
index 260c448d376..22cb211d39b 100644
--- a/src/coreComponents/dataRepository/docs/MappedVector.rst
+++ b/src/coreComponents/dataRepository/docs/MappedVector.rst
@@ -41,7 +41,7 @@ Element access
In addition to these, an STL-conformant iterator interface is available via ``begin()`` and ``end()`` methods.
The type iterated over is a key-pointer pair (provided as `value_type` alias).
-API documentation
------------------
+Doxygen API documentation
+-------------------------
-`MappedVector <../../../doxygen_output/html/classgeos_1_1_mapped_vector.html>`_
+`MappedVector API <../../../doxygen_output/html/classgeos_1_1_mapped_vector.html>`_
diff --git a/src/coreComponents/dataRepository/docs/Wrapper.rst b/src/coreComponents/dataRepository/docs/Wrapper.rst
index 27f4b8815d9..e7f44040f38 100644
--- a/src/coreComponents/dataRepository/docs/Wrapper.rst
+++ b/src/coreComponents/dataRepository/docs/Wrapper.rst
@@ -124,7 +124,7 @@ The type ``DefaultValue`` is used to store the default value for the wrapper.
``DefaultValue`` is actually not a type but an alias for another internal struct.
As such, it cannot currently be specialized for a user's custom type.
-API documentation
------------------
+Doxygen API documentation
+-------------------------
-`Wrapper <../../../doxygen_output/html/classgeos_1_1data_repository_1_1_wrapper.html>`_
+`Wrapper API <../../../doxygen_output/html/classgeos_1_1data_repository_1_1_wrapper.html>`_
diff --git a/src/coreComponents/dataRepository/docs/dataRepository.rst b/src/coreComponents/dataRepository/docs/dataRepository.rst
index 16b82289bba..221cb8823cf 100644
--- a/src/coreComponents/dataRepository/docs/dataRepository.rst
+++ b/src/coreComponents/dataRepository/docs/dataRepository.rst
@@ -6,14 +6,16 @@ Data Repository
The GEOS "Data Repository" is intended to provide the building blocks for the code structure within GEOS.
The "Data Repository" provides a general capability to store arbitrary data and objects in a hierarchical
-structure, similar to a standard file system.
+structure, similar to a standard file system. The "Wrapper" object is a generic container for any object,
+and provides a standard interface for accessing an object and performing standard operations.
+The "Group" object is a container for "Wrapper" and other "Group" objects.
-The components/classes of the data structure that a developer will require some knowledge of are:
+The components/classes of the data structure that a developer should have some knowledge of are:
.. toctree::
:maxdepth: 2
- /coreComponents/dataRepository/docs/MappedVector
/coreComponents/dataRepository/docs/Group
/coreComponents/dataRepository/docs/Wrapper
/coreComponents/dataRepository/docs/ObjectCatalog
+ /coreComponents/dataRepository/docs/MappedVector
diff --git a/src/coreComponents/dataRepository/python/PyGroup.cpp b/src/coreComponents/dataRepository/python/PyGroup.cpp
index 2a822d7d303..a9dbe024844 100644
--- a/src/coreComponents/dataRepository/python/PyGroup.cpp
+++ b/src/coreComponents/dataRepository/python/PyGroup.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/python/PyGroup.hpp b/src/coreComponents/dataRepository/python/PyGroup.hpp
index 57b51ffef9f..fc5d70ea934 100644
--- a/src/coreComponents/dataRepository/python/PyGroup.hpp
+++ b/src/coreComponents/dataRepository/python/PyGroup.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/python/PyGroupType.hpp b/src/coreComponents/dataRepository/python/PyGroupType.hpp
index ce19e5be4f0..042442a9f36 100644
--- a/src/coreComponents/dataRepository/python/PyGroupType.hpp
+++ b/src/coreComponents/dataRepository/python/PyGroupType.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/python/PyWrapper.cpp b/src/coreComponents/dataRepository/python/PyWrapper.cpp
index 0e986d3814b..cff2b890e95 100644
--- a/src/coreComponents/dataRepository/python/PyWrapper.cpp
+++ b/src/coreComponents/dataRepository/python/PyWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/python/PyWrapper.hpp b/src/coreComponents/dataRepository/python/PyWrapper.hpp
index 8350df82bc5..b6bb4400a07 100644
--- a/src/coreComponents/dataRepository/python/PyWrapper.hpp
+++ b/src/coreComponents/dataRepository/python/PyWrapper.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testBufferOps.cpp b/src/coreComponents/dataRepository/unitTests/testBufferOps.cpp
index 434124f1c79..0f3c469f345 100644
--- a/src/coreComponents/dataRepository/unitTests/testBufferOps.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testBufferOps.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testDefaultValue.cpp b/src/coreComponents/dataRepository/unitTests/testDefaultValue.cpp
index 0befe6db35b..92f5861fa7d 100644
--- a/src/coreComponents/dataRepository/unitTests/testDefaultValue.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testDefaultValue.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testPacking.cpp b/src/coreComponents/dataRepository/unitTests/testPacking.cpp
index 890d6a7e60f..4befe364d83 100644
--- a/src/coreComponents/dataRepository/unitTests/testPacking.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testPacking.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testReferenceWrapper.cpp b/src/coreComponents/dataRepository/unitTests/testReferenceWrapper.cpp
index 718cf1a5de4..15db54edc25 100644
--- a/src/coreComponents/dataRepository/unitTests/testReferenceWrapper.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testReferenceWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testWrapper.cpp b/src/coreComponents/dataRepository/unitTests/testWrapper.cpp
index 6384491af9e..6982cec6560 100644
--- a/src/coreComponents/dataRepository/unitTests/testWrapper.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/unitTests/testXmlWrapper.cpp b/src/coreComponents/dataRepository/unitTests/testXmlWrapper.cpp
index 105c4bccac9..32141eb0e28 100644
--- a/src/coreComponents/dataRepository/unitTests/testXmlWrapper.cpp
+++ b/src/coreComponents/dataRepository/unitTests/testXmlWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -16,6 +16,7 @@
#include
#include "dataRepository/xmlWrapper.hpp"
+#include "codingUtilities/EnumStrings.hpp"
using namespace geos;
@@ -328,6 +329,32 @@ INSTANTIATE_TEST_SUITE_P(
std::make_tuple( "1 2", 0, true )));
+enum class TestEnum { None, Default, Value, Value2 };
+ENUM_STRINGS( TestEnum, "None", "Default", "Value", "Value2" );
+
+class enumAttributeTestFixture : public AttributeReadTestFixture< TestEnum > {};
+
+TEST_P( enumAttributeTestFixture, testParsing )
+{
+ testParams = GetParam();
+ this->test();
+}
+
+INSTANTIATE_TEST_SUITE_P(
+ enumAttributeTests,
+ enumAttributeTestFixture,
+ ::testing::Values( std::make_tuple( "None", TestEnum::None, false ),
+ std::make_tuple( "Default", TestEnum::Default, false ),
+ std::make_tuple( "Value", TestEnum::Value, false ),
+ std::make_tuple( "Value2", TestEnum::Value2, false ),
+ std::make_tuple( "0", TestEnum( 0 ), true ),
+ std::make_tuple( "4.", TestEnum( 0 ), true ),
+ std::make_tuple( "alpha", TestEnum( 0 ), true ),
+ std::make_tuple( "Val", TestEnum( 0 ), true ),
+ std::make_tuple( "Def ault", TestEnum( 0 ), true ),
+ std::make_tuple( "None123", TestEnum( 0 ), true ) ) );
+
+
TEST( testXmlWrapper, testGroupNamesFormats )
{
struct GroupNameTest
diff --git a/src/coreComponents/dataRepository/wrapperHelpers.hpp b/src/coreComponents/dataRepository/wrapperHelpers.hpp
index 70af42750e0..021dbf018e3 100644
--- a/src/coreComponents/dataRepository/wrapperHelpers.hpp
+++ b/src/coreComponents/dataRepository/wrapperHelpers.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/dataRepository/xmlWrapper.cpp b/src/coreComponents/dataRepository/xmlWrapper.cpp
index 4b4759980a0..e2e7d85332c 100644
--- a/src/coreComponents/dataRepository/xmlWrapper.cpp
+++ b/src/coreComponents/dataRepository/xmlWrapper.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -35,8 +35,8 @@ namespace xmlWrapper
void validateString( string const & value, Regex const & regex )
{
std::smatch m;
- bool inputValidated = std::regex_search( value, m, std::regex( regex.m_regexStr ) );
- if( !inputValidated || m.length() != ptrdiff_t( value.length() ) )
+ bool inputValidated = std::regex_match( value, m, std::regex( regex.m_regexStr ) );
+ if( !inputValidated )
{
ptrdiff_t errorId = ( m.size()>0 && m.position( 0 )==0 ) ? m.length() : 0;
GEOS_THROW( GEOS_FMT( "Input string validation failed at:\n"
diff --git a/src/coreComponents/dataRepository/xmlWrapper.hpp b/src/coreComponents/dataRepository/xmlWrapper.hpp
index f73f3ecaa7e..3909184a5be 100644
--- a/src/coreComponents/dataRepository/xmlWrapper.hpp
+++ b/src/coreComponents/dataRepository/xmlWrapper.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/CMakeLists.txt b/src/coreComponents/denseLinearAlgebra/CMakeLists.txt
index 791767bc5c6..1d15320355c 100644
--- a/src/coreComponents/denseLinearAlgebra/CMakeLists.txt
+++ b/src/coreComponents/denseLinearAlgebra/CMakeLists.txt
@@ -1,6 +1,7 @@
# Specify all headers
set( denseLinearAlgebra_headers
common/layouts.hpp
+ denseLASolvers.hpp
interfaces/blaslapack/BlasLapackFunctions.h
interfaces/blaslapack/BlasLapackLA.hpp )
@@ -10,14 +11,21 @@ set( denseLinearAlgebra_sources
set( dependencyList codingUtilities blas lapack ${parallelDeps} )
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
+
blt_add_library( NAME denseLinearAlgebra
SOURCES ${denseLinearAlgebra_sources}
HEADERS ${denseLinearAlgebra_headers}
- DEPENDS_ON ${dependencyList}
- OBJECT ${GEOS_BUILD_OBJ_LIBS} )
+ DEPENDS_ON ${decoratedDependencies}
+ OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
+ )
target_include_directories( denseLinearAlgebra PUBLIC ${CMAKE_CURRENT_LIST_DIR} )
+install( TARGETS denseLinearAlgebra LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
+
if( GEOS_ENABLE_TESTS )
add_subdirectory( unitTests )
endif( )
diff --git a/src/coreComponents/denseLinearAlgebra/common/layouts.hpp b/src/coreComponents/denseLinearAlgebra/common/layouts.hpp
index b5c6ce39eef..9e9415afa2b 100644
--- a/src/coreComponents/denseLinearAlgebra/common/layouts.hpp
+++ b/src/coreComponents/denseLinearAlgebra/common/layouts.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/denseLASolvers.hpp b/src/coreComponents/denseLinearAlgebra/denseLASolvers.hpp
new file mode 100644
index 00000000000..bdc2b22614f
--- /dev/null
+++ b/src/coreComponents/denseLinearAlgebra/denseLASolvers.hpp
@@ -0,0 +1,319 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+/**
+ * @file denseLASolvers.hpp
+ */
+#ifndef GEOS_DENSELINEARALGEBRA_DENSELASOLVERS_HPP_
+#define GEOS_DENSELINEARALGEBRA_DENSELASOLVERS_HPP_
+
+#include "common/DataTypes.hpp"
+#include "denseLinearAlgebra/common/layouts.hpp"
+#include "LvArray/src/tensorOps.hpp"
+#include "common/logger/Logger.hpp"
+
+#include
+
+namespace geos
+{
+
+namespace denseLinearAlgebra
+{
+
+namespace details
+{
+
+constexpr real64 singularMatrixTolerance = 1e2*LvArray::NumericLimits< real64 >::epsilon;
+
+/**
+ * @brief Solves a 2x2 linear system A * x = b.
+ *
+ * This function solves a linear system of the form A * x = b, where A is a 2x2 matrix,
+ * b is a 2x1 vector, and x is the solution vector. The function checks the sizes
+ * of the inputs to ensure they conform to the expected dimensions. It also checks that
+ * the determinant of matrix A is not near zero to avoid solving a singular system.
+ *
+ * @tparam MATRIX_TYPE The type of the matrix A. Must support indexing with `A[i][j]`.
+ * @tparam RHS_TYPE The type of the right-hand side vector b. Must support indexing with `b[i]`.
+ * @tparam SOL_TYPE The type of the solution vector x. Must support indexing with `x[i]`.
+ *
+ * @param[in] A The 2x2 matrix representing the system of equations. Must have size 2x2.
+ * @param[in] b The 2-element vector representing the right-hand side of the equation.
+ * @param[out] x The 2-element vector that will store the solution to the system.
+ * @return bool that sepcifies whether the solve succeeded (1) or not (0).
+ */
+template< typename MATRIX_TYPE,
+ typename RHS_TYPE,
+ typename SOL_TYPE >
+GEOS_HOST_DEVICE
+inline
+bool solveTwoByTwoSystem( MATRIX_TYPE const & A, RHS_TYPE const & b, SOL_TYPE && x )
+{
+ LvArray::tensorOps::internal::checkSizes< 2, 2 >( A );
+ LvArray::tensorOps::internal::checkSizes< 2 >( b );
+ LvArray::tensorOps::internal::checkSizes< 2 >( x );
+
+ real64 const detA = LvArray::tensorOps::determinant< 2 >( A );
+
+ if( LvArray::math::abs( detA ) < singularMatrixTolerance )
+ return false;
+
+ real64 const invA = 1.0 / detA;
+
+ x[0] = ( A[1][1] * b[0] - A[0][1] * b[1] ) * invA;
+ x[1] = ( A[0][0] * b[1] - A[1][0] * b[0] ) * invA;
+
+ return true;
+}
+
+/**
+ * @brief Solves a 3x3 linear system A * x = b.
+ *
+ * This function solves a linear system of the form A * x = b, where A is a 3x3 matrix,
+ * b is a 3x1 vector, and x is the solution vector. The function checks the sizes
+ * of the inputs to ensure they conform to the expected dimensions. It also checks that
+ * the determinant of matrix A is not near zero to avoid solving a singular system.
+ *
+ * @tparam MATRIX_TYPE The type of the matrix A. Must support indexing with `A[i][j]`.
+ * @tparam RHS_TYPE The type of the right-hand side vector b. Must support indexing with `b[i]`.
+ * @tparam SOL_TYPE The type of the solution vector x. Must support indexing with `x[i]`.
+ *
+ * @param[in] A The 3x3 matrix representing the system of equations. Must have size 3x3.
+ * @param[in] b The 3-element vector representing the right-hand side of the equation.
+ * @param[out] x The 3-element vector that will store the solution to the system.
+ * @return bool that sepcifies whether the solve succeeded (1) or not (0).
+ */
+template< typename MATRIX_TYPE,
+ typename RHS_TYPE,
+ typename SOL_TYPE >
+GEOS_HOST_DEVICE
+inline
+bool solveThreeByThreeSystem( MATRIX_TYPE const & A, RHS_TYPE const & b, SOL_TYPE && x )
+{
+ LvArray::tensorOps::internal::checkSizes< 3, 3 >( A );
+ LvArray::tensorOps::internal::checkSizes< 3 >( b );
+ LvArray::tensorOps::internal::checkSizes< 3 >( x );
+
+ real64 const detA = LvArray::tensorOps::determinant< 3 >( A );
+
+ if( LvArray::math::abs( detA ) < singularMatrixTolerance )
+ return false;
+
+ real64 const invA = 1.0 / detA;
+
+ real64 const detX0 = b[0] * ( A[1][1] * A[2][2] - A[2][1] * A[1][2] ) -
+ b[1] * ( A[0][1] * A[2][2] - A[0][2] * A[2][1] ) +
+ b[2] * ( A[0][1] * A[1][2] - A[0][2] * A[1][1] );
+
+ real64 const detX1 = A[0][0] * ( b[1] * A[2][2] - b[2] * A[1][2] ) -
+ A[1][0] * ( b[0] * A[2][2] - b[2] * A[0][2] ) +
+ A[2][0] * ( b[0] * A[1][2] - b[1] * A[0][2] );
+
+ real64 const detX2 = A[0][0] * ( A[1][1] * b[2] - A[2][1] * b[1] ) -
+ A[1][0] * ( A[0][1] * b[2] - A[2][1] * b[0] ) +
+ A[2][0] * ( A[0][1] * b[1] - A[1][1] * b[0] );
+
+ x[0] = detX0 * invA;
+ x[1] = detX1 * invA;
+ x[2] = detX2 * invA;
+
+ return true;
+}
+
+/**
+ * @brief Solves a linear system where the matrix is upper triangular using back substitution.
+ *
+ * This function solves the linear system `Ax = b`, where `A` is an upper triangular matrix, using
+ * back substitution. The solution `x` is computed and stored in the provided output vector.
+ *
+ * @tparam N The size of the square matrix `A`.
+ * @tparam MATRIX_TYPE The type of the matrix `A`.
+ * @tparam RHS_TYPE The type of the right-hand side vector `b`.
+ * @tparam SOL_TYPE The type of the solution vector `x`.
+ * @param[in] A The upper triangular matrix representing the coefficients of the system.
+ * @param[in] b The right-hand side vector. It is used to compute the solution.
+ * @param[out] x The solution vector. The result of solving the system `Ax = b` using back substitution.
+ */
+template< std::ptrdiff_t N,
+ typename MATRIX_TYPE,
+ typename RHS_TYPE,
+ typename SOL_TYPE >
+GEOS_HOST_DEVICE
+inline
+void solveUpperTriangularSystem( MATRIX_TYPE const & A, RHS_TYPE const & b, SOL_TYPE && x )
+{
+ for( std::ptrdiff_t i = N - 1; i >= 0; --i )
+ {
+ real64 sum = b[i];
+ for( std::ptrdiff_t j = i + 1; j < N; ++j )
+ {
+ sum -= A[i][j] * x[j];
+ }
+ x[i] = sum / A[i][i];
+ }
+}
+
+/**
+ * @brief Solves a linear system using Gaussian elimination.
+ *
+ * This function performs Gaussian elimination on the given matrix `A` and right-hand side vector `b`.
+ * It transforms the matrix `A` boolo an upper triangular matrix and then solves for the solution `x`
+ * using back substitution.
+ *
+ * @tparam N The size of the square matrix `A`.
+ * @tparam MATRIX_TYPE The type of the matrix `A`.
+ * @tparam RHS_TYPE The type of the right-hand side vector `b`.
+ * @tparam SOL_TYPE The type of the solution vector `x`.
+ * @param[in,out] A The matrix to be transformed boolo an upper triangular matrix. Modified in place.
+ * @param[in,out] b The right-hand side vector. Modified in place to reflect the transformed system.
+ * @param[out] x The solution vector. The result of solving the system `Ax = b`.
+ * @return bool that sepcifies whether the solve succeeded (1) or not (0).
+ */
+template< std::ptrdiff_t N,
+ typename MATRIX_TYPE,
+ typename RHS_TYPE,
+ typename SOL_TYPE >
+GEOS_HOST_DEVICE
+inline
+bool solveGaussianElimination( MATRIX_TYPE & A, RHS_TYPE & b, SOL_TYPE && x )
+{
+ static_assert( N > 0, "N must be greater than 0." );
+ LvArray::tensorOps::internal::checkSizes< N, N >( A );
+ LvArray::tensorOps::internal::checkSizes< N >( b );
+ LvArray::tensorOps::internal::checkSizes< N >( x );
+
+ // Step 1: Transform boolo an upper triangular matrix
+
+ // 1.a. Find the pivot
+ for( std::ptrdiff_t i = 0; i < N; ++i )
+ {
+ std::ptrdiff_t max_row = i;
+ for( std::ptrdiff_t k = i + 1; k < N; ++k )
+ {
+ if( LvArray::math::abs( A[k][i] ) > LvArray::math::abs( A[max_row][i] ))
+ {
+ max_row = k;
+ }
+ }
+
+ // 1.b. Swap rows
+ for( std::ptrdiff_t k = i; k < N; ++k )
+ {
+ // std::swap( A[i][k], A[max_row][k] );
+ real64 const temp = A[max_row][k];
+ A[max_row][k] = A[i][k];
+ A[i][k] = temp;
+ }
+ // std::swap( b[i], b[max_row] ); cannot be done on device
+ real64 const temp = b[i];
+ b[i] = b[max_row];
+ b[max_row] = temp;
+
+
+ if( LvArray::math::abs( A[i][i] ) < singularMatrixTolerance )
+ return false;
+
+ // 1.c Eliminate entries below the pivot
+ for( std::ptrdiff_t k = i + 1; k < N; ++k )
+ {
+ real64 const scaling = A[k][i] / A[i][i];
+ for( std::ptrdiff_t j = i; j < N; ++j )
+ {
+ A[k][j] -= scaling * A[i][j];
+ }
+ b[k] -= scaling * b[i];
+ }
+ }
+
+ // Step 2: Backward substitution
+ solveUpperTriangularSystem< N >( A, b, std::forward< SOL_TYPE >( x ) );
+
+ return true;
+}
+
+} // details namespace
+
+/**
+ * @brief Solves a linear system using the most appropriate method based on the size of the system.
+ *
+ * This function determines the appropriate method for solving a linear system `Ax = b` based on
+ * the size of the matrix `A`. For 2x2 and 3x3 systems, specialized solvers are used. For larger systems,
+ * Gaussian elimination is employed. The matrix and the rhs are modified by the function.
+ *
+ * @tparam N The size of the square matrix `A`.
+ * @tparam MATRIX_TYPE The type of the matrix `A`.
+ * @tparam RHS_TYPE The type of the right-hand side vector `b`.
+ * @tparam SOL_TYPE The type of the solution vector `x`.
+ * @tparam MODIFY_MATRIX boolean flag indicating whether the input matrix `A` and vector `b` should be modified.
+ * If `1`, the matrix `A` and vector `b` are modified in place. If `0`, copies of
+ * `A` and `b` are made, and the original data is left unchanged.
+ * @param[in] A The matrix representing the coefficients of the system.
+ * @param[in] b The right-hand side vector.
+ * @param[out] x The solution vector. The result of solving the system `Ax = b`.
+ * @return bool that sepcifies whether the solve succeeded (1) or not (0).
+ */
+template< std::ptrdiff_t N,
+ typename MATRIX_TYPE,
+ typename RHS_TYPE,
+ typename SOL_TYPE,
+ bool MODIFY_MATRIX = 1 >
+GEOS_HOST_DEVICE
+inline
+bool solve( MATRIX_TYPE & A, RHS_TYPE & b, SOL_TYPE && x )
+{
+ static_assert( N > 0, "N must be greater than 0." );
+ static_assert( N < 10, "N cannot be larger than 9" );
+ LvArray::tensorOps::internal::checkSizes< N, N >( A );
+ LvArray::tensorOps::internal::checkSizes< N >( b );
+ LvArray::tensorOps::internal::checkSizes< N >( x );
+
+ if constexpr ( N == 2 )
+ {
+ return details::solveTwoByTwoSystem( A, b, std::forward< SOL_TYPE >( x ) );
+ }
+ else if constexpr ( N == 3 )
+ {
+ return details::solveThreeByThreeSystem( A, b, std::forward< SOL_TYPE >( x ) );
+ }
+ else
+ {
+ if constexpr ( MODIFY_MATRIX )
+ {
+ return details::solveGaussianElimination< N >( A, b, std::forward< SOL_TYPE >( x ) );
+ }
+ else
+ {
+ real64 A_copy[N][N]{};
+ real64 b_copy[N]{};
+
+ for( std::ptrdiff_t i=0; i < N; ++i )
+ {
+ b_copy[i] = b[i];
+ for( std::ptrdiff_t j=0; j < N; ++j )
+ {
+ A_copy[i][j] = A[i][j];
+ }
+ }
+ return details::solveGaussianElimination< N >( A_copy, b_copy, std::forward< SOL_TYPE >( x ) );
+ }
+ }
+}
+
+} // denseLinearAlgebra
+
+} // geos
+
+
+#endif /*GEOS_DENSELINEARALGEBRA_DENSELASOLVERS_HPP_*/
diff --git a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackFunctions.h b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackFunctions.h
index d427d81e238..c3716c8a870 100644
--- a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackFunctions.h
+++ b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackFunctions.h
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.cpp b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.cpp
index e9831519596..d9f1405cec4 100644
--- a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.cpp
+++ b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.hpp b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.hpp
index 3e626119a13..370c4c4ee5d 100644
--- a/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.hpp
+++ b/src/coreComponents/denseLinearAlgebra/interfaces/blaslapack/BlasLapackLA.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/unitTests/CMakeLists.txt b/src/coreComponents/denseLinearAlgebra/unitTests/CMakeLists.txt
index 114dee90aac..5334abc1acb 100644
--- a/src/coreComponents/denseLinearAlgebra/unitTests/CMakeLists.txt
+++ b/src/coreComponents/denseLinearAlgebra/unitTests/CMakeLists.txt
@@ -1,6 +1,7 @@
set( serial_tests
testBlasLapack.cpp
- testSolveLinearSystem.cpp )
+ testSolveLinearSystem.cpp
+ testDenseLASolvers.cpp )
set( dependencyList gtest denseLinearAlgebra )
diff --git a/src/coreComponents/denseLinearAlgebra/unitTests/testBlasLapack.cpp b/src/coreComponents/denseLinearAlgebra/unitTests/testBlasLapack.cpp
index 42f98d6c2a0..51abc10565e 100644
--- a/src/coreComponents/denseLinearAlgebra/unitTests/testBlasLapack.cpp
+++ b/src/coreComponents/denseLinearAlgebra/unitTests/testBlasLapack.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/unitTests/testDenseLASolvers.cpp b/src/coreComponents/denseLinearAlgebra/unitTests/testDenseLASolvers.cpp
new file mode 100644
index 00000000000..5ec47ac1982
--- /dev/null
+++ b/src/coreComponents/denseLinearAlgebra/unitTests/testDenseLASolvers.cpp
@@ -0,0 +1,219 @@
+/*
+ * ------------------------------------------------------------------------------------------------------------
+ * SPDX-License-Identifier: LGPL-2.1-only
+ *
+ * Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
+ * Copyright (c) 2018-2024 Total, S.A
+ * Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
+ * Copyright (c) 2023-2024 Chevron
+ * Copyright (c) 2019- GEOS/GEOSX Contributors
+ * All rights reserved
+ *
+ * See top level LICENSE, COPYRIGHT, CONTRIBUTORS, NOTICE, and ACKNOWLEDGEMENTS files for details.
+ * ------------------------------------------------------------------------------------------------------------
+ */
+
+#include "denseLinearAlgebra/denseLASolvers.hpp"
+#include "common/GEOS_RAJA_Interface.hpp"
+#include "testUtils.hpp"
+
+// TPL includes
+#include
+
+#include
+
+namespace geos
+{
+namespace denseLinearAlgebra
+{
+namespace testing
+{
+
+constexpr real64 machinePrecision = 1.0e3 * LvArray::NumericLimits< real64 >::epsilon;
+
+template< std::ptrdiff_t N >
+class LinearSystem
+{
+public:
+ real64 matrix[N][N]{};
+ real64 solution[N]{};
+ real64 rhs[N]{};
+};
+
+template< std::ptrdiff_t N >
+class InvertibleLinearSystem : public LinearSystem< N >
+{
+public:
+ using LinearSystem< N >::matrix;
+ using LinearSystem< N >::solution;
+ using LinearSystem< N >::rhs;
+
+ InvertibleLinearSystem( short int seed )
+ {
+ std::mt19937 generator( seed );
+ std::uniform_real_distribution< real64 > distribution( -10.0, 10.0 );
+ std::uniform_real_distribution< real64 > perturbation( -20.0, 20.0 );
+ for( ptrdiff_t i=0; i
+class SingularLinearSystem : public LinearSystem< N >
+{
+public:
+ using LinearSystem< N >::matrix;
+ using LinearSystem< N >::solution;
+ using LinearSystem< N >::rhs;
+
+ SingularLinearSystem( short int seed )
+ {
+ std::mt19937 generator( seed );
+ std::uniform_real_distribution< real64 > distribution( -10.0, 10.0 );
+ for( ptrdiff_t i=0; i
+class DenseLinearSolverTest : public ::testing::Test
+{
+public:
+
+ static constexpr std::ptrdiff_t size = N::value;
+
+ DenseLinearSolverTest() = default;
+ ~DenseLinearSolverTest() override = default;
+
+ void test_solve()
+ {
+ InvertibleLinearSystem< size > LS( 2024 );
+
+ // GEOS_UNUSED_VAR(LS);
+
+ forAll< parallelDevicePolicy<> >( 1, [=] GEOS_HOST_DEVICE ( int )
+ {
+ real64 sol[size]{};
+ real64 matrix[size][size]{};
+ real64 rhs[size]{};
+
+ LvArray::tensorOps::copy< size, size >( matrix, LS.matrix );
+ LvArray::tensorOps::copy< size >( rhs, LS.rhs );
+ bool const success = denseLinearAlgebra::solve< size >( matrix, rhs, sol );
+
+ PORTABLE_EXPECT_TRUE( success );
+
+ for( std::ptrdiff_t i = 0; i < size; ++i )
+ {
+ PORTABLE_EXPECT_NEAR( sol[i],
+ LS.solution[i],
+ machinePrecision );
+ }
+ } );
+ }
+ void test_singularSystem()
+ {
+ SingularLinearSystem< size > LS( 2024 );
+
+ forAll< parallelDevicePolicy<> >( 1, [=] GEOS_HOST_DEVICE ( int )
+ {
+
+ real64 sol[size]{};
+ real64 matrix[size][size]{};
+ real64 rhs[size]{};
+
+ LvArray::tensorOps::copy< size, size >( matrix, LS.matrix );
+ LvArray::tensorOps::copy< size >( rhs, LS.rhs );
+ bool const success = denseLinearAlgebra::solve< size >( matrix, rhs, sol );
+
+ PORTABLE_EXPECT_FALSE( success );
+ } );
+ }
+
+};
+
+using Dimensions = ::testing::Types< std::integral_constant< std::ptrdiff_t, 2 >,
+ std::integral_constant< std::ptrdiff_t, 3 >,
+ std::integral_constant< std::ptrdiff_t, 4 >,
+ std::integral_constant< std::ptrdiff_t, 5 >,
+ std::integral_constant< std::ptrdiff_t, 6 >,
+ std::integral_constant< std::ptrdiff_t, 7 >,
+ std::integral_constant< std::ptrdiff_t, 8 >,
+ std::integral_constant< std::ptrdiff_t, 9 > >;
+
+
+class NameGenerator
+{
+public:
+ template< typename T >
+ static std::string GetName( int )
+ {
+ if constexpr (T::value == 2) return "TwoByTwo";
+ if constexpr (T::value == 3) return "ThreeByThree";
+ if constexpr (T::value == 4) return "FourByFour";
+ if constexpr (T::value == 5) return "FiveByFive";
+ if constexpr (T::value == 6) return "SixBySix";
+ if constexpr (T::value == 7) return "SevenBySeven";
+ if constexpr (T::value == 8) return "EightByEight";
+ if constexpr (T::value == 9) return "NineByNine";
+ }
+};
+
+TYPED_TEST_SUITE( DenseLinearSolverTest, Dimensions, NameGenerator );
+
+TYPED_TEST( DenseLinearSolverTest, testDenseLA )
+{
+ this->test_solve();
+ this->test_singularSystem();
+}
+
+int main( int argc, char * * argv )
+{
+ ::testing::InitGoogleTest( &argc, argv );
+ int const result = RUN_ALL_TESTS();
+ return result;
+}
+
+} // testing
+
+} // denseLinearAlgebra
+
+} // namespace geos
diff --git a/src/coreComponents/denseLinearAlgebra/unitTests/testSolveLinearSystem.cpp b/src/coreComponents/denseLinearAlgebra/unitTests/testSolveLinearSystem.cpp
index 5fc85de2864..678332963a0 100644
--- a/src/coreComponents/denseLinearAlgebra/unitTests/testSolveLinearSystem.cpp
+++ b/src/coreComponents/denseLinearAlgebra/unitTests/testSolveLinearSystem.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/denseLinearAlgebra/unitTests/testUtils.hpp b/src/coreComponents/denseLinearAlgebra/unitTests/testUtils.hpp
new file mode 100644
index 00000000000..17f093a569b
--- /dev/null
+++ b/src/coreComponents/denseLinearAlgebra/unitTests/testUtils.hpp
@@ -0,0 +1,34 @@
+
+#include "common/GeosxMacros.hpp"
+
+// TPL includes
+#include
+
+
+namespace geos
+{
+namespace denseLinearAlgebra
+{
+namespace testing
+{
+
+
+#if defined(GEOS_DEVICE_COMPILE)
+#define PORTABLE_EXPECT_EQ( L, R ) GEOS_ERROR_IF_NE( L, R )
+#define PORTABLE_EXPECT_NEAR( L, R, EPSILON ) LVARRAY_ERROR_IF_GE_MSG( LvArray::math::abs( ( L ) -( R ) ), EPSILON, \
+ STRINGIZE( L ) " = " << ( L ) << "\n" << STRINGIZE( R ) " = " << ( R ) );
+#define PORTABLE_EXPECT_TRUE( value ) GEOS_ERROR_IF( !value, "should be true" )
+#define PORTABLE_EXPECT_FALSE( value ) GEOS_ERROR_IF( value, "should be false" )
+#else
+#define PORTABLE_EXPECT_EQ( L, R ) EXPECT_EQ( L, R )
+#define PORTABLE_EXPECT_NEAR( L, R, EPSILON ) EXPECT_LE( LvArray::math::abs( ( L ) -( R ) ), EPSILON ) << \
+ STRINGIZE( L ) " = " << ( L ) << "\n" << STRINGIZE( R ) " = " << ( R );
+#define PORTABLE_EXPECT_TRUE( value ) EXPECT_TRUE( value )
+#define PORTABLE_EXPECT_FALSE( value ) EXPECT_FALSE( value )
+#endif
+
+} //namespace testing
+
+} // namespace denseLinearAlgebra
+
+} // namespace geos
diff --git a/src/coreComponents/discretizationMethods/CMakeLists.txt b/src/coreComponents/discretizationMethods/CMakeLists.txt
index 220d535ab28..06d03ca8fa9 100644
--- a/src/coreComponents/discretizationMethods/CMakeLists.txt
+++ b/src/coreComponents/discretizationMethods/CMakeLists.txt
@@ -13,12 +13,17 @@ set( dependencyList ${parallelDeps} finiteVolume )
set( mainInterface_sources
NumericalMethodsManager.cpp )
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
+
blt_add_library( NAME discretizationMethods
SOURCES ${mainInterface_sources}
HEADERS ${mainInterface_headers}
- DEPENDS_ON ${dependencyList}
+ DEPENDS_ON ${decoratedDependencies}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
target_include_directories( discretizationMethods PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS discretizationMethods LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
diff --git a/src/coreComponents/discretizationMethods/NumericalMethodsManager.cpp b/src/coreComponents/discretizationMethods/NumericalMethodsManager.cpp
index 9a14cced080..b57a2fe5192 100644
--- a/src/coreComponents/discretizationMethods/NumericalMethodsManager.cpp
+++ b/src/coreComponents/discretizationMethods/NumericalMethodsManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/discretizationMethods/NumericalMethodsManager.hpp b/src/coreComponents/discretizationMethods/NumericalMethodsManager.hpp
index 311358874ff..3db8a3e6a7b 100644
--- a/src/coreComponents/discretizationMethods/NumericalMethodsManager.hpp
+++ b/src/coreComponents/discretizationMethods/NumericalMethodsManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/discretizationMethods/docs/NumericalMethodsManager.rst b/src/coreComponents/discretizationMethods/docs/NumericalMethodsManager.rst
index ff8e3d19238..312b3acba67 100644
--- a/src/coreComponents/discretizationMethods/docs/NumericalMethodsManager.rst
+++ b/src/coreComponents/discretizationMethods/docs/NumericalMethodsManager.rst
@@ -5,7 +5,7 @@ Numerical Methods
This section describes the specification of numerical methods used by solvers.
-.. include:: /coreComponents/schema/docs/NumericalMethods.rst
+.. include:: /docs/sphinx/datastructure/NumericalMethods.rst
.. include:: /coreComponents/finiteElement/docs/FiniteElement.rst.txt
diff --git a/src/coreComponents/dummy.cpp b/src/coreComponents/dummy.cpp
index 6bd5eb6f17d..e64d16594db 100644
--- a/src/coreComponents/dummy.cpp
+++ b/src/coreComponents/dummy.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/CMakeLists.txt b/src/coreComponents/events/CMakeLists.txt
index 59217e42f7d..3a7fe6a7a92 100644
--- a/src/coreComponents/events/CMakeLists.txt
+++ b/src/coreComponents/events/CMakeLists.txt
@@ -24,14 +24,19 @@ set( events_sources
tasks/TasksManager.cpp
)
-set( dependencyList ${parallelDeps} common fileIO dataRepository )
+set( dependencyList ${parallelDeps} functions )
+
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
blt_add_library( NAME events
SOURCES ${events_sources}
HEADERS ${events_headers}
- DEPENDS_ON ${dependencyList}
+ DEPENDS_ON ${decoratedDependencies}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
target_include_directories( events PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS events LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
diff --git a/src/coreComponents/events/EventBase.cpp b/src/coreComponents/events/EventBase.cpp
index a6ca2e8f004..5a185d1c719 100644
--- a/src/coreComponents/events/EventBase.cpp
+++ b/src/coreComponents/events/EventBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/EventBase.hpp b/src/coreComponents/events/EventBase.hpp
index fdcd3c72a08..25a13175ffc 100644
--- a/src/coreComponents/events/EventBase.hpp
+++ b/src/coreComponents/events/EventBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/EventManager.cpp b/src/coreComponents/events/EventManager.cpp
index 6dc12b5624d..11515e27574 100644
--- a/src/coreComponents/events/EventManager.cpp
+++ b/src/coreComponents/events/EventManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -21,7 +21,7 @@
#include "common/TimingMacros.hpp"
#include "events/EventBase.hpp"
-#include "mesh/mpiCommunications/CommunicationTools.hpp"
+#include "common/MpiWrapper.hpp"
#include "common/Units.hpp"
namespace geos
diff --git a/src/coreComponents/events/EventManager.hpp b/src/coreComponents/events/EventManager.hpp
index b541efe6b58..f60c004fbf2 100644
--- a/src/coreComponents/events/EventManager.hpp
+++ b/src/coreComponents/events/EventManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/HaltEvent.cpp b/src/coreComponents/events/HaltEvent.cpp
index 5286740d90f..f4381f0b0fb 100644
--- a/src/coreComponents/events/HaltEvent.cpp
+++ b/src/coreComponents/events/HaltEvent.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/HaltEvent.hpp b/src/coreComponents/events/HaltEvent.hpp
index 98ae88e3540..5614484e54a 100644
--- a/src/coreComponents/events/HaltEvent.hpp
+++ b/src/coreComponents/events/HaltEvent.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/PeriodicEvent.cpp b/src/coreComponents/events/PeriodicEvent.cpp
index 88d24228199..bb55daa3b19 100644
--- a/src/coreComponents/events/PeriodicEvent.cpp
+++ b/src/coreComponents/events/PeriodicEvent.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/PeriodicEvent.hpp b/src/coreComponents/events/PeriodicEvent.hpp
index d7d2f996838..a737400358a 100644
--- a/src/coreComponents/events/PeriodicEvent.hpp
+++ b/src/coreComponents/events/PeriodicEvent.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/SoloEvent.cpp b/src/coreComponents/events/SoloEvent.cpp
index e7ef26e0771..5f3b1e87738 100644
--- a/src/coreComponents/events/SoloEvent.cpp
+++ b/src/coreComponents/events/SoloEvent.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/SoloEvent.hpp b/src/coreComponents/events/SoloEvent.hpp
index 8fb67c00966..ce53eba8f5f 100644
--- a/src/coreComponents/events/SoloEvent.hpp
+++ b/src/coreComponents/events/SoloEvent.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/docs/EventManager.rst b/src/coreComponents/events/docs/EventManager.rst
index 76c94493feb..8fe6ace3bb8 100644
--- a/src/coreComponents/events/docs/EventManager.rst
+++ b/src/coreComponents/events/docs/EventManager.rst
@@ -52,8 +52,8 @@ Event
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The children of the Event block define the events that may execute during a simulation. These may be of type ``HaltEvent``, ``PeriodicEvent``, or ``SoloEvent``. The exit criteria for the global event loop are defined by the attributes ``maxTime`` and ``maxCycle`` (which by default are set to their max values). If the optional logLevel flag is set, the EventManager will report additional information with regards to timestep requests and event forecasts for its children.
-.. include:: ../../../coreComponents/schema/docs/Events.rst
-
+.. include:: /docs/sphinx/datastructure/Events.rst
+ :start-line: 3
PeriodicEvent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -67,21 +67,22 @@ By default, a PeriodicEvent will execute throughout the entire simulation. This
The timestep request event is typically determined via its target. However, this value can be overridden by setting the ``forceDt`` or ``maxEventDt`` attributes.
-.. include:: ../../../coreComponents/schema/docs/PeriodicEvent.rst
-
+.. include:: /docs/sphinx/datastructure/PeriodicEvent.rst
+ :start-line: 3
SoloEvent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This type of event will execute once once the event loop reaches a certain cycle (targetCycle) or time (targetTime). Similar to the PeriodicEvent type, this event will modify its timestep requests so that a cycle occurs at the exact time requested (this can be turned off by specifying targetExactTimestep="0"). The forecast calculations follow an similar approach to the PeriodicEvent type.
-.. include:: ../../../coreComponents/schema/docs/SoloEvent.rst
-
+.. include:: /docs/sphinx/datastructure/SoloEvent.rst
+ :start-line: 3
HaltEvent
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This event type is designed to track the wall clock. When the time exceeds the value specified via maxRunTime, the event will trigger and set a flag that instructs the main EventManager loop to cleanly exit at the end of the current cycle. The event for cast for this event type is given by: ``forecast = (maxRuntime - (currentTime - startTime)) / realDt``
-.. include:: ../../../coreComponents/schema/docs/HaltEvent.rst
+.. include:: /docs/sphinx/datastructure/HaltEvent.rst
+ :start-line: 3
diff --git a/src/coreComponents/events/docs/TasksManager.rst b/src/coreComponents/events/docs/TasksManager.rst
index c0e5740b483..49ca88b6dc6 100644
--- a/src/coreComponents/events/docs/TasksManager.rst
+++ b/src/coreComponents/events/docs/TasksManager.rst
@@ -21,13 +21,15 @@ Task
***************************
The children of the Tasks block define different Tasks to be triggered by events specified in the :ref:`EventManager` during the execution of the simulation. At present the only supported task is the ``PackCollection`` used to collect time history data for output by a TimeHistory output.
-.. include:: ../../../coreComponents/schema/docs/Tasks.rst
-
+.. include:: /docs/sphinx/datastructure/Tasks.rst
+ :start-line: 3
+
PackCollection
***************************
The ``PackCollection`` Task is used to collect time history information from fields. Either the entire field or specified named sets of indices in the field can be collected.
-.. include:: ../../../coreComponents/schema/docs/PackCollection.rst
+.. include:: /docs/sphinx/datastructure/PackCollection.rst
+ :start-line: 3
Note: The time history information collected via this task is buffered internally until it is output by a linked TimeHistory Output.
diff --git a/src/coreComponents/events/tasks/TaskBase.cpp b/src/coreComponents/events/tasks/TaskBase.cpp
index fa81594d6e3..1a885b95ec2 100644
--- a/src/coreComponents/events/tasks/TaskBase.cpp
+++ b/src/coreComponents/events/tasks/TaskBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/tasks/TaskBase.hpp b/src/coreComponents/events/tasks/TaskBase.hpp
index 7e4f4d5b02f..c8744e18e15 100644
--- a/src/coreComponents/events/tasks/TaskBase.hpp
+++ b/src/coreComponents/events/tasks/TaskBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/tasks/TasksManager.cpp b/src/coreComponents/events/tasks/TasksManager.cpp
index 851a6fc8e7a..ad23ae788b1 100644
--- a/src/coreComponents/events/tasks/TasksManager.cpp
+++ b/src/coreComponents/events/tasks/TasksManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/events/tasks/TasksManager.hpp b/src/coreComponents/events/tasks/TasksManager.hpp
index 8b052585e72..79117b59437 100644
--- a/src/coreComponents/events/tasks/TasksManager.hpp
+++ b/src/coreComponents/events/tasks/TasksManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.cpp b/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.cpp
index 5eeccb0f095..dffd783e997 100644
--- a/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.cpp
+++ b/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -19,8 +19,6 @@
#include "AquiferBoundaryCondition.hpp"
-#include "mesh/DomainPartition.hpp"
-
namespace geos
{
diff --git a/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.hpp b/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.hpp
index 0e7a21f9603..9ee270df074 100644
--- a/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.hpp
+++ b/src/coreComponents/fieldSpecification/AquiferBoundaryCondition.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -118,7 +118,7 @@ class AquiferBoundaryCondition : public FieldSpecificationBase
};
- /// @copydoc FieldSpecificationBase(string const &, Group *)
+ /// @copydoc FieldSpecificationBase(string const &, dataRepository::Group *)
AquiferBoundaryCondition( string const & name, Group * parent );
/// deleted default constructor
diff --git a/src/coreComponents/fieldSpecification/CMakeLists.txt b/src/coreComponents/fieldSpecification/CMakeLists.txt
index d13d6a6c795..943e95ab809 100644
--- a/src/coreComponents/fieldSpecification/CMakeLists.txt
+++ b/src/coreComponents/fieldSpecification/CMakeLists.txt
@@ -26,14 +26,19 @@ set( fieldSpecification_sources
PerfectlyMatchedLayer.cpp
)
-set( dependencyList ${parallelDeps} functions linearAlgebra )
+set( dependencyList ${parallelDeps} mesh )
+
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
blt_add_library( NAME fieldSpecification
SOURCES ${fieldSpecification_sources}
HEADERS ${fieldSpecification_headers}
- DEPENDS_ON ${dependencyList}
+ DEPENDS_ON ${decoratedDependencies}
OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
)
target_include_directories( fieldSpecification PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS fieldSpecification LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
diff --git a/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.cpp b/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.cpp
index 4aaaf2c83c4..69229b5814f 100644
--- a/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.cpp
+++ b/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.hpp b/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.hpp
index 0884672d294..589171fcd4e 100644
--- a/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.hpp
+++ b/src/coreComponents/fieldSpecification/DirichletBoundaryCondition.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.cpp b/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.cpp
index 5a08bfa5347..14a4f0cf60d 100644
--- a/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.cpp
+++ b/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.hpp b/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.hpp
index f9e53715558..9cff7dd6a93 100644
--- a/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.hpp
+++ b/src/coreComponents/fieldSpecification/EquilibriumInitialCondition.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -34,7 +34,7 @@ class EquilibriumInitialCondition : public FieldSpecificationBase
{
public:
- /// @copydoc FieldSpecificationBase(string const &, Group *)
+ /// @copydoc FieldSpecificationBase(string const &, dataRepository::Group *)
EquilibriumInitialCondition( string const & name, Group * parent );
/// deleted default constructor
diff --git a/src/coreComponents/fieldSpecification/FieldSpecificationBase.cpp b/src/coreComponents/fieldSpecification/FieldSpecificationBase.cpp
index dd6444dcddd..45e58177dd4 100644
--- a/src/coreComponents/fieldSpecification/FieldSpecificationBase.cpp
+++ b/src/coreComponents/fieldSpecification/FieldSpecificationBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -17,8 +17,6 @@
#include "common/MpiWrapper.hpp"
#include "fieldSpecification/FieldSpecificationManager.hpp"
-#include "mesh/DomainPartition.hpp"
-
namespace geos
{
diff --git a/src/coreComponents/fieldSpecification/FieldSpecificationBase.hpp b/src/coreComponents/fieldSpecification/FieldSpecificationBase.hpp
index b76ec17f808..8306eafca0b 100644
--- a/src/coreComponents/fieldSpecification/FieldSpecificationBase.hpp
+++ b/src/coreComponents/fieldSpecification/FieldSpecificationBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -26,7 +26,6 @@
#include "codingUtilities/Utilities.hpp"
#include "dataRepository/Group.hpp"
#include "functions/FunctionBase.hpp"
-#include "linearAlgebra/interfaces/InterfaceTypes.hpp"
#include "common/FieldSpecificationOps.hpp"
#include "mesh/ObjectManagerBase.hpp"
#include "mesh/MeshObjectPath.hpp"
diff --git a/src/coreComponents/fieldSpecification/FieldSpecificationManager.cpp b/src/coreComponents/fieldSpecification/FieldSpecificationManager.cpp
index b24582179e4..6edc963b457 100644
--- a/src/coreComponents/fieldSpecification/FieldSpecificationManager.cpp
+++ b/src/coreComponents/fieldSpecification/FieldSpecificationManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/FieldSpecificationManager.hpp b/src/coreComponents/fieldSpecification/FieldSpecificationManager.hpp
index 5ce5f1f9e01..91672902314 100644
--- a/src/coreComponents/fieldSpecification/FieldSpecificationManager.hpp
+++ b/src/coreComponents/fieldSpecification/FieldSpecificationManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -25,8 +25,6 @@
#include "common/format/StringUtilities.hpp"
#include "common/DataTypes.hpp"
#include "common/TimingMacros.hpp"
-#include "mesh/ObjectManagerBase.hpp"
-#include "mesh/DomainPartition.hpp"
namespace geos
{
diff --git a/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.cpp b/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.cpp
index 193fb636d17..42a360dff3a 100644
--- a/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.cpp
+++ b/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.hpp b/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.hpp
index f0f67dd00d3..ce7a6151b2b 100644
--- a/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.hpp
+++ b/src/coreComponents/fieldSpecification/PerfectlyMatchedLayer.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -22,13 +22,10 @@
#define GEOS_FIELDSPECIFICATION_PERFECTLYMATCHEDLAYER_HPP_
#include "FieldSpecificationBase.hpp"
-#include "mesh/DomainPartition.hpp"
namespace geos
{
-class DomainPartition;
-
/**
* @class PerfectlyMatchedLayer
* A class to manage Perfectly Matched Layer for wave propagation solvers
diff --git a/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.cpp b/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.cpp
index 720e015ea1d..c3d68b14bf7 100644
--- a/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.cpp
+++ b/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.hpp b/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.hpp
index bb1cbeaa899..e04aa99b9d0 100644
--- a/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.hpp
+++ b/src/coreComponents/fieldSpecification/SourceFluxBoundaryCondition.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/TractionBoundaryCondition.cpp b/src/coreComponents/fieldSpecification/TractionBoundaryCondition.cpp
index ac644adbc79..9feb2731c58 100644
--- a/src/coreComponents/fieldSpecification/TractionBoundaryCondition.cpp
+++ b/src/coreComponents/fieldSpecification/TractionBoundaryCondition.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fieldSpecification/TractionBoundaryCondition.hpp b/src/coreComponents/fieldSpecification/TractionBoundaryCondition.hpp
index e1ba3890d7c..a64404f40de 100644
--- a/src/coreComponents/fieldSpecification/TractionBoundaryCondition.hpp
+++ b/src/coreComponents/fieldSpecification/TractionBoundaryCondition.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -36,7 +36,7 @@ class TableFunction;
class TractionBoundaryCondition : public FieldSpecificationBase
{
public:
- /// @copydoc FieldSpecificationBase(string const &, Group *)
+ /// @copydoc FieldSpecificationBase(string const &, dataRepository::Group *)
TractionBoundaryCondition( string const & name, Group * parent );
/// deleted default constructor
diff --git a/src/coreComponents/fieldSpecification/docs/AquiferBoundaryCondition.rst b/src/coreComponents/fieldSpecification/docs/AquiferBoundaryCondition.rst
index 86e22f1349b..fff21095fe4 100644
--- a/src/coreComponents/fieldSpecification/docs/AquiferBoundaryCondition.rst
+++ b/src/coreComponents/fieldSpecification/docs/AquiferBoundaryCondition.rst
@@ -156,7 +156,7 @@ The main Carter-Tracy parameters and the expected units are listed below:
The full list of parameters is provided below:
-.. include:: /coreComponents/schema/docs/Aquifer.rst
+.. include:: /docs/sphinx/datastructure/Aquifer.rst
Examples
===============
diff --git a/src/coreComponents/fieldSpecification/docs/EquilibriumInitialCondition.rst b/src/coreComponents/fieldSpecification/docs/EquilibriumInitialCondition.rst
index a3489725b82..3967e4d5831 100644
--- a/src/coreComponents/fieldSpecification/docs/EquilibriumInitialCondition.rst
+++ b/src/coreComponents/fieldSpecification/docs/EquilibriumInitialCondition.rst
@@ -58,7 +58,7 @@ These parameters are used with the fluid density model (depending for compositio
The full list of parameters is provided below:
-.. include:: /coreComponents/schema/docs/HydrostaticEquilibrium.rst
+.. include:: /docs/sphinx/datastructure/HydrostaticEquilibrium.rst
Examples
diff --git a/src/coreComponents/fileIO/CMakeLists.txt b/src/coreComponents/fileIO/CMakeLists.txt
index 84c758fa2b2..3b70d456190 100644
--- a/src/coreComponents/fileIO/CMakeLists.txt
+++ b/src/coreComponents/fileIO/CMakeLists.txt
@@ -28,7 +28,7 @@ set( fileIO_sources
timeHistory/PackCollection.cpp
timeHistory/HDFHistoryIO.cpp )
-set( dependencyList ${parallelDeps} mesh constitutive HDF5::HDF5 )
+set( dependencyList ${parallelDeps} events mesh HDF5::HDF5 )
if( ENABLE_PYGEOSX )
list( APPEND fileIO_headers
python/PyHistoryCollectionType.hpp
@@ -79,15 +79,21 @@ if( ENABLE_CUDA AND ENABLE_CUDA_NVTOOLSEXT )
list( APPEND dependencyList CUDA::nvToolsExt )
endif()
+geos_decorate_link_dependencies( LIST decoratedDependencies
+ DEPENDENCIES ${dependencyList} )
+
blt_add_library( NAME fileIO
SOURCES ${fileIO_sources}
HEADERS ${fileIO_headers}
- DEPENDS_ON ${dependencyList}
- OBJECT ${GEOS_BUILD_OBJ_LIBS} )
+ DEPENDS_ON ${decoratedDependencies}
+ OBJECT ${GEOS_BUILD_OBJ_LIBS}
+ SHARED ${GEOS_BUILD_SHARED_LIBS}
+ )
target_include_directories( fileIO PUBLIC ${CMAKE_SOURCE_DIR}/coreComponents )
+install( TARGETS fileIO LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib )
diff --git a/src/coreComponents/fileIO/Outputs/BlueprintOutput.cpp b/src/coreComponents/fileIO/Outputs/BlueprintOutput.cpp
index aecbf821a58..21457e7796e 100644
--- a/src/coreComponents/fileIO/Outputs/BlueprintOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/BlueprintOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/BlueprintOutput.hpp b/src/coreComponents/fileIO/Outputs/BlueprintOutput.hpp
index d45c7c638d0..7d17570d47d 100644
--- a/src/coreComponents/fileIO/Outputs/BlueprintOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/BlueprintOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/ChomboIO.cpp b/src/coreComponents/fileIO/Outputs/ChomboIO.cpp
index 0923d603e4c..674f1e4eace 100644
--- a/src/coreComponents/fileIO/Outputs/ChomboIO.cpp
+++ b/src/coreComponents/fileIO/Outputs/ChomboIO.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/ChomboIO.hpp b/src/coreComponents/fileIO/Outputs/ChomboIO.hpp
index d816f2094b1..c483f066968 100644
--- a/src/coreComponents/fileIO/Outputs/ChomboIO.hpp
+++ b/src/coreComponents/fileIO/Outputs/ChomboIO.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/OutputBase.cpp b/src/coreComponents/fileIO/Outputs/OutputBase.cpp
index a09086396f4..0733dd38cc5 100644
--- a/src/coreComponents/fileIO/Outputs/OutputBase.cpp
+++ b/src/coreComponents/fileIO/Outputs/OutputBase.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -19,13 +19,11 @@
#include "OutputBase.hpp"
#include "common/MpiWrapper.hpp"
+#include "functions/FunctionBase.hpp"
namespace geos
{
-string OutputBase::m_outputDirectory;
-string OutputBase::m_fileNameRoot;
-
using namespace dataRepository;
OutputBase::OutputBase( string const & name,
@@ -64,14 +62,33 @@ void OutputBase::initializePreSubGroups()
// SetupDirectoryStructure();
}
+
+
+string const & OutputBase::getOutputDirectory()
+{
+ static string m_outputDirectory;
+ return m_outputDirectory;
+}
+
void OutputBase::setOutputDirectory( string const & outputDir )
{
- m_outputDirectory = outputDir;
+ string & outputDirectory = const_cast< string & >( getOutputDirectory() );
+ outputDirectory = outputDir;
+ FunctionBase::setOutputDirectory( outputDirectory );
+}
+
+
+
+string const & OutputBase::getFileNameRoot()
+{
+ static string m_fileNameRoot;
+ return m_fileNameRoot;
}
void OutputBase::setFileNameRoot( string const & root )
{
- m_fileNameRoot = root;
+ string & fileRootName = const_cast< string & >( getFileNameRoot() );
+ fileRootName = root;
}
diff --git a/src/coreComponents/fileIO/Outputs/OutputBase.hpp b/src/coreComponents/fileIO/Outputs/OutputBase.hpp
index 6be32f38d2e..f4129433f7d 100644
--- a/src/coreComponents/fileIO/Outputs/OutputBase.hpp
+++ b/src/coreComponents/fileIO/Outputs/OutputBase.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -50,7 +50,7 @@ class OutputBase : public ExecutableGroup
* @brief Getter for the output directory
* @return The output directory
**/
- static string getOutputDirectory() {return m_outputDirectory;}
+ static string const & getOutputDirectory();
/**
* @brief Setter for the file name root
@@ -62,7 +62,7 @@ class OutputBase : public ExecutableGroup
* @brief Getter for the file name root
* @return The file name root
**/
- static string getFileNameRoot() { return m_fileNameRoot; }
+ static string const & getFileNameRoot();
/// Method for setting up output directories.
virtual void setupDirectoryStructure();
@@ -92,6 +92,8 @@ class OutputBase : public ExecutableGroup
**/
integer parallelThreads() const { return m_parallelThreads; }
+
+
protected:
/**
* @brief Do initialization prior to calling initialization operations
@@ -104,9 +106,6 @@ class OutputBase : public ExecutableGroup
string m_childDirectory;
integer m_parallelThreads;
- static string m_outputDirectory;
- static string m_fileNameRoot;
-
};
diff --git a/src/coreComponents/fileIO/Outputs/OutputManager.cpp b/src/coreComponents/fileIO/Outputs/OutputManager.cpp
index daf034aed81..19034f1326b 100644
--- a/src/coreComponents/fileIO/Outputs/OutputManager.cpp
+++ b/src/coreComponents/fileIO/Outputs/OutputManager.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/OutputManager.hpp b/src/coreComponents/fileIO/Outputs/OutputManager.hpp
index 5c0ac6c56b2..399b5fd21b0 100644
--- a/src/coreComponents/fileIO/Outputs/OutputManager.hpp
+++ b/src/coreComponents/fileIO/Outputs/OutputManager.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/OutputUtilities.cpp b/src/coreComponents/fileIO/Outputs/OutputUtilities.cpp
index a52c011ff57..dceca432602 100644
--- a/src/coreComponents/fileIO/Outputs/OutputUtilities.cpp
+++ b/src/coreComponents/fileIO/Outputs/OutputUtilities.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/OutputUtilities.hpp b/src/coreComponents/fileIO/Outputs/OutputUtilities.hpp
index b7484fc6310..1aa69d07527 100644
--- a/src/coreComponents/fileIO/Outputs/OutputUtilities.hpp
+++ b/src/coreComponents/fileIO/Outputs/OutputUtilities.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/PythonOutput.cpp b/src/coreComponents/fileIO/Outputs/PythonOutput.cpp
index cb528036998..e78f8835a06 100644
--- a/src/coreComponents/fileIO/Outputs/PythonOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/PythonOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/PythonOutput.hpp b/src/coreComponents/fileIO/Outputs/PythonOutput.hpp
index c5326f8a044..0e6c3cebb85 100644
--- a/src/coreComponents/fileIO/Outputs/PythonOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/PythonOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/RestartOutput.cpp b/src/coreComponents/fileIO/Outputs/RestartOutput.cpp
index 1704ec320bd..6fb7a2c6b19 100644
--- a/src/coreComponents/fileIO/Outputs/RestartOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/RestartOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/RestartOutput.hpp b/src/coreComponents/fileIO/Outputs/RestartOutput.hpp
index 5a728e1b7d6..a2a12be781c 100644
--- a/src/coreComponents/fileIO/Outputs/RestartOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/RestartOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/SiloOutput.cpp b/src/coreComponents/fileIO/Outputs/SiloOutput.cpp
index 1ade6b9955c..756facc2da1 100644
--- a/src/coreComponents/fileIO/Outputs/SiloOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/SiloOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/SiloOutput.hpp b/src/coreComponents/fileIO/Outputs/SiloOutput.hpp
index 1d736d14af4..bb3574f3745 100644
--- a/src/coreComponents/fileIO/Outputs/SiloOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/SiloOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.cpp b/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.cpp
index a99528b0057..d01edac3dcf 100644
--- a/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
@@ -23,6 +23,8 @@
namespace geos
{
+using namespace dataRepository;
+
TimeHistoryOutput::TimeHistoryOutput( string const & name,
Group * const parent ):
OutputBase( name, parent ),
@@ -59,8 +61,6 @@ TimeHistoryOutput::TimeHistoryOutput( string const & name,
void TimeHistoryOutput::initCollectorParallel( DomainPartition const & domain, HistoryCollection & collector )
{
- GEOS_ASSERT( m_io.empty() );
-
bool const freshInit = ( m_recordCount == 0 );
string const outputDirectory = getOutputDirectory();
diff --git a/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.hpp b/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.hpp
index 759719bc0d4..d7793943d9c 100644
--- a/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/TimeHistoryOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/VTKOutput.cpp b/src/coreComponents/fileIO/Outputs/VTKOutput.cpp
index 397e8c9e7d4..da364d0e4db 100644
--- a/src/coreComponents/fileIO/Outputs/VTKOutput.cpp
+++ b/src/coreComponents/fileIO/Outputs/VTKOutput.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/Outputs/VTKOutput.hpp b/src/coreComponents/fileIO/Outputs/VTKOutput.hpp
index afc490548fd..871a6497569 100644
--- a/src/coreComponents/fileIO/Outputs/VTKOutput.hpp
+++ b/src/coreComponents/fileIO/Outputs/VTKOutput.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/coupling/ChomboCoupler.cpp b/src/coreComponents/fileIO/coupling/ChomboCoupler.cpp
index 9abfa94d556..34761acb4a1 100644
--- a/src/coreComponents/fileIO/coupling/ChomboCoupler.cpp
+++ b/src/coreComponents/fileIO/coupling/ChomboCoupler.cpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/coupling/ChomboCoupler.hpp b/src/coreComponents/fileIO/coupling/ChomboCoupler.hpp
index 248744ece01..357ca59f8da 100644
--- a/src/coreComponents/fileIO/coupling/ChomboCoupler.hpp
+++ b/src/coreComponents/fileIO/coupling/ChomboCoupler.hpp
@@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 Total, S.A
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
- * Copyright (c) 2018-2024 Chevron
+ * Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
diff --git a/src/coreComponents/fileIO/doc/Outputs.rst b/src/coreComponents/fileIO/doc/Outputs.rst
index d46204a92e0..b8d91d92fed 100644
--- a/src/coreComponents/fileIO/doc/Outputs.rst
+++ b/src/coreComponents/fileIO/doc/Outputs.rst
@@ -28,7 +28,7 @@ The SILO output is defined through the ```` XML node (subnode of ``