28#ifndef SUPER_GEOMETRY_STATISTICS_3D_H
29#define SUPER_GEOMETRY_STATISTICS_3D_H
53template<
typename T,
unsigned D>
62 bool _statisticsUpdateNeeded;
67 std::map<int, std::size_t> _material2n;
69 std::map<int, olb::Vector<T, 3> > _material2min;
71 std::map<int, olb::Vector<T, 3> > _material2max;
97 void update(
bool verbose=
false);
104 std::size_t
getNvoxel(
int material)
const;
class for marking output with some text
olb::Vector< T, 3 > getCenterPhysR(int material)
Returns the center position.
void print()
Prints some statistic information, i.e. the number of voxels and min. max. physical position for each...
olb::Vector< T, 3 > getMinPhysR()
Returns the min. phys position in each direction corresponding to all non-zero material numbers.
void update(bool verbose=false)
Updates the statistics if it is really needed.
olb::Vector< T, 3 > getMaxPhysR()
Returns the max. phys position in each direction corresponding to all non-zero material numbers.
olb::Vector< int, 3 > getType(int iC, int iX, int iY, int iZ)
Returns the boundary type which is characterized by a discrte normal (c.f. Zimny)
std::size_t getNvoxel()
Returns the number of voxels with material!=0.
olb::Vector< T, 3 > computeNormal(int material)
Returns normal that points into the fluid for paraxial surfaces.
int getNmaterials()
Returns the number of different materials.
SuperGeometryStatistics3D< T > & operator=(SuperGeometryStatistics3D const &rhs)
Copy assignment.
olb::Vector< int, 3 > computeDiscreteNormal(int material, T maxNorm=1.1)
Returns discrete normal with norm maxNorm that points into the fluid for paraxial surfaces maxNorm=1....
bool & getStatisticsStatus()
Read and write access to a flag, which indicates if an uptate is needed (=true)
olb::Vector< T, 3 > getPhysExtend(int material)
Returns the phys extend as length in each direction.
SuperGeometryStatistics3D(SuperGeometry< T, 3 > *superGeometry)
Constructor.
T computeMaxPhysDistance() const
Returns util::sqrt( maxX^2 + maxY^2 + maxZ^2 ) max over all material numbers.
olb::Vector< T, 3 > getPhysRadius(int material)
Returns the phys radius as length in each direction.
Representation of a statistic for a parallel 2D geometry.
Wrapper functions that simplify the use of MPI.
Top level namespace for all of OpenLB.
Representation of a parallel 2D geometry – header file.