|
ug4
|
#include <conv_shape.h>
Inheritance diagram for ug::ConvectionShapesNoUpwind< TDim >:Classes | |
| struct | RegisterElemFunc |
| functor for registering the shapes for the element-templated FV geometries More... | |
| struct | RegisterRefDimFunc |
| functor for registering the shapes for the reference-dimension-templated FV geometries More... | |
Public Types | |
| typedef IConvectionShapes< TDim > | base_type |
| Base class. | |
| typedef ConvectionShapesNoUpwind< TDim > | this_type |
| This class. | |
Public Types inherited from ug::IConvectionShapes< TDim > | |
| typedef IConvectionShapes< dim > | this_type |
| Abbreviation for own type. | |
| typedef bool(this_type::* | UpdateFunc) (const FVGeometryBase *geo, const MathVector< dim > *Velocity, const MathMatrix< dim, dim > *Diffusion, bool computeDeriv) |
| type of update function | |
Public Member Functions | |
| ConvectionShapesNoUpwind () | |
| constructor | |
| template<typename TFVGeom > | |
| bool | update (const TFVGeom *geo, const MathVector< dim > *Velocity, const MathMatrix< dim, dim > *DiffDisp, bool computeDeriv) |
| update of values for FV geometry | |
Public Member Functions inherited from ug::IConvectionShapes< TDim > | |
| const MathMatrix< dim, dim > & | D_diffusion (size_t scvf, size_t sh) const |
| upwind shapes for ip vel | |
| const MathVector< dim > & | D_vel (size_t scvf, size_t sh) const |
| upwind shape for corner vel | |
| IConvectionShapes () | |
| constructor | |
| bool | non_zero_deriv_diffusion () const |
| returns if upwind shape w.r.t. ip vel is non-zero | |
| size_t | num_scvf () const |
| returns number of sub control volume faces | |
| size_t | num_sh () const |
| returns number of shapes | |
| number | operator() (size_t scvf, size_t sh) const |
| shape value | |
| void | register_update_func (TAssFunc func) |
| register a update function for a Geometry | |
| bool | set_geometry_type (const TFVGeom &geo) |
| set the Geometry type to use for next updates | |
| bool | update (const FVGeometryBase *geo, const MathVector< dim > *Velocity, const MathMatrix< dim, dim > *DiffDisp, bool computeDeriv) |
| virtual | ~IConvectionShapes () |
| destructor | |
Static Public Attributes | |
| static const int | dim = TDim |
| Dimension. | |
Private Member Functions | |
| template<typename TElem , typename TFVGeom > | |
| void | register_func_for_elem_fvgeom () |
| registers the update function for an element type and a FV geometry | |
| template<int refDim> | |
| void | register_func_for_refDim () |
| registers the update function for a reference dimension | |
Additional Inherited Members | |
Protected Member Functions inherited from ug::IConvectionShapes< TDim > | |
| number & | conv_shape (size_t scvf, size_t sh) |
| non-const access to ip velocity (i.e. interpolated velocity at ip) | |
| MathMatrix< dim, dim > & | conv_shape_diffusion (size_t scvf, size_t sh) |
| non-const access to upwind shapes for ip vel | |
| MathVector< dim > & | D_vel (size_t scvf, size_t sh) |
| non-const access to upwind shapes for corner vel | |
| void | set_non_zero_deriv_diffusion_flag (bool flag) |
| sets the shape ip flag | |
| void | set_sizes (size_t numScvf, size_t numSh) |
| resize the data arrays | |
Protected Attributes inherited from ug::IConvectionShapes< TDim > | |
| bool | m_bNonZeroDerivDiffusion |
| flag if ip shapes are non-zero | |
| int | m_id |
| id of current geometry type | |
| size_t | m_numScvf |
| number of current scvf | |
| size_t | m_numSh |
| number of current shape functions (usually in corners) | |
| std::vector< std::vector< number > > | m_vConvShape |
| upwind shapes for corners shape functions | |
| std::vector< std::vector< MathMatrix< dim, dim > > > | m_vConvShapeDiffusion |
| upwind shapes for corners shape functions | |
| std::vector< std::vector< MathVector< dim > > > | m_vConvShapeVel |
| upwind shapes for corners shape functions | |
| std::vector< UpdateFunc > | m_vUpdateFunc |
| Vector holding all update functions. | |
| typedef IConvectionShapes<TDim> ug::ConvectionShapesNoUpwind< TDim >::base_type |
Base class.
| typedef ConvectionShapesNoUpwind<TDim> ug::ConvectionShapesNoUpwind< TDim >::this_type |
This class.
|
inline |
constructor
References ug::IConvectionShapes< TDim >::set_non_zero_deriv_diffusion_flag().
|
inlineprivate |
registers the update function for an element type and a FV geometry
|
inlineprivate |
registers the update function for a reference dimension
| bool ug::ConvectionShapesNoUpwind< TDim >::update | ( | const TFVGeom * | geo, |
| const MathVector< dim > * | Velocity, | ||
| const MathMatrix< dim, dim > * | DiffDisp, | ||
| bool | computeDeriv | ||
| ) |
update of values for FV geometry
References UG_ASSERT, ug::VecDot(), ug::VecScale(), and ug::VecSet().
|
static |
Dimension.