The ReconstructionKernel class allows to evaluate the weight of a reconstruction polynomial previously assembled. More...

Public Member Functions | |
ReconstructionKernel () | |
ReconstructionKernel (const ReconstructionKernel &other) | |
ReconstructionKernel (ReconstructionKernel &&other)=default | |
ReconstructionKernel (uint8_t degree, uint8_t dimensions, int nEquations) | |
void | assemblePolynomial (const std::array< double, 3 > &origin, const double *values, ReconstructionPolynomial *polynomial) const |
void | assemblePolynomial (const std::array< double, 3 > &origin, int nFields, const double **values, ReconstructionPolynomial *polynomial) const |
void | assemblePolynomial (uint8_t degree, const std::array< double, 3 > &origin, const double *values, ReconstructionPolynomial *polynomial) const |
void | assemblePolynomial (uint8_t degree, const std::array< double, 3 > &origin, int nFields, const double **values, ReconstructionPolynomial *polynomial) const |
void | computeDerivativeLimitedWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, double *derivativeWeights) const |
void | computeDerivativeLimitedWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, double *derivativeWeights) const |
void | computeDerivativeLimitedWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, const double *limiters, double *derivativeWeights) const |
void | computeDerivativeWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *derivativeWeights) const |
void | computeDerivativeWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *derivativeWeights) const |
void | computeDerivativeWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const std::array< double, 3 > &direction, double *derivativeWeights) const |
void | computeGradientLimitedWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, std::array< double, 3 > *gradientWeights) const |
void | computeGradientLimitedWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, std::array< double, 3 > *gradientWeights) const |
void | computeGradientLimitedWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, std::array< double, 3 > *gradientWeights) const |
void | computeGradientWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, std::array< double, 3 > *gradientWeights) const |
void | computeGradientWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, std::array< double, 3 > *gradientWeights) const |
void | computeGradientWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, std::array< double, 3 > *gradientWeights) const |
void | computeValueLimitedWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, double *valueWeights) const |
void | computeValueLimitedWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, double *valueWeights) const |
void | computeValueLimitedWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, const double *limiters, double *valueWeights) const |
void | computeValueWeights (const std::array< double, 3 > &origin, const std::array< double, 3 > &point, double *valueWeights) const |
void | computeValueWeights (int nEquations, uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, double *valueWeights) const |
void | computeValueWeights (uint8_t degree, const std::array< double, 3 > &origin, const std::array< double, 3 > &point, double *valueWeights) const |
void | display (std::ostream &out, double tolerance=1.e-10) const |
uint16_t | getCoefficientCount () const |
uint8_t | getDegree () const |
uint8_t | getDimensions () const |
int | getEquationCount () const |
double * | getPolynomialWeights () |
const double * | getPolynomialWeights () const |
void | initialize (uint8_t degree, uint8_t dimensions, int nEquations, bool release=true) |
ReconstructionKernel & | operator= (const ReconstructionKernel &other) |
ReconstructionKernel & | operator= (ReconstructionKernel &&other)=default |
void | swap (ReconstructionKernel &other) noexcept |
void | updatePolynomial (const double *values, ReconstructionPolynomial *polynomial) const |
void | updatePolynomial (int nFields, const double **values, ReconstructionPolynomial *polynomial) const |
void | updatePolynomial (uint8_t degree, const double *values, ReconstructionPolynomial *polynomial) const |
void | updatePolynomial (uint8_t degree, int nFields, const double **values, ReconstructionPolynomial *polynomial) const |
Protected Member Functions | |
void | applyLimiter (uint8_t degree, const double *limiters, double *coeffs) const |
Detailed Description
The ReconstructionKernel class allows to evaluate the weight of a reconstruction polynomial previously assembled.
Definition at line 169 of file reconstruction.hpp.
Constructor & Destructor Documentation
◆ ReconstructionKernel() [1/3]
bitpit::ReconstructionKernel::ReconstructionKernel | ( | ) |
Constructor.
Definition at line 2016 of file reconstruction.cpp.
◆ ReconstructionKernel() [2/3]
bitpit::ReconstructionKernel::ReconstructionKernel | ( | uint8_t | degree, |
uint8_t | dimensions, | ||
int | nEquations ) |
Constructor.
- Parameters
-
degree is the degree of the polynomial dimensions is the number of space dimensions nEquations is the number of equations that defines the reconstruction
Definition at line 2029 of file reconstruction.cpp.
◆ ReconstructionKernel() [3/3]
bitpit::ReconstructionKernel::ReconstructionKernel | ( | const ReconstructionKernel & | other | ) |
Copy constructor
- Parameters
-
other is another reconstruction whose content is copied in this reconstruction
Definition at line 2041 of file reconstruction.cpp.
Member Function Documentation
◆ applyLimiter()
|
protected |
Apply the limiter to the given coefficients.
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 limiter [in,out] coeffs are the coefficients to be limited
Definition at line 3067 of file reconstruction.cpp.
◆ assemblePolynomial() [1/4]
void bitpit::ReconstructionKernel::assemblePolynomial | ( | const std::array< double, 3 > & | origin, |
const double * | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Assembles the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will be properly initialized.
The values need to be passed in the same order as the equations.
- Parameters
-
origin is the point chosen as origin of the reconstruction values are the values associated with the equations [out] polynomial on output will contain the polynomial
Definition at line 2193 of file reconstruction.cpp.
◆ assemblePolynomial() [2/4]
void bitpit::ReconstructionKernel::assemblePolynomial | ( | const std::array< double, 3 > & | origin, |
int | nFields, | ||
const double ** | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Assembles the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will be properly initialized and possible unneeded memory hold by the polynomial will be released.
The values need to be passed in the same order as the equations.
- Parameters
-
origin is the point chosen as origin of the reconstruction nFields is the number of fields associated with the polynomial values are the values associated with the equations, values are grouped by equation, this means that the first element will contain all the values associated with the first equation, the second element will contain the values associated with the second equation, and so on and so forth [out] polynomial on output will contain the polynomial
Definition at line 2225 of file reconstruction.cpp.
◆ assemblePolynomial() [3/4]
void bitpit::ReconstructionKernel::assemblePolynomial | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const double * | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Assembles the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will be properly initialized.
The degree of the polynomial cannot be higher than the degree of the kernel.
The values need to be passed in the same order as the equations.
- Parameters
-
degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction values are the values associated with the equations [out] polynomial on output will contain the polynomial
Definition at line 2255 of file reconstruction.cpp.
◆ assemblePolynomial() [4/4]
void bitpit::ReconstructionKernel::assemblePolynomial | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
int | nFields, | ||
const double ** | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Assembles the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will be properly initialized.
The degree of the polynomial cannot be higher than the degree of the kernel.
The values need to be passed in the same order as the equations.
- Parameters
-
degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction values are the values associated with the equations, values are grouped by equation, this means that the first element will contain all the values associated with the first equation, the second element will contain the values associated with the second equation, and so on and so forth [out] polynomial on output will contain the polynomial
Definition at line 2288 of file reconstruction.cpp.
◆ computeDerivativeLimitedWeights() [1/3]
void bitpit::ReconstructionKernel::computeDerivativeLimitedWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
const double * | limiters, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the limited directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative limiters are the scale factors of the limiters [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2745 of file reconstruction.cpp.
◆ computeDerivativeLimitedWeights() [2/3]
void bitpit::ReconstructionKernel::computeDerivativeLimitedWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
const double * | limiters, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the limited directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative limiters are the scale factors of the limiters [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2816 of file reconstruction.cpp.
◆ computeDerivativeLimitedWeights() [3/3]
void bitpit::ReconstructionKernel::computeDerivativeLimitedWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
const double * | limiters, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the limited directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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 origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative limiters are the scale factors of the limiters [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2780 of file reconstruction.cpp.
◆ computeDerivativeWeights() [1/3]
void bitpit::ReconstructionKernel::computeDerivativeWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
- Parameters
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2660 of file reconstruction.cpp.
◆ computeDerivativeWeights() [2/3]
void bitpit::ReconstructionKernel::computeDerivativeWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2715 of file reconstruction.cpp.
◆ computeDerivativeWeights() [3/3]
void bitpit::ReconstructionKernel::computeDerivativeWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const std::array< double, 3 > & | direction, | ||
double * | derivativeWeights ) const |
Computes the weights for evaluating the directional derivative at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated direction is the direction of the derivative [out] derivativeWeights on output will contain the weights of the derivative
Definition at line 2687 of file reconstruction.cpp.
◆ computeGradientLimitedWeights() [1/3]
void bitpit::ReconstructionKernel::computeGradientLimitedWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the limited gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 2942 of file reconstruction.cpp.
◆ computeGradientLimitedWeights() [2/3]
void bitpit::ReconstructionKernel::computeGradientLimitedWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the limited gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 3005 of file reconstruction.cpp.
◆ computeGradientLimitedWeights() [3/3]
void bitpit::ReconstructionKernel::computeGradientLimitedWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the limited gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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 origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 2973 of file reconstruction.cpp.
◆ computeGradientWeights() [1/3]
void bitpit::ReconstructionKernel::computeGradientWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
- Parameters
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 2864 of file reconstruction.cpp.
◆ computeGradientWeights() [2/3]
void bitpit::ReconstructionKernel::computeGradientWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 2915 of file reconstruction.cpp.
◆ computeGradientWeights() [3/3]
void bitpit::ReconstructionKernel::computeGradientWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
std::array< double, 3 > * | gradientWeights ) const |
Computes the weights for evaluating the gradient at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the derivative at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] gradientWeights on output will contain the weights of the gradient
Definition at line 2889 of file reconstruction.cpp.
◆ computeValueLimitedWeights() [1/3]
void bitpit::ReconstructionKernel::computeValueLimitedWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the limited value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated limiters are the scale factors of the limiter [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2546 of file reconstruction.cpp.
◆ computeValueLimitedWeights() [2/3]
void bitpit::ReconstructionKernel::computeValueLimitedWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the limited value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated limiters are the scale factors of the limiter [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2607 of file reconstruction.cpp.
◆ computeValueLimitedWeights() [3/3]
void bitpit::ReconstructionKernel::computeValueLimitedWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
const double * | limiters, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the limited value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
If a valid pointer to the limiter scale factor is passed, a limited reconstruction will be used. 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 origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated limiters are the scale factors of the limiter [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2574 of file reconstruction.cpp.
◆ computeValueWeights() [1/3]
void bitpit::ReconstructionKernel::computeValueWeights | ( | const std::array< double, 3 > & | origin, |
const std::array< double, 3 > & | point, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
- Parameters
-
origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2469 of file reconstruction.cpp.
◆ computeValueWeights() [2/3]
void bitpit::ReconstructionKernel::computeValueWeights | ( | int | nEquations, |
uint8_t | degree, | ||
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
nEquations is the number of equations that will be considered degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2519 of file reconstruction.cpp.
◆ computeValueWeights() [3/3]
void bitpit::ReconstructionKernel::computeValueWeights | ( | uint8_t | degree, |
const std::array< double, 3 > & | origin, | ||
const std::array< double, 3 > & | point, | ||
double * | valueWeights ) const |
Computes the weights for evaluating the value at a given point.
In other words, when multiplying the values associated with the support with their corresponding weights, the value at point is retrieved.
Weights are computed according the order in which the equations have been added in the assembly step.
The degree of the reconstruction has to be less than or equal to the degree used in the assembly step.
- Parameters
-
degree is the degree of the polynomial origin is the point chosen as origin of the reconstruction point is the point were the reconstruction will be evaluated [out] valueWeights on output will contain the weights of the reconstruction
Definition at line 2493 of file reconstruction.cpp.
◆ display()
void bitpit::ReconstructionKernel::display | ( | std::ostream & | out, |
double | tolerance = 1.e-10 ) const |
Displays reconstruction polynomial information to an output stream.
- Parameters
-
out is the output stream tolerance is the tolerance below which the weight will not be displayed
Definition at line 3095 of file reconstruction.cpp.
◆ getCoefficientCount()
uint16_t bitpit::ReconstructionKernel::getCoefficientCount | ( | ) | const |
Get the number of coefficients of the reconstruction polynomial.
- Returns
- The number of coefficients of the reconstruction polynomial.
Definition at line 2142 of file reconstruction.cpp.
◆ getDegree()
uint8_t bitpit::ReconstructionKernel::getDegree | ( | ) | const |
Get the degree of the polynomial.
- Returns
- The degree of the polynomial.
Definition at line 2122 of file reconstruction.cpp.
◆ getDimensions()
uint8_t bitpit::ReconstructionKernel::getDimensions | ( | ) | const |
Get the number of space dimensions.
- Returns
- The number of space dimensions.
Definition at line 2132 of file reconstruction.cpp.
◆ getEquationCount()
int bitpit::ReconstructionKernel::getEquationCount | ( | ) | const |
Get the number of equations associated with the reconstruction.
- Returns
- The number of equations associated with the reconstruction.
Definition at line 2152 of file reconstruction.cpp.
◆ getPolynomialWeights() [1/2]
double * bitpit::ReconstructionKernel::getPolynomialWeights | ( | ) |
Returns a pointer to the internal weight that are used to evaluate the polynomial coefficients.
- Returns
- A pointer to the internal weight that are used to evaluate the polynomial coefficients.
Definition at line 2176 of file reconstruction.cpp.
◆ getPolynomialWeights() [2/2]
const double * bitpit::ReconstructionKernel::getPolynomialWeights | ( | ) | const |
Returns a constant pointer to the internal weight that are used to evaluate the polynomial coefficients.
- Returns
- A constant pointer to the internal weight that are used to evaluate the polynomial coefficients.
Definition at line 2164 of file reconstruction.cpp.
◆ initialize()
void bitpit::ReconstructionKernel::initialize | ( | uint8_t | degree, |
uint8_t | dimensions, | ||
int | nEquations, | ||
bool | release = true ) |
Initialize the kernel.
- Parameters
-
degree is the degree of the polynomial dimensions is the number of space dimensions nEquations is the number of equations that defines the reconstruction release if true, possible unneeded memory hold by the kernel will be released, otherwise the kernel will be initialized but possible unneeded memory will not be released
Definition at line 2090 of file reconstruction.cpp.
◆ operator=()
ReconstructionKernel & bitpit::ReconstructionKernel::operator= | ( | const ReconstructionKernel & | other | ) |
Copy-assignment operator.
- Parameters
-
other is another reconstruction whose content is copied in this reconstruction
Definition at line 2056 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 2071 of file reconstruction.cpp.
◆ updatePolynomial() [1/4]
void bitpit::ReconstructionKernel::updatePolynomial | ( | const double * | values, |
ReconstructionPolynomial * | polynomial ) const |
Updates the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will not be initialized.
The values need to be passed in the same order as the equations.
- Parameters
-
values are the values associated with the equations [out] polynomial on output will contain the polynomial
Definition at line 2312 of file reconstruction.cpp.
◆ updatePolynomial() [2/4]
void bitpit::ReconstructionKernel::updatePolynomial | ( | int | nFields, |
const double ** | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Updates the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will not be initialized.
The values need to be passed in the same order as the equations.
- Parameters
-
values are the values associated with the equations, values are grouped by equation, this means that the first element will contain all the values associated with the first equation, the second element will contain the values associated with the second equation, and so on and so forth [out] polynomial on output will contain the polynomial
Definition at line 2333 of file reconstruction.cpp.
◆ updatePolynomial() [3/4]
void bitpit::ReconstructionKernel::updatePolynomial | ( | uint8_t | degree, |
const double * | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Updates the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will not be initialized.
The degree of the polynomial cannot be higher than the degree of the kernel.
The values need to be passed in the same order as the equations.
- Parameters
-
degree is the degree of the polynomial values are the values associated with the equations [out] polynomial on output will contain the polynomial
Definition at line 2354 of file reconstruction.cpp.
◆ updatePolynomial() [4/4]
void bitpit::ReconstructionKernel::updatePolynomial | ( | uint8_t | degree, |
int | nFields, | ||
const double ** | values, | ||
ReconstructionPolynomial * | polynomial ) const |
Updates the polynomial for the specified values.
Before computing polynomial coefficients, the polynomial will not be initialized.
The degree of the polynomial cannot be higher than the degree of the kernel.
The values need to be passed in the same order as the equations.
- Parameters
-
degree is the degree of the polynomial nFields is the number of fields associated with the polynomial values are the values associated with the equations, values are grouped by equation, this means that the first element will contain all the values associated with the first equation, the second element will contain the values associated with the second equation, and so on and so forth [out] polynomial on output will contain the polynomial
Definition at line 2409 of file reconstruction.cpp.
The documentation for this class was generated from the following files:
- src/discretization/reconstruction.hpp
- src/discretization/reconstruction.cpp
