ElectronSheathGammaDerivation Derived Type

type, public, extends(Derivation) :: ElectronSheathGammaDerivation

Returns the sheath heat transmission coefficient for electrons depending on electron and ion temperatures in the boundary cell. Assumes the indices are in Te,Ti order


Components

Type Visibility Attributes Name Initial
logical, public :: userDefined = .false.

True only if user explicitly sets it to true

real(kind=rk), private :: massRatio

e-i mass ratio

integer(kind=ik), private :: boundaryIndex

Index of the local cell used for this boundary calculation


Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject

  • interface

    private pure module function isDefinedObject(this) result(defined)

    Getter for userDefined

    Arguments

    Type IntentOptional Attributes Name
    class(Object), intent(in) :: this

    Return Value logical

procedure, public :: makeDefined => makeDefinedObject

  • interface

    private pure module subroutine makeDefinedObject(this)

    Set userDefined to .true.

    Arguments

    Type IntentOptional Attributes Name
    class(Object), intent(inout) :: this

procedure, public :: makeUndefined => makeUndefinedObject

  • interface

    private pure module subroutine makeUndefinedObject(this)

    Set userDefined to .false.

    Arguments

    Type IntentOptional Attributes Name
    class(Object), intent(inout) :: this

procedure, public :: init => initElectronSheathGamma

  • interface

    private module subroutine initElectronSheathGamma(this, massRatio, boundaryIndex)

    Initialize electron sheath gamma derivation object

    Arguments

    Type IntentOptional Attributes Name
    class(ElectronSheathGammaDerivation), intent(inout) :: this
    real(kind=rk), intent(in) :: massRatio
    integer(kind=ik), intent(in) :: boundaryIndex

procedure, public :: calculate => calculateElectronGamma

  • interface

    private module function calculateElectronGamma(this, inputArray, indices) result(output)

    Arguments

    Type IntentOptional Attributes Name
    class(ElectronSheathGammaDerivation), intent(inout) :: this
    type(RealArray), intent(in), dimension(:) :: inputArray
    integer(kind=ik), intent(in), dimension(:) :: indices

    Return Value real(kind=rk), allocatable, dimension(:)