source_gaussian_t Derived Type

type, public, extends(source_individual_t) :: source_gaussian_t

Class for gaussian sources, contains set of individual source points


Contents


Components

Type Visibility Attributes Name Initial
logical, public :: source_gaussian_on

Switch whether or not to use gaussian source module

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

Precomputed coefficients used for computing localised sources during timestepping


Finalization Procedures

final :: destructor

  • public subroutine destructor(self)

    Destructor

    Arguments

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

    Instance of the type


Type-Bound Procedures

procedure, public, :: init => init_source_gaussian

  • public subroutine init_source_gaussian(self, filename)

    Initialize gaussian source from input file

    Arguments

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

    Instance of class

    character(len=*), intent(in) :: filename

    Path to input file

procedure, public, :: set_coeffs

  • public subroutine set_coeffs(self, comm_handler, mesh_cano, map, penalisation_cano)

    Compute the coefficient that matches the total input rate

    Arguments

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

    Instance of class

    type(comm_handler_t), intent(in) :: comm_handler

    Communicators

    type(mesh_cart_t), intent(inout) :: mesh_cano

    Mesh (canonical) within poloidal plane

    type(parallel_map_t), intent(in) :: map

    Parallel map

    type(penalisation_t), intent(in) :: penalisation_cano

    Penalisation (canonical)

procedure, public, :: display => display_source_gaussian

  • public subroutine display_source_gaussian(self)

    Display parameters related to the gas puff module

    Arguments

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

    Instance of class

procedure, public, :: eval_source_gaussian

  • public subroutine eval_source_gaussian(self, mesh, map, source_on_mesh, i_source)

    Compute neutrals density source from contributions of gaussian centers

    Arguments

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

    Instance of class

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

    Mesh (canonical or staggered) within poloidal plane

    type(parallel_map_t), intent(in) :: map

    Parallel map

    real(kind=GP), intent(inout), dimension(mesh%get_n_points()) :: source_on_mesh

    Results of the source on the each mesh point

    integer, optional :: i_source

    Index of gaussian source to evaluate. If not provided, evaluates sum of all gaussian sources