tem_reduction_transient_type Derived Type

type, public :: tem_reduction_transient_type

all data needed for a transient reduction, operation to perform and necessary data from previous timesteps


type~~tem_reduction_transient_type~~InheritsGraph type~tem_reduction_transient_type tem_reduction_transient_type type~tem_reduction_transient_config_type tem_reduction_transient_config_type type~tem_reduction_transient_type->type~tem_reduction_transient_config_type config

Inherited by

type~~tem_reduction_transient_type~~InheritedByGraph type~tem_reduction_transient_type tem_reduction_transient_type type~tem_varsys_op_data_type tem_varSys_op_data_type type~tem_varsys_op_data_type->type~tem_reduction_transient_type redTrans



type(tem_reduction_transient_config_type), private :: config

reduction info loaded from config file

integer, private :: nTimes =0

Number of "recorded" previous iterations

integer, private :: nEntries =0

Number of values to store in the double buffer val

integer, private :: nComponents =0

number of components

integer, private :: nDofs

Number of degrees of freedom

integer, private :: curr

Index of the storage for the currently filling (incomplete) position in val

integer, private :: last

Index of the storage location with the previously completed interval holding the reduced value over that interval.

real(kind=rk), private, allocatable:: val(:,:)

Double buffer to store data from previous timesteps size (nComponentsnDofstree%nElems,2) 2nd index is used to maintain last valid reduced value when nRecord is reached. It will be swapped to avoid copy operations