mod_hall Module

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



Variables

Type Visibility Attributes Name Initial
type(settings_t), private, pointer :: settings => null()
type(background_t), private, pointer :: background => null()

Derived Types

type, public ::  hall_t

Components

Type Visibility Attributes Name Initial
procedure(real(dp)), public, pointer, nopass :: hallfactor
procedure(real(dp)), 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

Type IntentOptional Attributes Name
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

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)

private function get_inertiafactor(x)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: x

Return Value real(kind=dp)


Subroutines

private subroutine validate_scale_ratio(this, grid)

Arguments

Type IntentOptional Attributes Name
class(hall_t), intent(in) :: this
real(kind=dp), intent(in) :: grid(:)

private subroutine delete(this)

Arguments

Type IntentOptional Attributes Name
class(hall_t), intent(inout) :: this