# setup.prop.2D: Attaches a Property to a Two-Dimensional Grid In ReacTran: Reactive Transport Modelling in 1d, 2d and 3d

## 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

 ```1 2 3 4 5``` ```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 ```func <- function (x,y, ...); it should return as many elements as in x or y``` `value ` constant value given to the property in the x-direction `grid ` list specifying the 2D grid characteristics, see `setup.grid.2D` for details on the structure of this list `y.func ` function that describes the spatial dependency in the y-direction; defined as `y.func <- function (x, y, ...)`; it should return as many elements as in x or y. By default the same as 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. `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

• When the property is isotropic, the `x.mid` and `y.mid` values are identical. This is for example the case for sediment porosity.

• When the property is anisotropic, the `x.mid` and `y.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 <[email protected]>, Karline Soetaert <[email protected]>

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15``` ```# 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)) ```

ReacTran documentation built on Aug. 15, 2017, 3:01 p.m.