Changeset 475
- Timestamp:
- 10/05/2009 07:14:53 PM (3 years ago)
- Location:
- trunk/matml/src/ternary
- Files:
-
- 3 modified
-
freenergy.c (modified) (6 diffs)
-
freenergy.h (modified) (1 diff)
-
ternary.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/matml/src/ternary/freenergy.c
r471 r475 85 85 /* This adds the polynomials */ 86 86 for (i=0; i<eparams->n_poly; i++) 87 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1) * 87 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 88 pow (C1, (eparams->poly) [i].n1) * 88 89 pow (C2, (eparams->poly) [i].n2) * pow (C3, (eparams->poly) [i].n3); 89 90 … … 157 158 158 159 for (i=0; i<eparams->n_poly; i++) 159 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1-1) * 160 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 161 pow (C1, (eparams->poly) [i].n1-1) * 160 162 pow (C2, (eparams->poly) [i].n2-1) * pow (C3, (eparams->poly) [i].n3) * 161 163 ((eparams->poly) [i].n2 * C1 - (eparams->poly) [i].n1 * C2); … … 223 225 224 226 for (i=0; i<eparams->n_poly; i++) 225 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1-1) * 227 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 228 pow (C1, (eparams->poly) [i].n1-1) * 226 229 pow (C2, (eparams->poly) [i].n2) * pow (C3, (eparams->poly) [i].n3-1) * 227 230 ((eparams->poly) [i].n3 * C1 - (eparams->poly) [i].n1 * C3); … … 287 290 288 291 for (i=0; i<eparams->n_poly; i++) 289 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1-2) * 292 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 293 pow (C1, (eparams->poly) [i].n1-2) * 290 294 pow (C2, (eparams->poly) [i].n2-2) * pow (C3, (eparams->poly) [i].n3) * 291 295 ((eparams->poly) [i].n2 * ((eparams->poly) [i].n2 - 1) * C1 * C1 … … 355 359 356 360 for (i=0; i<eparams->n_poly; i++) 357 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1-2) * 361 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 362 pow (C1, (eparams->poly) [i].n1-2) * 358 363 pow (C2, (eparams->poly) [i].n2) * pow (C3, (eparams->poly) [i].n3-2) * 359 364 ((eparams->poly) [i].n3 * ((eparams->poly) [i].n3 - 1) * C1 * C1 … … 423 428 424 429 for (i=0; i<eparams->n_poly; i++) 425 ret += (eparams->poly) [i].coeff * pow (C1, (eparams->poly) [i].n1-2) * 430 ret += ((eparams->poly) [i].coeff + (eparams->poly) [i].coeff * T) * 431 pow (C1, (eparams->poly) [i].n1-2) * 426 432 pow (C2, (eparams->poly) [i].n2-1) * pow (C3, (eparams->poly) [i].n3-1) * 427 433 ((eparams->poly) [i].n2 * (eparams->poly) [i].n3 * C1 * C1 -
trunk/matml/src/ternary/freenergy.h
r471 r475 50 50 51 51 typedef struct { 52 double coeff; /*+ Coefficient +*/ 52 double coeff; /*+ Coefficient at 0 temperature +*/ 53 double dcdT; /*+ Temperature derivative of coefficient +*/ 53 54 double n1; /*+ C1 exponent +*/ 54 55 double n2; /*+ C2 exponent +*/ -
trunk/matml/src/ternary/ternary.c
r471 r475 36 36 visual_point *tpoints=NULL; 37 37 phase_boundary solid_spinodal, *allbounds=NULL; 38 energy_polynomial squarer = { -2., 1., 3., 2. };38 energy_polynomial squarer = { -2., 0.5, 1., 3., 2. }; 39 39 /* eparams: name, R,T0, G1@T0,G2,G3, C1,C2,C3, S1,S2,S3,S4,S5, 40 40 O12,O13,O23, O123,O234,O235,O245,O345,O2345 gauss ptr, gauss number */