Plugins
ug::NavierStokes::NavierStokesFV< TDomain > Class Template Reference

#include <navier_stokes_fv.h>

+ Inheritance diagram for ug::NavierStokes::NavierStokesFV< TDomain >:

Public Member Functions

template<typename TElem , typename VGeom , typename PGeom >
void add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the stiffness part of the local defect More...
 
template<typename TElem , typename VGeom , typename PGeom >
void add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the mass part of the local defect More...
 
template<typename TElem , typename VGeom , typename PGeom >
void add_jac_A_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the local stiffness matrix using a finite volume scheme More...
 
template<typename TElem , typename VGeom , typename PGeom >
void add_jac_M_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the local mass matrix using a finite volume scheme More...
 
template<typename TElem , typename VGeom , typename PGeom >
void add_rhs_elem (LocalVector &d, GridObject *elem, const MathVector< dim > vCornerCoords[])
 assembles the local right hand side More...
 
SmartPtr< CplUserData< number, dim > > density ()
 returns density More...
 
virtual std::string disc_type () const
 returns string identifying disc type More...
 
template<typename TElem , typename VGeom , typename PGeom >
void fsh_elem_loop ()
 finishes the loop over all elements More...
 
SmartPtr< CplUserData< number, dim > > kinematic_viscosity ()
 returns kinematic viscosity More...
 
template<typename TElem , typename VGeom , typename PGeom >
void prep_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 
template<typename TElem , typename VGeom , typename PGeom >
void prep_elem_loop (const ReferenceObjectID roid, const int si)
 
void prepare_setting (const std::vector< LFEID > &vLfeID, bool bNonRegularGrid)
 type of trial space for each function used More...
 
virtual bool requests_local_time_series ()
 returns if local time series is needed More...
 
void set_density (SmartPtr< CplUserData< number, dim > > user)
 sets the density More...
 
void set_kinematic_viscosity (SmartPtr< CplUserData< number, dim > > user)
 sets the kinematic viscosity More...
 
void set_quad_order (size_t order)
 sets the quad order More...
 
void set_source (SmartPtr< CplUserData< MathVector< dim >, dim > > user)
 sets the source function More...
 
 NavierStokesFV (const char *functions, const char *subsets)
 
 NavierStokesFV (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
- Public Member Functions inherited from ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >
 IncompressibleNavierStokesBase (const char *functions, const char *subsets)
 
 IncompressibleNavierStokesBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
void set_density (number val)
 sets the kinematic viscosity More...
 
void set_stokes (bool Stokes)
 switches the convective terms off (to solve the Stokes equation) More...
 
bool stokes ()
 flag if using Peclet Blending More...
 
void set_laplace (bool bLaplace)
 sets assembling of diffusive term to laplace More...
 
bool laplace ()
 flag if using Peclet Blending More...
 
void set_peclet_blend (bool pecletBlend)
 sets if peclet blending is used in momentum equation More...
 
void set_grad_div (number factor)
 flag if using Peclet Blending More...
 
SmartPtr< CplUserData< MathVector< dim >, dim > > velocity ()
 returns the export of the velocity More...
 
SmartPtr< CplUserData< MathMatrix< dim, dim >, dim > > velocity_grad ()
 returns the export of the velocity gradient More...
 
- Public Member Functions inherited from ug::NavierStokes::NavierStokesBase< TDomain >
void set_exact_jacobian (bool bExactJacobian)
 sets if the exact jacobian is computed (fixpoint approximation else) More...
 
void set_exact_jacobian (number fullNewtonFactor)
 
 NavierStokesBase (const char *functions, const char *subsets)
 
 NavierStokesBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
void set_kinematic_viscosity (number val)
 sets the kinematic viscosity More...
 
void set_source (const std::vector< number > &vSource)
 sets the source function More...
 
- Public Member Functions inherited from ug::IElemDisc< TDomain >
void add_elem_modifier (SmartPtr< IElemDiscModifier< TDomain > > elemModifier)
 
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > & get_elem_modifier ()
 
 IElemDisc (const char *functions, const char *subsets)
 
 IElemDisc (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
- Public Member Functions inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
virtual void add_def_A_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_def_A_expl_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_def_M_elem (LocalVector &d, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_jac_A_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_jac_M_elem (LocalMatrix &J, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
IElemDisc< TDomain > & asLeaf ()
 
void check_roid (ReferenceObjectID roid, int discType)
 
void do_add_def_A_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_add_def_A_expl_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_add_def_M_elem (LocalVector &d, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_add_jac_A_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_add_jac_M_elem (LocalMatrix &J, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_add_rhs_elem (LocalVector &rhs, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_fsh_elem_loop ()
 
void do_fsh_timestep (const number time, VectorProxyBase *u, size_t algebra_id)
 
void do_fsh_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_prep_elem (LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 
void do_prep_elem_loop (const ReferenceObjectID roid, const int si)
 
void do_prep_timestep (number future_time, const number time, VectorProxyBase *u, size_t algebra_id)
 
void do_prep_timestep_elem (const number time, LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void fsh_timestep (number time, VectorProxyBase *u)
 
virtual void fsh_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
 IElemAssembleFuncs ()
 
virtual void post_assemble_loop ()
 
virtual void prep_assemble_loop ()
 
virtual void prep_elem (const LocalVector &u, GridObject *elem, const ReferenceObjectID roid, const MathVector< dim > vCornerCoords[])
 
virtual void prep_elem_loop (const ReferenceObjectID roid, const int si)
 
virtual void prep_timestep (number future_time, number time, VectorProxyBase *u)
 
virtual void prep_timestep_elem (const number time, const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void set_roid (ReferenceObjectID id, int discType)
 
virtual ~IElemAssembleFuncs ()
 
- Public Member Functions inherited from ug::IElemError< class >
 IElemError (const char *functions, const char *subsets)
 
 IElemError (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
- Public Member Functions inherited from ug::IElemDiscBase< class >
SmartPtr< ApproximationSpace< TDomain > > approx_space ()
 
ConstSmartPtr< ApproximationSpace< TDomain > > approx_space () const
 
void check_setup (bool bNonRegularGrid)
 
void clear_imports ()
 
SmartPtr< TDomain > domain ()
 
ConstSmartPtr< TDomain > domain () const
 
const FunctionGroupfunction_group () const
 
ConstSmartPtr< FunctionPatternfunction_pattern () const
 
IDataImport< dim > & get_import (size_t i)
 
 IElemDiscBase (const char *functions="", const char *subsets="")
 
 IElemDiscBase (const std::vector< std::string > &vFct, const std::vector< std::string > &vSubset)
 
bool is_time_dependent () const
 
bool local_time_series_needed ()
 
const LocalVectorTimeSerieslocal_time_solutions () const
 
const FunctionIndexMappingmap () const
 
number mass_scale () const
 
number mass_scale () const
 
number mass_scale (const size_t timePoint) const
 
number mass_scale (const size_t timePoint) const
 
const std::vector< number > & mass_scales () const
 
const std::vector< number > & mass_scales () const
 
size_t num_fct () const
 
size_t num_imports () const
 
size_t num_subsets () const
 
void register_import (IDataImport< dim > &Imp)
 
void set_approximation_space (SmartPtr< ApproximationSpace< TDomain > > approxSpace)
 
void set_functions (const std::string &functions)
 
void set_functions (const std::vector< std::string > &functions)
 
void set_stationary ()
 
void set_stationary (bool bStationaryForced=true)
 
void set_subsets (const std::string &subsets)
 
void set_subsets (const std::vector< std::string > &subsets)
 
void set_time_dependent (LocalVectorTimeSeries &locTimeSeries, const std::vector< number > &vScaleMass, const std::vector< number > &vScaleStiff)
 
void set_time_independent ()
 
void set_time_point (const size_t timePoint)
 
number stiff_scale () const
 
number stiff_scale () const
 
number stiff_scale (const size_t timePoint) const
 
number stiff_scale (const size_t timePoint) const
 
const std::vector< number > & stiff_scales () const
 
const std::vector< number > & stiff_scales () const
 
TDomain::subset_handler_typesubset_handler ()
 
const TDomain::subset_handler_typesubset_handler () const
 
const std::vector< std::string > & symb_fcts () const
 
const std::vector< std::string > & symb_subsets () const
 
number time () const
 
size_t time_point () const
 
virtual int type () const
 
virtual bool use_hanging () const
 
virtual ~IElemDiscBase ()
 
- Public Member Functions inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
IElemDisc< TDomain > & asLeaf ()
 
void check_roid (ReferenceObjectID roid, int discType)
 
virtual void compute_err_est_A_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
virtual void compute_err_est_M_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
virtual void compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
void do_compute_err_est_A_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
void do_compute_err_est_M_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
void do_compute_err_est_rhs_elem (GridObject *elem, const MathVector< dim > vCornerCoords[], const number &scale)
 
void do_fsh_err_est_elem_loop ()
 
void do_prep_err_est_elem (LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
void do_prep_err_est_elem_loop (const ReferenceObjectID roid, const int si)
 
virtual SmartPtr< IErrEstData< TDomain > > err_est_data ()
 
bool err_est_enabled () const
 
virtual void fsh_err_est_elem_loop ()
 
 IElemEstimatorFuncs ()
 
virtual void prep_err_est_elem (const LocalVector &u, GridObject *elem, const MathVector< dim > vCornerCoords[])
 
virtual void prep_err_est_elem_loop (const ReferenceObjectID roid, const int si)
 
void set_error_estimator (SmartPtr< IErrEstData< TDomain > > ee)
 
void set_roid (ReferenceObjectID id, int discType)
 
virtual ~IElemEstimatorFuncs ()
 

Static Public Attributes

static const int dim = base_type::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >
static const int dim = base_type::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::NavierStokes::NavierStokesBase< TDomain >
static const int dim = base_type::dim
 World dimension. More...
 
- Static Public Attributes inherited from ug::IElemDisc< TDomain >
static const int dim
 
- Static Public Attributes inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 
- Static Public Attributes inherited from ug::IElemError< class >
static const int dim
 
- Static Public Attributes inherited from ug::IElemDiscBase< class >
static const int dim
 
- Static Public Attributes inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
static const int dim
 

Protected Member Functions

void init ()
 
void register_all_funcs (const LFEID &vLfeID, const LFEID &pLfeID)
 register util More...
 
template<typename TElem , typename VGeom , typename PGeom >
void register_func ()
 
- Protected Member Functions inherited from ug::IElemDisc< TDomain >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
void set_default_add_fct ()
 
- Protected Member Functions inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
void remove_add_def_A_elem_fct (ReferenceObjectID id)
 
void remove_add_def_A_expl_elem_fct (ReferenceObjectID id)
 
void remove_add_def_M_elem_fct (ReferenceObjectID id)
 
void remove_add_jac_A_elem_fct (ReferenceObjectID id)
 
void remove_add_jac_M_elem_fct (ReferenceObjectID id)
 
void remove_add_rhs_elem_fct (ReferenceObjectID id)
 
void remove_fsh_elem_loop_fct (ReferenceObjectID id)
 
void remove_fsh_timestep_elem_fct (ReferenceObjectID id)
 
void remove_fsh_timestep_fct (size_t algebra_id)
 
void remove_prep_elem_fct (ReferenceObjectID id)
 
void remove_prep_elem_loop_fct (ReferenceObjectID id)
 
void remove_prep_timestep_elem_fct (ReferenceObjectID id)
 
void remove_prep_timestep_fct (size_t algebra_id)
 
void set_add_def_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_add_def_A_expl_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_add_def_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_add_jac_A_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_add_jac_M_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_add_rhs_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_default_add_fct ()
 
void set_fsh_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 
void set_fsh_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_fsh_timestep_fct (size_t algebra_id, TAssFunc func)
 
void set_prep_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_prep_elem_loop_fct (ReferenceObjectID id, TAssFunc func)
 
void set_prep_timestep_elem_fct (ReferenceObjectID id, TAssFunc func)
 
void set_prep_timestep_fct (size_t algebra_id, TAssFunc func)
 
- Protected Member Functions inherited from ug::IElemError< class >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
- Protected Member Functions inherited from ug::IElemDiscBase< class >
virtual void approximation_space_changed ()
 
void set_function_pattern (ConstSmartPtr< FunctionPattern > fctPatt)
 
void update_function_index_mapping ()
 
- Protected Member Functions inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
void clear_add_fct ()
 
void clear_add_fct (ReferenceObjectID id)
 
void remove_compute_err_est_A_elem (ReferenceObjectID id)
 
void remove_compute_err_est_M_elem (ReferenceObjectID id)
 
void remove_compute_err_est_rhs_elem (ReferenceObjectID id)
 
void remove_fsh_err_est_elem_loop (ReferenceObjectID id)
 
void remove_prep_err_est_elem (ReferenceObjectID id)
 
void remove_prep_err_est_elem_loop (ReferenceObjectID id)
 
void set_compute_err_est_A_elem (ReferenceObjectID id, TAssFunc func)
 
void set_compute_err_est_M_elem (ReferenceObjectID id, TAssFunc func)
 
void set_compute_err_est_rhs_elem (ReferenceObjectID id, TAssFunc func)
 
void set_default_add_fct ()
 
void set_fsh_err_est_elem_loop (ReferenceObjectID id, TAssFunc func)
 
void set_prep_err_est_elem (ReferenceObjectID id, TAssFunc func)
 
void set_prep_err_est_elem_loop (ReferenceObjectID id, TAssFunc func)
 

Protected Attributes

bool m_bQuadOrderUserDef
 quadrature order More...
 
LFEID m_pLFEID
 
int m_quadOrder
 
LFEID m_vLFEID
 current shape function set More...
 
std::vector< std::vector< number > > m_vvPShape
 
std::vector< std::vector< number > > m_vvVShape
 
- Protected Attributes inherited from ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >
bool m_bPecletBlend
 flag if using Peclet Blending More...
 
number m_gradDivFactor
 factor for div grad stabilization More...
 
bool m_bStokes
 flag if solving the Stokes equation More...
 
bool m_bLaplace
 flag if using only laplace term More...
 
SmartPtr< DataExport< MathVector< dim >, dim > > m_exVelocity
 Export for the velocity. More...
 
SmartPtr< DataExport< MathMatrix< dim, dim >, dim > > m_exVelocityGrad
 Export for the velocity gradient. More...
 
number m_bFullNewtonFactor
 factor for exact jacobian, (1 for exact jacobian, 0 for fix point) More...
 
- Protected Attributes inherited from ug::NavierStokes::NavierStokesBase< TDomain >
number m_bFullNewtonFactor
 factor for exact jacobian, (1 for exact jacobian, 0 for fix point) More...
 
- Protected Attributes inherited from ug::IElemDisc< TDomain >
std::vector< SmartPtr< IElemDiscModifier< TDomain > > > m_spElemModifier
 
- Protected Attributes inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
- Protected Attributes inherited from ug::IElemDiscBase< class >
bool m_bStationaryForced
 
FunctionGroup m_fctGrp
 
FunctionIndexMapping m_fctIndexMap
 
LocalVectorTimeSeriesm_pLocalVectorTimeSeries
 
SmartPtr< ApproximationSpace< TDomain > > m_spApproxSpace
 
ConstSmartPtr< FunctionPatternm_spFctPattern
 
size_t m_timePoint
 
std::vector< std::string > m_vFct
 
std::vector< IDataImport< dim > * > m_vIImport
 
std::vector< numberm_vScaleMass
 
std::vector< numberm_vScaleStiff
 
std::vector< std::string > m_vSubset
 
- Protected Attributes inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
ReferenceObjectID m_roid
 
SmartPtr< IErrEstData< TDomain > > m_spErrEstData
 

Private Types

typedef IncompressibleNavierStokesBase< TDomain > base_type
 Base class type. More...
 
typedef NavierStokesFV< TDomain > this_type
 own type More...
 

Private Attributes

bool m_bLaplace
 flag if using only laplace term More...
 
bool m_bPecletBlend
 flag if using Peclet Blending More...
 
bool m_bStokes
 flag if solving the Stokes equation More...
 
DataImport< number, dimm_imDensitySCV
 
DataImport< number, dimm_imDensitySCVF
 Data import for density. More...
 
DataImport< number, dimm_imDensitySCVFp
 
DataImport< number, dimm_imKinViscosity
 Data import for kinematic viscosity. More...
 
DataImport< MathVector< dim >, dimm_imSource
 Data import for source. More...
 

Static Private Attributes

static const size_t _P_ = dim
 abbreviation for pressure More...
 

Additional Inherited Members

- Public Types inherited from ug::IElemDisc< TDomain >
typedef IElemAssembleFuncs< IElemDisc< TDomain >, TDomain > assemble_base_type
 
typedef IElemError< TDomain > base_type
 
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef IElemDisc< TDomain > leaf_type
 
- Public Types inherited from ug::IElemError< class >
typedef TDomain domain_type
 
typedef IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain > estimator_base_type
 
- Public Types inherited from ug::IElemDiscBase< class >
typedef TDomain domain_type
 
typedef TDomain::position_type position_type
 
- Public Types inherited from IElemEstimatorFuncs< IElemDisc< TDomain >, TDomain >
typedef TDomain domain_type
 
typedef IElemDisc< TDomain > leaf_type
 
- Protected Types inherited from ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >
typedef NavierStokesBase< TDomain > base_type
 Base class type. More...
 
typedef IncompressibleNavierStokesBase< TDomain > this_type
 own type More...
 
- Protected Types inherited from ug::NavierStokes::NavierStokesBase< TDomain >
typedef IElemDisc< TDomain > base_type
 Base class type. More...
 
typedef NavierStokesBase< TDomain > this_type
 own type More...
 

Member Typedef Documentation

◆ base_type

template<typename TDomain >
typedef IncompressibleNavierStokesBase<TDomain> ug::NavierStokes::NavierStokesFV< TDomain >::base_type
private

Base class type.

◆ this_type

template<typename TDomain >
typedef NavierStokesFV<TDomain> ug::NavierStokes::NavierStokesFV< TDomain >::this_type
private

own type

Constructor & Destructor Documentation

◆ NavierStokesFV() [1/2]

template<typename TDomain >
ug::NavierStokes::NavierStokesFV< TDomain >::NavierStokesFV ( const char *  functions,
const char *  subsets 
)

Constructor (setting default values)

References ug::NavierStokes::NavierStokesFV< TDomain >::init().

◆ NavierStokesFV() [2/2]

template<typename TDomain >
ug::NavierStokes::NavierStokesFV< TDomain >::NavierStokesFV ( const std::vector< std::string > &  vFct,
const std::vector< std::string > &  vSubset 
)

Constructor (setting default values)

References ug::NavierStokes::NavierStokesFV< TDomain >::init().

Member Function Documentation

◆ add_def_A_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::add_def_A_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

assembles the stiffness part of the local defect

References dim, ug::GeomProvider< class >::get(), ug::MatVecMult(), s, ug::TransposedMatVecMultAdd(), ug::VecProd(), ug::VecScale(), and ug::VecSet().

◆ add_def_M_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::add_def_M_elem ( LocalVector d,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

assembles the mass part of the local defect

References dim, ug::GeomProvider< class >::get(), s, and ug::VecSet().

◆ add_jac_A_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::add_jac_A_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

assembles the local stiffness matrix using a finite volume scheme

References dim, ug::GeomProvider< class >::get(), s, ug::VecDot(), and ug::VecProd().

◆ add_jac_M_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::add_jac_M_elem ( LocalMatrix J,
const LocalVector u,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

assembles the local mass matrix using a finite volume scheme

References dim, ug::GeomProvider< class >::get(), and s.

◆ add_rhs_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::add_rhs_elem ( LocalVector d,
GridObject elem,
const MathVector< dim vCornerCoords[] 
)

assembles the local right hand side

References dim, ug::GeomProvider< class >::get(), and s.

◆ density()

◆ disc_type()

template<typename TDomain >
virtual std::string ug::NavierStokes::NavierStokesFV< TDomain >::disc_type ( ) const
inlinevirtual

returns string identifying disc type

Implements ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >.

◆ fsh_elem_loop()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::fsh_elem_loop
virtual

finishes the loop over all elements

Reimplemented from IElemAssembleFuncs< IElemDisc< TDomain >, TDomain >.

◆ init()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::init
protected

◆ kinematic_viscosity()

template<typename TDomain >
SmartPtr<CplUserData<number, dim> > ug::NavierStokes::NavierStokesFV< TDomain >::kinematic_viscosity ( )
inlinevirtual

◆ prep_elem()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::prep_elem ( const LocalVector u,
GridObject elem,
const ReferenceObjectID  roid,
const MathVector< dim vCornerCoords[] 
)

◆ prep_elem_loop()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::prep_elem_loop ( const ReferenceObjectID  roid,
const int  si 
)

◆ prepare_setting()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::prepare_setting ( const std::vector< LFEID > &  vLfeID,
bool  bNonRegularGrid 
)
virtual

type of trial space for each function used

Implements ug::IElemDiscBase< class >.

References dim, and UG_THROW.

◆ register_all_funcs()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::register_all_funcs ( const LFEID vLfeID,
const LFEID pLfeID 
)
protected

register util

◆ register_func()

template<typename TDomain >
template<typename TElem , typename VGeom , typename PGeom >
void ug::NavierStokes::NavierStokesFV< TDomain >::register_func
protected

◆ requests_local_time_series()

template<typename TDomain >
virtual bool ug::NavierStokes::NavierStokesFV< TDomain >::requests_local_time_series ( )
inlinevirtual

returns if local time series is needed

Reimplemented from ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >.

◆ set_density()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::set_density ( SmartPtr< CplUserData< number, dim > >  user)
virtual

◆ set_kinematic_viscosity()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::set_kinematic_viscosity ( SmartPtr< CplUserData< number, dim > >  user)
virtual

sets the kinematic viscosity

Implements ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >.

◆ set_quad_order()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::set_quad_order ( size_t  order)

sets the quad order

◆ set_source()

template<typename TDomain >
void ug::NavierStokes::NavierStokesFV< TDomain >::set_source ( SmartPtr< CplUserData< MathVector< dim >, dim > >  user)
virtual

Member Data Documentation

◆ _P_

template<typename TDomain >
const size_t ug::NavierStokes::NavierStokesFV< TDomain >::_P_ = dim
staticprivate

abbreviation for pressure

◆ dim

template<typename TDomain >
const int ug::NavierStokes::NavierStokesFV< TDomain >::dim = base_type::dim
static

World dimension.

◆ m_bLaplace

template<typename TDomain >
bool ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >::m_bLaplace
private

flag if using only laplace term

◆ m_bPecletBlend

template<typename TDomain >
bool ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >::m_bPecletBlend
private

flag if using Peclet Blending

◆ m_bQuadOrderUserDef

template<typename TDomain >
bool ug::NavierStokes::NavierStokesFV< TDomain >::m_bQuadOrderUserDef
protected

quadrature order

◆ m_bStokes

template<typename TDomain >
bool ug::NavierStokes::IncompressibleNavierStokesBase< TDomain >::m_bStokes
private

flag if solving the Stokes equation

◆ m_imDensitySCV

template<typename TDomain >
DataImport<number, dim> ug::NavierStokes::NavierStokesFV< TDomain >::m_imDensitySCV
private

◆ m_imDensitySCVF

template<typename TDomain >
DataImport<number, dim> ug::NavierStokes::NavierStokesFV< TDomain >::m_imDensitySCVF
private

Data import for density.

Referenced by ug::NavierStokes::NavierStokesFV< TDomain >::density().

◆ m_imDensitySCVFp

template<typename TDomain >
DataImport<number, dim> ug::NavierStokes::NavierStokesFV< TDomain >::m_imDensitySCVFp
private

◆ m_imKinViscosity

template<typename TDomain >
DataImport<number, dim> ug::NavierStokes::NavierStokesFV< TDomain >::m_imKinViscosity
private

Data import for kinematic viscosity.

Referenced by ug::NavierStokes::NavierStokesFV< TDomain >::kinematic_viscosity().

◆ m_imSource

template<typename TDomain >
DataImport<MathVector<dim>, dim> ug::NavierStokes::NavierStokesFV< TDomain >::m_imSource
private

Data import for source.

◆ m_pLFEID

template<typename TDomain >
LFEID ug::NavierStokes::NavierStokesFV< TDomain >::m_pLFEID
protected

◆ m_quadOrder

template<typename TDomain >
int ug::NavierStokes::NavierStokesFV< TDomain >::m_quadOrder
protected

◆ m_vLFEID

template<typename TDomain >
LFEID ug::NavierStokes::NavierStokesFV< TDomain >::m_vLFEID
protected

current shape function set

◆ m_vvPShape

template<typename TDomain >
std::vector<std::vector<number> > ug::NavierStokes::NavierStokesFV< TDomain >::m_vvPShape
protected

◆ m_vvVShape

template<typename TDomain >
std::vector<std::vector<number> > ug::NavierStokes::NavierStokesFV< TDomain >::m_vvVShape
protected

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