OpenLB 1.7
|
SuperLatticeRefinementMetricKnudsen2D suggests a per-block grid refinement factor. More...
#include <superLatticeRefinementMetricF2D.h>
Public Member Functions | |
SuperLatticeRefinementMetricKnudsen2D (SuperLattice< T, DESCRIPTOR > &lattice, const UnitConverter< T, DESCRIPTOR > &converter) | |
Constructor. | |
bool | operator() (T output[], int glob) |
void | print () |
Convenience method for printing per-block refinement factors. | |
Public Member Functions inherited from olb::SuperLatticeF2D< T, DESCRIPTOR > | |
SuperLattice< T, DESCRIPTOR > & | getSuperLattice () |
bool | operator() (T output[], const int input[]) |
Public Member Functions inherited from olb::SuperF2D< T, T > | |
SuperF2D< T, T > & | operator- (SuperF2D< T, T > &rhs) |
SuperF2D< T, T > & | operator+ (SuperF2D< T, T > &rhs) |
SuperF2D< T, T > & | operator* (SuperF2D< T, T > &rhs) |
SuperF2D< T, T > & | operator/ (SuperF2D< T, T > &rhs) |
SuperStructure< T, 2 > & | getSuperStructure () |
int | getBlockFSize () const |
BlockF2D< T > & | getBlockF (int iCloc) |
bool | operator() (T output[], const int input[]) override |
Public Member Functions inherited from olb::GenericF< T, S > | |
virtual | ~GenericF ()=default |
int | getSourceDim () const |
read only access to member variable _m | |
int | getTargetDim () const |
read only access to member variable _n | |
std::string & | getName () |
read and write access to name | |
std::string const & | getName () const |
read only access to name | |
virtual bool | operator() (T output[], const S input[])=0 |
has to be implemented for 'every' derived class | |
bool | operator() (T output[]) |
wrapper that call the pure virtual operator() (T output[], const S input[]) from above | |
bool | operator() (T output[], S input0) |
bool | operator() (T output[], S input0, S input1) |
bool | operator() (T output[], S input0, S input1, S input2) |
bool | operator() (T output[], S input0, S input1, S input2, S input3) |
Additional Inherited Members | |
Public Types inherited from olb::SuperF2D< T, T > | |
using | identity_functor_type |
Public Types inherited from olb::GenericF< T, S > | |
using | targetType = T |
using | sourceType = S |
Public Attributes inherited from olb::GenericF< T, S > | |
std::shared_ptr< GenericF< T, S > > | _ptrCalcC |
memory management, frees resouces (calcClass) | |
Protected Member Functions inherited from olb::SuperLatticeF2D< T, DESCRIPTOR > | |
SuperLatticeF2D (SuperLattice< T, DESCRIPTOR > &superLattice, int targetDim) | |
Protected Member Functions inherited from olb::SuperF2D< T, T > | |
SuperF2D (SuperStructure< T, 2 > &superStructure, int targetDim) | |
Protected Member Functions inherited from olb::GenericF< T, S > | |
GenericF (int targetDim, int sourceDim) | |
Protected Attributes inherited from olb::SuperLatticeF2D< T, DESCRIPTOR > | |
SuperLattice< T, DESCRIPTOR > & | _sLattice |
Protected Attributes inherited from olb::SuperF2D< T, T > | |
SuperStructure< T, 2 > & | _superStructure |
std::vector< std::unique_ptr< BlockF2D< T > > > | _blockF |
Super functors may consist of several BlockF2D<W> derived functors. | |
SuperLatticeRefinementMetricKnudsen2D suggests a per-block grid refinement factor.
This functor is a direct implementation of the refinement criterion described in "Automatic grid refinement criterion for lattice Boltzmann method" [arXiv:1507.06767] by D. Lagrava et al.
Definition at line 55 of file superLatticeRefinementMetricF2D.h.
olb::SuperLatticeRefinementMetricKnudsen2D< T, DESCRIPTOR >::SuperLatticeRefinementMetricKnudsen2D | ( | SuperLattice< T, DESCRIPTOR > & | lattice, |
const UnitConverter< T, DESCRIPTOR > & | converter ) |
Constructor.
converter | Required to get the theoretical Knudsen number as reference |
rounding | Configures the quality of the grid by rounding the output |
Definition at line 52 of file superLatticeRefinementMetricF2D.hh.
References olb::SuperF2D< T, T >::_blockF, olb::SuperLattice< T, DESCRIPTOR >::getBlock(), olb::SuperStructure< T, D >::getLoadBalancer(), and olb::GenericF< T, S >::getName().
bool olb::SuperLatticeRefinementMetricKnudsen2D< T, DESCRIPTOR >::operator() | ( | T | output[], |
int | glob ) |
output | output[0] == 0 suggests sufficient grid resolution, output[0] > 0 suggests the grid to be refined output[0] times |
glob | cuboid to be considered |
Definition at line 68 of file superLatticeRefinementMetricF2D.hh.
void olb::SuperLatticeRefinementMetricKnudsen2D< T, DESCRIPTOR >::print | ( | ) |
Convenience method for printing per-block refinement factors.
output | output[0] == 0 suggests sufficient grid resolution, output[0] > 0 suggests the grid to be refined output[0] times \input input grid cell to be considered |
Definition at line 85 of file superLatticeRefinementMetricF2D.hh.
References olb::singleton::mpi(), and olb::singleton::MpiManager::sendToMaster().