63 for ( i = 0 ; i < this_proj -> nspec ; i++ )
65 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[%s]", _(
"MSD"),
active_chem -> label[i]);
67 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
70 for ( i = 0 ; i < this_proj -> nspec ; i++ )
72 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(x)[%s]", _(
"MSD"),
active_chem -> label[i]);
74 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(y)[%s]", _(
"MSD"),
active_chem -> label[i]);
76 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(z)[%s]", _(
"MSD"),
active_chem -> label[i]);
78 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(xy)[%s]", _(
"MSD"),
active_chem -> label[i]);
80 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(xz)[%s]", _(
"MSD"),
active_chem -> label[i]);
82 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(yz)[%s]", _(
"MSD"),
active_chem -> label[i]);
85 for ( i = 0 ; i < this_proj -> nspec ; i++ )
87 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(x/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
89 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(y/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
91 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(z/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
93 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(xy/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
95 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(xz/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
97 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s(yz/%s)[%s]", _(
"MSD"), _(
"nac"),
active_chem -> label[i]);
100 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[x]", _(
"Correction"));
102 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[y]", _(
"Correction"));
104 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[z]", _(
"Correction"));
106 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[x]", _(
"Drift"));
108 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[y]", _(
"Drift"));
110 this_proj -> analysis[
MSD] -> curves[j] -> name = g_strdup_printf (
"%s[z]", _(
"Drift"));
113 this_proj -> analysis[
MSD] -> init_ok = TRUE;
127 print_info (_(
"\t - Number of configurations: "),
"bold", calc_buffer);
128 str = g_strdup_printf (
"%d", this_proj -> steps);
131 print_info (_(
"\n\n\t - Number of time steps between each configuration: "),
"bold", calc_buffer);
132 str = g_strdup_printf (
"%d", this_proj -> analysis[
MSD] -> num_delta);
135 print_info (_(
"\n\n\t - Time step δt used to integrate Newton's equations of motion: "),
"bold", calc_buffer);
136 str = g_strdup_printf (
"%f", this_proj -> analysis[
MSD] -> delta);
151 if (this_proj -> analysis[
MSD] -> calc_buffer == NULL) this_proj -> analysis[
MSD] -> calc_buffer =
add_buffer (NULL, NULL, NULL);
153 print_info (_(
"\n\nMean Square Displacement\n\n"),
"heading", this_proj -> analysis[
MSD] -> calc_buffer);
154 print_info (_(
"Calculation details:\n\n"), NULL, this_proj -> analysis[
MSD] -> calc_buffer);
156 print_info (
"\n", NULL, this_proj -> analysis[
MSD] -> calc_buffer);
180 show_error (_(
"The MSD calculation has failed"), 0, widg);
Binding to the Fortran90 subroutines.
int msd_(double *, int *)
Callback declarations for main window.
void fill_tool_model()
fill the tool window tree model
Variable declarations for the curve widget Functions for interactions with the curve widget.
void add_curve_widgets(project *this_proj, int rid)
add curve widgets to the project
void clean_curves_data(int calc, int start, int end)
clean curve data on a range of curve id
gchar * calculation_time(gboolean modelv, double ctime)
get calculation time, human readable
Global variable declarations Global convenience function declarations Global data structure defin...
GtkTextBuffer * add_buffer(GCallback handler, gpointer data, gchar *text)
create a GtkTextBuffer
chemical_data * active_chem
void show_the_widgets(GtkWidget *widg)
show GtkWidget
void view_buffer(GtkTextBuffer *buffer)
set a text buffer in the main window or an image
void prepostcalc(GtkWidget *widg, gboolean status, int run, int adv, double opc)
to just before and just after running a calculation
void show_error(char *error, int val, GtkWidget *win)
show error message
void print_info(gchar *str, gchar *stag, GtkTextBuffer *buffer)
print information in GtkTextBuffer
Messaging function declarations.
G_MODULE_EXPORT void on_calc_msd_released(GtkWidget *widg, gpointer data)
compute MSD
void init_msd(project *this_proj)
initialize the curve widgets for the MSD
void update_msd_view(project *this_proj)
update the project text view for the MSD calculation
void update_dynamic_view(project *this_proj, GtkTextBuffer *calc_buffer)
print molecular dynamics information
Function declarations for reading atomes project file Function declarations for saving atomes proje...