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::ComponentwiseVarianceSampler Class Reference

This class manages the computation of the (co)variance when one or both variables are Vector components. More...

#include <statistics_utilities.h>

Inheritance diagram for Kratos::ComponentwiseVarianceSampler:
Collaboration diagram for Kratos::ComponentwiseVarianceSampler:

Public Member Functions

 ComponentwiseVarianceSampler (const StatisticsSampler::Pointer pQuantity1, std::size_t ComponentIndex1, const StatisticsSampler::Pointer pQuantity2, std::size_t ComponentIndex2)
 Initialize a sampler for the (co)variance between two given quantities. More...
 
void SampleDataPoint (std::vector< double >::iterator &BufferIterator, const StatisticsSampler::IntegrationPointDataView &rCurrentStatistics, const std::vector< double > &rNewMeasurement, const std::size_t NumberOfMeasurements) override
 For higher-order statistics: operate on lower order data. 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::VarianceSampler
 VarianceSampler (const StatisticsSampler::Pointer pQuantity1, const StatisticsSampler::Pointer pQuantity2)
 Initialize a sampler for the (co)variance between two given quantities. More...
 
double Finalize (double Value, std::size_t SampleSize) const override
 Post-process internal data to produce the final value of the statistical result. 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 (const Geometry< Node > &rGeometry, const Vector &rShapeFunctions, const Matrix &rShapeDerivatives, std::vector< double >::iterator &BufferIterator)
 For first-order statistics: read data directly. 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...
 
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::VarianceSampler
 VarianceSampler (const StatisticsSampler::Pointer pQuantity1, const StatisticsSampler::Pointer pQuantity2, std::size_t DataSize)
 
const StatisticsSampler::Pointer GetQuantity1 () const
 
const StatisticsSampler::Pointer GetQuantity2 () const
 
- Protected Member Functions inherited from Kratos::StatisticsSampler
void AddTag (std::string Tag)
 

Detailed Description

This class manages the computation of the (co)variance when one or both variables are Vector components.

Note that it is only prepared to accept scalar or vector component arguments, for full vectors, use the general VarianceSampler.

Constructor & Destructor Documentation

◆ ComponentwiseVarianceSampler()

Kratos::ComponentwiseVarianceSampler::ComponentwiseVarianceSampler ( const StatisticsSampler::Pointer  pQuantity1,
std::size_t  ComponentIndex1,
const StatisticsSampler::Pointer  pQuantity2,
std::size_t  ComponentIndex2 
)
inline

Initialize a sampler for the (co)variance between two given quantities.

Note that online recording of a variance requires also recording the averages of each quantity. When using this class with a scalar quantity, pass 0 as its ComponentIndex.

Parameters
pQuantity1Sampler for the average of the first quantity of the variance.
ComponentIndex1Index of the component of pQuantity1 to be used in the (co)variance.
pQuantity2Sampler for the average of the second quantity of the variance.
ComponentIndex2Index of the component of pQuantity2 to be used in the (co)variance.

Member Function Documentation

◆ OutputHeader()

void Kratos::ComponentwiseVarianceSampler::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::VarianceSampler.

◆ SampleDataPoint()

void Kratos::ComponentwiseVarianceSampler::SampleDataPoint ( std::vector< double >::iterator &  BufferIterator,
const StatisticsSampler::IntegrationPointDataView rCurrentStatistics,
const std::vector< double > &  rNewMeasurement,
const std::size_t  NumberOfMeasurements 
)
inlineoverridevirtual

For higher-order statistics: operate on lower order data.

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

Parameters
BufferIteratorIterator pointing to the start of the storage of the statistics managed by this class.
[in]rCurrentStatisticsContainer of last known values for recorded quantities at this sampling point.
[in]rNewMeasurementContainer of new measurements for recorded quantities at this sampling point.
[in]NumberOfMeasurementsTotal number of realizations measured at the sampling point (including the current one).

Reimplemented from Kratos::VarianceSampler.


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