13 std::vector<double>
T,
p;
22 this->p.push_back(
p0);
28 this->T.push_back(
Secant(
this,
T0, 0.001 *
T0, 1e-10, 100));
37 double call(
double t)
override {
43 if (this->rho_guess < 0)
56 double rlnT = 0.1, rlnp = 0.1;
57 T = exp(
lnT + rlnT * cos(t));
58 p = exp(
lnp + rlnp * sin(t));
61 void trace(std::vector<double>&
T, std::vector<double>&
p) {
63 for (
int i = 0; i < 1000; ++i) {
65 this->lnT = log(this->T[this->T.size() - 1]);
66 this->lnp = log(this->p[this->p.size() - 1]);
70 this->
TPcoords(t, this->lnT, this->lnp, T2, P2);
71 this->T.push_back(T2);
72 this->p.push_back(P2);
73 if (this->T[this->T.size() - 1] < this->AS->keyed_output(
iT_triple)
74 || this->p[this->p.size() - 1] > 1000 * this->AS->keyed_output(
iP_critical)) {
77 }
catch (std::exception&) {