Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions examples/functions/function_examples/function_examples.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@
<!-- These are example mathpresso functions. In order to use them, you need to specify the order that the
symbolic math function should expect the variables to be given, and an expression that it will compile.
A list of available functions is given here: https://github.com/kobalicek/mathpresso -->
<SymbolicFunction
<!--<SymbolicFunction
name="f_a"
variableNames="{ x, y, z, t }"
expression="x+y*z"/>

<SymbolicFunction
name="f_b"
variableNames="{ x, y, z, t }"
expression="sqrt((x*x)+(y*y)+(z*z))*t"/>
expression="sqrt((x*x)+(y*y)+(z*z))*t"/>-->

<!-- As a special case, 1D tables may be specified using coordinates and values.
A 1D table will only evaluate the first entry in evaluate (for the demo solver, this is x) -->
Expand Down
32 changes: 32 additions & 0 deletions host-configs/ubuntu.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
set( CONFIG_NAME "ubuntu" )

# Set compilers path
set(CMAKE_C_COMPILER "/usr/bin/gcc" CACHE PATH "") # This is typically something like /usr/bin/gcc ... or clang
set(CMAKE_CXX_COMPILER "/usr/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 "/usr/bin/mpicc" CACHE PATH "") # This is typically something like /usr/bin/mpicc
set(MPI_CXX_COMPILER "/usr/bin/mpicxx" CACHE PATH "") # This is typically something like /usr/bin/mpicxx
set(MPIEXEC "/usr/bin/mpirun" CACHE PATH "") # This is typically something like /usr/bin/mpirun

# Set paths to blas and lapack
set( BLAS_LIBRARIES "/usr/lib/x86_64-linux-gnu/libblas.so" CACHE PATH "" FORCE ) # This is typically something like /usr/lib64/libblas.so
set( LAPACK_LIBRARIES "/usr/lib/x86_64-linux-gnu/liblapack.so" 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)
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
<?xml version="1.0" ?>

<Problem>
<Solvers
gravityVector="{ 0.0, 0.0, -9.81 }">
<SinglePhaseFVM
name="SinglePhaseFlow"
logLevel="1"
computesPrescribedStressPath="1"
discretization="singlePhaseTPFA"
targetRegions="{ RockMatrix, Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-6"
newtonMaxIter="10"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseFVM>

<EmbeddedSurfaceGenerator
name="SurfaceGenerator"
logLevel="1"
discretization="FE1"
targetRegions="{ RockMatrix, Fracture }"
targetObjects="{ FracturePlane }"
fractureRegion="Fracture"
mpiCommOrder="1"/>
</Solvers>

<NumericalMethods>
<FiniteVolume>
<TwoPointFluxApproximation
name="singlePhaseTPFA"/>
</FiniteVolume>
<FiniteElements>
<FiniteElementSpace
name="FE1"
order="1"/>
</FiniteElements>
</NumericalMethods>

<ElementRegions>
<CellElementRegion
name="RockMatrix"
cellBlocks="{ * }"
materialList="{ water, rock }"/>

<!-- NEW faceBlock -->
<SurfaceElementRegion
name="Fracture"
faceBlock="embeddedSurfaceSubRegion"
defaultAperture="1.2421e-4"
materialList="{ water, fractureFilling, hApertureModel }"
subRegionType="embeddedElement"/>
</ElementRegions>

<Constitutive>
<CompressibleSinglePhaseFluid
name="water"
defaultDensity="2000"
defaultViscosity="0.001"
referencePressure="0.0"
compressibility="5e-12"
viscosibility="0.0"/>

<CompressibleSolidParallelPlatesPermeability
name="fractureFilling"
solidModelName="nullSolid"
porosityModelName="fracturePorosity"
permeabilityModelName="fracturePerm"/>

<CompressibleSolidConstantPermeability
name="rock"
solidModelName="nullSolid"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"/>

<NullModel
name="nullSolid"/>

<PressurePorosity
name="rockPorosity"
defaultReferencePorosity="0.1"
referencePressure="0.0"
compressibility="0.0"/>

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{ 1.0e-15, 1.0e-15, 1.0e-15 }"/>

<PressurePorosity
name="fracturePorosity"
defaultReferencePorosity="1.00"
referencePressure="0.0"
compressibility="0.0"/>

<ParallelPlatesPermeability
name="fracturePerm"/>

<BartonBandisStressPathDriven
name="hApertureModel"
biot="1.0"
poisson="0.3"
normalStiffness="12.041e9"
referenceAperture="1.2421e-4"
referencePressure="1e5"
referenceNormalStress="1.0e6"
referenceTotalStress="{ 85.0e6, 85.0e6, 105.0e6 }"/>

</Constitutive>


<FieldSpecifications>

<FieldSpecification
name="Porosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="rockPorosity_referencePorosity"
scale="0.1"/>

<FieldSpecification
name="fracPorosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Fracture"
fieldName="fracturePorosity_porosity"
scale="1.00"/>

<FieldSpecification
name="initialFracturePressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Fracture/embeddedSurfaceSubRegion"
fieldName="pressure"
scale="1e5"/>

<FieldSpecification
name="initialPressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="pressure"
scale="1e5"/>

<FieldSpecification
name="pressure_xneg"
objectPath="faceManager"
fieldName="pressure"
component="0"
scale="1.0e7"
setNames="{ xneg }"/>

<FieldSpecification
name="pressure_xpos"
objectPath="faceManager"
fieldName="pressure"
component="0"
scale="1.0e5"
setNames="{ xpos }"/>

</FieldSpecifications>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<?xml version="1.0" ?>

<Problem>
<Solvers
gravityVector="{ 0.0, 0.0, -9.81 }">
<SinglePhaseFVM
name="SinglePhaseFlow"
logLevel="1"
discretization="singlePhaseTPFA"
targetRegions="{ RockMatrix, Fracture }">
<NonlinearSolverParameters
newtonTol="1.0e-6"
newtonMaxIter="8"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseFVM>

<EmbeddedSurfaceGenerator
name="SurfaceGenerator"
logLevel="1"
discretization="FE1"
targetRegions="{ RockMatrix, Fracture }"
targetObjects="{ FracturePlane }"
fractureRegion="Fracture"
mpiCommOrder="1"/>
</Solvers>

<NumericalMethods>
<FiniteVolume>
<TwoPointFluxApproximation
name="singlePhaseTPFA"/>
</FiniteVolume>
<FiniteElements>
<FiniteElementSpace
name="FE1"
order="1"/>
</FiniteElements>
</NumericalMethods>

<ElementRegions>
<CellElementRegion
name="RockMatrix"
cellBlocks="{ * }"
materialList="{ water, rock }"/>

<!-- NEW faceBlock -->
<SurfaceElementRegion
name="Fracture"
faceBlock="embeddedSurfaceSubRegion"
defaultAperture="1e-3"
materialList="{ water, fractureFilling }"
subRegionType="embeddedElement"/>
</ElementRegions>

<Constitutive>
<CompressibleSinglePhaseFluid
name="water"
defaultDensity="1000"
defaultViscosity="0.001"
referencePressure="0.0"
compressibility="0.0"
viscosibility="0.0"/>

<CompressibleSolidParallelPlatesPermeability
name="fractureFilling"
solidModelName="nullSolid"
porosityModelName="fracturePorosity"
permeabilityModelName="fracturePerm"/>

<CompressibleSolidConstantPermeability
name="rock"
solidModelName="nullSolid"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"/>

<NullModel
name="nullSolid"/>

<PressurePorosity
name="rockPorosity"
defaultReferencePorosity="0.1"
referencePressure="0.0"
compressibility="0.0"/>

<ConstantPermeability
name="rockPerm"
permeabilityComponents="{ 2.0e-15, 2.0e-15, 2.0e-15 }"/>

<PressurePorosity
name="fracturePorosity"
defaultReferencePorosity="1.00"
referencePressure="0.0"
compressibility="0.0"/>

<ParallelPlatesPermeability
name="fracturePerm"/>
</Constitutive>

<FieldSpecifications>

<FieldSpecification
name="Porosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="rockPorosity_referencePorosity"
scale="0.1"/>

<FieldSpecification
name="fracPorosity"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Fracture"
fieldName="fracturePorosity_porosity"
scale="1.00"/>

<FieldSpecification
name="initialPressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="pressure"
scale="0.0"/>

<FieldSpecification
name="sourceTerm"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="pressure"
scale="1e7"
setNames="{ source }"/>

<FieldSpecification
name="sinkTerm"
objectPath="ElementRegions/RockMatrix/cb1"
fieldName="pressure"
scale="0.0"
setNames="{ sink }"/>
</FieldSpecifications>
</Problem>
Loading
Loading