Changeset 371

Show
Ignore:
Timestamp:
05/09/08 12:59:57 (6 months ago)
Author:
powell
Message:

Change INFINITY to HUGE_VALF so derivatives along an edge are meaningful.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/matml/src/ternary/freenergy.c

    r363 r371  
    103103    +*/ 
    104104  return G2-G1 
    105     + eparams->R*T*(((C2+C3>=1) ? INFINITY : (-log(C1)-1)/eparams->M1) 
    106                     + ((C2<=0.) ?-INFINITY : (log(C2)+1)/eparams->M2)) 
     105    + eparams->R*T*(((C2+C3>=1) ? HUGE_VALF : (-log(C1)-1)/eparams->M1) 
     106                    + ((C2<=0.) ?-HUGE_VALF : (log(C2)+1)/eparams->M2)) 
    107107    + eparams->Omega12*(C1-C2) - eparams->Omega13*C3 + eparams->Omega23*C3 
    108108    + eparams->Omega123*(C1-C2)*C3; 
     
    143143{ 
    144144  return G3-G1 
    145     + eparams->R*T*(((C2+C3>=1) ? INFINITY : (-log(C1)-1)/eparams->M1) 
    146                     + ((C3<=0.) ?-INFINITY : (log(C3+1)/eparams->M3))) 
     145    + eparams->R*T*(((C2+C3>=1) ? HUGE_VALF : (-log(C1)-1)/eparams->M1) 
     146                    + ((C3<=0.) ?-HUGE_VALF : (log(C3+1)/eparams->M3))) 
    147147    - eparams->Omega12*C2 + eparams->Omega13*(C1-C3) + eparams->Omega23*C2 
    148148    + eparams->Omega123*(C1-C3)*C2; 
     
    185185{ 
    186186  return 
    187     eparams->R*T*(((C2+C3>=1) ? INFINITY : 1./C1/eparams->M1) 
    188                   + ((C2<=0.) ? INFINITY : 1./C2/eparams->M2)) 
     187    eparams->R*T*(((C2+C3>=1) ? HUGE_VALF : 1./C1/eparams->M1) 
     188                  + ((C2<=0.) ? HUGE_VALF : 1./C2/eparams->M2)) 
    189189    - eparams->Omega12*2 - eparams->Omega123*2*C3; 
    190190} 
     
    226226{ 
    227227  return 
    228     eparams->R*T*(((C2+C3>=1) ? INFINITY : 1./C1/eparams->M1) 
    229                   + ((C3<=0.) ? INFINITY : 1./C3/eparams->M3)) 
     228    eparams->R*T*(((C2+C3>=1) ? HUGE_VALF : 1./C1/eparams->M1) 
     229                  + ((C3<=0.) ? HUGE_VALF : 1./C3/eparams->M3)) 
    230230    - eparams->Omega13*2 - eparams->Omega123*2*C2; 
    231231} 
     
    267267{ 
    268268  return 
    269     eparams->R*T*((C2+C3>=1) ? INFINITY : 1./C1/eparams->M1) 
     269    eparams->R*T*((C2+C3>=1) ? HUGE_VALF : 1./C1/eparams->M1) 
    270270    - eparams->Omega12 - eparams->Omega13 + eparams->Omega23 
    271271    + eparams->Omega123*(2*C1-1);