equilibrium_storage_m Module

Storage of equilibrium data on mesh enabling lookup instead of computation Can be used for faster performance at certain locations


Uses

Used by


Contents


Interfaces

interface

  • public module subroutine write_netcdf_equilibrium_storage(self, fgid)

    Writes stored quantities of grid to netcdf file

    Arguments

    Type IntentOptional Attributes Name
    class(equilibrium_storage_t), intent(in) :: self

    Instance of class

    integer, intent(in) :: fgid

    File or group id

interface

  • public module subroutine read_netcdf_equilibrium_storage(self, fgid)

    Writes stored quantities of grid to netcdf file

    Arguments

    Type IntentOptional Attributes Name
    class(equilibrium_storage_t), intent(inout) :: self

    Instance of class

    integer, intent(in) :: fgid

    File or group id


Derived Types

type, public ::  equilibrium_storage_t

Datatype for storage of equilibrium on mesh

Components

Type Visibility Attributes Name Initial
real(kind=GP), public, allocatable, dimension(:) :: rho

rho on mesh

real(kind=GP), public, allocatable, dimension(:) :: bx

bx on mesh

real(kind=GP), public, allocatable, dimension(:) :: by

by on mesh

real(kind=GP), public, allocatable, dimension(:) :: btor

btor on mesh

real(kind=GP), public, allocatable, dimension(:,:) :: epol

epol on mesh

real(kind=GP), public, allocatable, dimension(:,:) :: erad

erad on mesh

integer, public, allocatable, dimension(:) :: district

District on mesh

Finalizations Procedures

final :: destructor

Type-Bound Procedures

procedure , public :: absb Function
procedure , public :: fill_storage Subroutine
procedure , public :: write_netcdf => write_netcdf_equilibrium_storage Interface
procedure , public :: read_netcdf => read_netcdf_equilibrium_storage Interface

Functions

public pure function absb(self, l)

Computes absolute value of magnetic field from stured quantities

Arguments

Type IntentOptional Attributes Name
class(equilibrium_storage_t), intent(in) :: self

Instance of class

integer, intent(in) :: l

Index

Return Value real(kind=gp)


Subroutines

public subroutine fill_storage(self, equi, mesh)

Fills storage with values on mesh points

Arguments

Type IntentOptional Attributes Name
class(equilibrium_storage_t), intent(inout) :: self

Instance of class

class(equilibrium_t), intent(inout), target :: equi

Equilibrium

type(mesh_cart_t), intent(in) :: mesh

Mesh

public subroutine destructor(self)

Destructor

Arguments

Type IntentOptional Attributes Name
type(equilibrium_storage_t), intent(inout) :: self