DeltaFlat_Vector_Mod Module


Uses

  • module~~deltaflat_vector_mod~~UsesGraph module~deltaflat_vector_mod DeltaFlat_Vector_Mod Kind_Pack Kind_Pack module~deltaflat_vector_mod->Kind_Pack Math_Pack Math_Pack module~deltaflat_vector_mod->Math_Pack module~deltageom_vector_mod DeltaGeom_Vector_Mod module~deltaflat_vector_mod->module~deltageom_vector_mod module~rand_pack Rand_Pack module~deltaflat_vector_mod->module~rand_pack module~deltageom_vector_mod->Kind_Pack module~rand_pack->Kind_Pack

Used by

  • module~~deltaflat_vector_mod~~UsedByGraph module~deltaflat_vector_mod DeltaFlat_Vector_Mod proc~init_phsmattab~2 init_PhsMatTab proc~init_phsmattab~2->module~deltaflat_vector_mod

Contents


Derived Types

type, public, extends(DeltaGeom_Vector_T) ::  DeltaFlat_Vector_T

Flat truncation approximation of phase matrices for vector radiative transfer simulation

Read more…

Components

Type Visibility Attributes Name Initial
real(kind=krs), public :: fdc
real(kind=krs), public :: ftt
real(kind=krs), public :: qtf(4)
real(kind=krs), public :: gtc
real(kind=krs), public :: atf(4)

Type-Bound Procedures

procedure , public , non_overridable :: setup_GeomParm Subroutine
procedure , public , non_overridable :: calc_GeomFdmax Subroutine
procedure , public :: pick_GeomAng => pick_FlatAng Subroutine
procedure , public :: calc_GeomPhs => calc_FlatPhs Function
procedure , public :: init_GeomParm => init_FlatParm Subroutine
procedure , public :: make_GeomParm => make_FlatParm Subroutine

Functions

private function calc_FlatPhs(DeltaGeom, q, istokes) result(phs)

calculate angular distribution function of Flat truncated phase matrices

Arguments

Type IntentOptional Attributes Name
class(DeltaFlat_Vector_T), intent(in) :: DeltaGeom
real(kind=krs), intent(in) :: q
integer(kind=kis), intent(in) :: istokes

Return Value real(kind=krs)


Subroutines

private subroutine pick_FlatAng(DeltaGeom, q, sinq, cosq)

pick scattering angle from Flat truncated phase matrices randomly using the inverse methods

Arguments

Type IntentOptional Attributes Name
class(DeltaFlat_Vector_T), intent(in) :: DeltaGeom
real(kind=krs), intent(out) :: q
real(kind=krs), intent(out) :: sinq
real(kind=krs), intent(out) :: cosq

private subroutine init_FlatParm(geom, g1)

initialize necessary parameters of Flat truncated phase matrices for non-truncation case

Arguments

Type IntentOptional Attributes Name
class(DeltaFlat_Vector_T), intent(out) :: geom
real(kind=krs), intent(in) :: g1

private subroutine make_FlatParm(geom, g1, g0f, g1f, angf, cosf, phsf, dphf, fdel, is_save, istokes)

calculate truncation parameters of Flat truncated phase matrices

Arguments

Type IntentOptional Attributes Name
class(DeltaFlat_Vector_T), intent(inout) :: geom
real(kind=krs), intent(in) :: g1
real(kind=krs), intent(in) :: g0f
real(kind=krs), intent(in) :: g1f
real(kind=krs), intent(in) :: angf
real(kind=krs), intent(in) :: cosf
real(kind=krs), intent(in) :: phsf
real(kind=krs), intent(in) :: dphf
real(kind=krs), intent(out) :: fdel
logical, intent(in) :: is_save
integer(kind=kis), intent(in) :: istokes