mod_physics_settings Module



Contents


Derived Types

type, public :: physics_settings_t

Components

TypeVisibilityAttributesNameInitial
real(kind=dp), private :: gamma
logical, public :: is_incompressible
real(kind=dp), public :: dropoff_edge_dist
real(kind=dp), public :: dropoff_width
type(flow_settings_t), public :: flow
type(cooling_settings_t), public :: cooling
type(heating_settings_t), public :: heating
type(gravity_settings_t), public :: gravity
type(resistivity_settings_t), public :: resistivity
type(viscosity_settings_t), public :: viscosity
type(conduction_settings_t), public :: conduction
type(hall_settings_t), public :: hall

Type-Bound Procedures

procedure, public :: set_gamma
procedure, public :: get_gamma
procedure, public :: get_gamma_1
procedure, public :: set_incompressible
procedure, public :: enable_flow
procedure, public :: enable_cooling
procedure, public :: enable_heating
procedure, public :: enable_gravity
procedure, public :: enable_resistivity
procedure, public :: enable_viscosity
procedure, public :: enable_parallel_conduction
procedure, public :: enable_perpendicular_conduction
procedure, public :: enable_hall

Functions

public pure function new_physics_settings() result(physics_settings)

Arguments

None

Return Value type(physics_settings_t)

private pure function get_gamma(this)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(in) :: this

Return Value real(kind=dp)

private pure function get_gamma_1(this)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(in) :: this

Return Value real(kind=dp)


Subroutines

private pure subroutine set_gamma(this, gamma)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
real(kind=dp), intent(in) :: gamma

private pure subroutine set_incompressible(this)

Arguments

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

private pure subroutine enable_flow(this)

Arguments

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

private pure subroutine enable_cooling(this, cooling_curve, interpolation_points)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
character(len=*), intent(in), optional :: cooling_curve
integer, intent(in), optional :: interpolation_points

private pure subroutine enable_heating(this, force_thermal_balance)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
logical, intent(in), optional :: force_thermal_balance

private pure subroutine enable_gravity(this)

Arguments

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

private pure subroutine enable_resistivity(this, fixed_resistivity_value)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
real(kind=dp), intent(in), optional :: fixed_resistivity_value

private pure subroutine enable_viscosity(this, viscosity_value, viscous_heating)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
real(kind=dp), intent(in) :: viscosity_value
logical, intent(in), optional :: viscous_heating

private pure subroutine enable_parallel_conduction(this, fixed_tc_para_value)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
real(kind=dp), intent(in), optional :: fixed_tc_para_value

private pure subroutine enable_perpendicular_conduction(this, fixed_tc_perp_value)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
real(kind=dp), intent(in), optional :: fixed_tc_perp_value

private pure subroutine enable_hall(this, electron_inertia, electron_fraction)

Arguments

TypeIntentOptionalAttributesName
class(physics_settings_t), intent(inout) :: this
logical, intent(in), optional :: electron_inertia
real(kind=dp), intent(in), optional :: electron_fraction