legolas Program

Main program for the Legolas finite element code. Matrices, eigenvalues and left/right eigenvectors are defined here and passed on to the different modules and submodules.

Legolas is currently being developed by Niels Claes, Jordi De Jonghe and Rony Keppens, at the Centre for mathematical Plasma-Astrophysics (CmPA), KU Leuven, Belgium.


Contents


Variables

TypeAttributesNameInitial
type(matrix_t) :: matrix_A

A matrix in eigenvalue problem wBX = AX

type(matrix_t) :: matrix_B

B matrix in eigenvalue problem wBX = AX

type(timer_t) :: timer

timer used by the whole program

type(settings_t) :: settings

dedicated settings type

type(eigenfunctions_t) :: eigenfunctions
complex(kind=dp), allocatable:: omega(:)

array with eigenvalues

complex(kind=dp), allocatable:: right_eigenvectors(:,:)

matrix with right eigenvectors, column indices correspond to omega indices


Subroutines

subroutine initialisation()

Subroutine responsible for all initialisations. Allocates and initialises main and global variables, then the equilibrium state and eigenfunctions are initialised and the equilibrium is set.

Arguments

None

subroutine get_eigenfunctions()

Initialises and calculates the eigenfunctions if requested.

Arguments

None

subroutine cleanup()

Deallocates all main variables, then calls the cleanup routines of all relevant subroutines to do the same thing.

Arguments

None

subroutine print_timelog()

Arguments

None