81extern gboolean
in_bond (
int at,
int bd[2]);
101 g_debug (
"Prop - natomes= %d", j);
106 g_debug (
" at[%d]= %d", i, pro -> aid[i]);
118 g_debug (
"********************** BIG BUG BIG BUG BIG BUG **********************");
119 g_debug (
" TO CHEK:: multi= %d:: at.a= %d, at.b= %d", k, u, v);
120 g_debug (
"********************** BIG BUG BIG BUG BIG BUG **********************");
127 g_debug (
" multi= %d:: at.a= %d, at.b= %d, real_id= %d", k, u, v, w);
135 g_debug (
"Prop - key= %d", pro -> key);
139 g_debug (
" val[%d]= %f", i, pro ->
val[i]);
141 g_debug (
"Prop - show= %d", pro -> show);
142 g_debug (
"Prop - use= %d", pro -> use);
159 g_debug (
"Struct - st= %d", stru -> st);
160 g_debug (
"Struct - id= %d", stru ->
id);
161 g_debug (
"Struct - num= %d", stru -> num);
162 g_debug (
"Struct - av= %f", stru -> av);
163 g_debug (
"Struct - natomes= %d",
struct_id(stru -> st+7));
164 for (i=0; i<
struct_id(stru -> st+7); i++)
166 g_debug (
" at[%d]= %d", i, stru -> aid[i]);
168 g_debug (
"Default property:: ");
171 if (stru -> other != NULL)
174 g_debug (
"Other property(ies):: ");
177 tmp_pr = stru -> other;
179 while (tmp_pr -> next != NULL)
182 tmp_pr = tmp_pr -> next;
201 g_debug (
"IN MOL:: %d",
mol ->
id);
202 g_debug (
"PRINTING STRUCT:: %d", str);
203 g_debug (
"Total Num of Struct %d:: NUM= %d", str,
mol -> nstruct[str]);
205 tmp_s =
mol -> first_struct[str];
206 for (i=0; i<
mol -> nstruct[str]; i++)
209 if (tmp_s -> next != NULL) tmp_s = tmp_s -> next;
212 g_debug (
"END STRUCT :: %d", str);
241 if (! inv)
return TRUE;
246 if (inv -> a == a && inv -> d == d)
248 if (inv -> b == b && inv -> c == c)
return FALSE;
249 if (inv -> b == c && inv -> c == b)
return FALSE;
254 if (inv -> a == a && inv -> b == b)
return FALSE;
280 for (i=0; i<
tmp_fat -> num; i++)
282 if (
tmp_fat -> list[i] ==
id)
return TRUE;
301 int a, b, c, d, e, i, j, k, l, m, n, o, p, q, r, s, t, u, v;
303 gchar * stra, * strb, * strc, * strd, * stre, * strf, * strg;
305 GtkTreeIter di_level;
307 imp_inv * first_imp_inv = NULL;
310 for (i=0; i<
tmp_fat -> num; i++)
317 a = ids[0] =
tmp_fat -> list_id[i];
334 if (o != k && o != m)
344 first_imp_inv = g_malloc0(
sizeof*first_imp_inv);
345 this_ii = first_imp_inv;
349 this_ii -> next = g_malloc0(
sizeof*this_ii);
350 this_ii -> next -> prev = this_ii;
351 this_ii = this_ii -> next;
361 if (buf == NULL) show = FALSE;
363 else if (buf == NULL)
371 stra = g_strdup_printf (
"%4s\t%d\t%d\t%d\t%d",
fkeysw[
activef][di+2][
tmp_fprop -> key], b+1, a+1, c+1, d+1);
375 stra = g_strdup_printf (
"%4s\t%d\t%d\t%d\t%d",
fkeysw[
activef][di+2][
tmp_fprop -> key], a+1, b+1, c+1, d+1);
381 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[e]);
387 stra = g_strdup_printf (
"\t%15.10f", 0.0);
391 stra = g_strdup_printf (
"\t%15.10f", 0.0);
398 else if (buf == NULL)
400 stra = g_strdup_printf (
"%d", a+1);
401 strb = g_strdup_printf (
"%d", b+1);
402 strc = g_strdup_printf (
"%d", c+1);
403 strd = g_strdup_printf (
"%d", d+1);
438 stre = g_strdup_printf (
"%.3f", w);
439 strf = g_strdup_printf (
"%s (%s)",
443 gtk_tree_store_append (store, & di_level, iter);
444 gtk_tree_store_set (store, & di_level, 0, 0,
478 this_ii = first_imp_inv;
479 while (this_ii -> next)
481 this_ii = this_ii -> next;
482 g_free (this_ii -> prev);
503 int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s;
505 gchar * stra, * strb, * strc, * strd, * stre, * strf, * strg;
507 GtkTreeIter di_level;
508 gboolean same_atom = FALSE;
509 gboolean * already_done;
516 for (i=0; i<
tmp_fat -> num; i++)
521 a = ids[0] =
tmp_fat -> list_id[i];
522 if (same_atom) already_done[a] = TRUE;
539 if (p != j && p != l &&
tmp_proj ->
atoms[0][p].faid ==
tmp_fdt ->
id && (! same_atom || (same_atom && ! already_done[d])))
545 if (buf == NULL) show = FALSE;
547 else if (buf == NULL)
553 stra = g_strdup_printf (
"%4s\t%d\t%d\t%d\t%d",
fkeysw[
activef][dih+2][
tmp_fprop -> key], a+1, b+1, c+1, d+1);
558 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[q]);
564 stra = g_strdup_printf (
"\t%15.10f", 0.0);
568 stra = g_strdup_printf (
"\t%15.10f", 0.0);
575 else if (buf == NULL)
577 stra = g_strdup_printf (
"%d", a+1);
578 strb = g_strdup_printf (
"%d", b+1);
579 strc = g_strdup_printf (
"%d", c+1);
580 strd = g_strdup_printf (
"%d", d+1);
603 stre = g_strdup_printf (
"%.3f", v);
604 strf = g_strdup_printf (
"%s (%s)",
608 gtk_tree_store_append (store, & di_level, iter);
609 gtk_tree_store_set (store, & di_level, 0, 0,
638 if (same_atom) g_free (already_done);
655 int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, u;
657 gchar * stra, * strb, * strc, * strd, * stre, * strf;
659 GtkTreeIter an_level;
661 gboolean same_atom = FALSE;
662 gboolean * already_done;
669 for (i=0; i<
tmp_fat -> num; i++)
675 if (same_atom) already_done[k] = TRUE;
686 if (p != j &&
tmp_proj ->
atoms[0][p].faid ==
tmp_fct ->
id && (! same_atom || (same_atom && ! already_done[q])))
692 if (buf == NULL) show = FALSE;
694 else if (buf == NULL)
705 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[u]);
711 else if (buf == NULL)
713 stra = g_strdup_printf (
"%d", k+1);
714 strb = g_strdup_printf (
"%d", n+1);
715 strc = g_strdup_printf (
"%d", q+1);
734 strd = g_strdup_printf (
"%.3f", v);
735 stre = g_strdup_printf (
"%s (%s)",
739 gtk_tree_store_append (store, & an_level, iter);
740 gtk_tree_store_set (store, & an_level, 0, 0,
765 if (same_atom) g_free (already_done);
782 int i, j, k, l, m, n, o, p, q, r, s, t, u;
784 gchar * stra, * strb, * strc, * strd, * stre;
787 GtkTreeIter bd_level;
788 gboolean same_atom = FALSE;
789 gboolean * already_done;
795 for (i=0; i<
tmp_fat -> num; i++)
800 k = ids[0] =
tmp_fat -> list_id[i];
801 if (same_atom) already_done[k] = TRUE;
806 if (
tmp_proj ->
atoms[0][m].faid ==
tmp_fbt ->
id && (! same_atom || (same_atom && ! already_done[n])))
812 if (buf == NULL) show = FALSE;
814 else if (buf == NULL)
825 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[o]);
831 else if (buf == NULL)
833 stra = g_strdup_printf (
"%d", k+1);
834 strb = g_strdup_printf (
"%d", n+1);
847 strc = g_strdup_printf (
"%.3f", v);
848 strd = g_strdup_printf (
"%s (%s)",
852 gtk_tree_store_append (store, & bd_level, iter);
853 gtk_tree_store_set (store, & bd_level, 0, 0,
874 if (same_atom) g_free (already_done);
888 int h, i, j, k, l, m, n;
889 str = g_strdup_printf (
"%d\t", rig -> num);
903 l = (j == 1 || (j > 1 && i == j-1)) ? n : 15+k;
906 str = g_strdup_printf (
"%s\t%d", str, rig -> list[h]+1);
909 str = g_strdup_printf (
"%s\n", str);
926 str = g_strdup_printf (
"%4s\t\%d",
fkeysw[
activef][1][tet -> key], tet -> num);
932 str = g_strdup_printf (
"\t%15.10f",
tmp_ftet ->
val[i]);
952 str = g_strdup_printf (
"\t%f\n", pmf -> length);
957 str = g_strdup_printf (
"PMF UNIT %d\n", pmf -> num[i]);
960 for (j=0; j < pmf -> num[i]; j++)
962 str = g_strdup_printf (
"%d\t%f\n", pmf -> list[i][j]+1, pmf -> weight[i][j]);
980 str = g_strdup_printf (
"%d\t\%d\t%f\n", cons -> ia[0], cons -> ia[1], cons -> length);
997 str = g_strdup_printf (
"%d\t\%d\t%f\t%f\n", shell -> ia[0], shell -> ia[1], shell -> k2, shell -> k4);
1016 str = g_strdup_printf (
"%8s %15.10f %15.10f %d %d\n",
tmp_fat -> name,
tmp_fat -> mass,
tmp_fat -> charge, numat, 1);
1020 str = g_strdup_printf (
"%8s %15.10f %15.10f %d\n",
tmp_fat -> name,
tmp_fat -> mass,
tmp_fat -> charge, numat);
1037 tmp_fstr = fmol -> first_struct[sid];
1069 str = g_strdup_printf (
"%s", fmol -> name);
1073 str = g_strdup_printf (
"%d", fmol ->
multi);
1076 int i, j, k, l, m, n, o, p;
1080 for (i=0; i<fmol ->
atoms; i++)
1086 if (j != fmol ->
mol -> natoms) g_debug (
"PRINT:: Error the number of atom(s) is wrong ?!");
1088 str = g_strdup_printf (
"%d\n", fmol ->
mol -> natoms);
1091 for (i=0; i < fmol ->
mol -> natoms ; i+=(m-i))
1097 for (m=i+1; m<fmol ->
mol -> natoms; m++)
1103 if (j != n || l != p)
break;
1124 str = g_strdup_printf (
"%d\n", ncs);
1151 str = g_strdup_printf (
"%d\n", j);
1192 str = g_strdup_printf (
"%d\n", j);
1220 str = g_strdup_printf (
"%d\n", j);
1231 gchar * str_title[8] = {
"BONDS ",
"BONDS ",
"ANGLES ",
"ANGLES ",
"DIHEDRALS ",
"DIHEDRALS ",
"DIHEDRALS ",
"INVERSIONS "};
1238 if ((i == 0 || i == 2 || i == 4) &&
tmp_field ->
afp[i+16])
1246 k = (i == 4) ? 2 : 1;
1249 doprint = (i == 0 || i == 2 || i == 4 || i == 7) ? TRUE : FALSE;
1250 if ((i == 1 || i == 3 || i == 5) && !
tmp_field ->
afp[i+14])
1268 str = g_strdup_printf (
"%d\n", j);
1272 tmp_fstr = fmol -> first_struct[i];
1311 for (i=0; i<j; i++)
print_info (g_strdup_printf (
"%8s\t",
get_active_atom(body -> ma[i][0], body -> a[i][0]) -> name), NULL, buf);
1313 str = g_strdup_printf (
"%4s",
fkeysw[
activef][10+ body -> bd][body -> key]);
1318 str = g_strdup_printf (
"\t%15.10f", body ->
val[i]);
1343 str = g_strdup_printf (
"%15.10f",
tmp_field ->
cross[body_a ->
id][body_b ->
id][j]);
1364 int nc[2][3]={{5, 6, 3}, {5, 6, 5}};
1367 for (i=0; i<num[body -> key]; i++)
1372 str = g_strdup_printf (
"%4s\t",
fkeysw[
activef][10+body -> bd][body -> key]);
1380 for (j=0; j<nc[body -> key][i]; j++)
1383 str = g_strdup_printf (
"%15.10f", body ->
val[j+k]);
1388 k += nc[body -> key][i];
1397 tmp_fbo = tmp_fbo -> next;
1417 gtk_text_buffer_get_start_iter (buf, & bStart);
1418 gtk_text_buffer_get_end_iter (buf, & bEnd);
1419 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1421 str = g_strdup_printf (_(
"# This file was created using %s\n"),
PACKAGE);
1428 for (j=0; j<
tmp_proj -> modelfc -> mol_by_step[0]; j++)
1430 i +=
tmp_proj -> modelfc -> mols[0][j].multiplicity;
1432 str = g_strdup_printf (_(
"# - %d atoms\n"
1433 "# - %d isolated molecular fragments\n"
1434 "# - %d distinct molecules\n"),
1439 print_info (_(
"# Energy unit:\n"), NULL, buf);
1444 print_info (_(
"# Number of field molecules:\n"), NULL, buf);
1452 str = g_strdup_printf (_(
"# Begin molecule %d\n"), i+1);
1456 str = g_strdup_printf (_(
"# End molecule %d\n"), i+1);
1463 gchar * nd_title[5] = {
"VDW",
"METAL",
"TERSOFF",
"TBP",
"FBP"};
1464 gchar * com_ndb[5] = {
i18n(
"van der Walls pair"),
i18n(
"metal"),
"Tersoff",
i18n(
"three-body"),
i18n(
"four-body")};
1478 str = g_strdup_printf (_(
"# Non-bonded: %s potential(s)\n"), (i != 2) ? _(com_ndb[i]) : com_ndb[i]);
1482 str = g_strdup_printf (
" %d\n", j);
1558 else if (
box -> vect[0][1] == 0.0 &&
box -> vect[0][2] == 0.0 &&
box -> vect[1][0] == 0.0
1559 &&
box -> vect[1][2] == 0.0 &&
box -> vect[2][0] == 0.0 &&
box -> vect[2][1] == 0.0)
1561 if (
box -> vect[0][0] ==
box -> vect[1][1] &&
box -> vect[0][0] ==
box -> vect[2][2])
1585 int h, i, j, k, l, m, n;
1592 gtk_text_buffer_get_start_iter (buf, & bStart);
1593 gtk_text_buffer_get_end_iter (buf, & bEnd);
1594 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1596 str = g_strdup_printf (_(
"# DL-POLY CONFIG file created by %s, %s - %d atoms\n"),
1610 str = g_strdup_printf (
"%d", 0);
1613 str = g_strdup_printf (
"\t%d", pbc);
1616 str = g_strdup_printf (
"\t%d\n",
tmp_proj -> natomes);
1623 str = g_strdup_printf (
"%f\t%f\t%f\n",
1624 tmp_proj -> cell.box[0].vect[i][0],
1625 tmp_proj -> cell.box[0].vect[i][1],
1626 tmp_proj -> cell.box[0].vect[i][2]);
1643 str = g_strdup_printf (
"%8s",
tmp_fat -> name);
1652 str = g_strdup_printf (
" %d\n", h+1);
1669gchar *
thermo_keyw[10] = {
"evans",
"lang",
"ander",
"ber",
"hoover",
"gst",
"dpd",
"mtk",
"ttm",
"inhomo"};
1671gchar *
area_keyw[5]={
"area",
"tens",
"tens",
"orth",
"orth"};
1672gchar *
md_keyw[4]={
"temp ",
"steps ",
"integrat ",
"pres "};
1673gchar *
md_text[4]={
i18n(
"# Target temperature in K\n"),
i18n(
"# Number of MD steps\n"),
i18n(
"# Integration time step in ps\n"),
i18n(
"# Target presssure in k atms\n")};
1674gchar *
min_key[3]={
"force",
"energy",
"distance"};
1694extern gchar *
eval_m[10];
1705 "reaction precision ",
1708 "shift precision "};
1710 "halg",
"tang",
"func"};
1711gchar *
sys_info[8]={
i18n(
"\n# Ignore particle indices from CONFIG file and set indices by order of reading"),
1712 i18n(
"\n# Ignore strict checks when reading CONFIG file, warning messages and assume safe simulation parameters"),
1713 i18n(
"\n# Skip detailed topology reporting when reading FIELD file"),
1714 i18n(
"\n# Ignore center of mass momentum removal during the simulation"),
1715 i18n(
"\n# Tolerance for the relaxed shell model\n"),
1716 i18n(
"\n# Subcelling threshold density of particle per link cell\n"),
1717 i18n(
"\n# Create an expanded version of the current model\n"),
1718 i18n(
"\n# Restart job from previous run: ")};
1719gchar *
sys_key[8]={NULL, NULL, NULL, NULL,
"rlxtol ",
"subcell ",
"nfold ",
"restart "};
1720gchar *
sys_string[8]={
"ind",
"str",
"top",
"vom", NULL, NULL, NULL, NULL};
1721gchar *
rest_inf[3]={
i18n(
"\n# Continue current simulation - require REVOLD file"),
1722 i18n(
"\n# Start new simulation from older run without temperature reset"),
1723 i18n(
"\n# Start new simulation from older run with temperature reset")};
1728gchar *
io_inf[2]={
i18n(
"\n# I/O read interface, with:\n"),
i18n(
"\n# I/O write interface, with:\n")};
1729gchar *
io_key[2]={
"\nio read ",
"\nio writ "};
1730gchar *
io_meth[4]={
"mpiio",
"direct",
"master",
"netcdf"};
1744 gchar * str = g_strdup_printf (
" %d", data);
1762 gchar * str = g_strdup_printf (
"%d", data);
1766 if (info_b != NULL)
print_info (info_b, NULL, buf);
1782 gchar * str = g_strdup_printf (
" %f", data);
1800 gchar * str = g_strdup_printf (
"%f", data);
1804 if (info_b != NULL)
print_info (info_b, NULL, buf);
1820 gchar * str = g_strdup_printf (
" %e", data);
1836void print_control_sci (GtkTextBuffer * buf,
double data, gchar * info_a, gchar * info_b, gchar * key)
1838 gchar * str = g_strdup_printf (
"%e", data);
1841 if (info_b != NULL)
print_info (info_b, NULL, buf);
1875 if (info_a != NULL)
print_info (info_a, NULL, buf);
1876 if (info_b != NULL)
print_info (info_b, NULL, buf);
1877 if (info_a != NULL)
print_info (
"\n", NULL, buf);
1893 if (info != NULL)
print_info (info, NULL, buf);
1909 gchar * str_a, * str_b, * str_c;
1914 gtk_text_buffer_get_start_iter (buf, & bStart);
1915 gtk_text_buffer_get_end_iter (buf, & bEnd);
1916 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1918 str = g_strdup_printf (_(
"# DL-POLY CONTROL file created by %s, %s - %d atoms\n\n"),
1934 for (i=2; i<10; i++)
1936 j = (i < 7) ? i : (i == 7) ? 8 : (i == 8) ? 10 : 14;
1952 if (i == 6 || i == 7)
1966 print_info (_(
"\n# Non-bonded short range interactions - type vdW"), NULL, buf);
1971 _(
"\n# Do not work with system using tabulated potentials"),
"vdw ");
1975 print_control_string (buf,
"shift", _(
"\n# Apply force-shifting for vdW interactions"), NULL,
"vdw ");
1984 print_control_string (buf,
"vdw", _(
"\n# No van der Waals interactions (short range)"), NULL,
"no ");
1990 print_info (_(
"\n# Non-bonded long range interactions"), NULL, buf);
2000 print_info (_(
"\n# Electrostatics calculated using "), NULL, buf);
2008 else if (
tmp_field -> elec_opts[5] == 3.0)
2020 print_control_int (buf, (
int)
tmp_field -> elec_opts[10], _(
"\n# Evaluate k space contribution to the Ewald sum every: "), _(
" MD step(s)"),
"ewald evalu ");
2025 print_control_string (buf,
"elec", _(
"# No electrostatics interactions (long range)"), NULL,
"no ");
2031 print_info (_(
"\n# Metallic interactions"), NULL, buf);
2035 print_control_string (buf,
"direct", _(
"\n# Enforce direct calculation of metal interactions"), _(
"\n# This does not work with metal alloy systems using the *EAM* potentials"),
"metal ");
2039 print_control_string (buf,
"sqrtrho", _(
"\n# Switch the TABEAM default embedding functions, F, from F(ρ) to F(√ρ)"), NULL,
"metal ");
2060 str = g_strdup_printf (
"s%1d", (
int)
tmp_field -> thermo_opts[0]+1);
2077 i = (int)
tmp_field -> thermo_opts[3] - 1;
2088 print_info (_(
"# Attach a pseudo thermal bath with:\n"), NULL, buf);
2091 str = g_strdup_printf (_(
"# - thermostat of type: %s\n"),
pseudo_thermo[(
int)
tmp_field -> thermo_opts[7] - 1]);
2095 str = g_strdup_printf (_(
"# - thermostats of type Langevin and Direct applied successively\n"));
2099 str = g_strdup_printf (_(
"# - thickness of thermostat layer to MD cell boundaries: %f Ang.\n"),
tmp_field -> thermo_opts[8]);
2104 str = g_strdup_printf (_(
"# - Target temperature: %f K\n"),
tmp_field -> thermo_opts[9]);
2110 print_info (_(
"# - Target temperature: system target temperature\n"), NULL, buf);
2123 print_info (_(
"# Molecular dynamics information\n"), NULL, buf);
2124 for (i=0; i<2+(int)
tmp_field -> md_opts[1]; i++)
2160 print_control_int (buf, (
int)
tmp_field -> md_opts[9], _(
"\n# Shake / Rattle iterations limit: "), _(
" cycle(s)"),
"mxshak ");
2171 print_info (_(
"\n\n# Initiate impact on particle\n# - with particle index: "), NULL, buf);
2172 str = g_strdup_printf (
"%d", (
int)
tmp_field -> md_opts[14]);
2174 print_info (_(
"\n# - at MD step: "), NULL, buf);
2175 str = g_strdup_printf (
"%d", (
int)
tmp_field -> md_opts[15]);
2178 print_info (_(
"\n# - with energy (k eV): "), NULL, buf);
2179 str = g_strdup_printf (
"%f",
tmp_field -> md_opts[16]);
2182 print_info (_(
"\n# - direction (x, y, z): "), NULL, buf);
2196 print_info (_(
"\n\n# Equilibration information"), NULL, buf);
2200 print_control_int (buf, (
int)
tmp_field -> equi_opts[3], _(
"\n# During equilibration: rescale system temperature every: "), _(
" MD step(s)"),
"scale ");
2208 print_control_int (buf, (
int)
tmp_field -> equi_opts[7], _(
"\n# During equilibration: resample the instantaneous momenta distribution every: "), _(
" MD step(s)"),
"regaus ");
2212 str = g_strdup_printf (_(
"\n# Every %d step(s) during equilibration: minimize %s with target %s= %f\n"),
2223 str = g_strdup_printf (_(
"# At the start of the equilibration: minimize %s with target %s= %f\n"),
2233 print_control_key (buf, _(
"# During equilibration: perform a zero temperature MD minimization\n"),
"zero");
2238 print_control_key (buf, _(
"# Include equilibration data in overall statistics\n"),
"collect");
2245 print_info (_(
"\n# Analysis information"), NULL, buf);
2248 print_control_string (buf,
"all", _(
"\n# Calculate and collect all intra-molecular PDFs"), NULL,
"ana ");
2265 print_control_string (buf,
"dih", _(
"\n# Calculate and collect dihedrals PDFs"), NULL,
"ana ");
2270 print_control_string (buf,
"inv", _(
"\n# Calculate and collect inversions PDFs"), NULL,
"ana ");
2273 print_control_string (buf,
"ana", _(
"\n# Print any opted for analysis inter and intra-molecular PDFs"), NULL,
"print ");
2284 print_control_int (buf, (
int)
tmp_field -> out_opts[22], _(
"\n# Calculate and collect radial distribution functions every: "), _(
" MD step(s)"),
"rdf ");
2290 print_control_int (buf, (
int)
tmp_field -> out_opts[28], _(
"\n# Calculate and collect Z-density profile every: "), _(
" MD step(s)"),
"zden ");
2296 print_control_key (buf, _(
"\n# Velocity autocorrelation functions, VAFs\n"),
"vaf ");
2309 print_info (_(
"\n\n# Output information"), NULL, buf);
2312 print_control_key (buf, _(
"\n# Write defects trajectory file, DEFECTS\n"),
"defe ");
2318 print_control_key (buf, _(
"\n# Write displacement trajectory file, RSDDAT\n"),
"disp ");
2339 print_control_int (buf, (
int)
tmp_field -> out_opts[18], _(
"\n# Accumulate statics data every: "), _(
" MD step(s)"),
"stats ");
2343 print_control_int (buf, (
int)
tmp_field -> out_opts[20], _(
"\n# Set rolling average stack to: "), _(
" MD step(s)"),
"stack ");
2347 print_control_int (buf, (
int)
tmp_field -> out_opts[30], _(
"\n# Dump restart information every: "), _(
" MD step(s)"),
"dump ");
2371 print_info (_(
"\n# - precision = "), NULL, buf);
2381 print_info (_(
"\n# - j, reader count = "), NULL, buf);
2382 str_a = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2388 print_info (_(
"\n# - k, batch size = "), NULL, buf);
2389 str_b = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2393 print_info (_(
"\n# - l, buffer size = "), NULL, buf);
2394 str_c = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2399 print_info (_(
"\n# - e, parallel error check is "), NULL, buf);
2435 print_control_key (buf, _(
"\n# Seeds for the random number generators\n"),
"seed ");
2441 print_control_key (buf, _(
"\n# Limits to 2 the number of processors in z direction for slab simulations\n"),
"slab");
field_prop * get_active_prop_using_atoms(struct field_prop *pr, int ti, int *ids)
retrieve field molecule structural property using atoms
field_atom * get_active_atom(int a, int b)
retrieve field atom
gchar * get_body_element_name(field_nth_body *body, int aid, int nbd)
get field body potential element name
char * fvars_bond[2][FBONDS][FBONDS_P]
char * fvars_dihedral[2][FDIHEDRAL][FDIHEDRAL_P]
char * fvars_angle[2][FANGLES][FANGLES_P]
field_constraint * tmp_fcons
field_nth_body * tmp_fbody
int body_at(int b)
find the number of atom(s) in a non bonded interaction
gchar * fnames[2][16][21]
field_external * tmp_fext
int struct_id(int f)
number of atoms in a structural element
gchar * parameters_info(int obj, int key, gchar **words, float *data)
prepare classical force field parameter description string
field_molecule * tmp_fmol
field_tethered * tmp_ftet
gchar * fkeysw[2][16][21]
gboolean dlp_to_translate(int fid, int obj, int key)
test if fnames text is to be translated or not
classical_field * tmp_field
Variable declarations for the creation of the DL_POLY input file(s).
angle dihedral_3d(cell_info *cell, int mdstep, atom *at, atom *bt, atom *ct, atom *dt)
dihedral between atom a, b, c and d in 3D
angle inversion_3d(cell_info *cell, int mdstep, atom *at, atom *bt, atom *ct, atom *dt)
inversion angle between atom a, b, c and d in 3D
angle angle_3d(cell_info *cell, int mdstep, atom *at, atom *bt, atom *ct)
angle between atom a, b and c in 3D
distance distance_3d(cell_info *cell, int mdstep, atom *at, atom *bt)
distance between atom a and b in 3D
gboolean print_this_imp_inv(imp_inv *inv, int di, int a, int b, int c, int d)
print this improper / inversion structure or not (already printed) ?
void print_dlp_tet(GtkTextBuffer *buf, field_tethered *tet)
print force field tethered potential
void print_dlp_bond(int bi, GtkTextBuffer *buf, field_struct *bd, int fi, GtkTreeStore *store, GtkTreeIter *iter)
print / fill tree store with force field bond(s) information
void print_sci(GtkTextBuffer *buf, double data)
print float in scientific format
void print_dlp_dihedral(int dih, GtkTextBuffer *buf, field_struct *dh, int fi, GtkTreeStore *store, GtkTreeIter *iter)
print / fill tree store with force field dihedral(s) information
void print_all_field_struct(field_molecule *mol, int str)
print all field structural element(s)
void print_dlp_atom(GtkTextBuffer *buf, int at, int numat)
print force field atom
void print_dlp_tersoff(GtkTextBuffer *buf, field_nth_body *body)
print force field Tersoff potential
void print_dlp_pmf(GtkTextBuffer *buf, field_pmf *pmf)
print force field mean force potential
void print_control_int(GtkTextBuffer *buf, int data, gchar *info_a, gchar *info_b, gchar *key)
print CONTROL file print integer value
void print_control_string(GtkTextBuffer *buf, gchar *string, gchar *info_a, gchar *info_b, gchar *key)
print CONTROL file print string
void print_dlp_improper_inversion(int di, GtkTextBuffer *buf, field_struct *dhii, int fi, GtkTreeStore *store, GtkTreeIter *iter)
print / fill tree store with force field improper(s)/inversion(s) information
void print_dlp_angle(int ai, GtkTextBuffer *buf, field_struct *an, int fi, GtkTreeStore *store, GtkTreeIter *iter)
print / fill tree store with force field angle(s) information
void print_dlp_tersoff_cross(GtkTextBuffer *buf, field_nth_body *body_a, field_nth_body *body_b)
print Tersoff potential cross term
void print_dlp_molecule(GtkTextBuffer *buf, field_molecule *fmol)
print force field molecule
void print_dlp_control(GtkTextBuffer *buf)
print DL-POLY CONTROL file
gboolean member_of_atom(field_atom *fat, int id)
is the id atom from the model in target field atom
void print_control_float(GtkTextBuffer *buf, double data, gchar *info_a, gchar *info_b, gchar *key)
print CONTROL file print float value
int get_num_vdw_max()
Get the number of field shell interactions.
int get_pbc()
get the PBC DL-POLY lattice type
void print_float(GtkTextBuffer *buf, double data)
print float value
void print_field_prop(field_prop *pro, int st, field_molecule *mol)
print force field property
void print_dlp_field(GtkTextBuffer *buf)
print DL-POLY classical force field
void print_dlp_config(GtkTextBuffer *buf)
print DL-POLY CONFIG file
int get_num_struct_to_print(field_molecule *fmol, int sid)
find the number of structural element(s) to print
void print_dlp_body(GtkTextBuffer *buf, field_nth_body *body)
print force field non bonded potential
gboolean in_bond(int at, int bd[2])
is atom at in bond bd
void print_string(GtkTextBuffer *buf, gchar *string)
print string
gboolean print_ana()
determine if the analysis information section is required
void print_field_struct(field_struct *stru, field_molecule *mol)
print force field structural element
void print_control_sci(GtkTextBuffer *buf, double data, gchar *info_a, gchar *info_b, gchar *key)
print CONTROL file print float value in scientific format
void print_int(GtkTextBuffer *buf, int data)
print integer value
void print_dlp_shell(GtkTextBuffer *buf, field_molecule *fmol, field_shell *shell)
print force field core shell
void print_dlp_rigid(GtkTextBuffer *buf, field_rigid *rig)
print force field rigid
void print_dlp_cons(GtkTextBuffer *buf, field_constraint *cons)
print force field constraint
gchar * get_body_element_name(field_nth_body *body, int aid, int nbd)
get field body potential element name
void print_control_key(GtkTextBuffer *buf, gchar *info, gchar *key)
print CONTROL file print key
gboolean * allocbool(int val)
allocate a gboolean * pointer
int * allocint(int val)
allocate an int * pointer
gchar * prepare_for_title(gchar *init)
prepare a string for a window title, getting rid of all markup
void print_info(gchar *str, gchar *stag, GtkTextBuffer *buffer)
print information in GtkTextBuffer
Messaging function declarations.
integer(kind=c_int) function molecules(frag_and_mol, allbonds)