Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
r3.gwflow(1)		    GRASS GIS User's Manual		  r3.gwflow(1)

NAME
       r3.gwflow   -  Numerical	 calculation  program  for transient, confined
       groundwater flow	in three dimensions.

KEYWORDS
       raster3d, groundwater flow, voxel, hydrology

SYNOPSIS
       r3.gwflow
       r3.gwflow --help
       r3.gwflow [-mf] phead=name status=name  hc_x=name  hc_y=name  hc_z=name
       [sink=name]     yield=name    [recharge=name]	output=name    [veloc-
       ity_x=name]    [velocity_y=name]	   [velocity_z=name]	 [budget=name]
       dtime=float  [maxit=integer]   [error=float]   [solver=name]   [--over-
       write]  [--help]	 [--verbose]  [--quiet]	 [--ui]

   Flags:
       -m
	   Use 3D raster mask (if exists)

       -f
	   Use a full filled quadratic linear equation system,	default	 is  a
	   sparse linear equation system.

       --overwrite
	   Allow output	files to overwrite existing files

       --help
	   Print usage summary

       --verbose
	   Verbose module output

       --quiet
	   Quiet module	output

       --ui
	   Force launching GUI dialog

   Parameters:
       phead=nameA [required]
	   Input 3D raster map with initial piezometric	heads in [m]

       status=nameA [required]
	   Input 3D raster map providing the status for	each cell, = 0 - inac-
	   tive, 1 - active, 2 - dirichlet

       hc_x=nameA [required]
	   Input 3D raster map with the	x-part of the  hydraulic  conductivity
	   tensor in [m/s]

       hc_y=nameA [required]
	   Input  3D  raster map with the y-part of the	hydraulic conductivity
	   tensor in [m/s]

       hc_z=nameA [required]
	   Input 3D raster map with the	z-part of the  hydraulic  conductivity
	   tensor in [m/s]

       sink=name
	   Input 3D raster map with sources and	sinks in [m^3/s]

       yield=nameA [required]
	   Specific yield [1/m]	input 3D raster	map

       recharge=name
	   Recharge input 3D raster map	in m^3/s

       output=nameA [required]
	   Output 3D raster map	storing	the piezometric	head result of the nu-
	   merical calculation

       velocity_x=name
	   Output 3D raster map	storing	the groundwater	filter velocity	vector
	   part	in x direction [m/s]

       velocity_y=name
	   Output 3D raster map	storing	the groundwater	filter velocity	vector
	   part	in y direction [m/s]

       velocity_z=name
	   Output 3D raster map	storing	the groundwater	filter velocity	vector
	   part	in z direction [m/s]

       budget=name
	   Output  3D  raster map storing the groundwater budget for each cell
	   [m^3/s]

       dtime=floatA [required]
	   The calculation time	in seconds
	   Default: 86400

       maxit=integer
	   Maximum number of iteration used to solve the linear	equation  sys-
	   tem
	   Default: 10000

       error=float
	   Error break criteria	for iterative solver
	   Default: 0.000001

       solver=name
	   The type of solver which should solve the symmetric linear equation
	   system
	   Options: cg,	pcg, cholesky
	   Default: cg

DESCRIPTION
       This numerical module calculates	implicit transient and	steady	state,
       confined	 groundwater flow in three dimensions based on volume maps and
       the current 3D region settings.	All initial-  and  boundary-conditions
       must  be	provided as volume maps.  The unit in the location must	be me-
       ters.

       This module is sensitive	to mask	settings. All cells which are  outside
       the mask	are ignored and	handled	as no flow boundaries.

       The  module  calculates	the  piezometric head and optionally the water
       balance for each	cell and the groundwater velocity field	 in  3	dimen-
       sions.	The  vector components can be visualized with ParaView if they
       are exported with r3.out.vtk.

       The groundwater flow will always	be calculated transient.   For	steady
       state  computation  the	user should set	the timestep to	a large	number
       (billions of seconds) or	set the	specific yield raster map to zero.

NOTES
       The groundwater flow calculation	is based on Darcy's law	and a  numeri-
       cal  implicit  finite volume discretization. The	discretization results
       in a symmetric and positive definite linear equation system in form  of
       Ax = b, which must be solved. The groundwater flow partial differential
       equation	is of the following form:

       (dh/dt)*S = div (K grad h) + q

       In detail for 3 dimensions:

       (dh/dt)*S = Kxx * (d^2h/dx^2) + Kyy * (d^2h/dy^2) + Kzz * (d^2h/dz^2) +
       q

	   o   h -- the	piezometric head im meters [m]

	   o   dt -- the time step for transient calculation in	seconds	[s]

	   o   S -- the	specific yield	[1/m]

	   o   b -- the	bottom surface of the aquifer meters [m]

	   o   Kxx -- the hydraulic conductivity tensor	part in	x direction in
	       meter per second	[m/s]

	   o   Kyy -- the hydraulic conductivity tensor	part in	y direction in
	       meter per seconds [m/s]

	   o   Kzz -- the hydraulic conductivity tensor	part in	z direction in
	       meter per seconds [m/s]

	   o   q - inner source/sinc in	[1/s]

       Two different boundary conditions are implemented,  the	Dirichlet  and
       Neumann	conditions.  By	 default the calculation area is surrounded by
       homogeneous Neumann boundary conditions.	The calculation	 and  boundary
       status  of  single  cells can be	set with the status map, the following
       cell states are supported:

	   o   0 == inactive - the cell	with status 0 will not be  calculated,
	       active cells will have a	no flow	boundary to an inactive	cell

	   o   1  ==  active  -	this cell is used for groundwater calculation,
	       inner sources can be defined for	those cells

	   o   2 == Dirichlet -	cells of this type will	have a fixed piezomet-
	       ric head	value which do not change over time

       Note that all required raster maps are read into	main memory. Addition-
       ally the	linear equation	system will be allocated, so the  memory  con-
       sumption	of this	module rapidely	grow with the size of the input	maps.

       The  resulting linear equation system Ax	= b can	be solved with several
       solvers.	An iterative solvers with sparse and quadratic	matrices  sup-
       port  is	 implemented.	The  conjugate gradients method	with (pcg) and
       without (cg) precondition.  Additionally	a direct  Cholesky  solver  is
       available. This direct solver only work with normal quadratic matrices,
       so be careful using them	with large maps	(maps  of  size	 10.000	 cells
       will need more than one Gigabyte	of RAM). The user should always	prefer
       to use a	sparse matrix solver.

EXAMPLE	1
       This small script creates a working groundwater flow area and data.  It
       cannot be run in	a lat/lon location.
       # set the region	accordingly
       g.region	res=25 res3=25 t=100 b=0 n=1000	s=0 w=0	e=1000 -p3
       #now create the input raster maps for a confined	aquifer
       r3.mapcalc expression="phead = if(row() == 1 && depth() == 4, 50, 40)"
       r3.mapcalc expression="status = if(row()	== 1 &&	depth()	== 4, 2, 1)"
       r3.mapcalc expression="well = if(row() == 20 && col() ==	20 && depth() == 2, -0.25, 0)"
       r3.mapcalc expression="hydcond =	0.00025"
       r3.mapcalc expression="syield = 0.0001"
       r.mapcalc  expression="recharge = 0.0"
       r3.gwflow solver=cg phead=phead statuyield=status hc_x=hydcond hc_y=hydcond  \
	  hc_z=hydcond sink=well yield=syield r=recharge output=gwresult dt=8640000 vx=vx vy=vy	vz=vz budget=budget
       # The data can be visualized with ParaView when exported	with r3.out.vtk
       r3.out.vtk -p in=gwresult,status,budget vector=vx,vy,vz out=/tmp/gwdata3d.vtk
       #now load the data into ParaView
       paraview	--data=/tmp/gwdata3d.vtk

EXAMPLE	2
       This  will  create a nice 3D model with geological layer	with different
       hydraulic conductivities. Make sure you are not in  a  lat/lon  projec-
       tion.
       # set the region	accordingly
       g.region	res=15 res3=15 t=500 b=0 n=1000	s=0 w=0	e=1000
       #now create the input raster maps for a confined	aquifer
       r3.mapcalc expression="phead = if(col() == 1 && depth() == 33, 50, 40)"
       r3.mapcalc expression="status = if(col()	== 1 &&	depth()	== 33, 2, 1)"
       r3.mapcalc expression="well = if(row() == 20 && col() ==	20 && depth() == 3, -0.25, 0)"
       r3.mapcalc expression="well = if(row() == 50 && col() ==	50 && depth() == 3, -0.25, well)"
       r3.mapcalc expression="hydcond =	0.0025"
       r3.mapcalc expression="hydcond =	if(depth() < 30	&& depth() > 23	&& col() < 60, 0.000025, hydcond)"
       r3.mapcalc expression="hydcond =	if(depth() < 20	&& depth() > 13	&& col() >  7, 0.000025, hydcond)"
       r3.mapcalc expression="hydcond =	if(depth() < 10	&& depth() >  7	&& col() < 60, 0.000025, hydcond)"
       r3.mapcalc expression="syield = 0.0001"
       r3.gwflow solver=cg phead=phead statuyield=status hc_x=hydcond hc_y=hydcond  \
	  hc_z=hydcond sink=well yield=syield output=gwresult dt=8640000 vx=vx vy=vy vz=vz budget=budget
       # The data can be visualized with paraview when exported	with r3.out.vtk
       r3.out.vtk -p in=gwresult,status,budget,hydcond,well vector=vx,vy,vz out=/tmp/gwdata3d.vtk
       #now load the data into paraview
       paraview	--data=/tmp/gwdata3d.vtk

SEE ALSO
	r.gwflow, r.solute.transport, r3.out.vtk

AUTHOR
       SA<paragraph>ren	Gebbert

       This  work  is  based on	the Diploma Thesis of SA<paragraph>ren Gebbert
       available here at Technical University Berlin, Germany.

SOURCE CODE
       Available at: r3.gwflow source code (history)

       Main index | 3D raster index | Topics index | Keywords index |  Graphi-
       cal index | Full	index

       A(C) 2003-2020 GRASS Development	Team, GRASS GIS	7.8.3 Reference	Manual

GRASS 7.8.3							  r3.gwflow(1)

NAME | KEYWORDS | SYNOPSIS | DESCRIPTION | NOTES | EXAMPLE 1 | EXAMPLE 2 | SEE ALSO | AUTHOR | SOURCE CODE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=r3.gwflow&sektion=1&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help