opticalProp_base Derived Type

type, public, abstract :: opticalProp_base


Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: albedo

real(kind=wp), public :: g2

g factor squared

real(kind=wp), public :: hgg

g factor

real(kind=wp), public :: kappa

real(kind=wp), public :: mua

absoprtion coeff.

real(kind=wp), public :: mus

scattering coeff.

real(kind=wp), public :: n

refractive index


Type-Bound Procedures

procedure(updateInterface), public, deferred :: update

  • subroutine updateInterface(this, wavelength) Prototype

    Arguments

    Type IntentOptional Attributes Name
    class(opticalProp_base), intent(inout) :: this
    real(kind=wp), intent(out) :: wavelength

Source Code

    type, abstract :: opticalProp_base
        !> scattering coeff. \[cm^{-1}\]    
        real(kind=wp) :: mus
        !> absoprtion coeff. \[cm^{-1}\]    
        real(kind=wp) :: mua
        !> g factor
        real(kind=wp) :: hgg
        !> g factor squared
        real(kind=wp) :: g2
        !> refractive index
        real(kind=wp) :: n
        !> \[\kappa = \mu_s + \mu_a\]
        real(kind=wp) :: kappa
        !> \[a = \frac{\mu_s}{\mu_s + \mu_a}\]
        real(kind=wp) :: albedo
        contains
            procedure(updateInterface), deferred :: update
    end type opticalProp_base