69 active_project -> curves[r][0] -> name = g_strdup_printf (
"g(r) neutrons");
70 active_project -> curves[r][1] -> name = g_strdup_printf (
"g(r) neutrons - smoothed");
71 active_project -> curves[r][2] -> name = g_strdup_printf (
"G(r) neutrons");
72 active_project -> curves[r][3] -> name = g_strdup_printf (
"G(r) neutrons - smoothed");
73 active_project -> curves[r][4] -> name = g_strdup_printf (
"D(r) neutrons");
74 active_project -> curves[r][5] -> name = g_strdup_printf (
"D(r) neutrons - smoothed");
75 active_project -> curves[r][6] -> name = g_strdup_printf (
"T(r) neutrons");
76 active_project -> curves[r][7] -> name = g_strdup_printf (
"T(r) neutrons - smoothed");
77 active_project -> curves[r][8] -> name = g_strdup_printf (
"g(r) X-rays");
78 active_project -> curves[r][9] -> name = g_strdup_printf (
"g(r) X-rays - smoothed");
79 active_project -> curves[r][10] -> name = g_strdup_printf (
"G(r) X-rays");
80 active_project -> curves[r][11] -> name = g_strdup_printf (
"G(r) X-rays - smoothed");
81 active_project -> curves[r][12] -> name = g_strdup_printf (
"D(r) X-rays");
82 active_project -> curves[r][13] -> name = g_strdup_printf (
"D(r) X-rays - smoothed");
83 active_project -> curves[r][14] -> name = g_strdup_printf (
"T(r) X-rays");
84 active_project -> curves[r][15] -> name = g_strdup_printf (
"T(r) X-rays - smoothed");
104 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[NN]");
106 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[NN] - smoothed");
108 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[NC]");
110 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[NC] - smoothed");
112 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[CC]");
114 active_project -> curves[r][k] -> name = g_strdup_printf(
"BT(r)[CC] - smoothed");
131 if (this_proj -> text_buffer[rdf+
OT] == NULL) this_proj -> text_buffer[rdf+
OT] =
add_buffer (NULL, NULL, NULL);
133 print_info (
"\n\nRadial distribution function(s)",
"heading", this_proj -> text_buffer[rdf+
OT]);
136 print_info (
" - real space calculation\n\n",
"heading", this_proj -> text_buffer[rdf+
OT]);
140 print_info (
" - FFT[S(q)]\n\n",
"heading", this_proj -> text_buffer[rdf+
OT]);
142 print_info (
"Calculation details:\n\n", NULL, this_proj -> text_buffer[rdf+
OT]);
146 print_info (
"\tReciprocal space data:\n\n", NULL, this_proj -> text_buffer[rdf+
OT]);
147 print_info (
"\t - Minimum vector Q",
"bold", this_proj -> text_buffer[rdf+
OT]);
148 print_info (
"min",
"sub_bold", this_proj -> text_buffer[rdf+
OT]);
149 print_info (
": ",
"bold", this_proj -> text_buffer[rdf+
OT]);
150 str = g_strdup_printf (
"%f", this_proj ->
min[
SK]);
151 print_info (str,
"bold_red", this_proj -> text_buffer[rdf+
OT]);
153 print_info (
" Å",
"bold", this_proj -> text_buffer[rdf+
OT]);
154 print_info (
"-1",
"sup_bold", this_proj -> text_buffer[rdf+
OT]);
155 print_info (
"\n\t - Maximum vector Q",
"bold", this_proj -> text_buffer[rdf+
OT]);
156 print_info (
"max",
"sub_bold", this_proj -> text_buffer[rdf+
OT]);
157 print_info (
" for the FFT: ",
"bold", this_proj -> text_buffer[rdf+
OT]);
158 str = g_strdup_printf (
"%f", this_proj ->
max[
GK]);
159 print_info (str,
"bold_red", this_proj -> text_buffer[rdf+
OT]);
161 print_info (
" Å",
"bold", this_proj -> text_buffer[rdf+
OT]);
162 print_info (
"-1",
"sup_bold", this_proj -> text_buffer[rdf+
OT]);
163 print_info (
"\n\n", NULL, this_proj -> text_buffer[rdf+
OT]);
165 print_info (
"\tReal space discretization:\n\n", NULL, this_proj -> text_buffer[rdf+
OT]);
166 print_info (
"\t - Number of δr steps: ",
"bold", this_proj -> text_buffer[rdf+
OT]);
167 str = g_strdup_printf (
"%d", this_proj -> num_delta[rdf]);
168 print_info (str,
"bold_blue", this_proj -> text_buffer[rdf+
OT]);
170 print_info (
"\n\n\t between 0.0 and ", NULL, this_proj -> text_buffer[rdf+
OT]);
171 print_info (
"D",
"bold", this_proj -> text_buffer[rdf+
OT]);
172 print_info (
"max",
"sub_bold", this_proj -> text_buffer[rdf+
OT]);
173 print_info (
"\n\t where ", NULL, this_proj -> text_buffer[rdf+
OT]);
174 print_info (
"D",
"bold", this_proj -> text_buffer[rdf+
OT]);
175 print_info (
"max",
"sub_bold", this_proj -> text_buffer[rdf+
OT]);
176 print_info (
" is the maximum distance in real space, ", NULL, this_proj -> text_buffer[rdf+
OT]);
177 print_info (
"D",
"bold", this_proj -> text_buffer[rdf+
OT]);
178 print_info (
"max",
"sub_bold", this_proj -> text_buffer[rdf+
OT]);
179 print_info (
" = ", NULL, this_proj -> text_buffer[rdf+
OT]);
180 str = g_strdup_printf (
"%f", this_proj ->
max[
GR]);
181 print_info (str,
"bold_blue", this_proj -> text_buffer[rdf+
OT]);
183 print_info (
" Å\n\n\t - δr = ",
"bold", this_proj -> text_buffer[rdf+
OT]);
184 str = g_strdup_printf (
"%f", this_proj -> delta[rdf]);
185 print_info (str,
"bold_blue", this_proj -> text_buffer[rdf+
OT]);
187 print_info (
" Å\n",
"bold", this_proj -> text_buffer[rdf+
OT]);
206 clock_gettime (CLOCK_MONOTONIC, &
start_time);
208 clock_gettime (CLOCK_MONOTONIC, &
stop_time);
214 show_error (
"The RDF's calculation has failed", 0, widg);
274 status = gtk_check_button_get_active (but);
276 status = gtk_toggle_button_get_active (but);
332 clock_gettime (CLOCK_MONOTONIC, &
start_time);
336 clock_gettime (CLOCK_MONOTONIC, &
stop_time);
341 show_error (
"The RDF's from FFT[S(k)] calculation has failed", 0, widg);
Binding to the Fortran90 subroutines.
int send_sq_(int *, int *, double *, double *, double *)
int g_of_r_(int *, double *, int *)
int g_of_r_fft_(int *, double *, double *)
int send_gr_(int *, int *, double *, double *, double *)
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 label(cairo_t *cr, double val, int axe, int p, project *this_proj)
draw axis label
void addcurwidgets(int pid, int rid, int st)
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 * analyze_action_names[9]
struct timespec start_time
gchar * calculation_time(gboolean modelv, double ctime)
get calculation time, human readable
double get_calc_time(struct timespec start, struct timespec stop)
get calculation time in s
struct timespec stop_time
GSimpleAction * analyze_actions[9]
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 add_action(GSimpleAction *action)
add action to the main window action map
void remove_action(gchar *action_name)
add action from the main window action map
void update_rdf_view(project *this_proj, int rdf)
update the project text view for the g(r)/g(k) calculation
G_MODULE_EXPORT void on_cutcheck_toggled(GtkToggleButton *but, gpointer data)
G_MODULE_EXPORT void on_calc_gq_released(GtkWidget *widg, gpointer data)
compute g(k)
int recup_data_(int *cd, int *rd)
Sending data back to Fortran90.
G_MODULE_EXPORT void on_calc_gr_released(GtkWidget *widg, gpointer data)
compute g(r)
void initgr(int r)
initialize the curve widgets for the g(r)/g(k)
void sendcutoffs_(int *nc, double *totc, double partc[*nc][*nc])
bond cutoff from Fortran90
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 update_after_calc(int calc)
To update all curve plots in the workspace after a calculation.
void print_info(gchar *str, gchar *stag, GtkTextBuffer *buffer)
print information in GtkTextBuffer
Messaging function declarations.
Function declarations for reading atomes project file Function declarations for saving atomes proje...