| 352 | | thefunc = points[i].efunc; |
| 353 | | G1 = (eparams+thefunc)->G1_T0 + |
| 354 | | (eparams+thefunc)->G1_C*(T-(eparams+thefunc)->T0); |
| 355 | | G2 = (eparams+thefunc)->G2_T0 + |
| 356 | | (eparams+thefunc)->G2_C*(T-(eparams+thefunc)->T0); |
| 357 | | G3 = (eparams+thefunc)->G3_T0 + |
| 358 | | (eparams+thefunc)->G3_C*(T-(eparams+thefunc)->T0); |
| 359 | | } |
| 360 | | else |
| 361 | | points[i].efunc = thefunc; |
| 362 | | |
| 363 | | C1 = 1.-points[i].C2-points[i].C3; |
| 364 | | points[i].G = _G (C1,points[i].C2,points[i].C3, G1,G2,G3, T, P, |
| 365 | | eparams+thefunc); |
| 366 | | |
| 367 | | if (derivs) |
| 368 | | { |
| 369 | | points[i].G2 =_G2 (C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| 370 | | eparams+thefunc); |
| 371 | | points[i].G3 =_G3 (C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| 372 | | eparams+thefunc); |
| 373 | | points[i].G22=_G22(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| 374 | | eparams+thefunc); |
| 375 | | points[i].G33=_G33(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| 376 | | eparams+thefunc); |
| 377 | | points[i].G23=_G23(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| 378 | | eparams+thefunc); |
| | 361 | if (efunc == -2) |
| | 362 | { |
| | 363 | thefunc = points[i].efunc; |
| | 364 | G1 = (eparams+thefunc)->G1_T0 + |
| | 365 | (eparams+thefunc)->G1_C*(T-(eparams+thefunc)->T0); |
| | 366 | G2 = (eparams+thefunc)->G2_T0 + |
| | 367 | (eparams+thefunc)->G2_C*(T-(eparams+thefunc)->T0); |
| | 368 | G3 = (eparams+thefunc)->G3_T0 + |
| | 369 | (eparams+thefunc)->G3_C*(T-(eparams+thefunc)->T0); |
| | 370 | } |
| | 371 | |
| | 372 | C1 = 1.-points[i].C2-points[i].C3; |
| | 373 | points[i].G = _G (C1,points[i].C2,points[i].C3, G1,G2,G3, T, P, |
| | 374 | eparams+thefunc); |
| | 375 | |
| | 376 | if (derivs) |
| | 377 | { |
| | 378 | points[i].G2 =_G2 (C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| | 379 | eparams+thefunc); |
| | 380 | points[i].G3 =_G3 (C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| | 381 | eparams+thefunc); |
| | 382 | points[i].G22=_G22(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| | 383 | eparams+thefunc); |
| | 384 | points[i].G33=_G33(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| | 385 | eparams+thefunc); |
| | 386 | points[i].G23=_G23(C1,points[i].C2,points[i].C3, G1,G2,G3, T,P, |
| | 387 | eparams+thefunc); |
| | 388 | } |
| | 389 | |
| | 390 | /*+ Mark the energy function, temperature and pressure at which these |
| | 391 | values are valid +*/ |
| | 392 | if (efunc >= 0 && derivs) |
| | 393 | { |
| | 394 | points[i].efunc = thefunc; |
| | 395 | points[i].T = T; |
| | 396 | //points[i].P = P; |
| | 397 | } |
| | 398 | /*else |
| | 399 | { |
| | 400 | points[i].efunc = -1; |
| | 401 | points[i].T = points[i].P = -1.; |
| | 402 | }*/ |