Changeset 497 for trunk/matml
- Timestamp:
- 11/28/2009 12:13:20 AM (2 years ago)
- Files:
-
- 1 modified
-
trunk/matml/src/ternary/Ternary.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/matml/src/ternary/Ternary.c
r496 r497 78 78 if (!(points = (energy_point *) realloc 79 79 (points, numpoints * sizeof (energy_point)))) 80 { printf ("Cannot (re-)allocate point coordinate array\n"); exit (1); } 80 { printf ("recalculate_and_display: " 81 "Cannot (re-)allocate point coordinate array\n"); exit (1); } 81 82 if (!(verts = (int *) realloc 82 83 (verts, (P1_res*P1_res*3 + P2_res*P2_res*3) * sizeof (int)))) 83 { printf ("Cannot (re-)allocate triangle vertex array\n"); exit (1); } 84 { printf ("recalculate_and_display: " 85 "Cannot (re-)allocate triangle vertex array\n"); exit (1); } 84 86 if (i=init_triangle_array (P1_res, points, 0, 0.,0., 1.,0., 0.,1.)) 85 { printf ("main: Error %d in init_triangle_array\n", i); exit (i); } 87 { printf ("recalculate_and_display: Error %d in init_triangle_array\n", i); 88 exit (i); } 86 89 if (i=init_triangle_array (P2_res, points+(P1_res+1)*(P1_res+2)/2, 87 90 0, 0.,0., 1.,0., 0.,1.)) 88 { printf ("main: Error %d in init_triangle_array\n", i); exit (i); } 91 { printf ("recalculate_and_display: Error %d in init_triangle_array\n", i); 92 exit (i); } 89 93 if (i=init_triangle_vertices (P1_res, verts, 0)) 90 { printf ("main: Error %d in init_triangle_vertices\n", i); exit (i); } 94 { printf ("recalculate_and_display: " 95 "Error %d in init_triangle_vertices\n", i); exit (i); } 91 96 if (i=init_triangle_vertices (P2_res, verts+P1_res*P1_res*3, 92 97 (P1_res+1)*(P1_res+2)/2)) 93 { printf ("main: Error %d in init_triangle_vertices\n", i); exit (i); } 98 { printf ("recalculate_and_display: " 99 "Error %d in init_triangle_vertices\n", i); exit (i); } 94 100 95 101 // Calculate free energies and convex hull, and refine 96 102 if (i=free_energies (points, numpoints/2, T_iso,P, allparams,0, 97 103 WITH_DERIVATIVES_NO_INFINITY)) 98 { printf ("main: Error %d in free_energies\n", i); exit (i); } 104 { printf ("recalculate_and_display: Error %d in free_energies\n", i); 105 exit (i); } 99 106 if (i=free_energies (points+numpoints/2, numpoints/2, T_iso,P, allparams,1, 100 107 WITH_DERIVATIVES_NO_INFINITY)) 101 { printf ("main: Error %d in free_energies\n", i); exit (i); } 108 { printf ("recalculate_and_display: Error %d in free_energies\n", i); 109 exit (i); } 102 110 103 111 if (i=hullCalculate (3, points, numpoints, allparams, 2, T_iso, P, 104 112 &hullfacets, &hullnumfacets)) 105 { printf ("main: Error %d in hullCalculate\n", i); exit (i); } 113 { printf ("recalculate_and_display: Error %d in hullCalculate\n", i); 114 exit (i); } 106 115 for (i=0; i<refine; i++) 107 116 hullRefine (&points, &numpoints, &hullfacets, &hullnumfacets, … … 109 118 110 119 // Calculate spinodals if appropriate 111 printf ("Spinodals: %d %d\n", spinodal_toggle [0], spinodal_toggle [1]);112 120 if (spinodal_toggle [0]) 113 121 if (i=calc_spinodal 114 122 (&points, &numpoints, verts, P1_res*P1_res, T_iso,P, allparams,0, 115 123 spinodals)) 116 { printf ("main: Error %d in calc_spinodal\n", i); exit (i); } 124 { printf ("recalculate_and_display: Error %d in calc_spinodal\n", i); 125 exit (i); } 117 126 if (spinodal_toggle [1]) 118 127 if (i=calc_spinodal 119 128 (&points, &numpoints, verts+P1_res*P1_res, P2_res*P2_res, T_iso,P, 120 129 allparams,1, spinodals+1)) 121 { printf ("main: Error %d in calc_spinodal\n", i); exit (i); } 130 { printf ("recalculate_and_display: Error %d in calc_spinodal\n", i); 131 exit (i); } 122 132 123 133 // Calculate phase boundaries 124 134 if (i=hullReturnPhaseBoundaries (points,numpoints, hullfacets,hullnumfacets, 125 135 allparams, T_iso, P, &allbounds, &numbounds)) 126 { printf ("main: error %d in hullReturnPhaseBoundaries\n", i); exit (i); } 136 { printf ("recalculate_and_display: " 137 "error %d in hullReturnPhaseBoundaries\n", i); exit (i); } 127 138 128 139 // Display free energy surface, spinodals and boundaries using geomview … … 131 142 if (i=energy_to_visual_array (numpoints, points, &vpoints, 0.,-1500., 132 143 1.,500., NULL,NULL, 0)) 133 { printf ("main: Error %d in energy_to_visual_array\n", i); exit (i); } 144 { printf ("recalculate_and_display: " 145 "Error %d in energy_to_visual_array\n", i); exit (i); } 134 146 135 147 if (i=GeomviewDisplayTriangleCOFF 136 148 (isotherm_geomview_pipe, "Free Energy Function", "tfe", "shading smooth", 137 149 numpoints, vpoints, P1_res*P1_res + P2_res*P2_res, verts)) 138 { printf ("main: Error %d in Geomview Display\n", i); exit (i); } 150 { printf ("recalculate_and_display: Error %d in Geomview Display\n", i); 151 exit (i); } 139 152 140 153 if (spinodal_toggle [0]) … … 142 155 (isotherm_geomview_pipe, "Spinodal 1", "spin", "-face +edge", 143 156 numpoints, vpoints, spinodals)) 144 { printf ("main: Error %d in Geomview Display\n", i); exit (i); } 157 { printf ("recalculate_and_display: Error %d in Geomview Display\n", i); 158 exit (i); } 145 159 if (spinodal_toggle [1]) 146 160 if (i=GeomviewDisplayPhaseBoundary 147 161 (isotherm_geomview_pipe, "Spinodal 2", "spin", "-face +edge", 148 162 numpoints, vpoints, spinodals)) 149 { printf ("main: Error %d in Geomview Display\n", i); exit (i); } 163 { printf ("recalculate_and_display: Error %d in Geomview Display\n", i); 164 exit (i); } 150 165 151 166 for (i=0; i<numbounds; i++) … … 158 173 if (ret=GeomviewDisplayPhaseBoundary 159 174 (isotherm_geomview_pipe, name, label, "-face +edge", numpoints, vpoints, allbounds+i)) 160 { printf ("main: Error %d in Geomview Display\n", ret); exit (ret); } 175 { printf ("recalculate_and_display: " 176 "Error %d in Geomview Display\n", ret); exit (ret); } 161 177 } 162 178 }