template<typename ArrayType = Eigen::ArrayXd>
struct CoolProp::superancillary::ChebyshevApproximation1D< ArrayType >
A set of multiple Chebyshev expansions covering an interval [xmin, xmax]. This is a 1D approximation. Practically speaking the independent variable is temperature, but the code was left generic to highlight the generiticity of the approach
At construction, the independent variable is subdivided into portions that are each monotonic in the dependent variable, to facilitate later rootfinding in domains that are therefore known to be monotonic, and therefore invertible
Definition at line 430 of file superancillary.h.
|
| ChebyshevApproximation1D (std::vector< ChebyshevExpansion< ArrayType > > &&expansions) |
|
| ChebyshevApproximation1D (const ChebyshevApproximation1D &other) |
|
ChebyshevApproximation1D & | operator= (ChebyshevApproximation1D &&other)=default |
|
ChebyshevApproximation1D & | operator= (ChebyshevApproximation1D other) |
|
const auto & | get_expansions () const |
| Get a const view on the expansions owned by the approximation instance. More...
|
|
const auto & | get_x_at_extrema () const |
| Get a const view on values of x at the extrema. More...
|
|
const auto & | get_monotonic_intervals () const |
| Get a const view on the monotonic intervals identified. More...
|
|
const auto | xmin () const |
| Get the minimum x value. More...
|
|
const auto | xmax () const |
| Get the maximum x value. More...
|
|
bool | is_monotonic () const |
|
auto | get_index (double x) const |
|
double | eval (double x) const |
|
template<typename Container > |
const auto | eval_many (const Container &x, Container &y) const |
| A vectorized and templated getter (for calling from python) More...
|
|
template<typename Container > |
const auto | eval_manyC (const Container x[], Container y[], std::size_t N) const |
| A vectorized and templated getter without any allocation or checking. More...
|
|
const std::vector< IntervalMatch > | get_intervals_containing_y (double y) const |
| Find the intervals containing the value of y. More...
|
|
const auto | get_x_for_y (double y, unsigned int bits, std::size_t max_iter, double boundsftol) const |
|
template<typename Container > |
const auto | count_x_for_y_many (const Container &y, unsigned int bits, std::size_t max_iter, double boundsftol, Container &x) const |
| A vectorized and templated getter (for calling from python) More...
|
|
template<typename Container > |
const auto | count_x_for_y_manyC (const Container y[], size_t N, unsigned int bits, std::size_t max_iter, double boundsftol, Container x[]) const |
| A vectorized and templated getter (for calling from python) More...
|
|