Provides a simple concrete implementation for the abstract_viscosity type, for a Newtonian fluid.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r8), | intent(in) | :: | viscosity_value | The numerical value of the viscosity which this type is meant to return. |
The viscosity object being created.
An implementation of Newtonian (constant) viscosity for a glacier.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=r8), | private | :: | viscosity_value | = | 1.0_r8 |
| private pure function constructor(viscosity_value) |
| procedure, public :: ice_viscosity => newtonian_ice_viscosity | Returns the viscosity for the ice. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=r8), | intent(in) | :: | viscosity_value | The numerical value of the viscosity which this type is meant to return. |
The viscosity object being created.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(newtonian_viscosity), | intent(in) | :: | this | |||
| class(vector_field), | intent(in) | :: | velocity | The velocity field of the ice for which the velocity is being calculated |
||
| real(kind=r8), | intent(in) | :: | temperature | The temperature of the ice for which viscosity is being calculated. |
||
| real(kind=r8), | intent(in), | optional | :: | time | The time at which the viscosity is being calculated. If not present then assumed to be same as previous value passed. |
The value of the viscosity