Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0a5f798
switch from molarity concentration to molality
frankfeifan Mar 14, 2026
befd8a9
make the timestep in unit test smaller as the jacobian is very sensit…
frankfeifan Mar 16, 2026
243c99c
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Mar 16, 2026
e949cca
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan May 29, 2026
a36c649
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Aug 31, 2026
851b21e
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Sep 1, 2026
2e211f4
single reaction system across all regions to ensure consistent dof la…
frankfeifan Sep 1, 2026
c366f35
fix kinetic reaction rate with molality, uncrustify
frankfeifan Sep 1, 2026
816c048
rename to solventMassPerSolutionVolume to be more precise, and define…
frankfeifan Sep 2, 2026
078d45f
uncrustify
frankfeifan Sep 2, 2026
5fb7e32
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Sep 2, 2026
c6228ba
plugged in activity model
frankfeifan Sep 4, 2026
174e032
applied solution scaling and fixed the normalizer
frankfeifan Sep 5, 2026
bb7c918
added smoke tests for bdot model and added log for equil. reaction run
frankfeifan Sep 5, 2026
82ecf46
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Sep 5, 2026
5611172
No plot for some field variables
frankfeifan Sep 5, 2026
2848b41
Merge remote-tracking branch 'origin/feat/frankfei/molalityConcentrat…
frankfeifan Sep 5, 2026
ba33803
rebaseline
frankfeifan Sep 6, 2026
0c87a3e
fixed unused var
frankfeifan Sep 6, 2026
0a7813e
fixed CI tests
frankfeifan Sep 6, 2026
f39bd3c
Merge remote-tracking branch 'origin/develop' into feat/frankfei/acti…
frankfeifan Sep 8, 2026
b799e7f
Merge remote-tracking branch 'origin/develop' into feat/frankfei/mola…
frankfeifan Sep 10, 2026
f7e3384
Merge branch 'develop' into feat/frankfei/molalityConcentration
frankfeifan Sep 14, 2026
9fb8b70
fixed 1D chain reaction run and added to integrated test
frankfeifan Sep 15, 2026
0ad02b9
Merge branch 'feat/frankfei/molalityConcentration' into feat/frankfei…
frankfeifan Sep 15, 2026
3659c17
Merge remote-tracking branch 'origin/develop' into feat/frankfei/acti…
frankfeifan Sep 20, 2026
45b71a4
Merge remote-tracking branch 'origin/develop' into feat/frankfei/acti…
frankfeifan Oct 5, 2026
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
Expand Up @@ -19,7 +19,7 @@
lineSearchAction="None"
timeStepIncreaseFactor="1.2"
logLevel="2"
maxAllowedResidualNorm="1e100"/>
maxAllowedResidualNorm="1e8"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseReactiveTransport>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
<?xml version="1.0" ?>

<Problem>
<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<SinglePhaseReactiveTransport
name="SinglePhaseReactiveFlow"
discretization="singlePhaseTPFA"
targetRegions="{ Region1 }"
writeLinearSystem="0"
logLevel="2">
<NonlinearSolverParameters
newtonTol="1.0e-6"
maxTimeStepCuts="5"
newtonMaxIter="40"
logLevel="2"
lineSearchAction="None"
maxAllowedResidualNorm="1e100"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseReactiveTransport>
</Solvers>

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

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

<Constitutive>
<ReactiveCompressibleSinglePhaseFluid
name="water"
defaultDensity="1000"
defaultViscosity="0.001"
referencePressure="0.0"
compressibility="0.0"
viscosibility="0.0"
chemicalSystemType="carbonate"
activityModelType="bdot"/>

<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="{ 3.0e-16, 3.0e-16, 3.0e-16 }"/>

<ConstantDiffusion
name="diffusion"
phaseNames="{ water }"
defaultPhaseDiffusivityMultipliers="{ 1 }"
diffusivityComponents="{ 1e-2, 1e-2, 1e-2 }"/>
</Constitutive>

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

<FieldSpecification
name="initialPressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region1/block1"
fieldName="pressure"
scale="1e6"/>

<FieldSpecification
name="sourcePressure"
setNames="{ source }"
objectPath="ElementRegions/Region1/block1"
fieldName="pressure"
scale="4e6"/>

<FieldSpecification
name="sinkPressure"
setNames="{ xpos }"
objectPath="faceManager"
fieldName="pressure"
scale="1.0e6"/>

<FieldSpecification
name="surfaceArea"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region1/block1"
fieldName="initialSurfaceArea"
component="0"
scale="2.4573e+06"/>
</FieldSpecifications>

<Tasks>
<PackCollection
name="logPrimarySpeciesCollection"
objectPath="ElementRegions/Region1/block1"
fieldName="logPrimarySpeciesConcentration"/>

<PackCollection
name="pressureCollection"
objectPath="ElementRegions/Region1/block1"
fieldName="pressure"/>

<PackCollection
name="kineticRateCollection"
objectPath="ElementRegions/Region1/block1"
fieldName="water_kineticReactionRates"/>
</Tasks>

<Outputs>
<TimeHistory
name="logPrimarySpeciesHistoryOutput"
sources="{ /Tasks/logPrimarySpeciesCollection }"
filename="logPrimarySpeciesHistory"/>

<TimeHistory
name="pressureHistoryOutput"
sources="{ /Tasks/pressureCollection }"
filename="pressureHistory"/>

<TimeHistory
name="kineticReactionHistoryOutput"
sources="{ /Tasks/kineticRateCollection }"
filename="kineticReactionHistory"/>

<VTK
name="vtkOutput"/>

<Restart
name="restartOutput"/>
</Outputs>
</Problem>
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" ?>

<Problem>
<Included>
<File name="./mixedReactionCarbonateSystemBdot_1D_base.xml" />
<File name="./mixedReactionCarbonateSystem_initialAggregate.xml" />
<File name="./mixedReactionCarbonateSystem_initialPrimaryConc.xml" />
<File name="./mixedReactionCarbonateSystem_logConc.xml" />
</Included>

<Mesh>
<InternalMesh
name="mesh1"
elementTypes="{ C3D8 }"
xCoords="{ 0, 10 }"
yCoords="{ 0, 1 }"
zCoords="{ 0, 1 }"
nx="{ 100 }"
ny="{ 1 }"
nz="{ 1 }"
cellBlockNames="{ block1 }"/>
</Mesh>

<Geometry>
<Box
name="source"
xMin="{ -0.01, -0.01, -0.01 }"
xMax="{ 0.11, 1.01, 1.01 }"/>
</Geometry>

<Events
maxTime="20">
<PeriodicEvent
name="outputs"
cycleFrequency="1"
target="/Outputs/vtkOutput"/>

<PeriodicEvent
name="logPrimarySpeciesHistoryCollection"
cycleFrequency="1"
target="/Tasks/logPrimarySpeciesCollection"/>
<PeriodicEvent
name="logPrimarySpeciesTimeHistoryOutput"
cycleFrequency="1"
target="/Outputs/logPrimarySpeciesHistoryOutput"/>

<PeriodicEvent
name="pressureHistoryCollection"
cycleFrequency="1"
target="/Tasks/pressureCollection"/>
<PeriodicEvent
name="pressureTimeHistoryOutput"
cycleFrequency="1"
target="/Outputs/pressureHistoryOutput"/>

<PeriodicEvent
name="kineticRateHistoryCollection"
cycleFrequency="1"
target="/Tasks/kineticRateCollection"/>
<PeriodicEvent
name="kineticRateTimeHistoryOutput"
cycleFrequency="1"
target="/Outputs/kineticReactionHistoryOutput"/>

<PeriodicEvent
name="solverApplications"
forceDt="1"
target="/Solvers/SinglePhaseReactiveFlow"/>

<PeriodicEvent
name="restarts"
cycleFrequency="10"
target="/Outputs/restartOutput"/>
</Events>

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

<Problem>
<Solvers
gravityVector="{ 0.0, 0.0, 0.0 }">
<SinglePhaseReactiveTransport
name="SinglePhaseReactiveFlow"
discretization="singlePhaseTPFA"
targetRegions="{ Region1 }"
writeLinearSystem="0"
logLevel="2">
<NonlinearSolverParameters
newtonTol="1.0e-5"
maxTimeStepCuts="5"
maxSubSteps="200"
newtonMaxIter="40"
logLevel="2"
lineSearchAction="None"
maxAllowedResidualNorm="1e100"/>
<LinearSolverParameters
directParallel="0"/>
</SinglePhaseReactiveTransport>
</Solvers>

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

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

<Constitutive>
<ReactiveCompressibleSinglePhaseFluid
name="water"
defaultDensity="1000"
defaultViscosity="0.001"
referencePressure="0.0"
compressibility="5e-10"
viscosibility="0.0"
chemicalSystemType="carbonate"
activityModelType="bdot"/>

<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="{ 3.0e-14, 3.0e-14, 3.0e-14 }"/>

<ConstantDiffusion
name="diffusion"
phaseNames="{ water }"
defaultPhaseDiffusivityMultipliers="{ 1 }"
diffusivityComponents="{ 10, 10, 10 }"/>
</Constitutive>

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

<FieldSpecification
name="initialPressure"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region1/block1"
fieldName="pressure"
scale="1e6"/>

<FieldSpecification
name="sourcePressure"
setNames="{ source }"
objectPath="ElementRegions/Region1/block1"
fieldName="pressure"
scale="3e6"/>

<FieldSpecification
name="sinkPressure"
setNames="{ ypos }"
objectPath="faceManager"
fieldName="pressure"
scale="1e6"/>

<FieldSpecification
name="surfaceArea"
initialCondition="1"
setNames="{ all }"
objectPath="ElementRegions/Region1/block1"
fieldName="initialSurfaceArea"
component="0"
scale="2.4573e+02"/>

<FieldSpecification
name="surfaceAreaSource"
initialCondition="1"
setNames="{ source }"
objectPath="ElementRegions/Region1/block1"
fieldName="initialSurfaceArea"
component="0"
scale="0.0"/>
</FieldSpecifications>

<Outputs>
<VTK
name="vtkOutput"/>

<Restart
name="restartOutput"/>
</Outputs>
</Problem>
Loading
Loading