Loading...
Searching...
No Matches
Public Member Functions | Static Protected Member Functions | Static Protected Attributes | Friends | List of all members
bitpit::ReconstructionPolynomial Class Reference

The ReconstructionPolynomial class allows to apply a reconstruction polynomial previously assembled. More...

Public Member Functions

 ReconstructionPolynomial ()
 
 ReconstructionPolynomial (const ReconstructionPolynomial &other)
 
 ReconstructionPolynomial (ReconstructionPolynomial &&other)=default
 
 ReconstructionPolynomial (uint8_t degree, uint8_t dimensions, const std::array< double, 3 > &origin, int nFields=1)
 
void clear (bool release=true)
 
void computeDerivative (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int field, double *derivative) const
 
void computeDerivative (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int field, double *derivative) const
 
void computeDerivativeLimited (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int field, double *derivative) const
 
void computeDerivativeLimited (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int field, double *derivative) const
 
void computeDerivatives (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *derivatives) const
 
void computeDerivatives (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int nFields, double *derivatives) const
 
void computeDerivatives (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int nFields, int offset, double *derivatives) const
 
void computeDerivatives (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *derivatives) const
 
void computeDerivatives (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int nFields, double *derivatives) const
 
void computeDerivatives (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, int nFields, int offset, double *derivatives) const
 
void computeDerivativesLimited (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, double *derivatives) const
 
void computeDerivativesLimited (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int nFields, double *derivatives) const
 
void computeDerivativesLimited (const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int nFields, int offset, double *derivatives) const
 
void computeDerivativesLimited (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, double *derivatives) const
 
void computeDerivativesLimited (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int nFields, double *derivatives) const
 
void computeDerivativesLimited (int degree, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, int nFields, int offset, double *derivatives) const
 
void computeGradient (const std::array< double, 3 > &point, int field, std::array< double, 3 > *gradient) const
 
void computeGradient (int degree, const std::array< double, 3 > &point, int field, std::array< double, 3 > *gradient) const
 
void computeGradientLimited (const std::array< double, 3 > &point, const double *limiters, int field, std::array< double, 3 > *gradient) const
 
void computeGradientLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int field, std::array< double, 3 > *gradient) const
 
void computeGradients (const std::array< double, 3 > &point, int nFields, int offset, std::array< double, 3 > *gradients) const
 
void computeGradients (const std::array< double, 3 > &point, int nFields, std::array< double, 3 > *gradients) const
 
void computeGradients (const std::array< double, 3 > &point, std::array< double, 3 > *gradients) const
 
void computeGradients (int degree, const std::array< double, 3 > &point, int nFields, int offset, std::array< double, 3 > *gradients) const
 
void computeGradients (int degree, const std::array< double, 3 > &point, int nFields, std::array< double, 3 > *gradients) const
 
void computeGradients (int degree, const std::array< double, 3 > &point, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (const std::array< double, 3 > &point, const double *limiters, int nFields, int offset, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (const std::array< double, 3 > &point, const double *limiters, int nFields, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (const std::array< double, 3 > &point, const double *limiters, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int nFields, int offset, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int nFields, std::array< double, 3 > *gradients) const
 
void computeGradientsLimited (int degree, const std::array< double, 3 > &point, const double *limiters, std::array< double, 3 > *gradients) const
 
void computeValue (const std::array< double, 3 > &point, int field, double *values) const
 
void computeValue (int degree, const std::array< double, 3 > &point, int field, double *values) const
 
void computeValueLimited (const std::array< double, 3 > &point, const double *limiters, int field, double *value) const
 
void computeValueLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int field, double *values) const
 
void computeValues (const std::array< double, 3 > &point, double *values) const
 
void computeValues (const std::array< double, 3 > &point, int nFields, double *values) const
 
void computeValues (const std::array< double, 3 > &point, int nFields, int offset, double *values) const
 
void computeValues (int degree, const std::array< double, 3 > &point, double *values) const
 
void computeValues (int degree, const std::array< double, 3 > &point, int nFields, double *values) const
 
void computeValues (int degree, const std::array< double, 3 > &point, int nFields, int offset, double *values) const
 
void computeValuesLimited (const std::array< double, 3 > &point, const double *limiters, double *values) const
 
void computeValuesLimited (const std::array< double, 3 > &point, const double *limiters, int nFields, double *values) const
 
void computeValuesLimited (const std::array< double, 3 > &point, const double *limiters, int nFields, int offset, double *values) const
 
void computeValuesLimited (int degree, const std::array< double, 3 > &point, const double *limiters, double *values) const
 
void computeValuesLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int nFields, double *values) const
 
void computeValuesLimited (int degree, const std::array< double, 3 > &point, const double *limiters, int nFields, int offset, double *values) const
 
void display (std::ostream &out) const
 
uint16_t getCoefficientCount () const
 
double * getCoefficients ()
 
const double * getCoefficients () const
 
double * getCoefficients (int field)
 
const double * getCoefficients (int field) const
 
uint8_t getDegree () const
 
double * getDegreeCoefficients (uint8_t degree, int field=0)
 
const double * getDegreeCoefficients (uint8_t degree, int field=0) const
 
uint8_t getDimensions () const
 
int getFieldCount () const
 
const std::array< double, 3 > & getOrigin () const
 
void initialize (uint8_t degree, uint8_t dimensions, const std::array< double, 3 > &origin, int nFields=1, bool release=true)
 
ReconstructionPolynomialoperator= (const ReconstructionPolynomial &other)
 
ReconstructionPolynomialoperator= (ReconstructionPolynomial &&other)=default
 
void swap (ReconstructionPolynomial &other) noexcept
 

Static Protected Member Functions

static uint16_t countCoefficients (uint8_t degree, uint8_t dimensions)
 
static uint16_t countDegreeCoefficients (uint8_t degree, uint8_t dimensions)
 
static void evalCellBasisValues (uint8_t degree, uint8_t dimensions, const std::array< double, 3 > &origin, const Cell &cell, const std::array< double, 3 > *vertexCoords, double *csi)
 
static void evalPointBasisDerivatives (uint8_t degree, uint8_t dimensions, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *dcsi)
 
static void evalPointBasisValues (uint8_t degree, uint8_t dimensions, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, double *csi)
 
static uint16_t getCoefficientCount (uint8_t degree, uint8_t dimensions)
 
static const std::vector< uint16_t > & getCoefficientsCount (uint8_t dimensions)
 
static uint16_t getDegreeCoefficientCount (uint8_t degree, uint8_t dimensions)
 
static const std::vector< uint16_t > & getDegreeCoefficientsCount (uint8_t dimensions)
 

Static Protected Attributes

static const uint8_t MAX_DEGREE = 2
 
static const uint8_t MAX_DIMENSIONS = 3
 

Friends

class ReconstructionAssembler
 
class ReconstructionKernel
 

Detailed Description

The ReconstructionPolynomial class allows to apply a reconstruction polynomial previously assembled.

Definition at line 37 of file reconstruction.hpp.

Constructor & Destructor Documentation

◆ ReconstructionPolynomial() [1/3]

bitpit::ReconstructionPolynomial::ReconstructionPolynomial ( )

Constructor.

Definition at line 408 of file reconstruction.cpp.

◆ ReconstructionPolynomial() [2/3]

bitpit::ReconstructionPolynomial::ReconstructionPolynomial ( uint8_t degree,
uint8_t dimensions,
const std::array< double, 3 > & origin,
int nFields = 1 )

Constructor.

Parameters
degreeis the degree of the polynomial
dimensionsis the number of space dimensions
nFieldsis the number of fields associated with the polynomial

Definition at line 421 of file reconstruction.cpp.

◆ ReconstructionPolynomial() [3/3]

bitpit::ReconstructionPolynomial::ReconstructionPolynomial ( const ReconstructionPolynomial & other)

Copy constructor

Parameters
otheris another reconstruction whose content is copied in this reconstruction

Definition at line 434 of file reconstruction.cpp.

Member Function Documentation

◆ clear()

void bitpit::ReconstructionPolynomial::clear ( bool release = true)

Clear the reconstruction.

Parameters
releaseif true, the memory hold by the polynomial will be released, otherwise the polynomial will be cleared but its memory will not be released

Definition at line 526 of file reconstruction.cpp.

◆ computeDerivative() [1/2]

void bitpit::ReconstructionPolynomial::computeDerivative ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int field,
double * derivative ) const

Computes the derivative of the polynomial at the specified point.

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivative
fieldis the field for which derivative will be evaluated
[out]derivativeon output will contain the derivatives

Definition at line 1079 of file reconstruction.cpp.

◆ computeDerivative() [2/2]

void bitpit::ReconstructionPolynomial::computeDerivative ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int field,
double * derivative ) const

Computes the derivative of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivative
fieldis the field for which derivative will be evaluated
[out]derivativeon output will contain the derivatives

Definition at line 1140 of file reconstruction.cpp.

◆ computeDerivativeLimited() [1/2]

void bitpit::ReconstructionPolynomial::computeDerivativeLimited ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int field,
double * derivative ) const

Computes the limited derivative of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivative
limitersare the scale factors of the limiters
fieldis the field for which derivative will be evaluated
[out]derivativeon output will contain the derivatives

Definition at line 1268 of file reconstruction.cpp.

◆ computeDerivativeLimited() [2/2]

void bitpit::ReconstructionPolynomial::computeDerivativeLimited ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int field,
double * derivative ) const

Computes the limited derivative of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivative
limitersare the scale factors of the limiters
fieldis the field for which derivative will be evaluated
[out]derivativeon output will contain the derivatives

Definition at line 1357 of file reconstruction.cpp.

◆ computeDerivatives() [1/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
[out]derivativeson output will contain the derivatives

Definition at line 1093 of file reconstruction.cpp.

◆ computeDerivatives() [2/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int nFields,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
nFieldsis the number of field for which derivatives will be evaluated
[out]derivativeson output will contain the derivatives

Definition at line 1108 of file reconstruction.cpp.

◆ computeDerivatives() [3/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int nFields,
int offset,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
nFieldsis the number of field for which derivatives will be evaluated
offsetis the offset that will be used when reading field data
[out]derivativeson output will contain the derivatives

Definition at line 1124 of file reconstruction.cpp.

◆ computeDerivatives() [4/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
[out]derivativeson output will contain the derivatives

Definition at line 1155 of file reconstruction.cpp.

◆ computeDerivatives() [5/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int nFields,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
nFieldsis the number of field for which derivatives will be evaluated
[out]derivativeson output will contain the derivatives

Definition at line 1171 of file reconstruction.cpp.

◆ computeDerivatives() [6/6]

void bitpit::ReconstructionPolynomial::computeDerivatives ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
int nFields,
int offset,
double * derivatives ) const

Computes the derivatives of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
nFieldsis the number of field for which derivatives will be evaluated
offsetis the offset that will be used when reading field data
[out]derivativeson output will contain the derivatives

Definition at line 1188 of file reconstruction.cpp.

◆ computeDerivativesLimited() [1/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
[out]derivativeson output will contain the derivatives

Definition at line 1289 of file reconstruction.cpp.

◆ computeDerivativesLimited() [2/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int nFields,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
nFieldsis the number of field for which derivatives will be evaluated
[out]derivativeson output will contain the derivatives

Definition at line 1311 of file reconstruction.cpp.

◆ computeDerivativesLimited() [3/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int nFields,
int offset,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
nFieldsis the number of field for which derivatives will be evaluated
offsetis the offset that will be used when reading field data
[out]derivativeson output will contain the derivatives

Definition at line 1334 of file reconstruction.cpp.

◆ computeDerivativesLimited() [4/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
[out]derivativeson output will contain the derivatives

Definition at line 1379 of file reconstruction.cpp.

◆ computeDerivativesLimited() [5/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int nFields,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
nFieldsis the number of field for which derivatives will be evaluated
[out]derivativeson output will contain the derivatives

Definition at line 1402 of file reconstruction.cpp.

◆ computeDerivativesLimited() [6/6]

void bitpit::ReconstructionPolynomial::computeDerivativesLimited ( int degree,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
const double * limiters,
int nFields,
int offset,
double * derivatives ) const

Computes the limited derivatives of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the derivatives will be evaluated
directionis the direction of the derivatives
limitersare the scale factors of the limiters
nFieldsis the number of field for which derivatives will be evaluated
offsetis the offset that will be used when reading field data
[out]derivativeson output will contain the derivatives

Definition at line 1426 of file reconstruction.cpp.

◆ computeGradient() [1/2]

void bitpit::ReconstructionPolynomial::computeGradient ( const std::array< double, 3 > & point,
int field,
std::array< double, 3 > * gradient ) const

Computes the gradient of the polynomial at the specified point.

Parameters
pointis the point were the gradient will be evaluated
fieldis the field for which gradient will be evaluated
[out]gradienton output will contain the gradient

Definition at line 1520 of file reconstruction.cpp.

◆ computeGradient() [2/2]

void bitpit::ReconstructionPolynomial::computeGradient ( int degree,
const std::array< double, 3 > & point,
int field,
std::array< double, 3 > * gradient ) const

Computes the gradient of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the gradient will be evaluated
fieldis the field for which gradient will be evaluated
[out]gradienton output will contain the gradient

Definition at line 1574 of file reconstruction.cpp.

◆ computeGradientLimited() [1/2]

void bitpit::ReconstructionPolynomial::computeGradientLimited ( const std::array< double, 3 > & point,
const double * limiters,
int field,
std::array< double, 3 > * gradient ) const

Computes the limited gradient of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the gradient will be evaluated
limitersare the scale factors of the limiters
fieldis the field for which gradient will be evaluated
[out]gradienton output will contain the gradient

Definition at line 1716 of file reconstruction.cpp.

◆ computeGradientLimited() [2/2]

void bitpit::ReconstructionPolynomial::computeGradientLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int field,
std::array< double, 3 > * gradient ) const

Computes the limited gradient of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
limitersare the scale factors of the limiters
pointis the point were the gradient will be evaluated
fieldis the field for which gradient will be evaluated
[out]gradienton output will contain the gradient

Definition at line 1797 of file reconstruction.cpp.

◆ computeGradients() [1/6]

void bitpit::ReconstructionPolynomial::computeGradients ( const std::array< double, 3 > & point,
int nFields,
int offset,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
pointis the point were the gradients will be evaluated
nFieldsis the number of field for which gradients will be evaluated
offsetis the offset that will be used when reading field data
[out]gradientson output will contain the gradients

Definition at line 1559 of file reconstruction.cpp.

◆ computeGradients() [2/6]

void bitpit::ReconstructionPolynomial::computeGradients ( const std::array< double, 3 > & point,
int nFields,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
pointis the point were the gradients will be evaluated
nFieldsis the number of field for which gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1545 of file reconstruction.cpp.

◆ computeGradients() [3/6]

void bitpit::ReconstructionPolynomial::computeGradients ( const std::array< double, 3 > & point,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
pointis the point were the gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1532 of file reconstruction.cpp.

◆ computeGradients() [4/6]

void bitpit::ReconstructionPolynomial::computeGradients ( int degree,
const std::array< double, 3 > & point,
int nFields,
int offset,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
nFieldsis the number of field for which gradients will be evaluated
offsetis the offset that will be used when reading field data
[out]gradientson output will contain the gradients

Definition at line 1616 of file reconstruction.cpp.

◆ computeGradients() [5/6]

void bitpit::ReconstructionPolynomial::computeGradients ( int degree,
const std::array< double, 3 > & point,
int nFields,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
nFieldsis the number of field for which gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1601 of file reconstruction.cpp.

◆ computeGradients() [6/6]

void bitpit::ReconstructionPolynomial::computeGradients ( int degree,
const std::array< double, 3 > & point,
std::array< double, 3 > * gradients ) const

Computes the gradients of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1587 of file reconstruction.cpp.

◆ computeGradientsLimited() [1/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( const std::array< double, 3 > & point,
const double * limiters,
int nFields,
int offset,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of field for which gradients will be evaluated
offsetis the offset that will be used when reading field data
[out]gradientson output will contain the gradients

Definition at line 1776 of file reconstruction.cpp.

◆ computeGradientsLimited() [2/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( const std::array< double, 3 > & point,
const double * limiters,
int nFields,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of field for which gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1755 of file reconstruction.cpp.

◆ computeGradientsLimited() [3/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( const std::array< double, 3 > & point,
const double * limiters,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
[out]gradientson output will contain the gradients

Definition at line 1735 of file reconstruction.cpp.

◆ computeGradientsLimited() [4/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int nFields,
int offset,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of field for which gradients will be evaluated
offsetis the offset that will be used when reading field data
[out]gradientson output will contain the gradients

Definition at line 1860 of file reconstruction.cpp.

◆ computeGradientsLimited() [5/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int nFields,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of field for which gradients will be evaluated
[out]gradientson output will contain the gradients

Definition at line 1838 of file reconstruction.cpp.

◆ computeGradientsLimited() [6/6]

void bitpit::ReconstructionPolynomial::computeGradientsLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
std::array< double, 3 > * gradients ) const

Computes the limited gradients of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the gradients will be evaluated
limitersare the scale factors of the limiters
[out]gradientson output will contain the gradients

Definition at line 1817 of file reconstruction.cpp.

◆ computeValue() [1/2]

void bitpit::ReconstructionPolynomial::computeValue ( const std::array< double, 3 > & point,
int field,
double * value ) const

Computes the value of the polynomial at the specified point.

Parameters
pointis the point were the polynomial will be evaluated
fieldis the field that will be evaluated
[out]valueon output will contain the values of the polynomial

Definition at line 697 of file reconstruction.cpp.

◆ computeValue() [2/2]

void bitpit::ReconstructionPolynomial::computeValue ( int degree,
const std::array< double, 3 > & point,
int field,
double * values ) const

Computes the value of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
fieldis the field that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 750 of file reconstruction.cpp.

◆ computeValueLimited() [1/2]

void bitpit::ReconstructionPolynomial::computeValueLimited ( const std::array< double, 3 > & point,
const double * limiters,
int field,
double * values ) const

Computes the limited value of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
fieldis the field that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 856 of file reconstruction.cpp.

◆ computeValueLimited() [2/2]

void bitpit::ReconstructionPolynomial::computeValueLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int field,
double * values ) const

Computes the limited value of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
fieldis the field that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 937 of file reconstruction.cpp.

◆ computeValues() [1/6]

void bitpit::ReconstructionPolynomial::computeValues ( const std::array< double, 3 > & point,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
pointis the point were the polynomial will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 709 of file reconstruction.cpp.

◆ computeValues() [2/6]

void bitpit::ReconstructionPolynomial::computeValues ( const std::array< double, 3 > & point,
int nFields,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
pointis the point were the polynomial will be evaluated
nFieldsis the number of fields that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 722 of file reconstruction.cpp.

◆ computeValues() [3/6]

void bitpit::ReconstructionPolynomial::computeValues ( const std::array< double, 3 > & point,
int nFields,
int offset,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
pointis the point were the polynomial will be evaluated
nFieldsis the number of fields that will be evaluated
offsetis the offset that will be used when reading field data
[out]valueson output will contain the values of the polynomial

Definition at line 736 of file reconstruction.cpp.

◆ computeValues() [4/6]

void bitpit::ReconstructionPolynomial::computeValues ( int degree,
const std::array< double, 3 > & point,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 763 of file reconstruction.cpp.

◆ computeValues() [5/6]

void bitpit::ReconstructionPolynomial::computeValues ( int degree,
const std::array< double, 3 > & point,
int nFields,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
nFieldsis the number of fields that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 777 of file reconstruction.cpp.

◆ computeValues() [6/6]

void bitpit::ReconstructionPolynomial::computeValues ( int degree,
const std::array< double, 3 > & point,
int nFields,
int offset,
double * values ) const

Computes the values of the polynomial at the specified point.

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
nFieldsis the number of fields that will be evaluated
offsetis the offset that will be used when reading field data
[out]valueson output will contain the values of the polynomial

Definition at line 792 of file reconstruction.cpp.

◆ computeValuesLimited() [1/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( const std::array< double, 3 > & point,
const double * limiters,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
[out]valueson output will contain the values of the polynomial

Definition at line 875 of file reconstruction.cpp.

◆ computeValuesLimited() [2/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( const std::array< double, 3 > & point,
const double * limiters,
int nFields,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of fields that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 895 of file reconstruction.cpp.

◆ computeValuesLimited() [3/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( const std::array< double, 3 > & point,
const double * limiters,
int nFields,
int offset,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of fields that will be evaluated
offsetis the offset that will be used when reading field data
[out]valueson output will contain the values of the polynomial

Definition at line 916 of file reconstruction.cpp.

◆ computeValuesLimited() [4/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
[out]valueson output will contain the values of the polynomial

Definition at line 957 of file reconstruction.cpp.

◆ computeValuesLimited() [5/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int nFields,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of fields that will be evaluated
[out]valueson output will contain the values of the polynomial

Definition at line 978 of file reconstruction.cpp.

◆ computeValuesLimited() [6/6]

void bitpit::ReconstructionPolynomial::computeValuesLimited ( int degree,
const std::array< double, 3 > & point,
const double * limiters,
int nFields,
int offset,
double * values ) const

Computes the limited values of the polynomial at the specified point.

It is necessary to provide one scale factor for each polynomial degree greater than zero (a reconstruction using 2nd degree polynomials will need two scale factors, one for the 1st degree coefficients and one for the 2nd degree coefficients).

Parameters
degreeis the degree of the polynomial
pointis the point were the polynomial will be evaluated
limitersare the scale factors of the limiters
nFieldsis the number of fields that will be evaluated
offsetis the offset that will be used when reading field data
[out]valueson output will contain the values of the polynomial

Definition at line 1000 of file reconstruction.cpp.

◆ countCoefficients()

uint16_t bitpit::ReconstructionPolynomial::countCoefficients ( uint8_t degree,
uint8_t dimensions )
staticprotected

Count the number of coefficients of the reconstruction polynomial up to the specified degree.

Parameters
degreeis the degree
dimensionsis the number of space dimensions
Returns
The number of coefficients of the reconstruction polynomial up to the specified degree.

Definition at line 148 of file reconstruction.cpp.

◆ countDegreeCoefficients()

uint16_t bitpit::ReconstructionPolynomial::countDegreeCoefficients ( uint8_t degree,
uint8_t dimensions )
staticprotected

Count the number of coefficients associates with the specified degree of the reconstruction polynomial.

Parameters
degreeis the degree
dimensionsis the number of space dimensions
Returns
The number of coefficients associates with the specified degree of the reconstruction polynomial.

Definition at line 199 of file reconstruction.cpp.

◆ display()

void bitpit::ReconstructionPolynomial::display ( std::ostream & out) const

Displays polynomial information to an output stream.

Parameters
outis the output stream

Definition at line 1972 of file reconstruction.cpp.

◆ evalCellBasisValues()

void bitpit::ReconstructionPolynomial::evalCellBasisValues ( uint8_t degree,
uint8_t dimensions,
const std::array< double, 3 > & origin,
const Cell & cell,
const std::array< double, 3 > * vertexCoords,
double * csi )
staticprotected

Evaluates the values of the basis for cell reconstruction.

Basis functions are evaluated as the volume average of the Taylor series expansion coefficients:

         /
 (1 / V) | (csi_0 * U_0 + csi_1 * U_1 + csi_2 * U_2 + ... ) dV
         /

where:

  • csi_0 = 1;
  • csi_1 = x;
  • csi_2 = y;
  • csi_3 = z;
  • csi_4 = 0.5 * (x - x_0)^2;
  • csi_5 = 0.5 * (y - y_0)^2;
  • csi_6 = 0.5 * (z - z_0)^2;
  • ...;

Polynomials of degree 0 and 1 are supported on all type of cells, for pixels and voxels also degree 2 is supported.

Parameters
degreeis the degree of the polynomial
dimensionsis the number of space dimensions
cellis the cell
originis the point chosen as origin of the reconstruction
vertexCoordsare the vertices' coordinates
[out]csion output will contain the coefficients of the cell average reconstruction

Definition at line 338 of file reconstruction.cpp.

◆ evalPointBasisDerivatives()

void bitpit::ReconstructionPolynomial::evalPointBasisDerivatives ( uint8_t degree,
uint8_t dimensions,
const std::array< double, 3 > & origin,
const std::array< double, 3 > & point,
const std::array< double, 3 > & direction,
double * dcsi )
staticprotected

Evaluates the derivatives of the basis for point reconstruction.

Parameters
degreeis the degree of the polynomial
dimensionsis the number of space dimensions
originis the point chosen as origin of the reconstruction
pointis the point were the basis will be evaluated
directionis the direction of the derivative
pointis the point were the basis will be evaluated
[out]dcsion output will contain values of the basis for point derivative reconstruction.

Definition at line 267 of file reconstruction.cpp.

◆ evalPointBasisValues()

void bitpit::ReconstructionPolynomial::evalPointBasisValues ( uint8_t degree,
uint8_t dimensions,
const std::array< double, 3 > & origin,
const std::array< double, 3 > & point,
double * csi )
staticprotected

Evaluates the values of the basis for point reconstruction.

Parameters
degreeis the degree of the polynomial
dimensionsis the number of space dimensions
originis the point chosen as origin of the reconstruction
pointis the point were the basis will be evaluated
[out]csion output will contain values of the basis for point reconstruction.

Definition at line 218 of file reconstruction.cpp.

◆ getCoefficientCount() [1/2]

uint16_t bitpit::ReconstructionPolynomial::getCoefficientCount ( ) const

Get the number of coefficients of the reconstruction polynomial.

Returns
The number of coefficients of the reconstruction polynomial.

Definition at line 571 of file reconstruction.cpp.

◆ getCoefficientCount() [2/2]

uint16_t bitpit::ReconstructionPolynomial::getCoefficientCount ( uint8_t degree,
uint8_t dimensions )
staticprotected

Get the number of coefficients of the reconstruction polynomial up to the specified degree.

Parameters
degreeis the degree
dimensionsis the number of space dimensions
Returns
The number of coefficients of the reconstruction polynomial up to the specified degree.

Definition at line 116 of file reconstruction.cpp.

◆ getCoefficients() [1/4]

double * bitpit::ReconstructionPolynomial::getCoefficients ( )

Returns a pointer to the coefficients of the polynomial.

Returns
A pointer to the coefficients of the polynomial.

Definition at line 601 of file reconstruction.cpp.

◆ getCoefficients() [2/4]

const double * bitpit::ReconstructionPolynomial::getCoefficients ( ) const

Returns a constant pointer to the coefficients of the polynomial.

Returns
A constant pointer to the coefficients of the polynomial.

Definition at line 591 of file reconstruction.cpp.

◆ getCoefficients() [3/4]

double * bitpit::ReconstructionPolynomial::getCoefficients ( int field)

Returns a pointer to the coefficients of the polynomial.

Parameters
fieldis the field associated with the coefficients
Returns
A pointer to the coefficients of the polynomial.

Definition at line 625 of file reconstruction.cpp.

◆ getCoefficients() [4/4]

const double * bitpit::ReconstructionPolynomial::getCoefficients ( int field) const

Returns a constant pointer to the coefficients of the polynomial.

Parameters
fieldis the field associated with the coefficients
Returns
A constant pointer to the coefficients of the polynomial.

Definition at line 612 of file reconstruction.cpp.

◆ getCoefficientsCount()

const std::vector< uint16_t > & bitpit::ReconstructionPolynomial::getCoefficientsCount ( uint8_t dimensions)
staticprotected

Get the number of coefficients of the reconstruction polynomial up to the different degrees.

Parameters
dimensionsis the number of space dimensions
Returns
The number of coefficients of the reconstruction polynomial up to the different degrees.

Definition at line 132 of file reconstruction.cpp.

◆ getDegree()

uint8_t bitpit::ReconstructionPolynomial::getDegree ( ) const

Get the degree of the polynomial.

Returns
The degree of the polynomial.

Definition at line 541 of file reconstruction.cpp.

◆ getDegreeCoefficientCount()

uint16_t bitpit::ReconstructionPolynomial::getDegreeCoefficientCount ( uint8_t degree,
uint8_t dimensions )
staticprotected

Get the number of coefficients associates with the specified degree of the reconstruction polynomial.

Parameters
degreeis the degree
dimensionsis the number of space dimensions
Returns
The number of coefficients associates with the specified degree of the reconstruction polynomial.

Definition at line 167 of file reconstruction.cpp.

◆ getDegreeCoefficients() [1/2]

double * bitpit::ReconstructionPolynomial::getDegreeCoefficients ( uint8_t degree,
int field = 0 )

Returns a pointer to the coefficients of the polynomial for the specified field.

Parameters
degreeis the requested degree
fieldis the field associated with the coefficients
Returns
A pointer to the coefficients of the polynomial for the specified field.

Definition at line 657 of file reconstruction.cpp.

◆ getDegreeCoefficients() [2/2]

const double * bitpit::ReconstructionPolynomial::getDegreeCoefficients ( uint8_t degree,
int field = 0 ) const

Returns a constant pointer to the coefficients of the polynomial for the specified field.

Parameters
degreeis the requested degree
fieldis the field associated with the coefficients
Returns
A constant pointer to the coefficients of the polynomial for the specified field.

Definition at line 641 of file reconstruction.cpp.

◆ getDegreeCoefficientsCount()

const std::vector< uint16_t > & bitpit::ReconstructionPolynomial::getDegreeCoefficientsCount ( uint8_t dimensions)
staticprotected

Get the number of coefficients associates with each degree of the reconstruction polynomial.

Parameters
dimensionsis the number of space dimensions
Returns
The number of coefficients associates with the each degree of the reconstruction polynomial.

Definition at line 183 of file reconstruction.cpp.

◆ getDimensions()

uint8_t bitpit::ReconstructionPolynomial::getDimensions ( ) const

Get the number of space dimensions.

Returns
The number of space dimensions.

Definition at line 551 of file reconstruction.cpp.

◆ getFieldCount()

int bitpit::ReconstructionPolynomial::getFieldCount ( ) const

Get the number of fields associated with the polynomial.

Returns
The number of fields associated with the polynomial.

Definition at line 581 of file reconstruction.cpp.

◆ getOrigin()

const std::array< double, 3 > & bitpit::ReconstructionPolynomial::getOrigin ( ) const

Get the origin of the reconstruction.

Returns
The origin of the reconstruction.

Definition at line 561 of file reconstruction.cpp.

◆ initialize()

void bitpit::ReconstructionPolynomial::initialize ( uint8_t degree,
uint8_t dimensions,
const std::array< double, 3 > & origin,
int nFields = 1,
bool release = true )

Initialize the polynomial.

Parameters
degreeis the degree of the polynomial
dimensionsis the number of space dimensions
originis the point chosen as origin of the reconstruction
nFieldsis the number of fields associated with the polynomial
releaseif true, possible unneeded memory hold by the polynomial will be released, otherwise the polynomial will be initialized but possible unneeded memory will not be released

Definition at line 485 of file reconstruction.cpp.

◆ operator=()

ReconstructionPolynomial & bitpit::ReconstructionPolynomial::operator= ( const ReconstructionPolynomial & other)

Copy-assignment operator.

Parameters
otheris another reconstruction whose content is copied in this reconstruction

Definition at line 449 of file reconstruction.cpp.

◆ swap()

void bitpit::ReconstructionPolynomial::swap ( ReconstructionPolynomial & other)
noexcept

Exchanges the content of the reconstruction by the content the specified other reconstruction.

Parameters
otheris another reconstruction whose content is swapped with that of this reconstruction

Definition at line 464 of file reconstruction.cpp.

Friends And Related Symbol Documentation

◆ ReconstructionAssembler

friend class ReconstructionAssembler
friend

Definition at line 40 of file reconstruction.hpp.

◆ ReconstructionKernel

friend class ReconstructionKernel
friend

Definition at line 39 of file reconstruction.hpp.

Member Data Documentation

◆ MAX_DEGREE

const uint8_t bitpit::ReconstructionPolynomial::MAX_DEGREE = 2
staticprotected

Maximum allowed degree.

Definition at line 128 of file reconstruction.hpp.

◆ MAX_DIMENSIONS

const uint8_t bitpit::ReconstructionPolynomial::MAX_DIMENSIONS = 3
staticprotected

Maximum allowed dimensions.

Definition at line 129 of file reconstruction.hpp.


The documentation for this class was generated from the following files:
--- layout: doxygen_footer ---