| 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, value = NULL, grid, y.func = func,
y.value = value, ...)
## 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; defined as |
value |
constant value given to the property in the x-direction |
grid |
list specifying the 2D grid characteristics, see
|
y.func |
function that describes the spatial dependency in the
y-direction; defined as |
y.value |
constant value given to the property in the y-direction. By default the same as in the x-direction. |
x |
the object of class |
filled |
if |
xyswap |
if |
... |
additional arguments that are passed on to |
Details
-
When the property is isotropic, the
x.midandy.midvalues are identical. This is for example the case for sediment porosity. -
When the property is anisotropic, the
x.midandy.midvalues can differ. This can be for example the case for the velocity, where in general, the value will differ between the x and y direction.
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 |
Note
For some properties, it does not make sense to use y.func different
to func. For instance, for volume fractions, AFDW.
For other properties, it may be usefull to have y.func or
y.value different from func or value, for instance
for velocities, surface areas, ...
Author(s)
Filip Meysman <filip.meysman@nioz.nl>, Karline Soetaert <karline.soetaert@nioz.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))
# show
contour(log(twoD$x.int))