tem_varSys_stateVar_test Program

Uses

This UTEST is to test variable system. load variables and access state and derive quantities from c pointer methoddata


Calls

program~~tem_varsys_statevar_test~~CallsGraph program~tem_varsys_statevar_test tem_varSys_stateVar_test proc~load_env load_env program~tem_varsys_statevar_test->proc~load_env interface~positionofval~4 positionofval program~tem_varsys_statevar_test->interface~positionofval~4 proc~tem_varsys_append_statevar tem_varSys_append_stateVar program~tem_varsys_statevar_test->proc~tem_varsys_append_statevar proc~tem_varsys_init tem_varSys_init program~tem_varsys_statevar_test->proc~tem_varsys_init proc~fin_env fin_env program~tem_varsys_statevar_test->proc~fin_env proc~tem_start tem_start proc~load_env->proc~tem_start proc~tem_logging_load_primary tem_logging_load_primary proc~load_env->proc~tem_logging_load_primary proc~open_config_chunk open_config_chunk proc~load_env->proc~open_config_chunk proc~tem_load_general tem_load_general proc~load_env->proc~tem_load_general proc~close_config close_config proc~load_env->proc~close_config proc~load_tem_bc_prop load_tem_BC_prop proc~load_env->proc~load_tem_bc_prop proc~load_tem load_tem proc~load_env->proc~load_tem proc~posofval_label posofval_label interface~positionofval~4->proc~posofval_label interface~append~21 append proc~tem_varsys_append_statevar->interface~append~21 interface~init~20 init proc~tem_varsys_init->interface~init~20 mpi_finalize mpi_finalize proc~fin_env->mpi_finalize

Contents


Variables

TypeAttributesNameInitial
procedure(tem_varSys_proc_point), pointer:: get_point=> NULL()
procedure(tem_varSys_proc_element), pointer:: get_element=> NULL()
procedure(tem_varSys_proc_setParams), pointer:: set_params=> null()
procedure(tem_varSys_proc_getParams), pointer:: get_params=> null()
procedure(tem_varSys_proc_setupIndices), pointer:: setup_indices=> null()
procedure(tem_varSys_proc_getValOfIndex), pointer:: get_valOfIndex=> null()
integer :: addedPos
integer :: statePos_1
integer :: statePos_2
integer :: iElem
integer :: iComp
integer :: iDof
integer :: iVar
integer :: elem_offset
integer :: comp_offset
integer :: nElems_track
integer :: nComp
integer :: state_varPos
integer, allocatable:: elemPos(:)
logical :: wasAdded
real(kind=rk), allocatable:: res(:)
type(treelmesh_type), target:: tree
type(tem_BC_prop_type), target:: boundary
type(tem_general_type), target:: general
type(scheme_type), allocatable, target:: scheme(:)
type(solver_type), allocatable, target:: solver(:)
integer :: iScheme
integer :: nScheme

Derived Types

type :: scheme_type

Components

TypeVisibilityAttributesNameInitial
character(len=labelLen), public :: label
real(kind=rk), public, allocatable:: state(:)
integer, public :: nDofs
type(tem_varSys_type), public :: varSys

type :: solver_type

Components

TypeVisibilityAttributesNameInitial
type(scheme_type), public, pointer:: scheme=> null()
type(treelmesh_type), public, pointer:: tree=> null()
type(tem_BC_prop_type), public, pointer:: boundary=> null()
type(tem_general_type), public, pointer:: general=> null()

Subroutines

subroutine access_state(fun, varSys, elempos, time, tree, nElems, nDofs, res)

access state variables

Arguments

TypeIntentOptionalAttributesName
class(tem_varSys_op_type), intent(in) :: fun

Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables.

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

The variable system to obtain the variable from.

integer, intent(in) :: elempos(:)

TreeID of the element to get the variable for.

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

Point in time at which to evaluate the variable.

type(treelmesh_type), intent(in) :: tree

global treelm mesh info

integer, intent(in) :: nElems

Number of values to obtain for this variable (vectorized access).

integer, intent(in) :: nDofs

Number of degrees of freedom within an element.

real(kind=rk), intent(out) :: res(:)

Resulting values for the requested variable.

The first dimension are the n requested entries and the second dimension are the components of this variable. Third dimension are the degrees of freedom.