waLBerla 7.3
Loading...
Searching...
No Matches
walberla::VelocityGradientRefinement Class Reference

Detailed Description

Adaptive refinement criterion.

A block is refined up to maxLevel if it overlaps the sphere (which must always be well resolved) or if the magnitude of the velocity gradient inside the block exceeds upperLimit. A block is coarsened if its velocity gradient is everywhere below lowerLimit. Otherwise the block keeps its current level.

Public Member Functions

 VelocityGradientRefinement (const ConstBlockDataID &velFieldId, const geometry::Sphere &sphere, const real_t lowerLimit, const real_t upperLimit, const uint_t maxLevel)
void operator() (std::vector< std::pair< const Block *, uint_t > > &minTargetLevels, std::vector< const Block * > &, const BlockForest &) const

Private Attributes

ConstBlockDataID velFieldId_
geometry::Sphere sphere_
real_t lowerLimit_
real_t upperLimit_
uint_t maxLevel_

Constructor & Destructor Documentation

◆ VelocityGradientRefinement()

walberla::VelocityGradientRefinement::VelocityGradientRefinement ( const ConstBlockDataID & velFieldId,
const geometry::Sphere & sphere,
const real_t lowerLimit,
const real_t upperLimit,
const uint_t maxLevel )
inline

Member Function Documentation

◆ operator()()

void walberla::VelocityGradientRefinement::operator() ( std::vector< std::pair< const Block *, uint_t > > & minTargetLevels,
std::vector< const Block * > & ,
const BlockForest &  ) const
inline

Member Data Documentation

◆ lowerLimit_

real_t walberla::VelocityGradientRefinement::lowerLimit_
private

◆ maxLevel_

uint_t walberla::VelocityGradientRefinement::maxLevel_
private

◆ sphere_

geometry::Sphere walberla::VelocityGradientRefinement::sphere_
private

◆ upperLimit_

real_t walberla::VelocityGradientRefinement::upperLimit_
private

◆ velFieldId_

ConstBlockDataID walberla::VelocityGradientRefinement::velFieldId_
private

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