opticalProp_t Derived Type

type, public, extends(opticalProp_base) :: opticalProp_t


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

class(opticalProp_base), public, allocatable :: value

Constructor

public interface opticalProp_t


Type-Bound Procedures

generic, public :: assignment(=) => opticalProp_t_assign

procedure, private :: opticalProp_t_assign

procedure, public :: update => update_opticalProp_t

  • private subroutine update_opticalProp_t(this, wavelength)

    Arguments

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

Source Code

    type, extends(opticalProp_base) :: opticalProp_t
        class(opticalProp_base), allocatable :: value
        contains
            procedure :: update => update_opticalProp_t
            procedure, private :: opticalProp_t_assign
            generic :: assignment(=) => opticalProp_t_assign
    end type opticalProp_t