atl_update_source Abstract Interface

abstract interface

Abstract interface to update state with source terms


public subroutine atl_update_source(fun, varSys, time, mesh, poly_proj, currentLevel, state, material, sourcedata)

Arguments

Type IntentOptional Attributes Name
class(atl_source_op_type), intent(in) :: fun

Description of method to update source

type(tem_varSys_type), intent(in) :: varSys

variable system

type(tem_time_type), intent(in) :: time

Point in time at which to evaluate the variable.

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

Current level mesh information

type(ply_poly_project_type), intent(inout) :: poly_proj

Parameters for projection

integer, intent(in) :: currentLevel

current level

real(kind=rk), intent(in) :: state(:,:,:)

The state in modal space. This is needed for several source terms that have to be applied to the current state

real(kind=rk), intent(in) :: material(:)

The background material to use for evaluating specific source terms.

At the moment this background material is used for all elements. At a stage each element should get it's own material parameters.

real(kind=rk), intent(inout) :: sourcedata(:,:,:)

The source data to update. When all source terms are added to this buffer, it is applied to the state.