mod_physics Module



Contents


Derived Types

type, public :: physics_t

Components

TypeVisibilityAttributesNameInitial
type(settings_t), private, pointer:: settings
type(resistivity_t), public :: resistivity
type(gravity_t), public :: gravity
type(hall_t), public :: hall
type(conduction_t), public :: conduction
type(heatloss_t), public :: heatloss

Type-Bound Procedures

procedure, public :: set_resistivity_funcs
procedure, public :: set_gravity_funcs
procedure, public :: set_parallel_conduction_funcs
procedure, public :: set_perpendicular_conduction_funcs
procedure, public :: set_cooling_funcs
procedure, public :: set_heating_funcs
procedure, public :: delete

Functions

public function new_physics(settings, background) result(physics)

Arguments

TypeIntentOptionalAttributesName
type(settings_t), intent(in), target:: settings
type(background_t), intent(in), target:: background

Return Value type(physics_t)


Subroutines

private subroutine set_resistivity_funcs(this, eta_func, detadT_func, detadr_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: eta_func
procedure(realdp), optional :: detadT_func
procedure(realdp), optional :: detadr_func

private subroutine set_gravity_funcs(this, g0_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: g0_func

private subroutine set_parallel_conduction_funcs(this, tcpara_func, dtcparadT_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: tcpara_func
procedure(realdp), optional :: dtcparadT_func

private subroutine set_perpendicular_conduction_funcs(this, tcperp_func, dtcperpdT_func, dtcperpdrho_func, dtcperpdB2_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: tcperp_func
procedure(realdp), optional :: dtcperpdT_func
procedure(realdp), optional :: dtcperpdrho_func
procedure(realdp), optional :: dtcperpdB2_func

private subroutine set_cooling_funcs(this, lambdaT_func, dlambdadT_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: lambdaT_func
procedure(realdp), optional :: dlambdadT_func

private subroutine set_heating_funcs(this, H_func, dHdT_func, dHdrho_func)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this
procedure(realdp) :: H_func
procedure(realdp), optional :: dHdT_func
procedure(realdp), optional :: dHdrho_func

private subroutine delete(this)

Arguments

TypeIntentOptionalAttributesName
class(physics_t), intent(inout) :: this

private subroutine log_function_warning(name)

Arguments

TypeIntentOptionalAttributesName
character(len=*), intent(in) :: name