Public Member Functions

cell_quan< CellType, InterfaceType > Class Template Reference

The main cell quantity class for using piecewise constant or piecewise expressions (in local coordinates) with ViennaMath. More...

#include <cell_quan.hpp>

Public Member Functions

 cell_quan (CellType const *cell, detail::cell_quan_wrapper< CellType, numeric_type > const &wrapper)
 cell_quan ()
InterfaceType * clone () const
numeric_type eval (std::vector< numeric_type > const &v) const
numeric_type eval (numeric_type v) const
std::string deep_str () const
numeric_type unwrap () const
InterfaceType * substitute (const InterfaceType *e, const InterfaceType *repl) const
InterfaceType * substitute (std::vector< const InterfaceType * > const &e, std::vector< const InterfaceType * > const &repl) const
bool deep_equal (const InterfaceType *other) const
bool shallow_equal (const InterfaceType *other) const
InterfaceType * diff (const InterfaceType *diff_var) const
void update (CellType const &cell) const
template<typename T >
void wrap_constant (T const &t)
template<typename T >
void wrap_expr (T const &t)
detail::cell_quan_wrapper
< CellType, numeric_type >
const & 
wrapper () const

Detailed Description

template<typename CellType, typename InterfaceType>
class viennafem::cell_quan< CellType, InterfaceType >

The main cell quantity class for using piecewise constant or piecewise expressions (in local coordinates) with ViennaMath.

Parameters:
CellType Type of the ViennaGrid cell
InterfaceType The runtime interface class of ViennaMath.

Constructor & Destructor Documentation

cell_quan ( CellType const *  cell,
detail::cell_quan_wrapper< CellType, numeric_type > const &  wrapper 
) [inline, explicit]
cell_quan (  )  [inline, explicit]

Member Function Documentation

InterfaceType* clone (  )  const [inline]
bool deep_equal ( const InterfaceType *  other  )  const [inline]
std::string deep_str (  )  const [inline]
InterfaceType* diff ( const InterfaceType *  diff_var  )  const [inline]
numeric_type eval ( std::vector< numeric_type > const &  v  )  const [inline]
numeric_type eval ( numeric_type  v  )  const [inline]
bool shallow_equal ( const InterfaceType *  other  )  const [inline]
InterfaceType* substitute ( const InterfaceType *  e,
const InterfaceType *  repl 
) const [inline]
InterfaceType* substitute ( std::vector< const InterfaceType * > const &  e,
std::vector< const InterfaceType * > const &  repl 
) const [inline]
numeric_type unwrap (  )  const [inline]
void update ( CellType const &  cell  )  const [inline]
void wrap_constant ( T const &  t  )  [inline]
void wrap_expr ( T const &  t  )  [inline]
detail::cell_quan_wrapper<CellType, numeric_type> const& wrapper (  )  const [inline]

The documentation for this class was generated from the following file: