Data Structures | Namespaces | Functions

/export/development/ViennaFEM/viennafem/cell_quan.hpp File Reference

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.

Detailed Description

Defines ViennaMath extensions: Piecewise constants (constants on each cell) and piecewise functions (expressions on each cell).