carb
¶
Macro carb is used to set up a \(CO_2\) problem. Input following the problem type is grouped using sub keywords.
Group 1 - IPRTYPE
Group 1 - KEYWORD
KEYWORD co2pres
KEYWORD co2flow
KEYWORD co2diff
KEYWORD co2frac
KEYWORD userprop
- DENC, DENCP, DENCT, ENC, ENCP, ENCT, VISC, VISCP, VISCT
- DENW, DENWP, DENWT, ENW, ENWP, ENWT, VISW, VISWP, VISWT
KEYWORD brine
Input is terminated with KEYWORD end carb
or endcarb
.
Input Variable | Format | Default | Description |
---|---|---|---|
IPRTYPE | integer | 1 = Water only problem (2 DOFs)
2 = \(CO_2\) only problem (2 DOFs)
3 = \(CO_2\)-water problem, no solubility (3 DOFs)
4 = \(CO_2\)-water problem, with solubility (4 DOFs)
5 = \(CO_2\)-water-air with solubility (5 DOFs)
|
|
KEYWORD | character | Remaining input is grouped using sub-macro keywords. | |
KEYWORD “end carb” or “endcarb” | End of carb input. | ||
KEYWORD “co2pres” | Set up the initial pressure (uses the same format as the pres macro) | ||
PHICO2 | real | Initial \(CO_2\) pressure (MPa). | |
TCO2 | real | Initial \(CO_2\) temperature (oC) | |
ICES | integer | 0 | Initial guess for phase state of \(CO_2\) (actual phase will be calculated internally), ICES settings are:
1 = liquid
2 = two-phase liquid and vapor
3 = vapor
4 = super-critical \(CO_2\).
|
KEYWORD “co2flow” | Set up co2 flow boundary conditions (similar to the flow macro used to set up water boundary conditions) | ||
SKTMP | real | For IFLG_FLOWMAC = 1, 2, 3, 4, 5 or 9 \(CO_2\) flowing pressure (MPa).
For SKTMP = 0 the initial value of pressure will be used for the flowing pressure.
For IFLG_FLOWMAC = 6 or 7 water mass flow rate (kg/s).
For IFLG_FLOWMAC = 8 \(CO_2\) flowing saturation.
|
|
ESKTMP | real | For IFLG_FLOWMAC = 1, 2, 3, 6, 7 or 9 Enthalpy of fluid injected (MJ/kg). If the fluid is flowing from the rock mass, then the in-place enthalpy is used. If EFLOW<0, then ABS(EFLOW) is interpreted as a temperature (C) and the enthalpy calculated accordingly.
For IFLG_FLOWMAC = 4 or 5 \(CO_2\) flowing saturation.
For IFLG_FLOWMAC = 8 mass fraction of CO2
|
|
AIPED | real | For IFLG_FLOWMAC = 1, 2, 4 or 9 \(CO_2\) impedance parameter.
For IFLG_FLOWMAC = 5 or 6 value is ignored.
For IFLG_FLOWMAC = 7 \(CO_2\) mass fraction in water
For IFLG_FLOWMAC = 8 Water mass flow rate (kg/s).
|
|
IFLG_FLOWMAC | integer | 0 | Flag specifying boundary condition type, IFLG_FLOWMAC values:
1 = Constant pressure boundary condition with inflow or outflow allowed. AIPED is user specified
2 = Constant pressure boundary condition with only outflow allowed. AIPED is user specified
3 = Constant pressure boundary condition. AIPED is calculated in the code based on block geometric parameters.
4 = Constant pressure and constant saturation boundary condition. AIPED is user specified
5 = Constant pressure and constant saturation boundary condition. AIPED is calculated in the code based on block geometric parameters.
6 = Constant free phase \(CO_2\) mass flow rate boundary condition.
7 = Constant source of water with specified mass fraction of CO2 (kg/s)
8 = ????
9 = Partial explicit update of nonlinear part of \(CO_2\) constant pressure
|
KEYWORD “co2diff” | Read \(CO_2\) diffusivity in water | ||
DIFF | real | Diffusion | |
TORTCO2 | real | Tortuosity for \(CO_2\)-water vapor diffusion. | |
KEYWORD “co2frac” | Read initial \(CO_2\), air, water/brine saturation. FG, CO2/air-rich gas saturation (volume fraction), \(FG = 1 - FW - FL.\) | ||
FW | real | Water-rich liquid saturation (volume fraction). | |
FL | real | \(CO_2\)-rich super-critical/liquid phase saturation (volume fraction). | |
YC | real | Mass fraction of \(CO_2\) in the \(CO_2\)-rich phase. | |
CSALT | real | Initial salt concentration in water for brine (ppm) (only used if “brine” keyword is invoked.) | |
INICO2FLG | integer | 0 | Flag to override \(CO_2\) fractions read from restart file. If set to 1 the input values are used instead of those read from the restart file. |
KEYWORD “userprop” | Read user defined properties for \(CO_2\) and brine | ||
DENC | real | \(CO_2\) density (\(kg/m^3\)) | |
DENCP | real | Derivative of density with respect to pressure. | |
DENCT | real | Derivative of density with respect to temperature. | |
ENC | real | \(CO_2\) enthalpy (\(MJ/kg\)). | |
ENCP | real | Derivative of enthalpy with respect to pressure. | |
ENCT | real | Derivative of enthalpy with respect to temperature. | |
VISC | real | \(CO_2\) viscosity (\(Pa \cdot s\)) | |
VISCP | real | Derivative of viscosity with respect to pressure. | |
VISCT | real | Derivative of viscosity with respect to temperature. | |
DENW | real | Brine density (\(kg/m^3\)) | |
DENWP | real | Derivative of density with respect to pressure. | |
DENWT | real | Derivative of density with respect to temperature. | |
ENW | real | Brine enthalpy (\(MJ/kg\)). | |
ENWP | real | Derivative of enthalpy with respect to pressure. | |
ENWT | real | Derivative of enthalpy with respect to temperature. | |
VISW | real | Brine viscosity (\(Pa \cdot s\)) | |
VISWP | real | Derivative of viscosity with respect to pressure. | |
VISWT | real | Derivative of viscosity with respect to temperature. | |
KEYWORD “brine” | Invoke option for brine in the simulation. (salt-concentration dependent \(CO_2\) solubility) |
In the following example, zone 1 is injecting \(CO_2\) dissolved water at 0.001 kg/s. The temperature is 20oC. The water has a dissolved \(CO_2\) mass fraction of 0.3. The code will check internally whether the user specified mass fraction exceeds the equilibrium mass fraction calculated using the pressure and temperature values of the injection node. In case it does exceed that value, it is fixed at the equilibrium mass fraction. The user can specify a value of “zero” and the code will automatically fix the dissolved \(CO_2\) mass fraction at the equilibrium value. Zone 2 is maintained at initial pressure using “aiped” calculated internally.
carb
4
co2pres
1 0 0 3. 20. 4
-1 0 0 13 20. 4
-2 0 0 .6 20. 4
co2frac
1 0 0 1.0 0.0 0 100000 0
-1 0 0 0.9465 .0535 0 0. 0.
co2flow
-2 0 0 0 -20. -1.e-1 3
-1 0 0 -0.0001 -20. 0. 6
end carb
© Copyright 2018, Los Alamos National Laboratory