mod_state_vector Module



Contents


Variables

TypeVisibilityAttributesNameInitial
logical, private, save:: sv_components_initialised =.false.
type(sv_component_t), protected, target:: sv_rho1
type(sv_component_t), protected, target:: sv_v1
type(sv_component_t), protected, target:: sv_v2
type(sv_component_t), protected, target:: sv_v3
type(sv_component_t), protected, target:: sv_T1
type(sv_component_t), protected, target:: sv_a1
type(sv_component_t), protected, target:: sv_a2
type(sv_component_t), protected, target:: sv_a3

Derived Types

type, private :: sv_comp_ptr_t

Components

TypeVisibilityAttributesNameInitial
type(sv_component_t), private, pointer:: ptr

type, public :: state_vector_t

Components

TypeVisibilityAttributesNameInitial
type(sv_comp_ptr_t), public, allocatable:: components(:)

Type-Bound Procedures

procedure, public :: assemble
procedure, public :: set_basis_functions
procedure, public :: get_names
procedure, public :: get_basis_functions
procedure, public :: get_components_from_basis_function
procedure, public :: delete
generic, public :: contains => contains_on_component, contains_on_name
procedure, private :: set_default_basis_functions
procedure, private :: is_compatible_with
procedure, private :: contains_on_component
procedure, private :: contains_on_name

Functions

private pure function get_names(this) result(names)

Arguments

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

Return Value character(len=:),allocatable, (:)

private function get_basis_functions(this) result(names)

Arguments

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

Return Value character(len=:),allocatable, (:)

private function get_components_from_basis_function(this, basis_function_name) result(comps)

Arguments

TypeIntentOptionalAttributesName
class(state_vector_t), intent(in) :: this
character(len=*), intent(in) :: basis_function_name

Return Value type(sv_component_t),allocatable, (:)

private function contains_on_component(this, component)

Arguments

TypeIntentOptionalAttributesName
class(state_vector_t), intent(in) :: this
type(sv_component_t), intent(in) :: component

Return Value logical

private function contains_on_name(this, name)

Arguments

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

Return Value logical

private function is_compatible_with(this, splines)

Arguments

TypeIntentOptionalAttributesName
class(state_vector_t), intent(in) :: this
character(len=*), intent(in) :: splines(:)

Return Value logical


Subroutines

private subroutine assemble(this, physics_type)

Arguments

TypeIntentOptionalAttributesName
class(state_vector_t), intent(inout) :: this
character(len=*), intent(in) :: physics_type

private subroutine set_basis_functions(this, splines)

Arguments

TypeIntentOptionalAttributesName
class(state_vector_t), intent(inout) :: this
character(len=*), intent(in) :: splines(:)

private subroutine set_default_basis_functions(this)

Arguments

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

private subroutine delete(this)

Arguments

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

private subroutine initialise_sv_components()

Arguments

None