33#include "../option_structure.hpp"
41 std::vector<su2double>
x,
y;
49 if (xi <=
x.front() || xi >=
x.back())
return x.size();
51 size_t lb = 0, ub =
x.size() - 1;
54 size_t mid = (lb + ub) / 2;
55 auto& change = (xi <
x[mid]) ? ub : lb;
72 virtual void SetSpline(
const std::vector<su2double>& X,
const std::vector<su2double>& Data) {
73 assert(X.size() == Data.size());
91 std::vector<su2double>
b,
c,
d;
108 void SetSpline(
const std::vector<su2double>& X,
const std::vector<su2double>& Data)
override;
142 : startVal(startValue), endVal(endValue), startDer(startCondition), endDer(endCondition) {
149 void SetSpline(
const std::vector<su2double>& X,
const std::vector<su2double>& Data)
override;
184 unsigned short nDim,
const su2double* Coord,
unsigned short nVar_Turb,
196 unsigned long nVertex,
unsigned short nDim,
unsigned short nColumns);
void PrintInletInterpolatedData(const std::vector< su2double > &Inlet_Data_Interpolated, const std::string &Marker, unsigned long nVertex, unsigned short nDim, unsigned short nColumns)
Prints the Inlet Interpolated Data.
std::vector< su2double > CorrectedInletValues(const std::vector< su2double > &Inlet_Interpolated, su2double Theta, unsigned short nDim, const su2double *Coord, unsigned short nVar_Turb, INLET_INTERP_TYPE Interpolation_Type)
Corrects for interpolation type.
Base class for 1D interpolation.
Definition C1DInterpolation.hpp:39
virtual void SetSpline(const std::vector< su2double > &X, const std::vector< su2double > &Data)
Virtual method for setting the coefficients of the respective spline.
Definition C1DInterpolation.hpp:72
std::vector< su2double > y
Data points.
Definition C1DInterpolation.hpp:41
virtual ~C1DInterpolation()=default
Virtual destructor of the C1DInterpolation class.
std::vector< su2double > x
Definition C1DInterpolation.hpp:41
su2double operator()(su2double Point_Interp) const
Definition C1DInterpolation.hpp:82
size_t lower_bound(su2double xi) const
Find containing interval.
Definition C1DInterpolation.hpp:48
virtual su2double EvaluateSpline(su2double Point_Interp) const =0
Evaluate the value of the spline at a point.
Akima 1D interpolation.
Definition C1DInterpolation.hpp:89
std::vector< su2double > c
Definition C1DInterpolation.hpp:91
CAkimaInterpolation(const std::vector< su2double > &X, const std::vector< su2double > &Data)
Constructor of the CAkimaInterpolation class.
Definition C1DInterpolation.hpp:101
std::vector< su2double > b
Definition C1DInterpolation.hpp:91
CAkimaInterpolation()=default
su2double EvaluateSpline(su2double Point_Interp) const final
Evaluate the value of the spline at a point.
Definition C1DInterpolation.cpp:37
std::vector< su2double > d
local variables for Akima spline cooefficients
Definition C1DInterpolation.hpp:91
void SetSpline(const std::vector< su2double > &X, const std::vector< su2double > &Data) override
Build the spline.
Definition C1DInterpolation.cpp:118
Cubic spline interpolation.
Definition C1DInterpolation.hpp:120
CCubicSpline(const std::vector< su2double > &X, const std::vector< su2double > &Data, END_TYPE startCondition=SECOND, su2double startValue=0.0, END_TYPE endCondition=SECOND, su2double endValue=0.0)
Constructor of the CCubicSpline class (defaults to natural spline).
Definition C1DInterpolation.hpp:140
END_TYPE
Definition C1DInterpolation.hpp:122
@ FIRST
Definition C1DInterpolation.hpp:122
@ SECOND
Definition C1DInterpolation.hpp:122
void SetSpline(const std::vector< su2double > &X, const std::vector< su2double > &Data) override
Build the spline.
Definition C1DInterpolation.cpp:55
Linear interpolation.
Definition C1DInterpolation.hpp:156
su2double EvaluateSpline(su2double Point_Interp) const override
Evaluate the value of the spline at a point.
Definition C1DInterpolation.cpp:47
CLinearInterpolation(const std::vector< su2double > &X, const std::vector< su2double > &Data)
Constructor of the CLinearInterpolation class.
Definition C1DInterpolation.hpp:165
CLinearInterpolation()=default
passivedouble su2double
Definition code_config.hpp:181
INLET_INTERP_TYPE
type of radial spanwise interpolation data type for the inlet face
Definition option_structure.hpp:486