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.
This class effectively provides free boundary conditions. It's type-bound procedures should be overridden to provide case-specific conditions.
Indicates the type and depth of the thickness boundary at different locations.
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. |
Indicates the type and depth of the thickness boundary at different locations.
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. |
Indicates the type and depth of the thickness boundary at different locations.
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. |
Indicates the type and depth of the thickness boundary at different locations.
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. |
Produces a field containing the boundary conditions for plume thickness at the specified location.
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
|
Produces a field containing the boundary conditions for plume velocity at the specified location.
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
|
Produces a field containing the boundary conditions for plume temperature at the specified location.
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
|
Produces a field containing the boundary conditions for plume salinity at the specified location.
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
|
Specifies the time at which to calculate the boundary conditions.
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 |
type, public :: plume_boundary
!* Author: Chris MacMackin
! Date: September 2016
!
! 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.
!
! This class effectively provides free boundary conditions. It's
! type-bound procedures should be overridden to provide case-specific
! conditions.
!
contains
procedure :: thickness_bound_info => bound_info
!! Indicates the type and depth of the thickness boundary at
!! different locations.
procedure :: velocity_bound_info => bound_info
!! Indicates the type and depth of the thickness boundary at
!! different locations.
procedure :: temperature_bound_info => bound_info
!! Indicates the type and depth of the thickness boundary at
!! different locations.
procedure :: salinity_bound_info => bound_info
!! Indicates the type and depth of the thickness boundary at
!! different locations.
procedure :: thickness_bound => scalar_bound
!! Produces a field containing the boundary conditions for plume
!! thickness at the specified location.
procedure :: velocity_bound => vector_bound
!! Produces a field containing the boundary conditions for plume
!! velocity at the specified location.
procedure :: temperature_bound => scalar_bound
!! Produces a field containing the boundary conditions for plume
!! temperature at the specified location.
procedure :: salinity_bound => scalar_bound
!! Produces a field containing the boundary conditions for plume
!! salinity at the specified location.
procedure :: set_time
!! Specifies the time at which to calculate the boundary
!! conditions.
end type plume_boundary