Renamed Derivatives to HelmholtzDerivatives; they all check fine

Signed-off-by: Ian Bell <ian.h.bell@gmail.com>
This commit is contained in:
Ian Bell
2014-08-16 14:26:25 +02:00
parent 5cad463158
commit 9a1a0122e3
3 changed files with 33 additions and 84 deletions

View File

@@ -99,14 +99,14 @@ public:
// #############################################################################
// #############################################################################
struct Derivatives
struct HelmholtzDerivatives
{
long double alphar, dalphar_ddelta, dalphar_dtau, d2alphar_ddelta2, d2alphar_dtau2, d2alphar_ddelta_dtau,
d3alphar_ddelta3, d3alphar_ddelta_dtau2, d3alphar_ddelta2_dtau, d3alphar_dtau3;
void reset(){alphar = 0; dalphar_ddelta = 0; dalphar_dtau = 0; d2alphar_ddelta2 = 0; d2alphar_dtau2 = 0; d2alphar_ddelta_dtau = 0;
d3alphar_ddelta3 = 0; d3alphar_ddelta_dtau2 = 0; d3alphar_ddelta2_dtau = 0; d3alphar_dtau3 = 0;
}
Derivatives(){reset();};
HelmholtzDerivatives(){reset();};
};
struct ResidualHelmholtzGeneralizedExponentialElement
@@ -269,7 +269,7 @@ public:
long double dDelta_dTau2(const long double &tau, const long double &delta) throw(){return 0;};
long double dTau3(const long double &tau, const long double &delta) throw(){return 0;};
void all(const long double &tau, const long double &delta, Derivatives &derivs) throw();
void all(const long double &tau, const long double &delta, HelmholtzDerivatives &derivs) throw();
};
struct ResidualHelmholtzNonAnalyticElement
@@ -327,7 +327,7 @@ public:
long double dDelta_dTau2(const long double &tau, const long double &delta) throw();
long double dTau3(const long double &tau, const long double &delta) throw();
void all(const long double &tau, const long double &delta, Derivatives &derivs) throw();
void all(const long double &tau, const long double &delta, HelmholtzDerivatives &derivs) throw();
};
class ResidualHelmholtzSAFTAssociating : public BaseHelmholtzTerm{
@@ -383,18 +383,18 @@ public:
void to_json(rapidjson::Value &el, rapidjson::Document &doc);
long double base(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.alphar;};
long double dDelta(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.dalphar_ddelta;};
long double dTau(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.dalphar_dtau;};
long double dDelta2(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_ddelta2;};
long double dDelta_dTau(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_ddelta_dtau;};
long double dTau2(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_dtau2;};
long double dDelta3(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta3;};
long double dDelta2_dTau(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta2_dtau;};
long double dDelta_dTau2(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta_dtau2;};
long double dTau3(const long double &tau, const long double &delta) throw(){Derivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_dtau3;};
long double base(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.alphar;};
long double dDelta(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.dalphar_ddelta;};
long double dTau(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.dalphar_dtau;};
long double dDelta2(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_ddelta2;};
long double dDelta_dTau(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_ddelta_dtau;};
long double dTau2(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d2alphar_dtau2;};
long double dDelta3(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta3;};
long double dDelta2_dTau(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta2_dtau;};
long double dDelta_dTau2(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_ddelta_dtau2;};
long double dTau3(const long double &tau, const long double &delta) throw(){HelmholtzDerivatives deriv; all(tau,delta,deriv); return deriv.d3alphar_dtau3;};
void all(const long double &tau, const long double &delta, Derivatives &deriv) throw();
void all(const long double &tau, const long double &delta, HelmholtzDerivatives &deriv) throw();
};
class ResidualHelmholtzContainer
@@ -405,75 +405,24 @@ public:
ResidualHelmholtzSAFTAssociating SAFT;
ResidualHelmholtzGeneralizedExponential GenExp;
Derivatives all(const long double tau, const long double delta)
HelmholtzDerivatives all(const long double tau, const long double delta)
{
Derivatives derivs; // zeros out the elements
HelmholtzDerivatives derivs; // zeros out the elements
GenExp.all(tau, delta, derivs);
NonAnalytic.all(tau, delta, derivs);
SAFT.all(tau, delta, derivs);
return derivs;
};
long double base(long double tau, long double delta)
{
Derivatives derivs; // zeros out the elements
GenExp.all(tau, delta, derivs);
return (derivs.alphar + NonAnalytic.base(tau, delta) + SAFT.base(tau,delta));
};
long double dDelta(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.dalphar_ddelta + NonAnalytic.dDelta(tau, delta) + SAFT.dDelta(tau,delta));
};
long double dTau(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.dalphar_dtau + NonAnalytic.dTau(tau, delta) + SAFT.dTau(tau,delta));
};
long double dDelta2(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d2alphar_ddelta2 + NonAnalytic.dDelta2(tau, delta) + SAFT.dDelta2(tau,delta));
};
long double dDelta_dTau(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d2alphar_ddelta_dtau + NonAnalytic.dDelta_dTau(tau, delta) + SAFT.dDelta_dTau(tau,delta));
};
long double dTau2(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d2alphar_dtau2 + NonAnalytic.dTau2(tau, delta) + SAFT.dTau2(tau,delta));
};
long double dDelta3(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d3alphar_ddelta3 + NonAnalytic.dDelta3(tau, delta) + SAFT.dDelta3(tau,delta));
};
long double dDelta2_dTau(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d3alphar_ddelta2_dtau + NonAnalytic.dDelta2_dTau(tau, delta) + SAFT.dDelta2_dTau(tau,delta));
};
long double dDelta_dTau2(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d3alphar_ddelta_dtau2 + NonAnalytic.dDelta_dTau2(tau, delta) + SAFT.dDelta_dTau2(tau,delta));
};
long double dTau3(long double tau, long double delta)
{
Derivatives derivs;
GenExp.all(tau, delta, derivs);
return (derivs.d3alphar_dtau3 + NonAnalytic.dTau3(tau, delta) + SAFT.dTau3(tau,delta));
};
long double base(long double tau, long double delta) { return all(tau,delta).alphar; };
long double dDelta(long double tau, long double delta) { return all(tau,delta).dalphar_ddelta; };
long double dTau(long double tau, long double delta) { return all(tau, delta).dalphar_dtau; };
long double dDelta2(long double tau, long double delta) { return all(tau, delta).d2alphar_ddelta2; };
long double dDelta_dTau(long double tau, long double delta) { return all(tau, delta).d2alphar_ddelta_dtau; };
long double dTau2(long double tau, long double delta) { return all(tau, delta).d2alphar_dtau2; };
long double dDelta3(long double tau, long double delta) { return all(tau, delta).d3alphar_ddelta3; };
long double dDelta2_dTau(long double tau, long double delta) { return all(tau, delta).d3alphar_ddelta2_dtau; };
long double dDelta_dTau2(long double tau, long double delta) { return all(tau, delta).d3alphar_ddelta_dtau2; };
long double dTau3(long double tau, long double delta) { return all(tau, delta).d3alphar_dtau3; };
};
// #############################################################################

View File

@@ -18,7 +18,7 @@ long double kahanSum(std::vector<long double> &x)
}
bool wayToSort(long double i, long double j) { return std::abs(i) > std::abs(j); }
void ResidualHelmholtzGeneralizedExponential::all(const long double &tau, const long double &delta, Derivatives &derivs) throw()
void ResidualHelmholtzGeneralizedExponential::all(const long double &tau, const long double &delta, HelmholtzDerivatives &derivs) throw()
{
long double log_tau = log(tau), log_delta = log(delta), ndteu,
u, du_ddelta, du_dtau, d2u_ddelta2, d2u_dtau2, d3u_ddelta3, d3u_dtau3,
@@ -176,7 +176,7 @@ void ResidualHelmholtzNonAnalytic::to_json(rapidjson::Value &el, rapidjson::Docu
el.AddMember("D",_D,doc.GetAllocator());
}
void ResidualHelmholtzNonAnalytic::all(const long double &tau, const long double &delta, Derivatives &derivs) throw()
void ResidualHelmholtzNonAnalytic::all(const long double &tau, const long double &delta, HelmholtzDerivatives &derivs) throw()
{
if (N==0){return;}
for (unsigned int i=0; i<N; ++i)
@@ -785,7 +785,7 @@ long double ResidualHelmholtzSAFTAssociating::eta(const long double &delta){
return this->vbarn*delta;
}
void ResidualHelmholtzSAFTAssociating::all(const long double &tau, const long double &delta, Derivatives &deriv) throw()
void ResidualHelmholtzSAFTAssociating::all(const long double &tau, const long double &delta, HelmholtzDerivatives &deriv) throw()
{
if (disabled){return;}
long double X = this->X(delta, this->Deltabar(tau, delta));

View File

@@ -413,11 +413,11 @@ int main()
int rr = 0;
}
#endif
#if 0
#if 1
{
#if ENABLE_CATCH
std::vector<std::string> tags;
tags.push_back("[ancillaries]");
tags.push_back("[helmholtz]");
run_user_defined_tests(tags);
double rr = 0;
char c;
@@ -503,7 +503,7 @@ int main()
shared_ptr<HelmholtzEOSMixtureBackend> Water(new HelmholtzEOSMixtureBackend(names));
Water->set_mole_fractions(std::vector<long double>(1,1));
Derivatives derivs;
HelmholtzDerivatives derivs;
time_t t1,t2;
long N = 100000;
double ss = 0;