Base lagrangian object. The object's ID indicates the status: active (id>0), inactive (id=0), ghostobject (id<0).
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | c(3) |
nearest cell |
|||
| integer(kind=leapI8), | public | :: | id |
Identifying number (inactive if <0) |
|||
| real(kind=wp), | public | :: | p(3) |
position |
Gets a bump function centered on the lagrangian object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_obj), | intent(in) | :: | this |
A Lagrangian object |
||
| real(kind=wp), | intent(in) | :: | l_filter |
Filter size |
||
| integer, | intent(in) | :: | slo(3) |
Stencil lower bound |
||
| integer, | intent(in) | :: | shi(3) |
Stencil higher bound |
||
| type(block_obj), | intent(in), | pointer | :: | block |
A block object |
|
| procedure(kernel_1D), | intent(in), | pointer | :: | int_g1ex |
Integrated filter kernel |
|
| real(kind=wp), | intent(out), | allocatable | :: | bump(:,:,:) |
The bump function |
Interpolates a field f defined on an Eulerian stencil to the location of a lagrangian object
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_obj), | intent(in) | :: | this |
A Lagrangian object |
||
| real(kind=wp), | intent(in) | :: | l_filter |
Filter size |
||
| integer, | intent(in) | :: | slo(3) |
Stencil lower bound |
||
| integer, | intent(in) | :: | shi(3) |
Stencil higher bound |
||
| type(block_obj), | intent(in), | pointer | :: | block |
A block object |
|
| procedure(kernel_1D), | intent(in), | pointer | :: | g1in |
Filter kernel |
|
| real(kind=wp), | intent(in) | :: | f(slo(1):shi(1),slo(2):shi(2),slo(3):shi(3)) |
Quantity to interpolate |
Locates a Lagrangian object on an external grid. Returns the location of the cell containing the object.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_obj), | intent(in) | :: | this |
A Lagrangian object |
||
| class(block_obj), | intent(in) | :: | block |
External block |
Result
(Deferred) Performs assignemnt of an extended type.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lagrangian_obj), | intent(inout) | :: | this |
A Lagrangian object |
||
| class(lagrangian_obj), | intent(in) | :: | val |
Value to be assigned |
Assignment
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ResPart_obj), | intent(inout) | :: | this | |||
| class(lagrangian_obj), | intent(in) | :: | val |
type,abstract :: lagrangian_obj !> Base lagrangian object. ! The object's ID indicates the status: ! active (id>0), inactive (id=0), ghostobject (id<0). integer(leapI8) :: id !! Identifying number (inactive if <0) real(wp) :: p(3) !! position integer :: c(3) !! nearest cell contains procedure :: Interpolate => lagrangian_obj_Interpolate procedure :: Extrapolate => lagrangian_obj_Extrapolate procedure :: Locate => lagrangian_obj_Locate generic :: assignment(=) => assign procedure(lagrangian_obj_assign), deferred :: assign end type lagrangian_obj