Provides a concrete implementation of abstract_entrainment in the form of the parameterisation described by Kochergin (1987).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r8), | intent(in) | :: | coefficient | The entrainment coefficient |
||
real(kind=r8), | intent(in) | :: | delta | The ratio |
A new entrainment object
A parameterisation of entrainment () as described by Kochergin (1987): Here, is an entrainment coefficient, is the velocity of the plume, is the reduced gravity, and is the turbulent Schmidt number. The latter-most can be expressed as , where is the Richardson number.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=r8), | private | :: | coefficient | = | 1.0_r8 | The entrainment coefficient |
|
real(kind=r8), | private | :: | delta | = | 0.036_r8 | The ratio |
private pure function constructor(coefficient, delta) |
procedure, public :: entrainment_rate => kochergin1987_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 |
||
real(kind=r8), | intent(in) | :: | delta | The ratio |
A new entrainment object
Here, is an entrainment coefficient, is the velocity of the plume, is the reduced gravity, and is the turbulent Schmidt number. The Schmidt number is a function of the Richardson number :
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(kochergin1987_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