Spatial functions let you describe functions that may vary in space.
The are needed for initial conditions and volumetric information like
source terms.
A space-time function that depends also on time can be constructed by
the space-time function of kind combined
, see the
tem_spacetime_fun_module.
The spatial functions may be constants, various predefined functions, or arbitrary Lua functions that depend on the three space coordinates. In the Lua script, the spatial function is either a constant scalar number, a Lua function, or a table.
If it is a table, it either is a constant definition for a vector value,
for example a velocity definition, or it is a table that contains a
definition of either a fun
, const
or predefined
key.
Here, fun
would in turn need to be a Lua function, and const the definition
of constant values (either a scalar, or a vector in a table).
The predefined
key signals the use of one of the available predefined
functions and further parameters for their definition depend on the
respective functions.
Available predefined functions are:
The simplest spatial function definition is just a constant scalar number:
spatial = 1.0
Similarly the definition of a spatial function by a Lua function can simply be written as
spatial = fun(x,y,z)
return x*y*z
end fun
The Lua function needs to take 3 arguments, representing the three spatial coordinates.
An example for the definition of a predefined function can take the following form:
spatial = {
predefined = 'random',
min = 0,
max = 1
}
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | private | :: | ref_amp | = | 1.0_rk |
This function invokes the Lua function, in which the barycentric coordinates are computed from treeIds of an element.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value
This function invokes the Lua function, which takes barycentric coordinates of an element.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value
This function invokes the Lua function, which takes tem_grwPoints_type and evaluate a function at a point of given idx in grwPnt.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
return value
This function invokes the vectorial Lua function, in which the barycentric coordinates are computed from treeIds of an element.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
Number of components in each returned value |
return value
This function invokes the vectorial Lua function, which takes barycentric coordinates of an element.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State), | optional | :: | conf |
lua state |
||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components in the resulting vector |
return value
This function invokes the vectorial Lua function, which takes tem_grwPoints_type and evaluate a function at a point of given idx in grwPnt.
Lua function defined in the script is connected to the conf handle and return the result of the function. The Lua function takes barycentric coordinate as input argument i.e fun_name(x,y,z)
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |
return value
This function computes 2d parabola profile from treeIds of elements
This profile is defined by element barycentric coordinate and 2d parabola parameters. 2D parabola profile at given plane is computed in the following way:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains parameters for 2d parabola |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function computes 2d parabola profile from coord of elements
This profile is defined by element barycentric coordinate and 2d parabola parameters. 2D parabola profile at given plane is computed in the following way:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains line parameters for 2d parabola |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function computes 3d parabola profile from treeIDs of an element.
This profile is defined by element barycentric coordinate and 3d parabola parameters. 3D parabola profile at given plane is computed in the following way:
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains plane parameter for 3d parabola |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function computes 3d parabola profile from coord of an element.
This profile is defined by element barycentric coordinate and 3d parabola parameters. 3D parabola profile at given plane is computed in the following way:
Todo
use projection of point on line and point on plane
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains parameter for 3d parabola |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
the number of return values |
return value of a function
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given treeIDs
If a spatial block is not defined, default value is set to 1.0 or default value passed while loading tem_load_spatial. If both spatial and temporal block are not defined in the lua file, the return value = 1.0_rk. based spatial_kind(kind).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given coord
If a spatial block is not defined and a temporal block is defined in the lua file, the return value is either 1.0 or default value provided in tem_load_spatial. If both spatial and temporal block are not defined in the lua file, the return value = 1.0_rk. based spatial_kind(kind).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components in the resulting vector |
return value of a function
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given coord
If a spatial block is not defined and a temporal block is defined in the lua file, the return value = ref_value. If both spatial and temporal block are not defined in the lua file, the return value = 1.0_rk. based spatial_kind(kind).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components per returned value |
return value of a function
This function returns pre-stored value at given idx or evaluate a spatial function for a point at given idx in growing array of points. Return value is a scalar.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type |
||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be returned |
return value of a function
This function returns pre-stored value at given idx or evaluate a spatial function for a point at given idx. Return value is a vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type |
||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be returned |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |
return value of a function
This routine evaluate scalar spatial function and store its value in growing array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(inout) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(nVals,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be stored |
This routine evaluate vector spatial function and store its value in growing array with access Array Of Structure pattern (iVal-1)*nComps + iComp
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(inout) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(nVals,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be stored |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |
contains spatial state information
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=LabelLen), | public | :: | kind |
|
|||
real(kind=rk), | public, | allocatable | :: | const(:) |
constant spatial value for nComponents |
||
integer, | public | :: | lua_fun_ref | = | 0 |
Reference to the Lua function if the spatial function is defined as a Lua function. |
|
type(flu_State), | public | :: | conf | ||||
type(ic_gausspulse_type), | public | :: | gausspulse |
defines gausspulse |
|||
type(ic_2dcrvp_type), | public | :: | crvp |
2d co-rotating vortex pair |
|||
type(ic_tgv_type), | public | :: | tgv |
Taylor-Green vortex type |
|||
type(spatial_parabol_type), | public | :: | parabol |
Parabol type |
|||
type(spatial_random_type), | public | :: | random |
Random type |
|||
type(spatial_hopf_type), | public | :: | hopf |
Hopf Fibration type |
|||
type(tem_miescatter_field_type), | public | :: | mie_fun |
Spatial function for Mie-series solution of electrodynamic scattering at dielectric sphere. |
|||
type(tem_heaviside_gibbs_type), | public | :: | heaviside_gibbs_fun |
Spatial function for Heaviside function including Gibbs oscillations. |
|||
type(spatial_value_type), | public | :: | valOnLvl(globalMaxLevels) |
store spatial value on each level |
|||
type(tem_spongeLayer_plane_type), | public | :: | spongePlane |
type for the plane sponge layer |
|||
type(tem_spongeLayer_box_type), | public | :: | spongeBox |
type for the box sponge layer |
|||
type(tem_spongeLayer_radial_type), | public | :: | spongeRadial |
type for the radial sponge layer |
|||
type(tem_pmlLayer_type), | public | :: | pml |
type for the pml damping medium |
|||
type(tem_cylindricalWave_type), | public | :: | cylindricalWave |
type for a scalar cylindrical wave. |
|||
type(tem_polygon_material_type), | public | :: | polygon_material |
Description of a material definition by a polygon. |
|||
real(kind=rk), | public | :: | rect_ly |
range of x and y dimention for rectangular function |
|||
real(kind=rk), | public | :: | rect_lz | ||||
logical, | public | :: | isStored | = | .false. |
to store spatial values during initialization |
stores values of spatial term during initialization to reduce computations during main loop.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(grw_realarray_type), | public | :: | evalVal |
Evaluated variable value on each point. For vectorial variable, the values are stored as (iVal-1)*nComp + iComp |
defines parabola functions shape kind defines 2d or 3d parabola
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
type(tem_shape_type), | public | :: | geometry |
define point, line or plane spatial profile |
|||
real(kind=rk), | public, | allocatable | :: | amplitude(:) |
magnitude of the spatial value |
Defines a random spatial distribution within a given interval.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public | :: | val_min |
Minimal value to produce |
|||
real(kind=rk), | public | :: | val_max |
Maximal value to produce |
|||
real(kind=rk), | public | :: | val_range |
Length of the value interval |
Defines a stationary solution of the Euler equation by the Hopf Fibration.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=rk), | public | :: | radius |
Minimal value to produce |
|||
real(kind=rk), | public | :: | p0 |
Maximal value to produce |
This function computes 3d parabola profile from treeIDs of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains plane parameter for 3d parabola |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function computes 3d parabola profile from coord of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains parameter for 3d parabola |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
the number of return values |
return value of a function
This function computes 2d parabola profile from treeIds of elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains parameters for 2d parabola |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function computes 2d parabola profile from coord of elements
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_canonicalND_type) | :: | me |
contains line parameters for 2d parabola |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
Produce random numbers
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(spatial_random_type), | intent(in) | :: | me |
Interval definition to get the random values from. |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function invokes the Lua function, in which the barycentric coordinates are computed from treeIds of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value
This function invokes the vectorial Lua function, in which the barycentric coordinates are computed from treeIds of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
Number of components in each returned value |
return value
This function invokes the Lua function, which takes barycentric coordinates of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value
This function invokes the vectorial Lua function, which takes barycentric coordinates of an element.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State), | optional | :: | conf |
lua state |
||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components in the resulting vector |
return value
This function invokes the Lua function, which takes tem_grwPoints_type and evaluate a function at a point of given idx in grwPnt.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
return value
This function invokes the vectorial Lua function, which takes tem_grwPoints_type and evaluate a function at a point of given idx in grwPnt.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | fun_ref |
Lua reference to the function to evaluate. |
||
type(flu_State) | :: | conf |
lua state |
|||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |
return value
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given treeIDs
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
integer(kind=long_k), | intent(in) | :: | treeIds(n) |
treeIds of elements in given level |
||
type(treelmesh_type), | intent(in) | :: | tree |
global treelm mesh |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components in the resulting vector |
return value of a function
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given coord
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
return value of a function
This function invokes different spatial boundary kinds like constant, lua function or predefined Fortran function for given coord
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type) | :: | me |
spatial type for given boundary state |
|||
real(kind=rk), | intent(in) | :: | coord(n,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | n |
number of return values |
||
integer, | intent(in) | :: | ncomp |
number of components per returned value |
return value of a function
This function returns pre-stored value at given idx or evaluate a spatial function for a point at given idx in growing array of points. Return value is a scalar.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type |
||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be returned |
return value of a function
This function returns pre-stored value at given idx or evaluate a spatial function for a point at given idx. Return value is a vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(in) | :: | me |
spatial type |
||
type(tem_grwPoints_type), | intent(in) | :: | grwPnt |
growing array of all spatial point of a variable |
||
integer, | intent(in) | :: | idx(nVals) |
Index position to return a pre-store value or to compute |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be returned |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |
return value of a function
This subroutine load spatial boundary state variable.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(out) | :: | me |
spatial boundary state type |
||
type(flu_State) | :: | conf |
lua state type |
|||
integer, | intent(in) | :: | parent |
aotus parent handle |
||
character(len=*), | intent(in), | optional | :: | key |
state variable key string defined in lua |
|
real(kind=rk), | intent(in), | optional | :: | defaultValue |
What should be set s a default value for the quantities if no quantity was given in the lua file |
|
integer, | intent(in), | optional | :: | nComp |
number of components of the variable |
|
integer, | intent(out), | optional | :: | errCode |
Error code from lua loading |
Load spatial as constant
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=rk), | allocatable | :: | const(:) |
value to be filled |
||
type(flu_State) | :: | conf |
lua state type |
|||
integer, | intent(out) | :: | errCode |
errCode = -1, if spatial function is not defined as constant |
||
integer, | intent(in) | :: | parent |
aotus parent handle |
||
character(len=*), | intent(in) | :: | key |
key is either "local_key" or "const" |
||
integer, | intent(in) | :: | nComp |
number of components of the variable |
Load predefined spatial function
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(inout) | :: | me |
spatial fun information |
||
type(flu_State) | :: | conf |
lua state type |
|||
integer, | intent(in) | :: | thandle |
spatial function handle |
||
integer, | intent(in) | :: | nComp |
Number of components |
This subroutine load 3d parabola type variables from LUA file.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(spatial_parabol_type), | intent(out) | :: | me |
parabola3d spatial datas |
||
type(flu_State) | :: | conf |
lua state type |
|||
integer, | intent(in) | :: | thandle |
aotus parent handle |
||
integer, | intent(in) | :: | nComp |
Number of components |
Reading the definition for a random distribution function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(spatial_random_type), | intent(out) | :: | me |
random spatial specification |
||
type(flu_State) | :: | conf |
lua state type |
|||
integer, | intent(in) | :: | thandle |
aotus parent handle |
This routine evaluate scalar spatial function and store its value in growing array
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(inout) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(nVals,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be stored |
This routine evaluate vector spatial function and store its value in growing array with access Array Of Structure pattern (iVal-1)*nComps + iComp
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_spatial_type), | intent(inout) | :: | me |
spatial type for given boundary state |
||
real(kind=rk), | intent(in) | :: | coord(nVals,3) |
barycentric Ids of an elements. 1st index goes over number of elements and 2nd index goes over x,y,z coordinates |
||
integer, | intent(in) | :: | nVals |
number of return values |
||
integer, | intent(in) | :: | iLevel |
Level to which the evaluated values to be stored |
||
integer, | intent(in) | :: | nComps |
number of components per returned value |