KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
Public Member Functions | List of all members
Kratos::ScalarAverageSampler Class Reference

This class manages the computation of the average of a scalar quantity. More...

#include <statistics_utilities.h>

Inheritance diagram for Kratos::ScalarAverageSampler:
Collaboration diagram for Kratos::ScalarAverageSampler:

Public Member Functions

 ScalarAverageSampler (std::function< double(const Geometry< Node > &, const Vector &, const Matrix &)> Getter, const std::string &Tag)
 Initialize a sampler for a scalar average quantity. More...
 
 ~ScalarAverageSampler () override
 
void SampleDataPoint (const Geometry< Node > &rGeometry, const Vector &rShapeFunctions, const Matrix &rShapeDerivatives, std::vector< double >::iterator &BufferIterator) override
 For first-order statistics: read data directly. More...
 
void OutputHeader (std::ofstream &rOutStream, const std::string &rSeparator) const override
 Write header for the output file. More...
 
- Public Member Functions inherited from Kratos::StatisticsSampler
 KRATOS_CLASS_POINTER_DEFINITION (StatisticsSampler)
 
 StatisticsSampler (std::size_t NumValues)
 Define a new StatisticsSampler instance. More...
 
virtual ~StatisticsSampler ()
 Destructor. More...
 
virtual void SampleDataPoint (std::vector< double >::iterator &BufferIterator, const StatisticsSampler::IntegrationPointDataView &rCurrentStatistics, const std::vector< double > &rNewMeasurement, const std::size_t NumberOfMeasurements)
 For higher-order statistics: operate on lower order data. More...
 
std::size_t GetSize () const
 Number of quantities managed by this statistic. More...
 
virtual std::size_t GetComponentOffset (std::size_t i) const
 Offset (from the start of the space allocated to this statistic) for the storage of component i. More...
 
virtual std::size_t ComponentIndex (std::size_t i, std::size_t j) const
 Helper returning the correct argument in calls to GetComponentOffset for matrix quantities. More...
 
std::size_t GetOffset () const
 Offset (from the start of the statistics container) to the first component stored by this statistic. More...
 
void SetOffset (std::size_t Offset)
 Assign a new offset (from the start of the statistics container) to the first component stored by this statistic. More...
 
virtual void OutputResult (std::ofstream &rOutStream, IntegrationPointDataViewIterator &rDataBuffer, std::size_t SampleSize, const std::string &rSeparator) const
 Write results managed by this class to output buffer. More...
 
virtual double Finalize (double Value, std::size_t SampleSize) const
 Post-process internal data to produce the final value of the statistical result. More...
 
std::string GetTag (std::size_t ComponentIndex) const
 Get the string associated one of the components of this statistic. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::StatisticsSampler
typedef Matrix::iterator1 IntegrationPointDataView
 
typedef Matrix::const_iterator2 IntegrationPointDataViewIterator
 
- Protected Member Functions inherited from Kratos::StatisticsSampler
void AddTag (std::string Tag)
 

Detailed Description

This class manages the computation of the average of a scalar quantity.

Constructor & Destructor Documentation

◆ ScalarAverageSampler()

Kratos::ScalarAverageSampler::ScalarAverageSampler ( std::function< double(const Geometry< Node > &, const Vector &, const Matrix &)>  Getter,
const std::string &  Tag 
)
inline

Initialize a sampler for a scalar average quantity.

Parameters
GetterHelper function to evaluate the quantity of interest.
TagName to identify the quantity on result files.
See also
Internals::MakeSamplerAtLocalCoordinate for the definition of the Getter argument.

◆ ~ScalarAverageSampler()

Kratos::ScalarAverageSampler::~ScalarAverageSampler ( )
inlineoverride

Member Function Documentation

◆ OutputHeader()

void Kratos::ScalarAverageSampler::OutputHeader ( std::ofstream &  rOutStream,
const std::string &  rSeparator 
) const
inlineoverridevirtual

Write header for the output file.

This function is called when printing to a file.

Parameters
rOutStreamstream for the output file.
rSeparatorSeparator for the output csv file (for example a comma or semicolon).

Reimplemented from Kratos::StatisticsSampler.

◆ SampleDataPoint()

void Kratos::ScalarAverageSampler::SampleDataPoint ( const Geometry< Node > &  rGeometry,
const Vector rShapeFunctions,
const Matrix rShapeDerivatives,
std::vector< double >::iterator &  BufferIterator 
)
inlineoverridevirtual

For first-order statistics: read data directly.

To be implemented in derived classes. Note that the BufferIterator argument will be advanced during the call.

Parameters
[in]rGeometryThe geometry for the element that contains the point where statistics are sampled.
[in]rShapeFunctionsLocal values of elemental shape functions at the sampling point.
[in]rShapeDerivativesLocal values of elemental shape function gradients at the sampling point.
BufferIteratorIterator pointing to the start of the storage of the statistics managed by this class.

Reimplemented from Kratos::StatisticsSampler.


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