SPH
Classes | Namespaces | Enumerations
Quantity.h File Reference

Holder of quantity values and their temporal derivatives. More...

#include "objects/containers/Array.h"
#include "objects/wrappers/Flags.h"
#include "objects/wrappers/Variant.h"
#include "quantities/QuantityHelpers.h"

Go to the source code of this file.

Classes

class  Detail::Holder< TValue >
 
class  Quantity
 Generic container for storing scalar, vector or tensor quantity and its derivatives. More...
 

Namespaces

 Detail
 

Enumerations

enum class  OrderEnum { ZERO , FIRST , SECOND }
 
enum class  VisitorEnum {
  ZERO_ORDER = 1 << 0 , FIRST_ORDER = 1 << 1 , SECOND_ORDER = 1 << 2 , ALL_BUFFERS = 1 << 3 ,
  ALL_VALUES = 1 << 4 , STATE_VALUES = 1 << 5 , HIGHEST_DERIVATIVES = 1 << 6
}
 Types of iteration over storage. More...
 

Detailed Description

Holder of quantity values and their temporal derivatives.

Author
Pavel Sevecek (sevecek at sirrah.troja.mff.cuni.cz)
Date
2016-2021

Definition in file Quantity.h.

Enumeration Type Documentation

◆ OrderEnum

enum OrderEnum
strong
Enumerator
ZERO 

Quantity without derivatives, or "zero order" of quantity.

FIRST 

Quantity with 1st derivative.

SECOND 

Quantity with 1st and 2nd derivative.

Definition at line 15 of file Quantity.h.

◆ VisitorEnum

enum VisitorEnum
strong

Types of iteration over storage.

Enumerator
ZERO_ORDER 

Iterates only over const quantities or quantities with no derivatives. Passes the values as argument of functor.

Note
To iterate over all quantities and pass their values into the functor, use ALL_VALUES
FIRST_ORDER 

Iterates only over first-order quantities. Passes values and derivatives as arguments of functor.

SECOND_ORDER 

Iterates only over second-order quantities. Passes values, 1st derivatives and 2nd derivatives as arguments of functor.

ALL_BUFFERS 

Iterates over all stored arrays of all quantities. Executes functor for each value array and each derivative array.

ALL_VALUES 

Iterates over all quantities, but executes the functor for values only (derivatives are not passed for higher-order quantities).

STATE_VALUES 

Iterate over quantity values for 1st order quantities and over values and 1st derivatives of 2nd order quantities. Zero order quantities are skipped.

HIGHEST_DERIVATIVES 

Iterates over all 1st order and 2nd order quantities, passes their 1st and 2nd derivatives as parameters, respectively.

Definition at line 23 of file Quantity.h.