Plugins
ug::NavierStokes Namespace Reference

Classes

class  CompressibleNavierStokesBase
 Finite Volume Element Discretization for the compressible Navier-Stokes Equation. More...
 
class  CompressibleNavierStokesFV1
 Finite Volume Element Discretization for the compressible Navier-Stokes Equation. More...
 
class  ConstantBoxFilter
 
class  CRDynamicTurbViscData
 
class  CRNavierStokesSymBC
 
class  CRSmagorinskyTurbViscData
 
class  ElementBoxFilter
 
class  FilterBaseClass
 
class  FilterImplBaseClass
 
struct  Functionality
 
struct  FunctionalityComp
 
struct  FunctionalityCompFV1
 
struct  FunctionalityFE
 
struct  FunctionalityFV
 
struct  FunctionalityFV1
 
struct  FunctionalityFVCR
 
struct  FunctionalityIncomp
 
class  FV1BoxFilter
 
class  FV1DynamicTurbViscData
 
class  FV1SmagorinskyTurbViscData
 
class  FVCRBoxFilter
 
class  INavierStokesFV1Stabilization
 
class  INavierStokesSRFV1Stabilization
 
class  INavierStokesUpwind
 
class  IncompressibleNavierStokesBase
 Finite Volume Element Discretization for the incompressible Navier-Stokes Equation. More...
 
class  NavierStokesBase
 Finite Volume Element Discretization for the incompressible Navier-Stokes Equation. More...
 
class  NavierStokesFE
 Finite Element Discretization for the incompressible Navier-Stokes Equation. More...
 
class  NavierStokesFIELDSStabilization
 
class  NavierStokesFLOWStabilization
 
class  NavierStokesFullUpwind
 
class  NavierStokesFV
 
class  NavierStokesFV1
 Finite Volume Element Discretization for the incompressible Navier-Stokes Equation. More...
 
class  NavierStokesFV1WithoutStabilization
 
class  NavierStokesFVCR
 
class  NavierStokesInflowBase
 
class  NavierStokesInflowFE
 
class  NavierStokesInflowFV
 
class  NavierStokesInflowFV1
 
class  NavierStokesInflowFVCR
 
class  NavierStokesLinearProfileSkewedUpwind
 
class  NavierStokesNoNormalStressOutflowBase
 The zero-stress (neutral) outflow boundary condition for the incompressible NS equation. More...
 
class  NavierStokesNoNormalStressOutflowFV
 The zero-stress (neutral) outflow boundary condition for the incompressible NS equation. More...
 
class  NavierStokesNoNormalStressOutflowFV1
 The zero-stress (neutral) outflow boundary condition for the incompressible NS equation. More...
 
class  NavierStokesNoNormalStressOutflowFVCR
 The zero-stress (neutral) outflow boundary condition for the incompressible NS equation. More...
 
class  NavierStokesNoUpwind
 
class  NavierStokesPositiveUpwind
 
class  NavierStokesRegularUpwind
 
class  NavierStokesSkewedUpwind
 
class  NavierStokesSymBCFV1
 
class  NavierStokesUpwindRegister
 
class  NavierStokesWall
 
class  NavierStokesWSBCFV1
 
struct  Region
 
class  SeparatedPressureSource
 
class  SeparatedPressureSourceInter
 
class  StdTurbulentViscosityData
 
class  StdTurbulentViscosityDataFV1
 
class  VariableBoxFilter
 
class  WallObject
 

Functions

void assignValue (MathSymmetricMatrix< 2 > &v, size_t ind, number value)
 
void assignValue (MathSymmetricMatrix< 3 > &v, size_t ind, number value)
 
void assignValue (MathVector< 2 > &v, size_t ind, number value)
 
void assignValue (MathVector< 3 > &v, size_t ind, number value)
 
void assignValue (number &v, size_t ind, number value)
 
template<typename VType , typename TElem , typename TDomain , typename TGridFunction >
void averageByVolume (PeriodicAttachmentAccessor< TElem, Attachment< VType > > &acUHat, PeriodicAttachmentAccessor< TElem, Attachment< number > > &acVolume, TDomain &domain, SmartPtr< TGridFunction > uInfo, std::vector< WallObject< TGridFunction > > walls)
 
int bubblesort (std::vector< int > &list, std::vector< number > array)
 
template<typename TElem , typename TPos , int dim>
void computeElemBarycenter (MathVector< dim > &bary, TElem *elem, TPos posA)
 
template<int dim, typename elem_type , typename TGridFunction >
void copyAttachmentToGridFunction (SmartPtr< TGridFunction > u, PeriodicAttachmentAccessor< elem_type, Attachment< MathVector< dim > > > &aaU)
 
template<int dim, typename elem_type , typename TGridFunction >
void copyGridFunctionToAttachment (PeriodicAttachmentAccessor< elem_type, Attachment< MathVector< dim > > > &aaU, SmartPtr< TGridFunction > u)
 
template<int dim>
SmartPtr< INavierStokesSRFV1Stabilization< dim > > CreateNavierStokesStabilization (const std::string &name)
 creates upwind based on a string identifier More...
 
template<int dim>
SmartPtr< INavierStokesUpwind< dim > > CreateNavierStokesUpwind (const std::string &name)
 creates upwind based on a string identifier More...
 
template<typename TRefElem , int TWorldDim>
void GetNodeNextToCut (size_t &coOut, const MathVector< TWorldDim > &IP, const MathVector< TWorldDim > &IPVel, const MathVector< TWorldDim > *vCornerCoords)
 computes the closest node to a elem side ray intersection More...
 
template<typename elem_type , typename attachment_type , typename grid_type >
void initAttachment (PeriodicAttachmentAccessor< elem_type, attachment_type > &accessor, attachment_type &attachment, grid_type &grid)
 
bool leastSquares (std::vector< number > &x, const std::vector< number > &mField, const std::vector< number > &b)
 
bool multMatVec (const std::vector< number > &avec, const std::vector< number > &b, std::vector< number > &c, size_t m, size_t n)
 
template<typename TFVGeometry >
void NSDiffLengthCor (number DiffLengthSqInv[], const TFVGeometry &geo)
 
template<typename TFVGeometry >
void NSDiffLengthFivePoint (number DiffLengthSqInv[], const TFVGeometry &geo)
 
template<typename TFVGeometry >
void NSDiffLengthRaw (number DiffLengthSqInv[], const TFVGeometry &geo)
 
bool solveLS (std::vector< number > &x, const std::vector< number > &matField, const std::vector< number > &b)
 
template<typename vector_t >
vector_t::value_type VecDistanceMaxNorm (const vector_t &v1, const vector_t &v2)
 

Function Documentation

◆ assignValue() [1/5]

void ug::NavierStokes::assignValue ( MathSymmetricMatrix< 2 > &  v,
size_t  ind,
number  value 
)

◆ assignValue() [2/5]

void ug::NavierStokes::assignValue ( MathSymmetricMatrix< 3 > &  v,
size_t  ind,
number  value 
)

◆ assignValue() [3/5]

void ug::NavierStokes::assignValue ( MathVector< 2 > &  v,
size_t  ind,
number  value 
)

◆ assignValue() [4/5]

void ug::NavierStokes::assignValue ( MathVector< 3 > &  v,
size_t  ind,
number  value 
)

◆ assignValue() [5/5]

◆ averageByVolume()

template<typename VType , typename TElem , typename TDomain , typename TGridFunction >
void ug::NavierStokes::averageByVolume ( PeriodicAttachmentAccessor< TElem, Attachment< VType > > &  acUHat,
PeriodicAttachmentAccessor< TElem, Attachment< number > > &  acVolume,
TDomain &  domain,
SmartPtr< TGridFunction >  uInfo,
std::vector< WallObject< TGridFunction > >  walls 
)

◆ bubblesort()

int ug::NavierStokes::bubblesort ( std::vector< int > &  list,
std::vector< number array 
)

◆ computeElemBarycenter()

template<typename TElem , typename TPos , int dim>
void ug::NavierStokes::computeElemBarycenter ( MathVector< dim > &  bary,
TElem *  elem,
TPos  posA 
)

◆ copyAttachmentToGridFunction()

template<int dim, typename elem_type , typename TGridFunction >
void ug::NavierStokes::copyAttachmentToGridFunction ( SmartPtr< TGridFunction >  u,
PeriodicAttachmentAccessor< elem_type, Attachment< MathVector< dim > > > &  aaU 
)

element iterator

domain type

References dim, ug::DoFRef(), SmartPtr< TGridFunction >::get(), and num_subsets().

◆ copyGridFunctionToAttachment()

template<int dim, typename elem_type , typename TGridFunction >
void ug::NavierStokes::copyGridFunctionToAttachment ( PeriodicAttachmentAccessor< elem_type, Attachment< MathVector< dim > > > &  aaU,
SmartPtr< TGridFunction >  u 
)

element iterator

domain type

References dim, ug::DoFRef(), SmartPtr< TGridFunction >::get(), and num_subsets().

◆ CreateNavierStokesStabilization()

template<int dim>
SmartPtr< INavierStokesSRFV1Stabilization< dim > > ug::NavierStokes::CreateNavierStokesStabilization ( const std::string &  name)

creates upwind based on a string identifier

References ug::TrimString(), and UG_THROW.

◆ CreateNavierStokesUpwind()

template<int dim>
SmartPtr< INavierStokesUpwind< dim > > ug::NavierStokes::CreateNavierStokesUpwind ( const std::string &  name)

creates upwind based on a string identifier

References ug::TrimString(), and UG_THROW.

◆ GetNodeNextToCut()

template<typename TRefElem , int TWorldDim>
void ug::NavierStokes::GetNodeNextToCut ( size_t &  coOut,
const MathVector< TWorldDim > &  IP,
const MathVector< TWorldDim > &  IPVel,
const MathVector< TWorldDim > *  vCornerCoords 
)

computes the closest node to a elem side ray intersection

References dim, ug::Provider< class >::get(), UG_THROW, and ug::VecDistanceSq().

◆ initAttachment()

template<typename elem_type , typename attachment_type , typename grid_type >
void ug::NavierStokes::initAttachment ( PeriodicAttachmentAccessor< elem_type, attachment_type > &  accessor,
attachment_type &  attachment,
grid_type grid 
)

◆ leastSquares()

bool ug::NavierStokes::leastSquares ( std::vector< number > &  x,
const std::vector< number > &  mField,
const std::vector< number > &  b 
)

References solveLS().

◆ multMatVec()

bool ug::NavierStokes::multMatVec ( const std::vector< number > &  avec,
const std::vector< number > &  b,
std::vector< number > &  c,
size_t  m,
size_t  n 
)

Referenced by solveLS().

◆ NSDiffLengthCor()

template<typename TFVGeometry >
void ug::NavierStokes::NSDiffLengthCor ( number  DiffLengthSqInv[],
const TFVGeometry &  geo 
)

◆ NSDiffLengthFivePoint()

template<typename TFVGeometry >
void ug::NavierStokes::NSDiffLengthFivePoint ( number  DiffLengthSqInv[],
const TFVGeometry &  geo 
)
Parameters
[out]DiffLengthSqInvInverse of squared Diffusion Length for each integration point
[in]geoFinite Volume Geometry

References dim, UG_ASSERT, UG_THROW, ug::VecDistanceSq(), and ug::VecTwoNormSq().

Referenced by ug::NavierStokes::INavierStokesSRFV1Stabilization< dim >::compute_diff_length().

◆ NSDiffLengthRaw()

template<typename TFVGeometry >
void ug::NavierStokes::NSDiffLengthRaw ( number  DiffLengthSqInv[],
const TFVGeometry &  geo 
)

◆ solveLS()

bool ug::NavierStokes::solveLS ( std::vector< number > &  x,
const std::vector< number > &  matField,
const std::vector< number > &  b 
)

References multMatVec(), resize(), and s.

Referenced by leastSquares().

◆ VecDistanceMaxNorm()

template<typename vector_t >
vector_t::value_type ug::NavierStokes::VecDistanceMaxNorm ( const vector_t &  v1,
const vector_t &  v2 
)
inline