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.mid
andy.mid
values are identical. This is for example the case for sediment porosity. -
When the property is anisotropic, the
x.mid
andy.mid
values 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))