Provides an abstract derived type which can be subtyped in order to specify the boundary conditions for plume types.
A type in which procedures for getting the boundary conditions of plumes are to be specified. The descendent types can contain whatever data is needed to compute the result.
procedure, public :: thickness_bound_info => bound_info | Indicates the type and depth of the thickness boundary at different locations. |
procedure, public :: velocity_bound_info => bound_info | Indicates the type and depth of the thickness boundary at different locations. |
procedure, public :: temperature_bound_info => bound_info | Indicates the type and depth of the thickness boundary at different locations. |
procedure, public :: salinity_bound_info => bound_info | Indicates the type and depth of the thickness boundary at different locations. |
procedure, public :: thickness_bound => scalar_bound | Produces a field containing the boundary conditions for plume thickness at the specified location. |
procedure, public :: velocity_bound => vector_bound | Produces a field containing the boundary conditions for plume velocity at the specified location. |
procedure, public :: temperature_bound => scalar_bound | Produces a field containing the boundary conditions for plume temperature at the specified location. |
procedure, public :: salinity_bound => scalar_bound | Produces a field containing the boundary conditions for plume salinity at the specified location. |
procedure, public :: set_time | Specifies the time at which to calculate the boundary conditions. |
Returns a field containing the boundary values for the specified boundary location.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(plume_boundary), | intent(in) | :: | this | |||
integer, | intent(in) | :: | location | Which boundary information is to be provided for. The
boundary will be the one normal to dimension of number
|
Returns a field containing the boundary values for the specified boundary location.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(plume_boundary), | intent(in) | :: | this | |||
integer, | intent(in) | :: | location | Which boundary information is to be provided for. The
boundary will be the one normal to dimension of number
|
Provides information about the type of boundary, and the number of layers of data-points needed to describe it.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(plume_boundary), | intent(in) | :: | this | |||
integer, | intent(in) | :: | location | Which boundary information is to be provided for. The
boundary will be the one normal to dimension of number
|
||
integer, | intent(out) | :: | bound_type | An integer representing what sort of boundary condition is used. The integer value corresponding to each boundary type is specified in the boundary_types_mod. |
||
integer, | intent(out) | :: | bound_depth | The number of layers of data-points needed to specify the boundary condition. |
Sets the time at which boundary conditions are to be calculated.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(plume_boundary), | intent(inout) | :: | this | |||
real(kind=r8), | intent(in) | :: | time |