viscosity_mod Module

Provides an abstract data type to model viscosity into a vertically integrated plume.


Uses

  • module~~viscosity_mod~~UsesGraph module~viscosity_mod viscosity_mod factual_mod factual_mod module~viscosity_mod->factual_mod iso_fortran_env iso_fortran_env module~viscosity_mod->iso_fortran_env

Used by

  • module~~viscosity_mod~~UsedByGraph module~viscosity_mod viscosity_mod module~ice_shelf_mod ice_shelf_mod module~ice_shelf_mod->module~viscosity_mod module~newtonian_viscosity_mod newtonian_viscosity_mod module~ice_shelf_mod->module~newtonian_viscosity_mod module~glens_law_mod glens_law_mod module~glens_law_mod->module~viscosity_mod module~newtonian_viscosity_mod->module~viscosity_mod module~ice_sheet_mod ice_sheet_mod module~ice_sheet_mod->module~viscosity_mod

Contents


Abstract Interfaces

abstract interface

  • private function get_viscosity(this, velocity, temperature, time) result(property)

    Arguments

    Type IntentOptional AttributesName
    class(abstract_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.

    Return Value class(scalar_field), pointer

    The value of the viscosity


Derived Types

type, public, abstract :: abstract_viscosity

An abstract data type for calculating viscosity of a vertically integrated glacier.

Type-Bound Procedures

procedure(get_viscosity), public :: ice_viscosity

Returns the viscosity for the ice.