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