mod_hall Module

Module containing Hall-related routines. Sets the Hall and electron inertia factors based on normalisations and specified profiles.



Contents


Variables

TypeVisibilityAttributesNameInitial
type(settings_t), private, pointer:: settings=> null()
type(background_t), private, pointer:: background=> null()

Derived Types

type, public :: hall_t

Components

TypeVisibilityAttributesNameInitial
procedure(realdp), public, pointer, nopass:: hallfactor
procedure(realdp), public, pointer, nopass:: inertiafactor

Type-Bound Procedures

procedure, public :: validate_scale_ratio
procedure, public :: delete

Functions

public function new_hall(settings_tgt, pointer_tgt) result(hall)

Arguments

TypeIntentOptionalAttributesName
type(settings_t), intent(in), target:: settings_tgt
type(background_t), intent(in), pointer:: pointer_tgt

Return Value type(hall_t)

private function get_hallfactor(x)

Retrieves the normalised Hall factor as described by Porth et al. (2014).

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)

private function get_inertiafactor(x)

Arguments

TypeIntentOptionalAttributesName
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)


Subroutines

private subroutine validate_scale_ratio(this, grid)

Arguments

TypeIntentOptionalAttributesName
class(hall_t), intent(in) :: this
real(kind=dp), intent(in) :: grid(:)

private subroutine delete(this)

Arguments

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