Skip to content

Commit

Permalink
Merge branch 'develop' into pt/mass-energy-1ph
Browse files Browse the repository at this point in the history
  • Loading branch information
paveltomin authored Jan 23, 2025
2 parents 7ad1594 + 50504b5 commit dd2519a
Show file tree
Hide file tree
Showing 227 changed files with 9,263 additions and 2,943 deletions.
3 changes: 2 additions & 1 deletion .integrated_tests.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
baselines:
bucket: geosx
baseline: integratedTests/baseline_integratedTests-pr3495-9552-257c87e
baseline: integratedTests/baseline_integratedTests-pr3416-9790-5bdb1fa

allow_fail:
all: ''
streak: ''
12 changes: 12 additions & 0 deletions BASELINE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,18 @@ 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 #3416 (2024-01-21)
=====================
Refactoring of induced seismicity EQ solvers to add coupling.

PR #3310 (2024-01-21)
======================
Scalable rock toughness required new field.

PR #3228 (2024-01-15)
=====================
deltaVolume added in multiphase.

PR #3495 (2024-01-08)
=====================
Add missing logic to support switching from fixed mass rate injection rate constraint to max injection pressure.
Expand Down
14 changes: 10 additions & 4 deletions examples/ObjectCatalog/Base.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 TotalEnergies
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
* Copyright (c) 2023-2024 Chevron
* Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
Expand Down Expand Up @@ -46,7 +46,7 @@ class Parameter
class Base
{
public:
Base( int junk, double const & junk2, Parameter& pbv )
Base( int junk, double const & junk2, Parameter & pbv )
{
GEOS_LOG( "calling Base constructor with arguments (" << junk << " " << junk2 << ")" );
}
Expand All @@ -56,14 +56,20 @@ class Base
GEOS_LOG( "calling Base destructor" );
}

using CatalogInterface = dataRepository::CatalogInterface< Base, int, double const &, Parameter& >;
static CatalogInterface::CatalogType& getCatalog()
using CatalogInterface = dataRepository::CatalogInterface< Base, int, double const &, Parameter & >;
static CatalogInterface::CatalogType & getCatalog()
{
static CatalogInterface::CatalogType catalog;
return catalog;
}

virtual std::string const getName() const = 0;

static DataContext const & getDataContext()
{
static DataFileContext const context = DataFileContext( "Base Test Class", __FILE__, __LINE__ );
return context;
}
};

#endif
12 changes: 8 additions & 4 deletions examples/ObjectCatalog/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* Copyright (c) 2016-2024 Lawrence Livermore National Security LLC
* Copyright (c) 2018-2024 TotalEnergies
* Copyright (c) 2018-2024 The Board of Trustees of the Leland Stanford Junior University
* Copyright (c) 2023-2024 Chevron
* Copyright (c) 2023-2024 Chevron
* Copyright (c) 2019- GEOS/GEOSX Contributors
* All rights reserved
*
Expand All @@ -31,10 +31,14 @@ int main( int argc, char *argv[] )


GEOS_LOG( "Attempting to create a Derived1 object" );
std::unique_ptr<Base> derived1 = Base::CatalogInterface::Factory( "derived1", junk, junk2, param );
std::unique_ptr< Base > derived1 = Base::CatalogInterface::factory( "derived1",
Base::getDataContext(),
junk, junk2, param );
GEOS_LOG( "Attempting to create a Derived2 object" );
std::unique_ptr<Base> derived2 = Base::CatalogInterface::Factory( "derived2", junk, junk3, param );
std::unique_ptr< Base > derived2 = Base::CatalogInterface::factory( "derived2",
Base::getDataContext(),
junk, junk3, param );

Base::CatalogInterface::catalog_cast<Derived1>( *(derived2.get()));
Base::CatalogInterface::catalog_cast< Derived1 >( *(derived2.get()));
GEOS_LOG( "EXITING MAIN" );
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="1e6"
initialRockToughness="1e6"
nodeBasedSIF="1"
mpiCommOrder="1"/>
</Solvers>
Expand Down
2 changes: 1 addition & 1 deletion inputFiles/hydraulicFracturing/Sneddon_hydroFrac_base.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
rockToughness="10.0e6"
initialRockToughness="10.0e6"
mpiCommOrder="1"/>
<!-- SPHINX_SNEDDON_SOLVER_END -->
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="$K_upscaled$"
initialRockToughness="$K_upscaled$"
nodeBasedSIF="1"
mpiCommOrder="1"/>
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="2.236068e6"
initialRockToughness="2.236068e6"
nodeBasedSIF="1"
mpiCommOrder="1"/>
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="1.0e6"/>
initialRockToughness="1.0e6"/>
</Solvers>

<Mesh>
Expand Down
2 changes: 1 addition & 1 deletion inputFiles/hydraulicFracturing/kgdEdgeBased_C3D6_base.xml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="0.707e7"
initialRockToughness="0.707e7"
mpiCommOrder="1"/>
</Solvers>
</Problem>
2 changes: 1 addition & 1 deletion inputFiles/hydraulicFracturing/kgdNodeBased_C3D6_base.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
rockToughness="0.707e7"
initialRockToughness="0.707e7"
nodeBasedSIF="1"
mpiCommOrder="1"/>
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
rockToughness="1e6"
initialRockToughness="1e6"
mpiCommOrder="1"/>
<!-- Sphinx_Solvers_SurfaceGenerator_End -->
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
rockToughness="1e6"
initialRockToughness="1e6"
mpiCommOrder="1"/>
</Solvers>

Expand Down
2 changes: 1 addition & 1 deletion inputFiles/hydraulicFracturing/kgdValidation_base.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
logLevel="1"
targetRegions="{ Domain }"
nodeBasedSIF="0"
rockToughness="1.2e6"
initialRockToughness="1.2e6"
mpiCommOrder="1"/>
<!-- SPHINX_SURFACEGENERATOR_END -->
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
rockToughness="1e4"
initialRockToughness="1e4"
mpiCommOrder="1"/>
<!-- Sphinx_Solvers_SurfaceGenerator_End -->

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
rockToughness="1e4"
initialRockToughness="1e4"
mpiCommOrder="1"
isPoroelastic="1"/>
</Solvers>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,182 @@
<?xml version="1.0" ?>

<Problem>
<Included>
<File
name="./pennyShapedAnisotropicToughness_base.xml"/>
</Included>

<Solvers
gravityVector="{ 0.0, 0.0, -0.0 }">
<!-- SPHINX_HYDROFRACSOLVER -->
<Hydrofracture
name="hydrofracture"
solidSolverName="lagsolve"
flowSolverName="SinglePhaseFlow"
surfaceGeneratorName="SurfaceGen"
logLevel="1"
targetRegions="{ Fracture }"
maxNumResolves="5"
initialDt="0.1">
<NonlinearSolverParameters
newtonTol="1.0e-4"
newtonMaxIter="50"
logLevel="1"/>
<LinearSolverParameters
solverType="gmres"
preconditionerType="mgr"
logLevel="1"
krylovAdaptiveTol="1"/>
</Hydrofracture>
<!-- SPHINX_HYDROFRACSOLVER_END -->

<!-- SPHINX_MECHANICALSOLVER -->
<SolidMechanicsLagrangianSSLE
name="lagsolve"
timeIntegrationOption="QuasiStatic"
logLevel="1"
discretization="FE1"
targetRegions="{ Domain, Fracture }"
contactRelationName="fractureContact"
contactPenaltyStiffness="1.0e0">
<NonlinearSolverParameters
newtonTol="1.0e-6"/>
<LinearSolverParameters
solverType="gmres"
krylovTol="1.0e-10"/>
</SolidMechanicsLagrangianSSLE>
<!-- SPHINX_MECHANICALSOLVER_END -->

<!-- SPHINX_SINGLEPHASEFVM -->
<SinglePhaseFVM
name="SinglePhaseFlow"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-5"
newtonMaxIter="10"/>
<LinearSolverParameters
solverType="gmres"
krylovTol="1.0e-12"/>
</SinglePhaseFVM>
<!-- SPHINX_SINGLEPHASEFVM_END -->

<!-- SPHINX_SURFACEGENERATOR -->
<SurfaceGenerator
name="SurfaceGen"
targetRegions="{ Domain }"
nodeBasedSIF="1"
initialRockToughness="-1.0"
toughnessScalingFactor="1"
fractureOrigin="{0.0, 0.0, 0.0}"
mpiCommOrder="1"/>
<!-- SPHINX_SURFACEGENERATOR_END -->
</Solvers>

<!-- SPHINX_MESH -->
<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 100, 200, 400 }"
yCoords="{ 0, 100, 200, 400 }"
zCoords="{ -400, -100, -20, 20, 100, 400 }"
nx="{ 50, 10, 20 }"
ny="{ 50, 10, 20 }"
nz="{ 10, 10, 20, 10, 10 }"
cellBlockNames="{ cb1 }"/>
</Mesh>
<!-- SPHINX_MESH_END -->

<Geometry>
<!-- SPHINX_INITIALFRAC -->
<Box
name="fracture"
xMin="{ -4.1, -4.1, -0.1 }"
xMax="{ 4.1, 4.1, 0.1 }"/>
<!-- SPHINX_INITIALFRAC_END -->

<!-- SPHINX_INJSOURCE -->
<Box
name="source"
xMin="{ -2.1, -2.1, -0.1 }"
xMax="{ 2.1, 2.1, 0.1 }"/>
<!-- SPHINX_INJSOURCE_END -->

<!-- SPHINX_FRACPLANE -->
<Box
name="core"
xMin="{ -500.1, -500.1, -0.1 }"
xMax="{ 500.1, 500.1, 0.1 }"/>
<!-- SPHINX_FRACPLANE_END -->
</Geometry>

<Events
maxTime="400.1">
<SoloEvent
name="preFracture"
target="/Solvers/SurfaceGen"/>

<PeriodicEvent
name="outputs"
timeFrequency="2.0"
targetExactTimestep="0"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="solverApplications1"
beginTime="0.0"
endTime="1.0"
forceDt="0.2000000000001"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications2"
beginTime="1.0"
endTime="3.0"
forceDt="0.5"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications3"
beginTime="3.0"
endTime="8.0"
forceDt="1.0"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications4"
beginTime="8.0"
endTime="20.0"
forceDt="2.0"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications5"
beginTime="20.0"
endTime="60.0"
forceDt="4.0"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications6"
beginTime="60.0"
endTime="100.0"
forceDt="8.0"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications7"
beginTime="100.0"
endTime="200.0"
forceDt="10.0"
target="/Solvers/hydrofracture"/>

<PeriodicEvent
name="solverApplications8"
beginTime="200.0"
forceDt="20.0"
target="/Solvers/hydrofracture"/>
</Events>
</Problem>
Loading

0 comments on commit dd2519a

Please sign in to comment.