89 if (fwrite (& this_analysis -> aid,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
91 if (fwrite (& this_analysis -> avail_ok,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
92 if (fwrite (& this_analysis -> init_ok,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
93 if (fwrite (& this_analysis -> calc_ok,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
94 if (fwrite (& this_analysis -> requires_md,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
95 if (fwrite (& this_analysis -> num_delta,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
96 if (fwrite (& this_analysis -> delta,
sizeof(
double), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
97 if (fwrite (& this_analysis ->
min,
sizeof(
double), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
98 if (fwrite (& this_analysis ->
max,
sizeof(
double), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
99 if (fwrite (& this_analysis -> fact,
sizeof(
double), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
100 if (fwrite (& this_analysis -> graph_res,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
101 if (this_analysis -> graph_res)
103 if (fwrite (& this_analysis -> numc,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
104 if (fwrite (& this_analysis -> c_sets,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
105 if (fwrite (this_analysis -> compat_id,
sizeof(
int), this_analysis -> c_sets,
fp) != this_analysis -> c_sets)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_ANA);
106 i = (this_analysis -> x_title) ? 1 : 0;
108 if (this_analysis -> x_title)
112 if (this_analysis -> curves)
115 for (j=0; j<this_analysis -> numc; j++)
117 if (this_analysis -> curves[j] -> ndata) i ++;
122 for (j=0; j<this_analysis -> numc; j++)
124 if (this_analysis -> curves[j] -> ndata)
161 ver = g_strdup_printf (
"%%\n%% project file v-%1d.%1d\n%%\n", i, j);
169 if (fwrite (& this_proj -> tfile,
sizeof(this_proj -> tfile), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
170 if (this_proj -> tfile > -1)
174 if (this_proj -> bondfile != NULL)
191 if (fwrite (& this_proj -> cell.ltype,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
192 i = (this_proj -> cell.npt) ? this_proj -> steps : 1;
198 if (fwrite (this_proj -> cell.box[j].vect[k],
sizeof(
double), 3,
fp) != 3)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
200 if (fwrite (this_proj -> cell.box[j].param[0],
sizeof(
double), 3,
fp) != 3)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
201 if (fwrite (this_proj -> cell.box[j].param[1],
sizeof(
double), 3,
fp) != 3)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
203 if (fwrite (& this_proj -> cell.crystal,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
204 if (this_proj -> cell.sp_group)
206 if (fwrite (& this_proj -> cell.sp_group ->
id,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
218 if (fwrite (& this_proj -> initgl,
sizeof(gboolean), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
219 if (fwrite (this_proj -> modelgl -> pixels,
sizeof(
int), 2,
fp) != 2)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
223 if (fwrite (this_proj -> sk_advanced[i],
sizeof(
double), 2,
fp) != 2)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
230 if (fwrite (this_proj -> rsdata[i],
sizeof(
double), 5,
fp) != 5)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
237 if (this_proj -> steps)
239 if (fwrite (& this_proj -> skt_corr_threshold,
sizeof(
int), 1,
fp) != 1)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
243 i = (this_proj -> skt_step_id) ? this_proj -> skt_n_data_sets : 0;
247 if (fwrite (this_proj -> skt_step_id,
sizeof(
int), this_proj -> skt_n_data_sets,
fp) != this_proj -> skt_n_data_sets)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
250 i = (this_proj -> sqw_q_id) ? this_proj -> sqw_n_data_sets : 0;
254 if (fwrite (this_proj -> sqw_q_id,
sizeof(
double), this_proj -> sqw_n_data_sets,
fp) != this_proj -> sqw_n_data_sets)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
258 if (this_proj -> natomes == 0 || this_proj -> nspec == 0)
265 for (i=0; i<this_proj -> nspec; i++)
274 if (fwrite (this_proj ->
chemistry -> chem_prop[i],
sizeof(
double), this_proj -> nspec,
fp) != this_proj -> nspec)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
277 for (i=0; i<this_proj -> nspec; i++)
279 if (fwrite (this_proj ->
chemistry -> cutoffs[i],
sizeof(
double), this_proj -> nspec,
fp) != this_proj -> nspec)
return signal_error (__FILE__, __func__, __LINE__,
ERROR_PROJECT);
281 for (i=0; i<this_proj -> steps; i++)
283 for (j=0; j<this_proj -> natomes; j++)
292 if (this_proj -> run)
294 if (this_proj -> analysis)
298 if (this_proj -> analysis[i])
308 if (this_proj -> initgl)
310 if (fwrite (& this_proj -> modelgl ->
bonding,
sizeof(gboolean), 1,
fp) != 1)
return ERROR_COORD;
311 if (fwrite (this_proj -> modelgl -> adv_bonding,
sizeof(gboolean), 2,
fp) != 2)
return ERROR_COORD;
313 if (fwrite (this_proj -> coord -> totcoord,
sizeof(
int), 10,
fp) != 10)
return ERROR_COORD;
316 if ((this_proj -> natomes >
ATOM_LIMIT || this_proj -> steps >
STEP_LIMIT) && this_proj -> modelgl -> adv_bonding[1])