40 #include "estar_formulaCalcs.h"
41 #include "estar_dataParser.h"
80 float *meanIval,
formula_calc fc, std::string outputFilename);
132 std::string *elementArray,
double *massFraction,
133 float *numOfAtoms,
double *densityCorr,
double *enGrid,
134 float *meanIval,
float *ipotval,
int mediaNum,
135 std::string outputFilename);
174 bspol fbspol(
double s,
const std::vector<double> &x,
const std::vector<double> &a,
175 const std::vector<double> &b,
const std::vector<double> &c,
176 const std::vector<double> &d);
190 std::vector<double>
a;
191 std::vector<double>
b;
192 std::vector<double>
c;
193 std::vector<double>
d;
195 explicit scof(
int n) :
a(n),
b(n),
c(n),
d(n) {}
213 scof fscof(
int nmax,
const vector<double> &x,
const vector<double> &f);
236 const vector<double> &eps,
int nmax,
double x);
262 double bisec(
double lowerbound,
double upperbound,
double tolerance,
263 double tau,
const std::vector<double> &f,
264 const std::vector<double> &eps,
int nmax);
bspol fbspol(double s, const std::vector< double > &x, const std::vector< double > &a, const std::vector< double > &b, const std::vector< double > &c, const std::vector< double > &d)
Evaluate the cubic spline interpolant at a given point.
double objective_function(double tau, const vector< double > &f, const vector< double > &eps, int nmax, double x)
Objective function for the bisection solver.
scof fscof(int nmax, const vector< double > &x, const vector< double > &f)
Compute natural cubic spline coefficients.
int estarCalculation(int isCompound, int NEP, float mediaDensity, std::string *elementArray, double *massFraction, float *numOfAtoms, double *densityCorr, double *enGrid, float *meanIval, float *ipotval, int mediaNum, std::string outputFilename)
Compute density correction factors for a medium.
double bisec(double lowerbound, double upperbound, double tolerance, double tau, const std::vector< double > &f, const std::vector< double > &eps, int nmax)
Find the root of objective_function() by bisection.
void outputDensityFile(float mediaDensity, double *densityCorr, double *enGrid, float *meanIval, formula_calc fc, std::string outputFilename)
Output a density correction file.
Result struct returned by fbspol().
Spline coefficient struct returned by fscof().