Back to Input Deck Cards
Back to SUBSURFACE_FLOW
Back to MODE
HYDRATE¶
Defines options for the Hydrate subsurface flow mode. For more details and governing equations see the Theory Guide.
SIMULATION Options¶
(under SUBSURFACE_FLOW in SIMULATION PROCESS_MODELS block)
Basic Settings
- ARITHMETIC_GAS_DIFFUSIVE_DENSITY
Use arithmetic weighting for gas diffusivity.
- GAS_COMPONENT_FORMULA_WEIGHT <float>
Specifies the molecular weight of the gas component [g/mol].
- HARMONIC_GAS_DIFFUSIVE_DENSITY
Use harmonic weighting for gas diffusivity.
- IMMISCIBLE
Disables solubility calculations.
- LIQUID_COMPONENT_FORMULA_WEIGHT <float>
Specifies the molecular weight of the liquid component [g/mol].
- LOGGING_VERBOSITY <integer>
Prints additional convergence logging to the screen when the integer is greater than 0 (for process models that have logging verbosity implemented).
- NO_STATE_TRANSITION_OUTPUT
Eliminates “State Transition” screen output. E.g. State Transition: 2 Phase -> Gas at Cell 23331
- NO_TEMP_DEPENDENT_DIFFUSION
Turns off temperature-dependent diffusion coefficients.
- NUMBER_OF_EQUATIONS <int>
Specifies the number of equations solved (3: air/water/energy (default), 4: air/water/solute/energy)
- REPLACE_INIT_PARAMS_ON_RESTART
Forces the overwrite of base (0) porosity and permeabilities off which solution dependent parameters may be calculated.
- REVERT_PARAMETERS_ON_RESTART
Reverts permeability and porosity back to the values specified in the input file instead of the checkpointed values.
- SKIP_RESTART
On a restarted simulation, employs the initial condition for process model instead of the restarted solution.
- SOLUBLE_MATRIX
Allows the rock matrix to dissolve with changing solubility conditions. Requires NUMBER_OF_EQUATIONS 4 and SOLUTE SALT.
- SOLUTE <string>
Specifies the solute used when NUMBER_OF_EQUATIONS 4. Default SALT.
Expert Settings
- CHECK_MAX_DPL_LIQ_STATE_ONLY
When calculating the maximum change in liquid pressure over a time step, consider only liquid state cells. Helpful when capillary pressures are extreme.
- COUNT_UPWIND_DIRECTION_FLIP
Turns on and increments a counter whenever the upwind direction changes. This is only useful for non-parallel execution.
- DIFFUSE_XMASS
Calculate gradietns of dissolved gas in diffusion equation based on mass fraction instead of mole fraction.
- FIX_UPWIND_DIRECTION
Limits the update of the upwind direction (based on pressure gradients) to UPWIND_DIR_UPDATE_FREQUENCY Newton iterations.
- PHASE_CHANGE_EPSILON <float>
Assign a fixed initial saturation of a new phase that is created upon a state change.
- RESTRICT_STATE_CHANGE
Restricts any changes of state to only occur once per Newton iteration.
- TWO_PHASE_STATE_ENERGY_DOF <string>
Sets the primary dependent variable for the energy conservation equation for cells in a two-phsae state (3rd dof) [TEMPERATURE, AIR_PRESSURE]. (default = TEMPERATURE, which is most tested)
- UNFIX_UPWIND_DIRECTION
Turns off fixing of upwind direction.
- UPWIND_DIR_UPDATE_FREQUENCY
Frequency at which the upwind direction is updated if FIX_UPWIND_DIRECTION is included.
- WINDOW_EPSILON <float>
Specifies the tolerance or window that must be exceeded before state change will occur.
- LEGACY_FLUXES
Use fluxes from an earlier version of HYDRATE mode, similar to GENERAL mode flux formulation. Default is to use fluxes similar to SCO2 mode.
TIMESTEPPER Options¶
Basic Settings
- CFL_GOVERNOR
Specifies a maximum CFL (Courant–Friedrichs–Lewy) number that governs time step size. Subsequent time steps are calculated as a function of the maximum flow velocity and grid discretization such that the CFL is not exceeded.
- CONCENTRATION_CHANGE_GOVERNOR
Specifies a maximum absolute change in concentration [mole fraction] that governs time step size. Subsequent time steps are calculated such that the governing concentration change is not exceeded.
- PRESSURE_CHANGE_GOVERNOR
Specifies a maximum absolute change in pressure [Pa] that governs time step size. Subsequent time steps are calculated such that the governing pressure change is not exceeded.
- SATURATION_CHANGE_GOVERNOR
Specifies a maximum absolute change in saturation [-] that governs time step size. Subsequent time steps are calculated such that the governing saturation change is not exceeded.
- TEMPERATURE_CHANGE_GOVERNOR
Specifies a maximum absolute change in temperature [C] that governs time step size. Subsequent time steps are calculated such that the governing temperature change is not exceeded.
NEWTON_SOLVER Options¶
Basic Settings
- ANALYTICAL_JACOBIAN
Calculate derivatives in Jacobian analytically.
- ATOL <float>
Declare convergence when the 2-norm of residual is less than ATOL \(\left(\|f(x_n)\|<\text{ATOL}\right)\). (default: \(10^{-50}\)).
- CENTRAL_DIFFERENCE_JACOBIAN
Uses a central difference formulation when calculating the entries in the Jacobian. Default is a forward difference.
- CONVERGENCE_INFO
Opens a block for toggling ON/OFF convergence information in screen output (default: YES to all). See example below.
2R, FNORM, 2NORMR - 2-norm of residual
2X, XNORM, 2NORMX - 2-norm of solution
2U, UNORM, 2NORMU - 2-norm of update
IR, INORMR - inifinity norm of residual
IU, INORMU - inifinity norm of update
- DTOL <float>
Declare divergence (cut the time step) when the 2-norm of the residual is greater than DTOL times the 2-norm of the initial residual \(\left(\frac{\|f(x_n)\|}{\|f(x_0)\|}>\text{DTOL}\right)\). (default: \(10^{4}\)).
- HYDRATE_UPDATE_INF_TOL
Needs definition
- MAXIMUM_NUMBER_OF_ITERATIONS <int>
Maximum number of Newton iterations before reporting failed convergence.
- NO_PRINT_CONVERGENCE
Toggle off printing of convergence information.
- NTRDC_OPTIONS or NTR_OPTIONS
Opens a block for trust-region options and parameters (SNES_TYPE NTRDC or SNES_TYPE NTR required)
TR_TOL - trust-region tolerance (default: \(1.0^{-12}\))
ETA1 - trust-region parameter \(0.0 \le \eta_1 \le \eta_2\), \(\density \ge \eta_1\) breaks out of the inner iteration (default: \(\eta_1=0.001\))
ETA2 - trust-region parameter \(0.0 \le \eta_1 \le \eta_2\), \(\density \ge \eta_2\) shrinks the trust-region (default: \(\eta_2=0.25\))
ETA3 - trust-region parameter \(\eta_3 > \eta_2\), \(\density \ge \eta_3\) expands the trust-region (default: \(\eta_3=0.75\))
T1 - trust-region parameter, shrinking factor of trust-region (default: 0.25)
T2 - trust-region parameter, initial size of trust-region, \(\Delta_0*\|x\|_2\) (default: 0.1)
DELTA_M - trust-region parameter, max size of trust-region, \(\Delta_M*\|x\|_2\) (default: 0.5)
DELTA_0 - trust-region parameter, initial size of trust-region, \(\Delta_0*\|x\|_2\) (default: 0.1)
AUTO_SCALE - TRUE enables solution update scaling meaning all types of unknowns are equally treated when evaluating solution update (recommended for WIPP-FLOW, TH); FALSE disables solution update scaling meaning that solution update evaluation will focus more on pressure than other unknowns (recommended for GENERAL, HYDRATE).
AUTO_SCALE_MAX - used with AUTO_SCALE, caps the maximum auto-scaling factor
- NUMERICAL_JACOBIAN
Calculate derivatives in Jacobian numerically.
- PRINT_LINEAR_ITERATIONS
Prints the number of linear iterations for each Newton iteration to the screen.
- RTOL <float>
Declare convergence when the 2-norm of the residual is less than RTOL times the 2-norm of the initial residual \(\left(\frac{\|f(x_n)\|}{\|f(x_0)\|}<\text{RTOL}\right)\). (default: \(10^{-8}\)).
- SNES_TYPE <string>
The default is LINE_SEARCH (Basic, see PETSc documenetation) from PETSc which is Newton-Raphson nonlinear solver. NTRDC is the Newton Trust-Region Dogleg-Cauchy nonlinear solver, and NTR is the Newton Trust-Region nonlinear solver. The difference between NTRDC and NTR is that NTRDC adds steepest-descent solution update to the Newton solution iff it optimizes better than Newton solution alone within the trust-region. NTR only applies Newton solution update and it is truncated by the trust-region. NTRDC MAY perform better with LESS phase state change simulations for GENERAL MODE.
- STOL <float>
Declare convergence when the 2-norm of the update divided by the 2-norm of the solution is less than STOL \(\left(\frac{\|x_n-x_{n-1}\|}{\|x_{n-1}\|}<\text{STOL}\right)\). (default: \(10^{-8}\)).
- VERBOSE_LOGGING
Prints additional convergence information to screen.
Expert Settings
- ABS_UPDATE_INF_TOL <float>
Specify a single infinity norm convergence tolerance on the absolute value of all solution updates.
- AIR_PRES_ABS_UPDATE_INF_TOL <float>
Specify a maximum absolute change in air partial pressure in the gas phase.
- AIR_PRES_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in air pressure.
- DAMPING_FACTOR <float>
The scalar value by which the solution is damped between each Newton-Raphson iteration. Acceptable values on (0,1].
- ENERGY_RESIDUAL_ABS_INF_TOL
Specify the infinity norm convergence tolerance on the absolute residual of energy. (default = 1e-5)
- ENERGY_RESIDUAL_SCALED_INF_TOL <float>
Specify the infinity norm convergence tolerance on the scaled residual of energy.
- GAS_PRES_ABS_UPDATE_INF_TOL <float>
Specify a maximum absolute change in gas phase pressure.
- GAS_PRES_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in gas phase pressure.
- GAS_RESIDUAL_ABS_INF_TOL
Specify the infinity norm convergence tolerance on the absolute residual of gas mass (gas phase). (default = 1e-5)
- GAS_RESIDUAL_SCALED_INF_TOL <float>
Specify the infinity norm convergence tolerance on the scaled residual of gas mass (gas phase primary component).
- LIQUID_PRES_ABS_UPDATE_INF_TOL <float>
Specify a maximum absolute change in liquid phase pressure.
- LIQUID_PRES_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in liquid phase pressure.
- LIQUID_RESIDUAL_ABS_INF_TOL
Specify the infinity norm convergence tolerance on the absolute residual of water mass (liquid phase). (default = 1e-5)
- LIQUID_RESIDUAL_SCALED_INF_TOL <float>
Specify the infinity norm convergence tolerance on the scaled residual of water mass (liquid phase).
- MATRIX_TYPE <string>
Format of main solver matrix. PETSc Mat (i.e. AIJ, BAIJ, or HYPRESTRUCT).
- MAXF <int>
Maximum number of function evaluations before reporting failed convergence.
- MAXIMUM_PRESSURE_CHANGE <float>
The change in pressure is truncated to within this limit.
- MAX_ITERATION_BEFORE_DAMPING <integer>
Specifies the threshold number of Newton iterations before damping is imposed.
- MAX_NORM <float>
Declare divergence (cut the time step) when the infinity norm of the residual is greater than MAX_NORM \(\left( \| f(x_n) \|_{inf} > \text{MAX_NORM} \right)\). (default: \(10^{20}\)).
- MINIMUM_NUMBER_OF_ITERATIONS <int>
Newton solver convergence requires at least MINIMUM_NUMBER_OF_ITERATIONS.
- NO_FORCE_ITERATION
Toggle off the forcing of at least 1 linear iteration. The default is to force at least 1 linear iteration. In a quasi-stationary state, the initial residual may be sufficiently small for convergence, but often it is better to force at least one iteration.
- NO_INFINITY_NORM
Toggle off calculation of infinity norm on residual and update vectors. The default is to calculate the infinity norm.
- PRECONDITIONER_MATRIX_TYPE <string >
Format of preconditioning matrix. PETSc Mat (i.e. AIJ, BAIJ, or HYPRESTRUCT). Default is same as solver.
- PRES_ABS_UPDATE_INF_TOL <float>
Specify a single maximum absolute change in liquid phase, gas phase, and air partial pressure. (default = 1)
- PRES_REL_UPDATE_INF_TOL <float>
Specify a single maximum relative change in liquid phase, gas phase, and air partial pressure. (default = 1e-3)
- PRINT_DETAILED_CONVERGENCE
Toggle on printing of detailed convergence information.
- REL_UPDATE_INF_TOL <float>
Specify a single infinity norm convergence tolerance on the relative solution update.
- RESIDUAL_ABS_INF_TOL
Specify a single infinity norm convergence tolerance on all absolute residuals. (default = 1e-5)
- RESIDUAL_INF_TOL
Specify a single infinity norm convergence tolerance on all absolute and scaled residuals. (default = 1e-5, abs; 1e-6, scaled)
- RESIDUAL_SCALED_INF_TOL <float>
Specify a single infinity norm convergence tolerance on all scaled residuals. (default = 1e-6)
- SAT_ABS_UPDATE_INF_TOL <float>
Specify a maximum absolute change in phase saturation. (default = 1e-5)
- SAT_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in phase saturation. (default = 1e-3)
- TEMP_ABS_UPDATE_INF_TOL <float>
Specify a maximum absolute change in temperature. (default = 1e-5)
- TEMP_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in temperature. (default = 1e-3)
- UPDATE_INF_TOL <float>
Specify a single infinity norm convergence tolerance on the absolute and relative updates of all solution updates.
- XMOL_ABS_UPDATE_INF_TOL <float>
Specity a maximum absolute change in mass fraction of dissolved gas in the aqueous phase. (default = 1e-9)
- XMOL_REL_UPDATE_INF_TOL <float>
Specify a maximum relative change in mass fraction of dissolved gas in the aqueous phase over a given timestep. (default = 1e-3)
HYDRATE Block¶
(within SUBSURFACE block)
- GAS <string>
- CO2
Use CO2 as the working gas
- CH4
Use CH4 as the working gas (default)
- AIR
Use air (non hydrate-forming gas) as the working gas.
- METHANOGENESIS
- Invokes a methanogenesis source term. Current source implementation (following Malinverno, 2010) requires:
- NAME <string>
Arbitrary name of the methanogenesis source
- ALPHA <float>
Seafloor labile organic carbon [wt%]
- LAMBDA <float>
Methanogenesis reaction rate [1/s]
- V_SED <float>
Sedimentation rate [m/s]
- SMT_DEPTH <float>
Depth to the sulfate-methane transition [m]
- K_ALPHA <float>
Conversion factor from organic carbon to methane (typically 2241)
- WITH_SEDIMENTATION
Turns on sedimentation. Moves immobile pore species at the sedimentation rate specified in the METHANOGENESIS block and in the direction of gravity.
- WITH_GIBBS_THOMSON
Turns on the Gibbs-Thomson effect. Shifts the gas hydrate phase boundary as a function of required subcooling to precipitate hydrate.
- GT_3PHASE
Applies the Gibbs-Thomson effect in 3-phase and 4-phase states.
- ADJUST_SOLUBILITY_WITHIN_GHSZ
Applies a correction to methane solubility within the hydrate stability zone as a function of distance from the phase boundary.
- NO_PC
Turns off capillary pressure.
- NO_EFFECTIVE_SATURATION_SCALING
Turns off scaling of saturations of mobile pore species by the total amount of mobile pore fluids.
- NO_ICE_VOLUME_CHANGE
Turn off volume change due to ice freezing.
- NO_SOLID_SATURATION_PERM_SCALING
Turns off absolute permeability scaling by hydrate saturation.
- PERM_SCALING_FUNCTION <string>
Selects the specific function used for absolute permeability scaling as a function of hydrate saturation. Current options: DAI_AND_SEOL
- HYDRATE_PHASE_BOUNDARY <string>
Sets the gas hydrate phase boundary equation for CH4-hydrate. Default is Kamath, 1984. Current options: MORIDIS, MORIDIS_SIMPLE
- HENRYS_CONSTANT <string>
Set function for Henry’s constant for methane. Current default: Carroll and Mather, 1997. Current options: CRAMER
- SALINITY <float>
Set a constant salinity, which shifts the hydrate phase boundary and the freezing point of water.
- THERMAL_CONDUCTIVITY <string>
Set the thermal conductivity model. Default is a phase saturation weighted average. Current options: IGHCC2
- BC_REFERENCE_PRESSURE
Reference pressure for seepage boundary condition.
Examples¶
SIMULATION
SIMULATION_TYPE SUBSURFACE
PROCESS_MODELS
SUBSURFACE_FLOW flow
MODE HYDRATE
/
/
END
...
SUBSURFACE
NUMERICAL_METHODS FLOW
NEWTON_SOLVER
USE_INFINITY_NORM_CONVERGENCE
/
/
...
HYDRATE
GAS CH4
PERM_SCALING_FUNCTION DAI_AND_SEOL
WITH_GIBBS_THOMSON
GT_3PHASE
ADJUST_SOLUBILITY_WITHIN_GHSZ
WITH_SEDIMENTATION
METHANOGENESIS
NAME ss_methanogenesis
ALPHA 0.005
K_ALPHA 2241
LAMBDA 1.d-14
V_SED 3.17d-11
SMT_DEPTH 10.d0
/
/
...