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) |
ReconstructionPolynomial & | operator= (const ReconstructionPolynomial &other) |
ReconstructionPolynomial & | operator= (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
-
degree is the degree of the polynomial dimensions is the number of space dimensions nFields is 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
-
other is 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
-
release if 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivative field is the field for which derivative will be evaluated [out] derivative on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivative field is the field for which derivative will be evaluated [out] derivative on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivative limiters are the scale factors of the limiters field is the field for which derivative will be evaluated [out] derivative on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivative limiters are the scale factors of the limiters field is the field for which derivative will be evaluated [out] derivative on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives [out] derivatives on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives nFields is the number of field for which derivatives will be evaluated [out] derivatives on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives nFields is the number of field for which derivatives will be evaluated offset is the offset that will be used when reading field data [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives nFields is the number of field for which derivatives will be evaluated [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives nFields is the number of field for which derivatives will be evaluated offset is the offset that will be used when reading field data [out] derivatives on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters [out] derivatives on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters nFields is the number of field for which derivatives will be evaluated [out] derivatives on 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
-
point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters nFields is the number of field for which derivatives will be evaluated offset is the offset that will be used when reading field data [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters nFields is the number of field for which derivatives will be evaluated [out] derivatives on 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
-
degree is the degree of the polynomial point is the point were the derivatives will be evaluated direction is the direction of the derivatives limiters are the scale factors of the limiters nFields is the number of field for which derivatives will be evaluated offset is the offset that will be used when reading field data [out] derivatives on 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
-
point is the point were the gradient will be evaluated field is the field for which gradient will be evaluated [out] gradient on 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
-
degree is the degree of the polynomial point is the point were the gradient will be evaluated field is the field for which gradient will be evaluated [out] gradient on 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
-
point is the point were the gradient will be evaluated limiters are the scale factors of the limiters field is the field for which gradient will be evaluated [out] gradient on 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
-
degree is the degree of the polynomial limiters are the scale factors of the limiters point is the point were the gradient will be evaluated field is the field for which gradient will be evaluated [out] gradient on 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
-
point is the point were the gradients will be evaluated nFields is the number of field for which gradients will be evaluated offset is the offset that will be used when reading field data [out] gradients on 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
-
point is the point were the gradients will be evaluated nFields is the number of field for which gradients will be evaluated [out] gradients on 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
-
point is the point were the gradients will be evaluated [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated nFields is the number of field for which gradients will be evaluated offset is the offset that will be used when reading field data [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated nFields is the number of field for which gradients will be evaluated [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated [out] gradients on 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
-
point is the point were the gradients will be evaluated limiters are the scale factors of the limiters nFields is the number of field for which gradients will be evaluated offset is the offset that will be used when reading field data [out] gradients on 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
-
point is the point were the gradients will be evaluated limiters are the scale factors of the limiters nFields is the number of field for which gradients will be evaluated [out] gradients on 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
-
point is the point were the gradients will be evaluated limiters are the scale factors of the limiters [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated limiters are the scale factors of the limiters nFields is the number of field for which gradients will be evaluated offset is the offset that will be used when reading field data [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated limiters are the scale factors of the limiters nFields is the number of field for which gradients will be evaluated [out] gradients on 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
-
degree is the degree of the polynomial point is the point were the gradients will be evaluated limiters are the scale factors of the limiters [out] gradients on 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
-
point is the point were the polynomial will be evaluated field is the field that will be evaluated [out] value on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated field is the field that will be evaluated [out] values on 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
-
point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters field is the field that will be evaluated [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters field is the field that will be evaluated [out] values on 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
-
point is the point were the polynomial will be evaluated [out] values on 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
-
point is the point were the polynomial will be evaluated nFields is the number of fields that will be evaluated [out] values on 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
-
point is the point were the polynomial will be evaluated nFields is the number of fields that will be evaluated offset is the offset that will be used when reading field data [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated nFields is the number of fields that will be evaluated [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated nFields is the number of fields that will be evaluated offset is the offset that will be used when reading field data [out] values on 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
-
point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters [out] values on 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
-
point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters nFields is the number of fields that will be evaluated [out] values on 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
-
point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters nFields is the number of fields that will be evaluated offset is the offset that will be used when reading field data [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters nFields is the number of fields that will be evaluated [out] values on 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
-
degree is the degree of the polynomial point is the point were the polynomial will be evaluated limiters are the scale factors of the limiters nFields is the number of fields that will be evaluated offset is the offset that will be used when reading field data [out] values on output will contain the values of the polynomial
Definition at line 1000 of file reconstruction.cpp.
◆ countCoefficients()
|
staticprotected |
Count the number of coefficients of the reconstruction polynomial up to the specified degree.
- Parameters
-
degree is the degree dimensions is 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()
|
staticprotected |
Count the number of coefficients associates with the specified degree of the reconstruction polynomial.
- Parameters
-
degree is the degree dimensions is 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
-
out is the output stream
Definition at line 1972 of file reconstruction.cpp.
◆ evalCellBasisValues()
|
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
-
degree is the degree of the polynomial dimensions is the number of space dimensions cell is the cell origin is the point chosen as origin of the reconstruction vertexCoords are the vertices' coordinates [out] csi on output will contain the coefficients of the cell average reconstruction
Definition at line 338 of file reconstruction.cpp.
◆ evalPointBasisDerivatives()
|
staticprotected |
Evaluates the derivatives of the basis for point reconstruction.
- Parameters
-
degree is the degree of the polynomial dimensions is the number of space dimensions origin is the point chosen as origin of the reconstruction point is the point were the basis will be evaluated direction is the direction of the derivative point is the point were the basis will be evaluated [out] dcsi on output will contain values of the basis for point derivative reconstruction.
Definition at line 267 of file reconstruction.cpp.
◆ evalPointBasisValues()
|
staticprotected |
Evaluates the values of the basis for point reconstruction.
- Parameters
-
degree is the degree of the polynomial dimensions is the number of space dimensions origin is the point chosen as origin of the reconstruction point is the point were the basis will be evaluated [out] csi on 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]
|
staticprotected |
Get the number of coefficients of the reconstruction polynomial up to the specified degree.
- Parameters
-
degree is the degree dimensions is 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
-
field is 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
-
field is 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()
|
staticprotected |
Get the number of coefficients of the reconstruction polynomial up to the different degrees.
- Parameters
-
dimensions is 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()
|
staticprotected |
Get the number of coefficients associates with the specified degree of the reconstruction polynomial.
- Parameters
-
degree is the degree dimensions is 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
-
degree is the requested degree field is 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
-
degree is the requested degree field is 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()
|
staticprotected |
Get the number of coefficients associates with each degree of the reconstruction polynomial.
- Parameters
-
dimensions is 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
-
degree is the degree of the polynomial dimensions is the number of space dimensions origin is the point chosen as origin of the reconstruction nFields is the number of fields associated with the polynomial release if 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
-
other is another reconstruction whose content is copied in this reconstruction
Definition at line 449 of file reconstruction.cpp.
◆ swap()
|
noexcept |
Exchanges the content of the reconstruction by the content the specified other reconstruction.
- Parameters
-
other is 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 |
Definition at line 40 of file reconstruction.hpp.
◆ ReconstructionKernel
|
friend |
Definition at line 39 of file reconstruction.hpp.
Member Data Documentation
◆ MAX_DEGREE
|
staticprotected |
Maximum allowed degree.
Definition at line 128 of file reconstruction.hpp.
◆ MAX_DIMENSIONS
|
staticprotected |
Maximum allowed dimensions.
Definition at line 129 of file reconstruction.hpp.
The documentation for this class was generated from the following files:
- src/discretization/reconstruction.hpp
- src/discretization/reconstruction.cpp
