Provides a concrete implementation of abstract_entrainment in the form of the parameterisation used by Jenkins (1991).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | coefficient | The entrainment coefficient, $E_0$ to be used |
A new entrainment object
A parameterisation of entrainment () as described by Jenkins (1991): Here, is a coefficient typically taken to be 0.036 (the default value), is the velocity of the plume, is the angle of slope of the ice shelf base, and is the basal depth of the ice shelf.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=r8), | private | :: | coefficient | = | 1.0_r8 | The entrainment coefficient $E_0$ |
private pure function constructor(coefficient) |
procedure, public :: entrainment_rate => jenkins1991_rate | Returns the entrainment rate for ambient water into the plume. |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | coefficient | The entrainment coefficient, $E_0$ to be used |
A new entrainment object
Here, is a coefficient typically taken to be 0.036 (the default value), is the velocity of the plume, is the angle of slope of the ice shelf base, and is the basal depth of the ice shelf.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(jenkins1991_entrainment), | intent(in) | :: | this | |||
class(vector_field), | intent(in) | :: | velocity | The velocity field of the plume into which fluid is being entrained. |
||
class(scalar_field), | intent(in) | :: | thickness | The thickness of the plume into which fluid is being entrained |
||
class(scalar_field), | intent(in) | :: | depth | The depth of the upper surface of the plume into which fluid is being entrained |
||
class(scalar_field), | intent(in) | :: | density_diff | The difference between the ambient density and the density of the plume into which the ambient fluid is being entrained. |
||
real(kind=r8), | intent(in), | optional | :: | time | The time at which the entrainment is being calculated. If not present then assumed to be same as previous value passed. |
The value of the entrainment