Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Temperature dependent Thermal Expansion Coefficient #3185

Open
wants to merge 57 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
722a44b
implement temperature dependent TEC
sytuannguyen Jun 25, 2024
8266f4b
define dTEC_dT at SolidBase level
sytuannguyen Jun 25, 2024
901b1c0
add dTEC_dT getter and update all the solid constitutive classes
sytuannguyen Jun 25, 2024
29f63b1
use the dTEC_dT getter to get param from XML
sytuannguyen Jun 25, 2024
1d11035
uncrustify_style
sytuannguyen Jun 25, 2024
34cc058
add XMLs for benchmark and integrated test
sytuannguyen Jun 25, 2024
6b2d15f
add Python script for validation
sytuannguyen Jun 25, 2024
f9c5e54
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Jul 1, 2024
aaff949
add TEC table name
sytuannguyen Jul 1, 2024
31f654c
implement TEC table
sytuannguyen Jul 8, 2024
57482a6
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Jul 11, 2024
a859e4a
uncrustify_style
sytuannguyen Jul 11, 2024
279dfd8
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Jul 17, 2024
6353852
remove the term linear in TEC namings
sytuannguyen Jul 18, 2024
ab09de8
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Jul 19, 2024
60bf301
update TEC names in xmls
sytuannguyen Jul 19, 2024
de88988
fix GPU failure on CI
jhuang2601 Jul 19, 2024
bc01ac6
uncrustify
jhuang2601 Jul 19, 2024
9f77180
fix CI failure
jhuang2601 Jul 19, 2024
1764461
fix CI failure
jhuang2601 Jul 19, 2024
3b70511
revert changes
jhuang2601 Jul 19, 2024
7d64e0b
another try for CI failure
jhuang2601 Jul 19, 2024
aaf4346
revert changes
jhuang2601 Jul 19, 2024
9946dd5
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Jul 31, 2024
af0d018
Merge branch 'feature/sytuan/temperatureDependentTEC' of https://gith…
sytuannguyen Jul 31, 2024
00a6fca
add thermal contribution to rock stress
sytuannguyen Aug 1, 2024
32c2a12
uncrustify style
sytuannguyen Aug 1, 2024
5345f8d
add analytical results for validation
sytuannguyen Aug 1, 2024
e9d9683
add validation example
sytuannguyen Aug 1, 2024
70aad3e
update xmls
sytuannguyen Aug 1, 2024
16d0143
small fix
sytuannguyen Aug 1, 2024
007ec95
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Aug 22, 2024
1fbbe14
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Sep 7, 2024
118f8a7
fix cuda/gpu build
sytuannguyen Sep 7, 2024
1366981
more fix for gpu build
sytuannguyen Sep 8, 2024
f569139
more fix fore gpu build
sytuannguyen Sep 8, 2024
9154fcc
more fix for gpu build
sytuannguyen Sep 8, 2024
0b0a485
uncrustify style
sytuannguyen Sep 9, 2024
b88393c
small fix
sytuannguyen Sep 9, 2024
47d81ae
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Sep 10, 2024
6a74d32
update xmls and scripts: remove thermal stress correction
sytuannguyen Sep 10, 2024
5fba230
fix a script
sytuannguyen Sep 10, 2024
6d67361
remove thermal stress warning in the docs
sytuannguyen Sep 10, 2024
ab74371
merge develop
sytuannguyen Sep 25, 2024
511d07e
add a unit test
sytuannguyen Sep 25, 2024
d267078
add more unit tests
sytuannguyen Sep 26, 2024
7d1a40f
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
sytuannguyen Oct 4, 2024
e2fbef8
Wordsmithing
herve-gross Oct 7, 2024
22e792d
seperate the xml files into two cases to avoid confusion
jhuang2601 Oct 8, 2024
7d601aa
update python script and add output files
jhuang2601 Oct 8, 2024
7a0868a
update rst file
jhuang2601 Oct 8, 2024
c440825
fix links in rst file
jhuang2601 Oct 9, 2024
aea6fce
Wordsmithing
jhuang2601 Oct 9, 2024
4800054
add a doc and rearrange files
jhuang2601 Oct 9, 2024
5a750e5
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
jhuang2601 Oct 9, 2024
050e598
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
jhuang2601 Oct 16, 2024
7b6fad1
Merge branch 'develop' into feature/sytuan/temperatureDependentTEC
jhuang2601 Oct 25, 2024
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" ?>

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

<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 0.1 }"
yCoords="{ 0, 0.1 }"
zCoords="{ 0, 0.1 }"
nx="{ 2 }"
ny="{ 2 }"
nz="{ 2 }"
cellBlockNames="{ rock }"/>
</Mesh>

<ElementRegions>
<CellElementRegion
name="rock"
cellBlocks="{ rock }"
materialList="{ fluid, rock_linearTEC, rockThermalCond }"/>
</ElementRegions>

<Events
maxTime="1e4">

<PeriodicEvent
name="outputs"
timeFrequency="1e4"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="solverApplications"
maxEventDt="1e3"
target="/Solvers/thermoElasticSolver"/>

<PeriodicEvent
name="restarts"
timeFrequency="5e4"
target="/Outputs/restartOutput"/>
</Events>

</Problem>
291 changes: 291 additions & 0 deletions inputFiles/thermoPoromechanics/ThermoElasticOedometric_base.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,291 @@
<?xml version="1.0" ?>

<Problem>
<Solvers>
<SinglePhasePoromechanics
name="thermoElasticSolver"
solidSolverName="solidMechSolver"
flowSolverName="flowSolver"
logLevel="1"
isThermal="1"
targetRegions="{ rock }">
<NonlinearSolverParameters
couplingType="FullyImplicit"
maxAllowedResidualNorm="1e19"
newtonMaxIter="100"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhasePoromechanics>

<SolidMechanicsLagrangianSSLE
name="solidMechSolver"
timeIntegrationOption="QuasiStatic"
logLevel="1"
discretization="FE1"
targetRegions="{ rock }">
</SolidMechanicsLagrangianSSLE>

<SinglePhaseFVM
name="flowSolver"
logLevel="1"
discretization="tpfaFlow"
temperature="0"
isThermal="1"
targetRegions="{ rock }">
<NonlinearSolverParameters
normType="L2"/>
</SinglePhaseFVM>
</Solvers>

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

<FiniteVolume>
<TwoPointFluxApproximation
name="tpfaFlow"/>
</FiniteVolume>
</NumericalMethods>

<Constitutive>
<PorousElasticIsotropic
name="rock_linearTEC"
solidModelName="rockSolid_linearTEC"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"
solidInternalEnergyModelName="rockInternalEnergy"/>

<PorousElasticIsotropic
name="rock_tecTable"
solidModelName="rockSolid_tecTable"
porosityModelName="rockPorosity"
permeabilityModelName="rockPerm"
solidInternalEnergyModelName="rockInternalEnergy"/>

<!-- SPHINX_PoroElasticProperties -->
<BiotPorosity
name="rockPorosity"
defaultReferencePorosity="1e-6"
defaultGrainBulkModulus="5.535714286e9"/>
<!-- SPHINX_PoroElasticPropertiesEnd -->

<!-- SPHINX_HeatCapacityProperties -->
<SolidInternalEnergy
name="rockInternalEnergy"
referenceVolumetricHeatCapacity="4.56e6"
referenceTemperature="0"
referenceInternalEnergy="0"/>
<!-- SPHINX_HeatCapacityPropertiesEnd -->

<!-- SPHINX_PermeabilityProperties -->
<ConstantPermeability
name="rockPerm"
permeabilityComponents="{ 1.0e-100, 1.0e-100, 1.0e-100 }"/>
<!-- SPHINX_PermeabilityPropertiesEnd -->

<!-- SPHINX_ThermalProperties -->
<SinglePhaseThermalConductivity
name="rockThermalCond"
defaultThermalConductivityComponents="{ 1.66, 1.66, 1.66 }"/>
<!-- SPHINX_ThermalPropertiesEnd -->

<!-- SPHINX_FluidProperties -->
<ThermalCompressibleSinglePhaseFluid
name="fluid"
defaultDensity="1000"
defaultViscosity="1e-3"
referencePressure="0.0"
referenceTemperature="20.0"
compressibility="5e-10"
thermalExpansionCoeff="1e-10"
viscosibility="0.0"
specificHeatCapacity="1"
referenceInternalEnergy="1"/>
<!-- SPHINX_FluidPropertiesEnd -->

<!-- SPHINX_ThermoElasticProperties -->
<ElasticIsotropic
name="rockSolid_linearTEC"
defaultDensity="2700"
defaultBulkModulus="9.12345679e9"
defaultShearModulus="6.00813e9"
defaultDrainedTEC="0.2e-5"
dDrainedTEC_dT="0.0164e-5"
referenceTemperature="0"/>

<!-- SPHINX_ThermoElasticPropertiesEnd -->

<ElasticIsotropic
name="rockSolid_tecTable"
defaultDensity="2700"
defaultBulkModulus="9.12345679e9"
defaultShearModulus="6.00813e9"
drainedTECTableName="tecTable"/>

</Constitutive>

<FieldSpecifications>

<!-- SPHINX_FixedFarFieldBC -->
<FieldSpecification
name="constraint_x"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="0"
scale="0.0"
setNames="{ xneg, xpos }"/>

<FieldSpecification
name="constraint_y"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="1"
scale="0.0"
setNames="{ yneg, ypos }"/>
<!-- SPHINX_FixedFarFieldBCEnd -->

<!-- SPHINX_PlaneStrainAxisymmetryBC -->
<FieldSpecification
name="zConstraint"
objectPath="nodeManager"
fieldName="totalDisplacement"
component="2"
scale="0.0"
setNames="{ zneg }"/>

<!-- SPHINX_PlaneStrainAxisymmetryBCEnd -->



<FieldSpecification
name="initialSigma_x_rock"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/rock/rock"
fieldName="rockSolid_stress"
component="0"
scale="0"/>
<FieldSpecification
name="initialSigma_y_rock"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/rock/rock"
fieldName="rockSolid_stress"
component="1"
scale="0"/>
<FieldSpecification
name="initialSigma_z_rock"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/rock/rock"
fieldName="rockSolid_stress"
component="2"
scale="0"/>

<!-- SPHINX_ZeroPorePressureBC -->
<FieldSpecification
name="zeroPressure"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="pressure"
scale="0e6"/>


<!-- SPHINX_ZeroPorePressureBCEnd -->

<!-- SPHINX_TemperatureBC -->
<FieldSpecification
name="initialTemperature"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="temperature"
scale="0"/>

<FieldSpecification
name="appliedTemperature"
setNames="{ all }"
objectPath="ElementRegions"
fieldName="temperature"
scale="1"
functionName="temperatureTable"
/>
<!-- SPHINX_TemperatureBCEnd-->

<!-- SPHINX_ZeroInnerTractionBC -->
<!--Traction
name="verticalLoading"
objectPath="faceManager"
tractionType="normal"
scale="0.0e6"
setNames="{ zpos }"/-->
<!-- SPHINX_ZeroInnerTractionBCEnd -->

</FieldSpecifications>

<Functions>
<!-- SPHINX_TemperatureTable -->
<TableFunction
name="temperatureTable"
inputVarNames="{ time }"
coordinates="{ 0.0, 1.0e5 }"
values="{ 0, 90 }"/>
<!-- SPHINX_TemperatureTableEnd -->

<TableFunction
name="tecTable"
inputVarNames="{ temperature }"
coordinates="{ 0.0, 20.0, 90.0 }"
values="{ 0.2e-5, 0.528e-5, 1.676e-5 }"/>
</Functions>


<Tasks>

<!-- SPHINX_TemperatureCollection -->

<PackCollection
name="temperatureCollection_rock"
objectPath="ElementRegions/rock/rock"
fieldName="temperature"/>
<!-- SPHINX_TemperatureCollectionEnd -->

<!-- SPHINX_SolidStressCollection -->

<PackCollection
name="stressCollection_rock"
objectPath="ElementRegions/rock/rock"
fieldName="rockSolid_stress"/>
<!-- SPHINX_SolidStressCollectionEnd -->



</Tasks>

<Outputs>
<!-- SPHINX_TemperatureTimeHistory -->

<TimeHistory
name="temperatureHistoryOutput_rock"
sources="{ /Tasks/temperatureCollection_rock }"
filename="temperatureHistory_rock"/>
<!-- SPHINX_TemperatureTimeHistoryEnd -->

<!-- SPHINX_SolidStressTimeHistory -->

<TimeHistory
name="stressHistoryOutput_rock"
sources="{ /Tasks/stressCollection_rock }"
filename="stressHistory_rock"/>
<!-- SPHINX_SolidStressTimeHistoryEnd -->


<VTK
name="vtkOutput"/>


</Outputs>
</Problem>
Loading
Loading