setup.prop.2D {ReacTran}R Documentation

Attaches a Property to a Two-Dimensional Grid

Description

Calculates the value of a given property at the middle of grid cells (mid) and at the interfaces of the grid cells (int).

Two possibilities are available: either specifying a mathematical function (func) that describes the spatial dependency of the property, or asssuming a constant value (value). To allow for anisotropy, the spatial dependency can be different in the x and y direction.

For example, in a sediment model, the routine can be used to specify the porosity, the mixing intensity or other parameters over the grid of the reactangular sediment domain.

Usage

setup.prop.2D(func = NULL, y.func = func, value = NULL,
  y.value = value, grid,...)

## S3 method for class 'prop.2D':
contour(x, grid, xyswap = FALSE, filled = FALSE, ...)

Arguments

func function that describes the spatial dependency in the x-direction
y.func function that describes the spatial dependency in the y-direction. By default the same as in the x-direction.
value constant value given to the property in the x-direction
y.value constant value given to the property in the y-direction. By default the same as in the x-direction.
grid list specifying the 2D grid characteristics, see setup.grid.2D for details on the structure of this list
x the object of class prop.2D that needs plotting
filled if TRUE, uses filled.contour, else contour
xyswap if TRUE, then x- and y-values are swapped and the y-axis is oriented from top to bottom. Useful for drawing vertical depth profiles
... additional arguments that are passed on to func or to the method

Details

Value

A list of type prop.2D containing:

x.mid property value in the x-direction defined at the middle of the grid cells; Nx * Ny matrix (where Nx and Ny = number of cells in x, y direction)
y.mid property value in the y-direction at the middle of the grid cells; Nx * Ny matrix
x.int property value in the x-direction defined at the x-interfaces of the grid cells; (Nx+1)*Ny matrix
y.int property value in the y-direction at the y-interfaces of the grid cells; Nx*(Ny+1) matrix

Author(s)

Filip Meysman <f.meysman@nioo.knaw.nl>, Karline Soetaert <k.soetaert@nioo.knaw.nl>

Examples

# Inverse quadratic function 
inv.quad <- function(x,y,a=NULL,b=NULL)
return(1/((x-a)^2+(y-b)^2))

# Construction of the 2D grid 
x.grid <- setup.grid.1D(x.up=0,L=10,N=10)
y.grid <- setup.grid.1D(x.up=0,L=10,N=10)
grid2D <- setup.grid.2D(x.grid,y.grid)

# Attaching the inverse quadratic function to the 2D grid 
(twoD<-setup.prop.2D(func=inv.quad,grid=grid2D,a=5,b=5))
contour(log(twoD$x.int))

[Package ReacTran version 1.2 Index]