Boundary condition - well with known temperature

240 views
Skip to first unread message

anne....@googlemail.com

unread,
Jul 4, 2018, 8:59:19 AM7/4/18
to pflotran-users
Dear all,

How can I install a vertical well with known temperature as boundary condition in the middle of an unstructured grid? Do I have to use point, line, face or element regions for this? Anne

Hammond, Glenn E

unread,
Jul 9, 2018, 2:09:06 PM7/9/18
to pflotra...@googlegroups.com

To apply temperature as a boundary condition, you will need the face of the element to which you want to apply the temperature.  This can be done with a sideset (see “REGION west” in PFLOTRAN_DIR/regression_tests/default/discretization/mixed_implicit.in) , which is essentially a list of the vertices (in clockwise or counter clockwise order) that make up the face. 

 

What really needs to be implemented is an instantaneous source/sink that drives the temperature in the cell to equilibrium with a specified temperature.  This would require some code development.

 

Glenn

Dimech Adrien

unread,
Feb 25, 2021, 4:20:33 PM2/25/21
to pflotran-users
Dear Glenn, 
I am trying to model saturation profile in a layered medium during 2 years with some precipitation data (rate list in m^3/day for every day). 
The model works well in Richards mode and the modelled saturation fits well measurements from buried sensors (CM_2021_02_17.in).

I am now trying to add thermal modelling (TH mode) to reproduce the temperature evolution measured by the same sensors.
My strategy would be to use meteo data (temperature at the surface of the model for every day) as a surface constraint (analogy with precipitation data).
I tried to do that (CM_2021_02_25.in) but the modelling does not converge... which makes me feel I have the wrong approach.

If I understand well your precedent answer, the best approach would be to find a way to compute the right ENERGY_FLUX (source or sink) to apply at the surface to force changes of temperature in the model !? I am correct ?

Thank you so much in advance for your help
(and thank you for setting up these debug conversations, it is really helpful !)

Have a nice day
Adrien


in Richards Mode: (works well)      (-->TH mode below)

# Description: 1D infiltration in an experimental CEBC cover 
 # AD - 2021-02-17

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

SIMULATION
SIMULATION_TYPE SUBSURFACE
PROCESS_MODELS
SUBSURFACE_FLOW flow
MODE RICHARDS
/
/
/

SUBSURFACE

#========================== discretization - CM ==============================

GRID
TYPE structured
ORIGIN 0 0 0
NXYZ 2 2 180
DXYZ
0.01
0.01
0.01
/
/

#=========================== material properties ==============================

MATERIAL_PROPERTY wr_04_cm
ID 1 
CHARACTERISTIC_CURVES unsat_wr_04_cm
POROSITY 0.20
TORTUOSITY 0.5
PERMEABILITY
PERM_X 4.744670e-13
PERM_Y 4.744670e-13
PERM_Z 4.744670e-13
/
/

MATERIAL_PROPERTY tailings_cm
ID 2 
CHARACTERISTIC_CURVES unsat_tailings_cm
POROSITY 0.40
TORTUOSITY 0.5
PERMEABILITY
PERM_X 1.808931e-13
PERM_Y 1.808931e-13
PERM_Z 1.808931e-13
/
/

MATERIAL_PROPERTY wr_02_cm
ID 3 
CHARACTERISTIC_CURVES unsat_wr_02_cm
POROSITY 0.20
TORTUOSITY 0.5
PERMEABILITY
PERM_X 2.721683e-13
PERM_Y 2.721683e-13
PERM_Z 2.721683e-13
/
/

#=========================== characteristic curves ============================

CHARACTERISTIC_CURVES unsat_wr_04_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.725
ALPHA 0.000229
LIQUID_RESIDUAL_SATURATION 0.082
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.725
LIQUID_RESIDUAL_SATURATION 0.082
/
TEST
/

CHARACTERISTIC_CURVES unsat_tailings_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.665
ALPHA 0.000068
LIQUID_RESIDUAL_SATURATION 0.168
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.665
LIQUID_RESIDUAL_SATURATION 0.168
/
TEST
/

CHARACTERISTIC_CURVES unsat_wr_02_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.720
ALPHA 0.000162
LIQUID_RESIDUAL_SATURATION 0.098
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.720
LIQUID_RESIDUAL_SATURATION 0.098
/
TEST
/

#=========================== output options ===================================

OUTPUT
SNAPSHOT_FILE
FORMAT HDF5
PERIODIC TIMESTEP 24 h
VARIABLES
LIQUID_SATURATION
LIQUID_PRESSURE
CAPILLARY_PRESSURE
/
/
OBSERVATION_FILE
PERIODIC TIME 0.250000 d
VARIABLES
LIQUID_SATURATION
/
/
/

#=========================== observation ==========================================

OBSERVATION
REGION T12_1_z15cm
/

REGION T12_1_z15cm
COORDINATE 0.01 0.01 0.15
/

OBSERVATION
REGION T12_2_z45cm
/

REGION T12_2_z45cm
COORDINATE 0.01 0.01 0.45
/

OBSERVATION
REGION T12_3_z75cm
/

REGION T12_3_z75cm
COORDINATE 0.01 0.01 0.75
/

OBSERVATION
REGION T12_4_z115cm
/

REGION T12_4_z115cm
COORDINATE 0.01 0.01 1.15
/

OBSERVATION
REGION T12_5_z155cm
/

REGION T12_5_z155cm
COORDINATE 0.01 0.01 1.55
/

# =========================== times ============================================

TIME
FINAL_TIME 760 d
MAXIMUM_TIMESTEP_SIZE 0.1 d
/

# =========================== regions ==========================================

REGION all
COORDINATES
0 0 0
0.02 0.02 1.80
/
/

REGION wr_04_cm
COORDINATES
0 0 0
0.02 0.02 0.3
/
/

REGION tailings_cm
COORDINATES
0 0 0.3
0.02 0.02 1.3
/
/

REGION wr_02_cm
COORDINATES
0 0 1.3
0.02 0.02 1.8
/
/

REGION bottom
FACE BOTTOM
COORDINATES
0 0 0
0.02 0.02 0
/
/

REGION top
FACE TOP
COORDINATES
0 0 1.80
0.02 0.02 1.80
/
/

REGION west
COORDINATES
0 0 0
0 0.02 1.80
/
/

REGION east
COORDINATES
0.02 0 0
0.02 0.02 1.80
/
/

REGION front
COORDINATES
0 0 0
0.02 0 1.80
/
/

REGION back
COORDINATES
0 0.02 0
0.02 0.02 1.80
/
/

# =========================== flow conditions ==================================

FLOW_CONDITION no_flux
TYPE
FLUX NEUMANN
/
FLUX 0
/

FLOW_CONDITION injection
TYPE
RATE SCALED_VOLUMETRIC_RATE NEIGHBOR_PERM
/
SYNC_TIMESTEP_WITH_UPDATE
RATE LIST
TIME_UNITS day
DATA_UNITS m^3/day
0 0.00000000
1 0.00000096
2 0.00000016
3 0.00000000
4 0.00000000
 # ... etc for 2 years of precipitation data
653 0.00000000
654 0.00000552
655 0.00000136
656 0.00000056
657 0.00000000
/

/

FLOW_CONDITION precipitation
TYPE
FLUX NEUMANN
/
FLUX 0.317098d-7
/

FLOW_CONDITION water_table_top
TYPE
PRESSURE HYDROSTATIC
/
PRESSURE 101325 Pa
DATUM 0 0 7
/

FLOW_CONDITION water_table_bottom
TYPE
PRESSURE HYDROSTATIC
/
PRESSURE 50325 Pa
DATUM 0 0 0
/

# =========================== condition couplers ===============================

INITIAL_CONDITION
FLOW_CONDITION water_table_top
REGION all
/

SOURCE_SINK
FLOW_CONDITION injection
REGION top
/

BOUNDARY_CONDITION
FLOW_CONDITION water_table_bottom
REGION bottom
/

#=========================== strata ==========================================

STRATA
REGION wr_04_cm
MATERIAL wr_04_cm
/

STRATA
REGION tailings_cm
MATERIAL tailings_cm
/

STRATA
REGION wr_02_cm
MATERIAL wr_02_cm
/

END_SUBSURFACE


in TH Mode: (does not converge)

 # Description: 2D infiltration in an experimental CEBC cover 
 # AD - 2021-02-25

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

SIMULATION
SIMULATION_TYPE SUBSURFACE
PROCESS_MODELS
SUBSURFACE_FLOW flow
MODE TH # Thermo-Hydro
/
/
/

SUBSURFACE

#========================== discretization - CM ==============================

GRID
TYPE structured
ORIGIN 0 0 0
NXYZ 2 2 180
DXYZ
0.01
0.01
0.01
/
/

#=========================== material properties ==============================

MATERIAL_PROPERTY wr_04_cm
ID 1 
CHARACTERISTIC_CURVES unsat_wr_04_cm
POROSITY 0.20
TORTUOSITY 0.5
THERMAL_CONDUCTIVITY_DRY 1.0 # W/m/K
THERMAL_CONDUCTIVITY_WET 1.0 # W/m/K
HEAT_CAPACITY 1500 # J/m3/K
PERMEABILITY
PERM_X 4.744670e-13
PERM_Y 4.744670e-13
PERM_Z 4.744670e-13
/
/

MATERIAL_PROPERTY tailings_cm
ID 2 
CHARACTERISTIC_CURVES unsat_tailings_cm
POROSITY 0.40
TORTUOSITY 0.5
THERMAL_CONDUCTIVITY_DRY 2.0 # W/m/K
THERMAL_CONDUCTIVITY_WET 4.0 # W/m/K
HEAT_CAPACITY 2500 # J/m3/K
PERMEABILITY
PERM_X 1.808931e-13
PERM_Y 1.808931e-13
PERM_Z 1.808931e-13
/
/

MATERIAL_PROPERTY wr_02_cm
ID 3 
CHARACTERISTIC_CURVES unsat_wr_02_cm
POROSITY 0.20
TORTUOSITY 0.5
THERMAL_CONDUCTIVITY_DRY 1.0 # W/m/K
THERMAL_CONDUCTIVITY_WET 1.0 # W/m/K
HEAT_CAPACITY 1500 # J/m3/K
PERMEABILITY
PERM_X 2.721683e-13
PERM_Y 2.721683e-13
PERM_Z 2.721683e-13
/
/

#=========================== characteristic curves ============================

CHARACTERISTIC_CURVES unsat_wr_04_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.725
ALPHA 0.000229
LIQUID_RESIDUAL_SATURATION 0.082
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.725
LIQUID_RESIDUAL_SATURATION 0.082
/
TEST
/

CHARACTERISTIC_CURVES unsat_tailings_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.665
ALPHA 0.000068
LIQUID_RESIDUAL_SATURATION 0.168
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.665
LIQUID_RESIDUAL_SATURATION 0.168
/
TEST
/

CHARACTERISTIC_CURVES unsat_wr_02_cm
SATURATION_FUNCTION VAN_GENUCHTEN
M 0.720
ALPHA 0.000162
LIQUID_RESIDUAL_SATURATION 0.098
/
PERMEABILITY_FUNCTION MUALEM_VG_LIQ
M 0.720
LIQUID_RESIDUAL_SATURATION 0.098
/
TEST
/

#=========================== output options ===================================

OUTPUT
SNAPSHOT_FILE
FORMAT HDF5
PERIODIC TIMESTEP 24 h
VARIABLES
LIQUID_SATURATION
LIQUID_PRESSURE
CAPILLARY_PRESSURE
TEMPERATURE
/
/
OBSERVATION_FILE
PERIODIC TIME 0.250000 d
VARIABLES
LIQUID_SATURATION
TEMPERATURE
/
/
/

#=========================== observation ==========================================

OBSERVATION
REGION T12_1_z15cm
/

REGION T12_1_z15cm
COORDINATE 0.01 0.01 0.15
/

OBSERVATION
REGION T12_2_z45cm
/

REGION T12_2_z45cm
COORDINATE 0.01 0.01 0.45
/

OBSERVATION
REGION T12_3_z75cm
/

REGION T12_3_z75cm
COORDINATE 0.01 0.01 0.75
/

OBSERVATION
REGION T12_4_z115cm
/

REGION T12_4_z115cm
COORDINATE 0.01 0.01 1.15
/

OBSERVATION
REGION T12_5_z155cm
/

REGION T12_5_z155cm
COORDINATE 0.01 0.01 1.55
/

# =========================== times ============================================

TIME
FINAL_TIME 760 d
MAXIMUM_TIMESTEP_SIZE 0.1 d
/

# =========================== regions ==========================================

REGION all
COORDINATES
0 0 0
0.02 0.02 1.80
/
/

REGION wr_04_cm
COORDINATES
0 0 0
0.02 0.02 0.3
/
/

REGION tailings_cm
COORDINATES
0 0 0.3
0.02 0.02 1.3
/
/

REGION wr_02_cm
COORDINATES
0 0 1.3
0.02 0.02 1.8
/
/

REGION bottom
FACE BOTTOM
COORDINATES
0 0 0
0.02 0.02 0
/
/

REGION top
FACE TOP
COORDINATES
0 0 1.80
0.02 0.02 1.80
/
/

REGION west
COORDINATES
0 0 0
0 0.02 1.80
/
/

REGION east
COORDINATES
0.02 0 0
0.02 0.02 1.80
/
/

REGION front
COORDINATES
0 0 0
0.02 0 1.80
/
/

REGION back
COORDINATES
0 0.02 0
0.02 0.02 1.80
/
/

# =========================== flow conditions ==================================


FLOW_CONDITION injection
TYPE
RATE SCALED_VOLUMETRIC_RATE NEIGHBOR_PERM
TEMPERATURE DIRICHLET
/
SYNC_TIMESTEP_WITH_UPDATE
RATE LIST
TIME_UNITS day
DATA_UNITS m^3/day
0 0.00000000
            1 0.00000096
  2 0.00000016
  3 0.00000000
  4 0.00000000
  # ... etc for 2 years of precipitation data
  653 0.00000000
  654 0.00000552
  655 0.00000136
  656 0.00000056
  657 0.00000000
/
TEMPERATURE LIST
TIME_UNITS day
DATA_UNITS C
0 10
1 10
2 9
3 9
4 9
# ... etc for 2 years of surface temperature data
653 10
654 11
655 10
656 9
657 8
/
/

FLOW_CONDITION water_table_top
TYPE
PRESSURE HYDROSTATIC
TEMPERATURE dirichlet
/
PRESSURE 101325 Pa
TEMPERATURE 10 C
DATUM 0 0 7
/

FLOW_CONDITION water_table_bottom
TYPE
PRESSURE HYDROSTATIC
ENERGY_FLUX neumann
/
PRESSURE 50325 Pa
ENERGY_FLUX 0.0 W/m^2
DATUM 0 0 0
/

# =========================== condition couplers ===============================

INITIAL_CONDITION initial_condition
FLOW_CONDITION water_table_top
REGION all
/

SOURCE_SINK
FLOW_CONDITION injection
REGION top
/

BOUNDARY_CONDITION
FLOW_CONDITION water_table_bottom
REGION bottom
/

#=========================== strata ==========================================

STRATA
REGION wr_04_cm
MATERIAL wr_04_cm
/

STRATA
REGION tailings_cm
MATERIAL tailings_cm
/

STRATA
REGION wr_02_cm
MATERIAL wr_02_cm
/

END_SUBSURFACE

Hammond, Glenn E

unread,
Feb 25, 2021, 9:03:42 PM2/25/21
to pflotra...@googlegroups.com

Adrien,

 

For TH, I would try the superposition of a SEEPAGE/DIRICHLET and NEUMANN boundary conditions:

 

FLOW_CONDITION temperature

  TYPE

    PRESSURE SEEPAGE

    TEMPERATURE DIRICHLET

  /

  PRESSURE 1.d5  # this the reference pressure is 101325, water will only flow out of the domain when the cell is saturated, and it will never flow in.

  TEMPERATURE 35.d0

END

 

FLOW_CONDITION recharge

  TYPE

    FLUX NEUMANN

    ENERGY_FLUX NEUMANN

  /

  FLUX 10 cm/y

  ENERGY_FLUX 0.

END

 

The top flow condition will allow heat to conduct into the domain while no water mass may enter the domain.  The bottom flow condition infiltrates the water without an energy flux.  Otherwise, you can use the bottom flow condition with a non-zero energy flux, but how do you calculate the actual flux…?

 

Let’s iterate on this until conceptually converged.

 

Glenn

   

 

From: pflotra...@googlegroups.com <pflotra...@googlegroups.com> On Behalf Of Dimech Adrien
Sent: Thursday, February 25, 2021 1:21 PM
To: pflotran-users <pflotra...@googlegroups.com>
Subject: Re: [EXTERNAL] [pflotran-users: 6160] Boundary condition - well with known temperature

 

Check twice before you click! This email originated from outside PNNL.

 

--
You received this message because you are subscribed to the Google Groups "pflotran-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pflotran-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/pflotran-users/c4e97943-d88e-4915-9666-3e78788d37ben%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages