Defines ViennaMath extensions: Piecewise constants (constants on each cell) and piecewise functions (expressions on each cell). More...
#include "viennafem/forwards.h"
#include "viennamath/forwards.h"
#include "viennamath/manipulation/substitute.hpp"
#include "viennamath/expression.hpp"
#include "viennadata/api.hpp"
Go to the source code of this file.
Data Structures | |
class | cell_quan_interface< CellType, NumericT > |
The runtime interface for cell quantities. More... | |
class | cell_quan_constant< CellType, KeyType, DataType > |
Implementation of a function which is piecewise constant on each cell. Function values are retrieved from ViennaData. More... | |
class | cell_quan_expr< CellType, KeyType, DataType > |
Implementation of a function which is specified as an expression given in local coordinates on each cell. Expressions are retrieved from ViennaData. More... | |
class | cell_quan_wrapper< CellType, NumericT > |
A type erasure class which enables to store cell_quan_constants and cell_quan_exprs with different template arguments in a single array. More... | |
class | cell_quan< CellType, InterfaceType > |
The main cell quantity class for using piecewise constant or piecewise expressions (in local coordinates) with ViennaMath. More... | |
Namespaces | |
namespace | viennafem |
The main namespace for ViennaFEM. All user functionality resides in this namespace. | |
namespace | viennafem::detail |
Contains implementation details of ViennaFEM not intended to be used by the library user directly. | |
Functions | |
template<typename CellType , typename InterfaceType > | |
viennamath::rt_expr < InterfaceType > | operator* (viennamath::rt_variable< InterfaceType > const &lhs, cell_quan< CellType, InterfaceType > const &rhs) |
Operator overload for the multiplication of a cell quantity with a ViennaMath variable. | |
template<typename CellType , typename InterfaceType > | |
viennamath::rt_expr < InterfaceType > | operator* (viennamath::rt_expr< InterfaceType > const &lhs, cell_quan< CellType, InterfaceType > const &rhs) |
Operator overload for the multiplication of a cell quantity with a ViennaMath expression wrapper. | |
template<typename CellType , typename InterfaceType > | |
viennamath::rt_expr < InterfaceType > | operator* (cell_quan< CellType, InterfaceType > const &lhs, viennamath::rt_unary_expr< InterfaceType > const &rhs) |
Operator overload for the multiplication of a cell quantity with a ViennaMath unary expression. | |
template<typename CellType , typename InterfaceType > | |
viennamath::rt_expr < InterfaceType > | operator* (cell_quan< CellType, InterfaceType > const &lhs, viennamath::rt_binary_expr< InterfaceType > const &rhs) |
Operator overload for the multiplication of a cell quantity with a ViennaMath binary expression. |
Defines ViennaMath extensions: Piecewise constants (constants on each cell) and piecewise functions (expressions on each cell).