From 07da0dcd4425012fd7f87c592937c2c5f734c62a Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 3 Feb 2026 12:10:01 -0600 Subject: [PATCH 01/26] feat: Add reference thermal conductivity --- inputFiles/singlePhaseWell/.gitattributes | 1 + inputFiles/singlePhaseWell/mesh_1d.vtr | 3 + .../singlePhaseWell/singlePhaseWell.ats | 7 + ...mal_compressible_single_phase_wells_1d.xml | 205 ++++++++++++++++++ .../SinglePhaseThermalConductivity.cpp | 35 ++- .../SinglePhaseThermalConductivity.hpp | 11 +- .../SinglePhaseThermalConductivityBase.cpp | 2 + .../SinglePhaseThermalConductivityBase.hpp | 12 +- .../ThermalConductivityFields.hpp | 8 + 9 files changed, 271 insertions(+), 13 deletions(-) create mode 100644 inputFiles/singlePhaseWell/.gitattributes create mode 100644 inputFiles/singlePhaseWell/mesh_1d.vtr create mode 100644 inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml diff --git a/inputFiles/singlePhaseWell/.gitattributes b/inputFiles/singlePhaseWell/.gitattributes new file mode 100644 index 00000000000..507ac808a4f --- /dev/null +++ b/inputFiles/singlePhaseWell/.gitattributes @@ -0,0 +1 @@ +mesh_1d.vtr filter=lfs diff=lfs merge=lfs -text diff --git a/inputFiles/singlePhaseWell/mesh_1d.vtr b/inputFiles/singlePhaseWell/mesh_1d.vtr new file mode 100644 index 00000000000..40f887362ab --- /dev/null +++ b/inputFiles/singlePhaseWell/mesh_1d.vtr @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6df3056da5d3838b0ef835e2d73b56b1623a150b41deb1329c242b4e1a0cc18d +size 2110 diff --git a/inputFiles/singlePhaseWell/singlePhaseWell.ats b/inputFiles/singlePhaseWell/singlePhaseWell.ats index 1f3dd38018f..c99fa7073e1 100644 --- a/inputFiles/singlePhaseWell/singlePhaseWell.ats +++ b/inputFiles/singlePhaseWell/singlePhaseWell.ats @@ -57,6 +57,13 @@ decks = [ partitions=((1, 1, 1), (2, 2, 2)), restart_step=5, check_step=10, + restartcheck_params=RestartcheckParameters(**restartcheck_params)), + TestDeck( + name="thermal_compressible_single_phase_wells_1d", + description='Thermal well test (1D, thermal, 1 wells)', + partitions=((1, 1, 1)), + restart_step=2, + check_step=0, restartcheck_params=RestartcheckParameters(**restartcheck_params)) ] diff --git a/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml b/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml new file mode 100644 index 00000000000..dd884c3dad9 --- /dev/null +++ b/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp index 00d77439387..5fb08ae2865 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp @@ -46,11 +46,30 @@ SinglePhaseThermalConductivity::SinglePhaseThermalConductivity( string const & n setDescription( "The reference temperature at which the conductivity components are equal to the default values" ); } +void SinglePhaseThermalConductivity::allocateConstitutiveData( Group & parent, localIndex const numPts ) +{ + SinglePhaseThermalConductivityBase::allocateConstitutiveData( parent, numPts ); + + integer constexpr numQuad = 1; // NOTE: enforcing 1 quadrature point + + arrayView3d< real64 > referenceThermalConductivity = m_referenceThermalConductivity.toView(); + + forAll< parallelDevicePolicy<> >( parent.size(), [=] GEOS_HOST_DEVICE ( localIndex const ei ) + { + for( localIndex q = 0; q < numQuad; ++q ) + { + referenceThermalConductivity[ei][q][0] = m_defaultThermalConductivityComponents[0]; + referenceThermalConductivity[ei][q][1] = m_defaultThermalConductivityComponents[1]; + referenceThermalConductivity[ei][q][2] = m_defaultThermalConductivityComponents[2]; + } + } ); +} + void SinglePhaseThermalConductivity::initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const { + arrayView3d< real64 const > referenceThermalConductivity = m_referenceThermalConductivity.toViewConst(); 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 ) @@ -58,9 +77,9 @@ void SinglePhaseThermalConductivity::initializeRockFluidState( arrayView2d< real // 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]; + effectiveConductivity[ei][q][0] = referenceThermalConductivity[ei][q][0]; + effectiveConductivity[ei][q][1] = referenceThermalConductivity[ei][q][1]; + effectiveConductivity[ei][q][2] = referenceThermalConductivity[ei][q][2]; dEffectiveConductivity_dT[ei][q][0] = thermalConductivityGradientComponents[0]; dEffectiveConductivity_dT[ei][q][1] = thermalConductivityGradientComponents[1]; @@ -71,9 +90,9 @@ void SinglePhaseThermalConductivity::initializeRockFluidState( arrayView2d< real void SinglePhaseThermalConductivity::updateFromTemperature( arrayView1d< real64 const > const & temperature ) const { + arrayView3d< real64 const > referenceThermalConductivity = m_referenceThermalConductivity.toViewConst(); 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; @@ -84,9 +103,9 @@ void SinglePhaseThermalConductivity::updateFromTemperature( arrayView1d< real64 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; + effectiveConductivity[ei][q][0] = referenceThermalConductivity[ei][q][0] + thermalConductivityGradientComponents[0] * deltaTemperature; + effectiveConductivity[ei][q][1] = referenceThermalConductivity[ei][q][1] + thermalConductivityGradientComponents[1] * deltaTemperature; + effectiveConductivity[ei][q][2] = referenceThermalConductivity[ei][q][2] + thermalConductivityGradientComponents[2] * deltaTemperature; for( localIndex i=0; i<=2; i++ ) { diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp index 2e65c26f48b..7c869e697f7 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp @@ -40,9 +40,11 @@ class SinglePhaseThermalConductivityUpdate : public SinglePhaseThermalConductivi * @param effectiveConductivity the array of cell-wise effective conductivities in the subregion * the subregion */ - SinglePhaseThermalConductivityUpdate( arrayView3d< real64 > const & effectiveConductivity, + SinglePhaseThermalConductivityUpdate( arrayView3d< real64 > const & referenceThermalConductivity, + arrayView3d< real64 > const & effectiveConductivity, arrayView3d< real64 > const & dEffectiveConductivity_dT ) - : SinglePhaseThermalConductivityBaseUpdate( effectiveConductivity, + : SinglePhaseThermalConductivityBaseUpdate( referenceThermalConductivity, + effectiveConductivity, dEffectiveConductivity_dT ) {} @@ -72,6 +74,8 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase virtual string getCatalogName() const override { return catalogName(); } + virtual void allocateConstitutiveData( Group & parent, localIndex const numPts ) override; + virtual void initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const override final; virtual void updateFromTemperature( arrayView1d< real64 const > const & temperature ) const override final; @@ -85,7 +89,8 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase */ KernelWrapper createKernelWrapper() const { - return KernelWrapper( m_effectiveConductivity, + return KernelWrapper( m_referenceThermalConductivity, + m_effectiveConductivity, m_dEffectiveConductivity_dT ); } diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp index 240a3792df4..a06fa8f17a0 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp @@ -31,6 +31,7 @@ namespace constitutive SinglePhaseThermalConductivityBase::SinglePhaseThermalConductivityBase( string const & name, Group * const parent ) : ConstitutiveBase( name, parent ) { + registerField< fields::thermalconductivity::referenceThermalConductivity >( &m_referenceThermalConductivity ); registerField< fields::thermalconductivity::effectiveConductivity >( &m_effectiveConductivity ); registerField< fields::thermalconductivity::dEffectiveConductivity_dT >( &m_dEffectiveConductivity_dT ); } @@ -38,6 +39,7 @@ SinglePhaseThermalConductivityBase::SinglePhaseThermalConductivityBase( string c void SinglePhaseThermalConductivityBase::allocateConstitutiveData( Group & parent, localIndex const numPts ) { // NOTE: enforcing 1 quadrature point + m_referenceThermalConductivity.resize( 0, 1, 3 ); m_effectiveConductivity.resize( 0, 1, 3 ); m_dEffectiveConductivity_dT.resize( 0, 1, 3 ); diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp index 09444cd7e06..ad5dcd0ec97 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp @@ -57,12 +57,17 @@ class SinglePhaseThermalConductivityBaseUpdate * @brief Constructor for the class performing the thermal conductivity updates * @param effectiveConductivity the array of cell-wise effective conductivities in the subregion */ - SinglePhaseThermalConductivityBaseUpdate( arrayView3d< real64 > const & effectiveConductivity, + SinglePhaseThermalConductivityBaseUpdate( arrayView3d< real64 > const & referenceThermalConductivity, + arrayView3d< real64 > const & effectiveConductivity, arrayView3d< real64 > const & dEffectiveConductivity_dT ) - : m_effectiveConductivity( effectiveConductivity ), + : m_referenceThermalConductivity( referenceThermalConductivity ), + m_effectiveConductivity( effectiveConductivity ), m_dEffectiveConductivity_dT( dEffectiveConductivity_dT ) {} + /// View on the cell-wise reference conductivities + arrayView3d< real64 > m_referenceThermalConductivity; + /// View on the cell-wise effective conductivities arrayView3d< real64 > m_effectiveConductivity; @@ -147,6 +152,9 @@ class SinglePhaseThermalConductivityBase : public ConstitutiveBase protected: + /// cell-wise reference conductivities in the subregion + array3d< real64 > m_referenceThermalConductivity; + /// cell-wise effective conductivities in the subregion array3d< real64 > m_effectiveConductivity; diff --git a/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp b/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp index a04c1a2bffc..35302d1e321 100644 --- a/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/ThermalConductivityFields.hpp @@ -48,6 +48,14 @@ DECLARE_FIELD( dEffectiveConductivity_dT, WRITE_AND_READ, "Derivative of effective conductivity w.r.t. temperature" ); +DECLARE_FIELD( referenceThermalConductivity, + "referenceThermalConductivity", + array3d< real64 >, + 0, + LEVEL_0, + WRITE_AND_READ, + "Reference thermal conductivity" ); + DECLARE_FIELD( rockThermalConductivity, "rockThermalConductivity", array3d< real64 >, From 66fc29412ffaf768d6ded7f963b9403427459418 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 3 Feb 2026 12:22:49 -0600 Subject: [PATCH 02/26] Update reference temperature --- .../thermal_compressible_single_phase_wells_1d.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml b/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml index dd884c3dad9..a31832a2072 100644 --- a/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml +++ b/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml @@ -112,7 +112,8 @@ + thermalConductivityGradientComponents="{ -1.2e-5, -1.2e-5, -1.5e-5 }" + referenceTemperature="380.15" /> Date: Tue, 3 Feb 2026 13:21:10 -0600 Subject: [PATCH 03/26] Fix ats file --- inputFiles/singlePhaseWell/singlePhaseWell.ats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputFiles/singlePhaseWell/singlePhaseWell.ats b/inputFiles/singlePhaseWell/singlePhaseWell.ats index c99fa7073e1..6f3a9ebb343 100644 --- a/inputFiles/singlePhaseWell/singlePhaseWell.ats +++ b/inputFiles/singlePhaseWell/singlePhaseWell.ats @@ -61,7 +61,7 @@ decks = [ TestDeck( name="thermal_compressible_single_phase_wells_1d", description='Thermal well test (1D, thermal, 1 wells)', - partitions=((1, 1, 1)), + partitions=((1, 1, 1),), restart_step=2, check_step=0, restartcheck_params=RestartcheckParameters(**restartcheck_params)) From ebe53a079faf0a7d8281d03d63f4db98e22e927d Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 3 Feb 2026 14:59:12 -0600 Subject: [PATCH 04/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index cba1657ab23..ac11c7b5009 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3940-15307-53de7ba + baseline: integratedTests/baseline_integratedTests-pr3959-15395-0c3212e allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 621dd209242..0e45bc823dc 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -6,6 +6,10 @@ 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 #3959 (2026-02-03) +===================== +Addition of reference thermal conductivity for thermal single phase + PR #3940 (2026-01-27) ===================== Fix the transimissibility calculated between a cell and a surface element From 88e907df231ff16012f71ffcc1175c5f2657b886 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 3 Feb 2026 15:05:15 -0600 Subject: [PATCH 05/26] Capture local variable for kernel launch --- .../thermalConductivity/SinglePhaseThermalConductivity.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp index 5fb08ae2865..3af6157b83f 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp @@ -53,14 +53,15 @@ void SinglePhaseThermalConductivity::allocateConstitutiveData( Group & parent, l integer constexpr numQuad = 1; // NOTE: enforcing 1 quadrature point arrayView3d< real64 > referenceThermalConductivity = m_referenceThermalConductivity.toView(); + R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents; forAll< parallelDevicePolicy<> >( parent.size(), [=] GEOS_HOST_DEVICE ( localIndex const ei ) { for( localIndex q = 0; q < numQuad; ++q ) { - referenceThermalConductivity[ei][q][0] = m_defaultThermalConductivityComponents[0]; - referenceThermalConductivity[ei][q][1] = m_defaultThermalConductivityComponents[1]; - referenceThermalConductivity[ei][q][2] = m_defaultThermalConductivityComponents[2]; + referenceThermalConductivity[ei][q][0] = defaultThermalConductivityComponents[0]; + referenceThermalConductivity[ei][q][1] = defaultThermalConductivityComponents[1]; + referenceThermalConductivity[ei][q][2] = defaultThermalConductivityComponents[2]; } } ); } From b8e7357912f68abd17c8eb675570fb778220f030 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Wed, 4 Feb 2026 09:38:12 -0600 Subject: [PATCH 06/26] Update schema --- src/coreComponents/schema/schema.xsd.other | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/coreComponents/schema/schema.xsd.other b/src/coreComponents/schema/schema.xsd.other index e77cc9d197a..1e2c85101fd 100644 --- a/src/coreComponents/schema/schema.xsd.other +++ b/src/coreComponents/schema/schema.xsd.other @@ -3215,6 +3215,8 @@ A field can represent a physical variable. (pressure, temperature, global compos + + From 1946e48d22300fa899420884a8f8029c186b7a9b Mon Sep 17 00:00:00 2001 From: dkachuma Date: Wed, 4 Feb 2026 11:19:55 -0600 Subject: [PATCH 07/26] Initialise thermal conductivity --- .integrated_tests.yaml | 2 +- .../SinglePhaseThermalConductivity.cpp | 38 ++++++++++++------- .../SinglePhaseThermalConductivity.hpp | 4 ++ .../SinglePhaseThermalConductivityBase.cpp | 3 ++ .../SinglePhaseThermalConductivityBase.hpp | 5 +++ .../surfaceGeneration/SurfaceGenerator.cpp | 9 +++++ 6 files changed, 47 insertions(+), 14 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index ac11c7b5009..cba1657ab23 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-15395-0c3212e + baseline: integratedTests/baseline_integratedTests-pr3940-15307-53de7ba allow_fail: all: '' diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp index 3af6157b83f..9ea5afdfbc1 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp @@ -50,20 +50,14 @@ void SinglePhaseThermalConductivity::allocateConstitutiveData( Group & parent, l { SinglePhaseThermalConductivityBase::allocateConstitutiveData( parent, numPts ); - integer constexpr numQuad = 1; // NOTE: enforcing 1 quadrature point - - arrayView3d< real64 > referenceThermalConductivity = m_referenceThermalConductivity.toView(); - R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents; + initializeState( parent.size()); +} - forAll< parallelDevicePolicy<> >( parent.size(), [=] GEOS_HOST_DEVICE ( localIndex const ei ) - { - for( localIndex q = 0; q < numQuad; ++q ) - { - referenceThermalConductivity[ei][q][0] = defaultThermalConductivityComponents[0]; - referenceThermalConductivity[ei][q][1] = defaultThermalConductivityComponents[1]; - referenceThermalConductivity[ei][q][2] = defaultThermalConductivityComponents[2]; - } - } ); +void SinglePhaseThermalConductivity::initializeState() const +{ + SinglePhaseThermalConductivityBase::initializeState(); + localIndex const size = m_referenceThermalConductivity.size( 0 ); + initializeState( size ); } void SinglePhaseThermalConductivity::initializeRockFluidState( arrayView2d< real64 const > const & initialPorosity ) const @@ -134,6 +128,24 @@ void SinglePhaseThermalConductivity::postInputInitialization() } +void SinglePhaseThermalConductivity::initializeState( localIndex const size ) const +{ + integer constexpr numQuad = 1; // NOTE: enforcing 1 quadrature point + + arrayView3d< real64 > referenceThermalConductivity = m_referenceThermalConductivity.toView(); + R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents; + + forAll< parallelDevicePolicy<> >( size, [=] GEOS_HOST_DEVICE ( localIndex const ei ) + { + for( localIndex q = 0; q < numQuad; ++q ) + { + referenceThermalConductivity[ei][q][0] = defaultThermalConductivityComponents[0]; + referenceThermalConductivity[ei][q][1] = defaultThermalConductivityComponents[1]; + referenceThermalConductivity[ei][q][2] = defaultThermalConductivityComponents[2]; + } + } ); +} + REGISTER_CATALOG_ENTRY( ConstitutiveBase, SinglePhaseThermalConductivity, string const &, Group * const ) } // namespace constitutive diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp index 7c869e697f7..333216afc48 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp @@ -80,6 +80,8 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase virtual void updateFromTemperature( arrayView1d< real64 const > const & temperature ) const override final; + virtual void initializeState() const override; + /// Type of kernel wrapper for in-kernel update using KernelWrapper = SinglePhaseThermalConductivityUpdate; @@ -105,6 +107,8 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase virtual void postInputInitialization() override; + void initializeState( localIndex const size ) const; + private: /// Default thermal conductivity components in the subRegion diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp index a06fa8f17a0..82dd3f86aee 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.cpp @@ -46,6 +46,9 @@ void SinglePhaseThermalConductivityBase::allocateConstitutiveData( Group & paren ConstitutiveBase::allocateConstitutiveData( parent, numPts ); } +void SinglePhaseThermalConductivityBase::initializeState() const +{} + } // namespace constitutive } // namespace geos diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp index ad5dcd0ec97..4a8dd518986 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp @@ -150,6 +150,11 @@ class SinglePhaseThermalConductivityBase : public ConstitutiveBase */ arrayView3d< real64 const > dEffectiveConductivity_dT() const { return m_dEffectiveConductivity_dT; } + /** + * @brief Initialize the thermal conductivity state + */ + virtual void initializeState() const; + protected: /// cell-wise reference conductivities in the subregion diff --git a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp index 76a9fd032c4..0c723c53bf3 100644 --- a/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp +++ b/src/coreComponents/physicsSolvers/surfaceGeneration/SurfaceGenerator.cpp @@ -28,6 +28,7 @@ #include "finiteVolume/FluxApproximationBase.hpp" #include "mesh/SurfaceElementRegion.hpp" #include "mesh/utilities/ComputationalGeometry.hpp" +#include "constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsFields.hpp" #include "physicsSolvers/solidMechanics/SolidMechanicsLagrangianFEM.hpp" #include "physicsSolvers/solidMechanics/kernels/SolidMechanicsLagrangianFEMKernels.hpp" @@ -552,6 +553,14 @@ real64 SurfaceGenerator::solverStep( real64 const & time_n, PermeabilityBase & permModel = getConstitutiveModel< PermeabilityBase >( fractureSubRegion, permModelName ); permModel.initializeState(); } + + string const thermalCondModelName = getConstitutiveName< SinglePhaseThermalConductivityBase >( fractureSubRegion ); + if( !thermalCondModelName.empty() ) + { + // if a thermal conductivity model exists we need to set the intial value to something meaningful + SinglePhaseThermalConductivityBase & thermalCondModel = getConstitutiveModel< SinglePhaseThermalConductivityBase >( fractureSubRegion, thermalCondModelName ); + thermalCondModel.initializeState(); + } } ); return rval; From c1c238dbc59218136c1d05746a875f8389865ca8 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Wed, 4 Feb 2026 11:29:30 -0600 Subject: [PATCH 08/26] Fix CUDA compilation error --- .../thermalConductivity/SinglePhaseThermalConductivity.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp index 333216afc48..81431564f81 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.hpp @@ -82,6 +82,8 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase virtual void initializeState() const override; + void initializeState( localIndex const size ) const; + /// Type of kernel wrapper for in-kernel update using KernelWrapper = SinglePhaseThermalConductivityUpdate; @@ -107,8 +109,6 @@ class SinglePhaseThermalConductivity : public SinglePhaseThermalConductivityBase virtual void postInputInitialization() override; - void initializeState( localIndex const size ) const; - private: /// Default thermal conductivity components in the subRegion From 7e6ed1ebdc782f3db2d1312ab57c26ac05c7f532 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Wed, 4 Feb 2026 14:32:55 -0600 Subject: [PATCH 09/26] Add thermal conductivity to embedded fracture solver --- .../surfaceGeneration/EmbeddedSurfaceGenerator.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp b/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp index 4af9efde608..6e5fed08e4f 100644 --- a/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp +++ b/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp @@ -28,6 +28,7 @@ #include "mesh/MeshFields.hpp" #include "mesh/utilities/ComputationalGeometry.hpp" #include "mesh/utilities/CIcomputationKernel.hpp" +#include "constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp" #include "physicsSolvers/solidMechanics/kernels/SolidMechanicsLagrangianFEMKernels.hpp" #include "mesh/simpleGeometricObjects/GeometricObjectManager.hpp" #include "mesh/simpleGeometricObjects/Rectangle.hpp" @@ -283,6 +284,14 @@ real64 EmbeddedSurfaceGenerator::solverStep( real64 const & GEOS_UNUSED_PARAM( t gravityCoef[ ei ] = LvArray::tensorOps::AiBi< 3 >( elemCenter[ ei ], gravVector ); } ); } + + string const thermalCondModelName = getConstitutiveName< SinglePhaseThermalConductivityBase >( fractureSubRegion ); + if( !thermalCondModelName.empty() ) + { + // if a thermal conductivity model exists we need to set the intial value to something meaningful + SinglePhaseThermalConductivityBase & thermalCondModel = getConstitutiveModel< SinglePhaseThermalConductivityBase >( fractureSubRegion, thermalCondModelName ); + thermalCondModel.initializeState(); + } } ); return rval; From b260905cd0c4012090982d9787a2af5eb7eb5e56 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Mon, 9 Feb 2026 17:58:55 -0600 Subject: [PATCH 10/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index c7d5b86c465..131d79768d5 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3964-15460-26718eb + baseline: integratedTests/baseline_integratedTests-pr3959-15476-1e1f2c0 allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 56a0b1fa2ab..90c236e8818 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -6,7 +6,7 @@ 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 #3959 (2026-02-09) +PR #3959 (2026-02-09) Addition of reference thermal conductivity for thermal single phase PR #3940 (2026-02-09) From 0e26b5b3e61a8d20b2fd9c6478240303cc7e6648 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 7 Apr 2026 12:44:50 -0500 Subject: [PATCH 11/26] Restore baseline notes --- BASELINE_NOTES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 0512dac0ba9..45176294121 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -18,12 +18,15 @@ PR #3967 (2026-03-27) +===================== Corrected traction boundary conditions PR #3970 (2026-02-11) +===================== Bypass well residual calculation for closed wells PR #3964 (2026-02-09) +===================== Fix fracture state update for ALM solver PR #3940 (2026-01-27) From b881d547ba368360d5471498e133b1eab8994b6a Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 7 Apr 2026 19:54:37 -0500 Subject: [PATCH 12/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index c070b79da96..92166f2b3cc 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr4007-16213-67a3002 + baseline: integratedTests/baseline_integratedTests-pr3959-16249-0e26b5b allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 45176294121..a80c4c526b1 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,6 +5,10 @@ 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 #3959 (2026-04-07) +===================== +Add reference thermal conductivity + PR #4007 (2026-04-03) ===================== Add XML input parameter: "hypredriveInputFile" From d2f92f2e233dc5458b6eff272ed8f617b8a6c481 Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Thu, 9 Apr 2026 09:17:54 -0500 Subject: [PATCH 13/26] Update baseline path in integrated tests configuration --- .integrated_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index 92166f2b3cc..c070b79da96 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-16249-0e26b5b + baseline: integratedTests/baseline_integratedTests-pr4007-16213-67a3002 allow_fail: all: '' From d4852dc39b11fbca026c0f2010087f1206b5b333 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Thu, 9 Apr 2026 13:14:22 -0500 Subject: [PATCH 14/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index c070b79da96..ce6532b0116 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr4007-16213-67a3002 + baseline: integratedTests/baseline_integratedTests-pr3959-16291-19e5288 allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index a80c4c526b1..079a7ba34fd 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,7 +5,7 @@ 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 #3959 (2026-04-07) +PR #3959 (2026-04-09) ===================== Add reference thermal conductivity From 2cdc31e233ae0e644778b0a8017994e548fa0095 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Fri, 10 Apr 2026 15:45:37 -0500 Subject: [PATCH 15/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index 1730dfbd691..303d1cc2872 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3883-16299-3037085 + baseline: integratedTests/baseline_integratedTests-pr3959-16315-7a8e07f allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index c187c47f35b..fa566ff2305 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,7 +5,7 @@ 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 #3959 (2026-04-10) +PR #3959 (2026-04-10) Add reference thermal conductivity PR #3883 (2026-04-10) From c2da3ebb9079fcafeee92f994d62d85a418ded50 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Tue, 14 Apr 2026 15:50:17 -0500 Subject: [PATCH 16/26] Rebaseline --- .integrated_tests.yaml | 2 +- BASELINE_NOTES.md | 2 +- inputFiles/singlePhaseWell/singlePhaseWell.ats | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index 303d1cc2872..61cb704e2ba 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-16315-7a8e07f + baseline: integratedTests/baseline_integratedTests-pr3959-16333-901fe5b allow_fail: all: '' diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index fa566ff2305..62773157c5e 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,7 +5,7 @@ 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 #3959 (2026-04-10) +PR #3959 (2026-04-10) Add reference thermal conductivity PR #3883 (2026-04-10) diff --git a/inputFiles/singlePhaseWell/singlePhaseWell.ats b/inputFiles/singlePhaseWell/singlePhaseWell.ats index 6f3a9ebb343..b70d0ed2bf3 100644 --- a/inputFiles/singlePhaseWell/singlePhaseWell.ats +++ b/inputFiles/singlePhaseWell/singlePhaseWell.ats @@ -62,8 +62,8 @@ decks = [ name="thermal_compressible_single_phase_wells_1d", description='Thermal well test (1D, thermal, 1 wells)', partitions=((1, 1, 1),), - restart_step=2, - check_step=0, + restart_step=10, + check_step=10, restartcheck_params=RestartcheckParameters(**restartcheck_params)) ] From 0585d92f7dd2645c4aaa324a20c8992d503e68fc Mon Sep 17 00:00:00 2001 From: dkachuma Date: Thu, 16 Apr 2026 11:34:55 -0500 Subject: [PATCH 17/26] Copilot comments --- inputFiles/singlePhaseWell/singlePhaseWell.ats | 2 +- .../SinglePhaseThermalConductivity.cpp | 10 +++++++--- .../SinglePhaseThermalConductivityBase.hpp | 2 ++ .../surfaceGeneration/EmbeddedSurfaceGenerator.cpp | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/inputFiles/singlePhaseWell/singlePhaseWell.ats b/inputFiles/singlePhaseWell/singlePhaseWell.ats index b70d0ed2bf3..16a98e6febb 100644 --- a/inputFiles/singlePhaseWell/singlePhaseWell.ats +++ b/inputFiles/singlePhaseWell/singlePhaseWell.ats @@ -60,7 +60,7 @@ decks = [ restartcheck_params=RestartcheckParameters(**restartcheck_params)), TestDeck( name="thermal_compressible_single_phase_wells_1d", - description='Thermal well test (1D, thermal, 1 wells)', + description='Thermal well test (1D, thermal, 1 well)', partitions=((1, 1, 1),), restart_step=10, check_step=10, diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp index 536f1744513..9fe16ff4ab7 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp @@ -138,9 +138,13 @@ void SinglePhaseThermalConductivity::initializeState( localIndex const size ) co { for( localIndex q = 0; q < numQuad; ++q ) { - referenceThermalConductivity[ei][q][0] = defaultThermalConductivityComponents[0]; - referenceThermalConductivity[ei][q][1] = defaultThermalConductivityComponents[1]; - referenceThermalConductivity[ei][q][2] = defaultThermalConductivityComponents[2]; + for( integer dim=0; dim < 3; ++dim ) + { + if( referenceThermalConductivity[ei][q][dim] < 0 ) + { + referenceThermalConductivity[ei][q][dim] = defaultThermalConductivityComponents[dim]; + } + } } } ); } diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp index 4a8dd518986..ef599ce59c2 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivityBase.hpp @@ -55,7 +55,9 @@ class SinglePhaseThermalConductivityBaseUpdate /** * @brief Constructor for the class performing the thermal conductivity updates + * @param referenceThermalConductivity the array of cell-wise reference conductivities in the subregion * @param effectiveConductivity the array of cell-wise effective conductivities in the subregion + * @param dEffectiveConductivity_dT the array of cell-wise derivatives of the effective conductivities w.r.t. temperature in the subregion */ SinglePhaseThermalConductivityBaseUpdate( arrayView3d< real64 > const & referenceThermalConductivity, arrayView3d< real64 > const & effectiveConductivity, diff --git a/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp b/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp index 6e5fed08e4f..d96124bf8c6 100644 --- a/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp +++ b/src/coreComponents/physicsSolvers/surfaceGeneration/EmbeddedSurfaceGenerator.cpp @@ -288,7 +288,7 @@ real64 EmbeddedSurfaceGenerator::solverStep( real64 const & GEOS_UNUSED_PARAM( t string const thermalCondModelName = getConstitutiveName< SinglePhaseThermalConductivityBase >( fractureSubRegion ); if( !thermalCondModelName.empty() ) { - // if a thermal conductivity model exists we need to set the intial value to something meaningful + // if a thermal conductivity model exists we need to set the initial value to something meaningful SinglePhaseThermalConductivityBase & thermalCondModel = getConstitutiveModel< SinglePhaseThermalConductivityBase >( fractureSubRegion, thermalCondModelName ); thermalCondModel.initializeState(); } From cde8f2dfb1b28cfb637b49a29485f293b33352df Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Mon, 20 Apr 2026 16:39:10 -0500 Subject: [PATCH 18/26] Update baseline for integrated tests --- .integrated_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index 61cb704e2ba..b262b6aa27b 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-16333-901fe5b + baseline: integratedTests/baseline_integratedTests-pr4021-16339-bb862da allow_fail: all: '' From ef786c38bc23035ba035003d95e2a17a33a94f5a Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Tue, 21 Apr 2026 10:43:31 -0500 Subject: [PATCH 19/26] Update baseline in integrated tests configuration --- .integrated_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index b262b6aa27b..4125ac552f6 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr4021-16339-bb862da + baseline: integratedTests/baseline_integratedTests-pr3959-16388-cde8f2d allow_fail: all: '' From fd66a4d3620db4471053dfa42f69886da0952fbe Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Tue, 21 Apr 2026 10:44:13 -0500 Subject: [PATCH 20/26] Update baseline notes by removing duplicates Removed duplicate entry for PR #3959 and updated order. --- BASELINE_NOTES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 7a63624473d..97b8718906c 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,13 +5,13 @@ 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 #3959 (2026-04-21) +Add reference thermal conductivity + PR #4021 (2026-04-14) ===================== Add Young Modulus & Poisson import from VTK mesh -PR #3959 (2026-04-10) -Add reference thermal conductivity - PR #3883 (2026-04-10) Move PVT Driver tests from unit tests to integrated tests From 73874b9571a39763f69c73c8eb9f5f081bece4b8 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Wed, 22 Apr 2026 14:17:28 -0500 Subject: [PATCH 21/26] Add threshold to conductivity check --- .integrated_tests.yaml | 2 +- .../thermalConductivity/SinglePhaseThermalConductivity.cpp | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index 4125ac552f6..b262b6aa27b 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-16388-cde8f2d + baseline: integratedTests/baseline_integratedTests-pr4021-16339-bb862da allow_fail: all: '' diff --git a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp index 9fe16ff4ab7..84cfc3126b3 100644 --- a/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp +++ b/src/coreComponents/constitutive/thermalConductivity/SinglePhaseThermalConductivity.cpp @@ -134,13 +134,15 @@ void SinglePhaseThermalConductivity::initializeState( localIndex const size ) co arrayView3d< real64 > referenceThermalConductivity = m_referenceThermalConductivity.toView(); R1Tensor const defaultThermalConductivityComponents = m_defaultThermalConductivityComponents; + real64 constexpr threshold = LvArray::NumericLimits< real64 >::epsilon; + forAll< parallelDevicePolicy<> >( size, [=] GEOS_HOST_DEVICE ( localIndex const ei ) { for( localIndex q = 0; q < numQuad; ++q ) { for( integer dim=0; dim < 3; ++dim ) { - if( referenceThermalConductivity[ei][q][dim] < 0 ) + if( referenceThermalConductivity[ei][q][dim] < threshold ) { referenceThermalConductivity[ei][q][dim] = defaultThermalConductivityComponents[dim]; } From 9a16a68978c7be408e85923df0eca742ab37292e Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Wed, 22 Apr 2026 19:12:47 -0500 Subject: [PATCH 22/26] Update baseline entry for PR #3959 Updated the date and link for PR #3959 in the baseline notes. --- BASELINE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 97b8718906c..03a9f18d37a 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,7 +5,7 @@ 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 #3959 (2026-04-21) +PR #3959 (2026-04-22) Add reference thermal conductivity PR #4021 (2026-04-14) From 3dfd5dbe2ce04525dd7febd2f4939ee11fa17f01 Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Wed, 22 Apr 2026 19:13:01 -0500 Subject: [PATCH 23/26] Update baseline in integrated tests configuration --- .integrated_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index b262b6aa27b..cc2e11fc913 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr4021-16339-bb862da + baseline: integratedTests/baseline_integratedTests-pr3959-16415-73874b9 allow_fail: all: '' From faf1698fd9f82496850bea4f2710f22a64082333 Mon Sep 17 00:00:00 2001 From: dkachuma Date: Mon, 4 May 2026 11:07:07 -0500 Subject: [PATCH 24/26] Change test case --- .../.gitattributes | 0 .../mesh_1d.vtr | 0 ...malCompressible_referenceConductivity.xml} | 98 +++++++------------ .../thermalSinglePhaseFlow.ats | 7 ++ .../singlePhaseWell/singlePhaseWell.ats | 7 -- 5 files changed, 44 insertions(+), 68 deletions(-) rename inputFiles/{singlePhaseWell => singlePhaseFlow}/.gitattributes (100%) rename inputFiles/{singlePhaseWell => singlePhaseFlow}/mesh_1d.vtr (100%) rename inputFiles/{singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml => singlePhaseFlow/thermalCompressible_referenceConductivity.xml} (70%) diff --git a/inputFiles/singlePhaseWell/.gitattributes b/inputFiles/singlePhaseFlow/.gitattributes similarity index 100% rename from inputFiles/singlePhaseWell/.gitattributes rename to inputFiles/singlePhaseFlow/.gitattributes diff --git a/inputFiles/singlePhaseWell/mesh_1d.vtr b/inputFiles/singlePhaseFlow/mesh_1d.vtr similarity index 100% rename from inputFiles/singlePhaseWell/mesh_1d.vtr rename to inputFiles/singlePhaseFlow/mesh_1d.vtr diff --git a/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml b/inputFiles/singlePhaseFlow/thermalCompressible_referenceConductivity.xml similarity index 70% rename from inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml rename to inputFiles/singlePhaseFlow/thermalCompressible_referenceConductivity.xml index a31832a2072..19c80f5194c 100644 --- a/inputFiles/singlePhaseWell/thermal_compressible_single_phase_wells_1d.xml +++ b/inputFiles/singlePhaseFlow/thermalCompressible_referenceConductivity.xml @@ -1,53 +1,21 @@ - - - - - - - - + logLevel="2"> + + + @@ -64,21 +32,6 @@ fieldNamesInGEOS="{ THERMAL.COND_referenceThermalConductivity }" fieldsToImport="{ CONDUCTIVITY }" logLevel="5"> - - - @@ -87,10 +40,15 @@ name="RESERVOIR" cellBlocks="{ hexahedra }" materialList="{ FLUID, ROCK, THERMAL.COND }" /> - + + + + + + @@ -162,9 +133,14 @@ name="RATE" interpolation="lower" inputVarNames="{ time }" - coordinates="{ 0.0, 2592000, 86400000}" + coordinates="{ 0.0, 2592000, 86400000 }" values="{ 0.0, 2.911949431, 2.911949431 }" /> - + @@ -185,7 +161,7 @@ Date: Mon, 4 May 2026 15:27:22 -0500 Subject: [PATCH 25/26] Update baseline path in integrated tests configuration --- .integrated_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.integrated_tests.yaml b/.integrated_tests.yaml index cc2e11fc913..a21eed60480 100644 --- a/.integrated_tests.yaml +++ b/.integrated_tests.yaml @@ -1,6 +1,6 @@ baselines: bucket: geosx - baseline: integratedTests/baseline_integratedTests-pr3959-16415-73874b9 + baseline: integratedTests/baseline_integratedTests-pr3959-16478-faf1698 allow_fail: all: '' From cdc0fca4508a473bd3c3ab635da0d61026334ad7 Mon Sep 17 00:00:00 2001 From: Dickson Kachuma <81433670+dkachuma@users.noreply.github.com> Date: Mon, 4 May 2026 15:27:47 -0500 Subject: [PATCH 26/26] Modify baseline entry for PR #3959 Updated the entry for PR #3959 with a new date and link. --- BASELINE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/BASELINE_NOTES.md b/BASELINE_NOTES.md index 03a9f18d37a..05c25880f29 100644 --- a/BASELINE_NOTES.md +++ b/BASELINE_NOTES.md @@ -5,7 +5,7 @@ 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 #3959 (2026-04-22) +PR #3959 (2026-05-04) Add reference thermal conductivity PR #4021 (2026-04-14)