#=========================== numerical methods ================================
NUMERICAL_METHODS FLOW

  TIMESTEPPER
    # MAX_STEPS -1
    SATURATION_CHANGE_GOVERNOR 1.d0
    CONCENTRATION_CHANGE_GOVERNOR 0.5d0
  /

  NEWTON_SOLVER
    MAXIMUM_NUMBER_OF_ITERATIONS 25
    RTOL 1.d-8
    ATOL 1.d-8
    STOL 1.d-30
  /

END

#=========================== flow mode ========================================

#=========================== debug settings ===================================
#USE_TOUCH_OPTIONS

#DEBUG
#MATVIEW_JACOBIAN
#VECVIEW_RESIDUAL
#VECVIEW_SOLUTION
#/

#=========================== time stepper options =============================

#=========================== discretization ===================================
GRID
  TYPE STRUCTURED
  ORIGIN 0.d0 0.d0 0.d0
  NXYZ 4 3 2
  BOUNDS
    0.0d0 0.0d0 0.0d0
    4.0d0 3.0d0 2.0d0
  /
END

#=========================== solver options ===================================

#=========================== fluid properties =================================
FLUID_PROPERTY
  DIFFUSION_COEFFICIENT 1.d-9
/

#=========================== material properties ==============================
MATERIAL_PROPERTY soil_default
  ID 1
  CHARACTERISTIC_CURVES cc1
  POROSITY 0.25
  TORTUOSITY 0.5
  ROCK_DENSITY 2650.0 kg/m^3
  THERMAL_CHARACTERISTIC_CURVES cct_default
  HEAT_CAPACITY 830.0 J/kg-C
  PERMEABILITY
    PERM_X 1.d-12
    PERM_Y 1.d-12
    PERM_Z 1.d-12
  /
END


MATERIAL_PROPERTY soil_linear
  ID 2
  CHARACTERISTIC_CURVES cc1
  POROSITY 0.25
  TORTUOSITY 0.5
  ROCK_DENSITY 2650.0 kg/m^3
  THERMAL_CHARACTERISTIC_CURVES cct_linear_resistivity
  HEAT_CAPACITY 830.0 J/kg-C
  PERMEABILITY
    PERM_X 1.d-12
    PERM_Y 1.d-12
    PERM_Z 1.d-12
  /
END

MATERIAL_PROPERTY soil_cubic
  ID 3
  CHARACTERISTIC_CURVES cc1
  POROSITY 0.25
  TORTUOSITY 0.5
  ROCK_DENSITY 2650.0 kg/m^3
  THERMAL_CHARACTERISTIC_CURVES cct_cubic_polynomial
  HEAT_CAPACITY 830.0 J/kg-C
  PERMEABILITY
    PERM_X 1.d-12
    PERM_Y 1.d-12
    PERM_Z 1.d-12
  /
END

MATERIAL_PROPERTY soil_power
  ID 4
  CHARACTERISTIC_CURVES cc1
  POROSITY 0.25
  TORTUOSITY 0.5
  ROCK_DENSITY 2650.0 kg/m^3
  THERMAL_CHARACTERISTIC_CURVES cct_power
  HEAT_CAPACITY 830.0 J/kg-C
  PERMEABILITY
    PERM_X 1.d-12
    PERM_Y 1.d-12
    PERM_Z 1.d-12
  /
END

THERMAL_CHARACTERISTIC_CURVES cct_power
  THERMAL_CONDUCTIVITY_FUNCTION POWER
    THERMAL_CONDUCTIVITY_DRY 5.5000D+0 W/m-C
    THERMAL_CONDUCTIVITY_WET 7.0000D+0 W/m-C
    ANISOTROPY_RATIO_X   1.0000D+0
    ANISOTROPY_RATIO_Y   0.9000D+0
    ANISOTROPY_RATIO_Z   0.8000D+0
    #REFERENCE_TEMPERATURE -273.15 ! default value
    EXPONENT -1.18D+0
  /
END

THERMAL_CHARACTERISTIC_CURVES cct_linear_resistivity
  THERMAL_CONDUCTIVITY_FUNCTION LINEAR_RESISTIVITY
    THERMAL_CONDUCTIVITY_DRY 5.5000D+0 W/m-C
    THERMAL_CONDUCTIVITY_WET 7.0000D+0 W/m-C
    ANISOTROPY_RATIO_X   1.0000D+0
    ANISOTROPY_RATIO_Y   0.9000D+0
    ANISOTROPY_RATIO_Z   0.8000D+0
    #REFERENCE_TEMPERATURE 0.d0 ! default value
    LINEAR_RESISTIVITY_COEFFICIENTS 1.0d0 5.038D-3
  /
END

THERMAL_CHARACTERISTIC_CURVES cct_cubic_polynomial
  THERMAL_CONDUCTIVITY_FUNCTION CUBIC_POLYNOMIAL
    THERMAL_CONDUCTIVITY_DRY 5.5000D+0 W/m-C
    THERMAL_CONDUCTIVITY_WET 7.0000D+0 W/m-C
    ANISOTROPY_RATIO_X   1.0000D+0
    ANISOTROPY_RATIO_Y   0.9000D+0
    ANISOTROPY_RATIO_Z   0.8000D+0
    #REFERENCE_TEMPERATURE 0.d0 ! default value
    CUBIC_POLYNOMIAL_COEFFICIENTS -4.53398D-3 1.41580D-5 -1.94840D-8
  /
END

THERMAL_CHARACTERISTIC_CURVES cct_default
  THERMAL_CONDUCTIVITY_FUNCTION DEFAULT
    THERMAL_CONDUCTIVITY_DRY 5.5000D+0 W/m-C
    THERMAL_CONDUCTIVITY_WET 7.0000D+0 W/m-C
    ANISOTROPY_RATIO_X   1.0000D+0
    ANISOTROPY_RATIO_Y   0.9000D+0
    ANISOTROPY_RATIO_Z   0.8000D+0
  /
END

#=========================== saturation functions =============================
CHARACTERISTIC_CURVES cc1
  SATURATION_FUNCTION VAN_GENUCHTEN
    LIQUID_RESIDUAL_SATURATION 0.d0
    ALPHA 1.d-4
    M 0.5d0
    MAX_CAPILLARY_PRESSURE 1.d6
  /
  PERMEABILITY_FUNCTION MUALEM
    PHASE LIQUID
    LIQUID_RESIDUAL_SATURATION 0.d0
    M 0.5d0
  /
  PERMEABILITY_FUNCTION MUALEM_VG_GAS
    PHASE GAS
    LIQUID_RESIDUAL_SATURATION 0.d0
    GAS_RESIDUAL_SATURATION 1.d-40
    M 0.5d0
  /
/

#=========================== output options ===================================
OUTPUT
  SNAPSHOT_FILE
    FORMAT TECPLOT BLOCK
#    TIMES d 1.0d0 7.0d0 1.4d1 3.0d1 6.0d1
    VARIABLES
      TEMPERATURE
      LIQUID_PRESSURE
      GAS_PRESSURE
      LIQUID_SATURATION
      GAS_SATURATION
    /
  /
/

#=========================== times ============================================
TIME
  FINAL_TIME 1.0d-2 d
  INITIAL_TIMESTEP_SIZE 1.0d-1 s
  MAXIMUM_TIMESTEP_SIZE 1.0d+0 d
/

#=========================== regions ==========================================
REGION all
  COORDINATES
    0.d0 0.d0 0.d0
    4.d0 3.d0 2.d0
  /
END

REGION west
  COORDINATES
    0.d0 0.d0 0.d0
    0.d0 3.d0 2.d0
  /
  FACE WEST
END

REGION east
  COORDINATES
    4.d0 0.d0 0.d0
    4.d0 3.d0 2.d0
  /
  FACE EAST
END

REGION liquid_side
  COORDINATE 0.5d0 2.5d0 1.5d0
END

REGION gas_side
  COORDINATE 3.5d0 0.5d0 0.5d0
END

#WATER
REGION water
  COORDINATES
    0.d0 2.d0 1.d0
    0.d0 3.d0 2.d0
  /
END

#FIRST SEGMENT
REGION S1
  COORDINATES
    0.d0 0.d0 0.d0
    1.d0 3.d0 2.d0
  /
END

#SECOND SEGMENT
REGION S2
  COORDINATES
    1.d0 0.d0 0.d0
    2.d0 3.d0 2.d0
  /
END

#THIRD SEGMENT
REGION S3
  COORDINATES
    2.d0 0.d0 0.d0
    3.d0 3.d0 2.d0
  /
END

#FOURTH SEGMENT
REGION S4
  COORDINATES
    3.d0 0.d0 0.d0
    4.d0 3.d0 2.d0
  /
END


#=========================== observation points ===============================
OBSERVATION
  REGION liquid_side
  VELOCITY
/

OBSERVATION
  REGION gas_side
  VELOCITY
/

#=========================== flow conditions ==================================
FLOW_CONDITION liquid_phase
  TYPE
    LIQUID_PRESSURE DIRICHLET
    MOLE_FRACTION DIRICHLET
    TEMPERATURE DIRICHLET
  /
  LIQUID_PRESSURE 111325.d0
  MOLE_FRACTION 1.d-10
  TEMPERATURE 100.d0
/

FLOW_CONDITION gas_phase
  TYPE
    GAS_PRESSURE DIRICHLET
    MOLE_FRACTION DIRICHLET
    TEMPERATURE DIRICHLET
  /
  GAS_PRESSURE 111325.d0
  ! psat at 0 C is 612.5 Pa (triple point)
  ! at 100% humidity, p_a = p_g - p_sat
  ! mole fraction = p_a / p_g = (p_g - p_sat) / p_g
  !               = (111325. - 612.5) / 111325.
  !               = 0.994
  MOLE_FRACTION 0.995
  TEMPERATURE 0.d0
/

#=========================== condition couplers ===============================
INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION west
/

INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION east
/

INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION S1
END

INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION S2
END

INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION S3
END

INITIAL_CONDITION
  FLOW_CONDITION gas_phase
  REGION S4
END

INITIAL_CONDITION
  FLOW_CONDITION liquid_phase
  REGION water
/

#skip
BOUNDARY_CONDITION west
  FLOW_CONDITION liquid_phase
  REGION west
/

BOUNDARY_CONDITION east
  FLOW_CONDITION gas_phase
  REGION east
/
#noskip

#=========================== stratigraphy couplers ============================
STRATA
  MATERIAL soil_default
  REGION S1
/

STRATA
  MATERIAL soil_linear
  REGION S2
/

STRATA
  MATERIAL soil_cubic
  REGION S3
/

STRATA
  MATERIAL soil_power
  REGION S4
/
