1!-------------------------------------------------------------------------------
2
3! This file is part of Code_Saturne, a general-purpose CFD tool.
4!
5! Copyright (C) 1998-2021 EDF S.A.
6!
7! This program is free software; you can redistribute it and/or modify it under
8! the terms of the GNU General Public License as published by the Free Software
9! Foundation; either version 2 of the License, or (at your option) any later
10! version.
11!
12! This program is distributed in the hope that it will be useful, but WITHOUT
13! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
14! FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
15! details.
16!
17! You should have received a copy of the GNU General Public License along with
18! this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
19! Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21!-------------------------------------------------------------------------------
22
23!> \file darcy_module.f90
24!> \brief Module for Darcy calculation options
25
26module darcy_module
27
28  !=============================================================================
29
30  use, intrinsic :: iso_c_binding
31
32  use paramx
33
34  implicit none
35
36  !=============================================================================
37
38  !> \defgroup darcy_module Module for variable numbering
39
40  !> \addtogroup darcy_module
41  !> \{
42
43  !-----------------------------------------------------------------------------
44  ! Darcy module variables
45  !-----------------------------------------------------------------------------
46
47  !> \anchor darcy_anisotropic_permeability
48  !> Set permeability to isotropic (0) or anisotropic (1) for all soils
49  integer :: darcy_anisotropic_permeability
50
51  !> \anchor darcy_anisotropic_dispersion
52  !> Set dispersion to isotropic (0) or anisotropic (1) for all solutes
53  integer :: darcy_anisotropic_dispersion
54
55  !> \anchor darcy_unsteady
56  !> Set if the transport part is based on a steady (0) or unsteady (1)
57  !> flow field
58  integer :: darcy_unsteady
59
60  !> \anchor darcy_convergence_criterion
61  !> Set convergence criteron of the Newton scheme
62  !> - 0: over pressure (recommanded)
63  !> - 1: over velocity
64  integer :: darcy_convergence_criterion
65
66  !> \anchor darcy_gravity
67  !> Set gravity to compute the pressure head \f$ h \f$ from the hydraulic
68  !> head \f$ H \f$ and the elevation (\f$ z \f$ is the elevation by default).
69  !> Only used in the Van Genuchten model.
70  !> If enabled the pressure head is stored in field of index iprtot.
71  !> The reference elevation is always the elevation of point (0,0,0).
72  integer :: darcy_gravity
73
74  !> \anchor darcy_gravity_x
75  !> Darcy gravity direction x component.
76  !> Gravity direction must be a unit vector.
77  double precision :: darcy_gravity_x
78
79  !> \anchor darcy_gravity_y
80  !> Darcy gravity direction y component.
81  !> Gravity direction must be a unit vector.
82  double precision :: darcy_gravity_y
83
84  !> \anchor darcy_gravity_z
85  !> Darcy gravity direction z component.
86  !> Gravity direction must be a unit vector.
87  double precision :: darcy_gravity_z
88
89  !> \anchor darcy_unsaturated
90  !> Take into account unsaturated zone (1) or not (0).
91  integer :: darcy_unsaturated
92
93  !> \}
94
95end module darcy_module
96