mod_eigenfunctions Module



Derived Types

type, public ::  eigenfunctions_t

Components

Type Visibility Attributes Name Initial
type(settings_t), private, pointer :: settings
type(grid_t), private, pointer :: grid
type(background_t), private, pointer :: background
type(base_ef_t), public, allocatable :: base_efs(:)
type(derived_ef_t), public, allocatable :: derived_efs(:)
logical, public, allocatable :: ef_written_flags(:)
integer, public, allocatable :: ef_written_idxs(:)

Type-Bound Procedures

procedure, public :: initialise
procedure, public :: assemble
procedure, public :: delete
procedure, private :: select_eigenfunctions_to_save

Functions

public function new_eigenfunctions(settings, grid, background) result(eigenfunctions)

Arguments

Type IntentOptional Attributes Name
type(settings_t), intent(inout), target :: settings
type(grid_t), intent(in), target :: grid
type(background_t), intent(in), target :: background

Return Value type(eigenfunctions_t)

private elemental function eigenvalue_is_inside_subset_radius(eigenvalue, radius, center)

Arguments

Type IntentOptional Attributes Name
complex(kind=dp), intent(in) :: eigenvalue
real(kind=dp), intent(in) :: radius
complex(kind=dp), intent(in) :: center

Return Value logical


Subroutines

private subroutine initialise(this, omega)

Arguments

Type IntentOptional Attributes Name
class(eigenfunctions_t), intent(inout) :: this
complex(kind=dp), intent(in) :: omega(:)

private subroutine assemble(this, right_eigenvectors)

Arguments

Type IntentOptional Attributes Name
class(eigenfunctions_t), intent(inout) :: this
complex(kind=dp), intent(in) :: right_eigenvectors(:,:)

private pure subroutine delete(this)

Arguments

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

private pure subroutine select_eigenfunctions_to_save(this, omega)

Arguments

Type IntentOptional Attributes Name
class(eigenfunctions_t), intent(inout) :: this
complex(kind=dp), intent(in) :: omega(:)