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++)
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)
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);
441 gtk_tree_store_append (store, & di_level, iter);
442 gtk_tree_store_set (store, & di_level, 0, 0,
476 this_ii = first_imp_inv;
477 while (this_ii -> next)
479 this_ii = this_ii -> next;
480 g_free (this_ii -> prev);
501 int a,
b,
c,
d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s;
503 gchar * stra, * strb, * strc, * strd, * stre, * strf, * strg;
505 GtkTreeIter di_level;
506 gboolean same_atom = FALSE;
507 gboolean * already_done;
514 for (i=0; i<
tmp_fat -> num; i++)
520 if (same_atom) already_done[
a] = TRUE;
537 if (p != j && p != l &&
tmp_proj ->
atoms[0][p].faid ==
tmp_fdt ->
id && (! same_atom || (same_atom && ! already_done[
d])))
543 if (buf == NULL) show = FALSE;
545 else if (buf == NULL)
556 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[q]);
562 stra = g_strdup_printf (
"\t%15.10f", 0.0);
566 stra = g_strdup_printf (
"\t%15.10f", 0.0);
573 else if (buf == NULL)
575 stra = g_strdup_printf (
"%d",
a+1);
576 strb = g_strdup_printf (
"%d",
b+1);
577 strc = g_strdup_printf (
"%d",
c+1);
578 strd = g_strdup_printf (
"%d",
d+1);
601 stre = g_strdup_printf (
"%.3f", v);
604 gtk_tree_store_append (store, & di_level, iter);
605 gtk_tree_store_set (store, & di_level, 0, 0,
634 if (same_atom) g_free (already_done);
651 int a,
b,
c,
d, e, f, g, h, i, j, k, l, m, n, o, p, q, u;
653 gchar * stra, * strb, * strc, * strd, * stre, * strf;
655 GtkTreeIter an_level;
657 gboolean same_atom = FALSE;
658 gboolean * already_done;
665 for (i=0; i<
tmp_fat -> num; i++)
671 if (same_atom) already_done[k] = TRUE;
682 if (p != j &&
tmp_proj ->
atoms[0][p].faid ==
tmp_fct ->
id && (! same_atom || (same_atom && ! already_done[q])))
688 if (buf == NULL) show = FALSE;
690 else if (buf == NULL)
701 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[u]);
707 else if (buf == NULL)
709 stra = g_strdup_printf (
"%d", k+1);
710 strb = g_strdup_printf (
"%d", n+1);
711 strc = g_strdup_printf (
"%d", q+1);
730 strd = g_strdup_printf (
"%.3f", v);
733 gtk_tree_store_append (store, & an_level, iter);
734 gtk_tree_store_set (store, & an_level, 0, 0,
759 if (same_atom) g_free (already_done);
776 int i, j, k, l, m, n, o, p, q, r, s, t, u;
778 gchar * stra, * strb, * strc, * strd, * stre;
781 GtkTreeIter bd_level;
782 gboolean same_atom = FALSE;
783 gboolean * already_done;
789 for (i=0; i<
tmp_fat -> num; i++)
794 k = ids[0] =
tmp_fat -> list_id[i];
795 if (same_atom) already_done[k] = TRUE;
800 if (
tmp_proj ->
atoms[0][m].faid ==
tmp_fbt ->
id && (! same_atom || (same_atom && ! already_done[n])))
806 if (buf == NULL) show = FALSE;
808 else if (buf == NULL)
819 stra = g_strdup_printf (
"\t%15.10f",
tmp_fprop ->
val[o]);
825 else if (buf == NULL)
827 stra = g_strdup_printf (
"%d", k+1);
828 strb = g_strdup_printf (
"%d", n+1);
841 strc = g_strdup_printf (
"%.3f", v);
844 gtk_tree_store_append (store, & bd_level, iter);
845 gtk_tree_store_set (store, & bd_level, 0, 0,
866 if (same_atom) g_free (already_done);
880 int h, i, j, k, l, m, n;
881 str = g_strdup_printf (
"%d\t", rig -> num);
895 l = (j == 1 || (j > 1 && i == j-1)) ? n : 15+k;
898 str = g_strdup_printf (
"%s\t%d", str, rig -> list[h]+1);
901 str = g_strdup_printf (
"%s\n", str);
918 str = g_strdup_printf (
"%4s\t\%d",
fkeysw[
activef][1][tet -> key], tet -> num);
924 str = g_strdup_printf (
"\t%15.10f",
tmp_ftet ->
val[i]);
944 str = g_strdup_printf (
"\t%f\n", pmf -> length);
949 str = g_strdup_printf (
"PMF UNIT %d\n", pmf -> num[i]);
952 for (j=0; j < pmf -> num[i]; j++)
954 str = g_strdup_printf (
"%d\t%f\n", pmf -> list[i][j]+1, pmf -> weight[i][j]);
972 str = g_strdup_printf (
"%d\t\%d\t%f\n", cons -> ia[0], cons -> ia[1], cons -> length);
989 str = g_strdup_printf (
"%d\t\%d\t%f\t%f\n", shell -> ia[0], shell -> ia[1], shell -> k2, shell -> k4);
1008 str = g_strdup_printf (
"%8s %15.10f %15.10f %d %d\n",
tmp_fat -> name,
tmp_fat -> mass,
tmp_fat -> charge, numat, 1);
1012 str = g_strdup_printf (
"%8s %15.10f %15.10f %d\n",
tmp_fat -> name,
tmp_fat -> mass,
tmp_fat -> charge, numat);
1029 tmp_fstr = fmol -> first_struct[sid];
1061 str = g_strdup_printf (
"%s", fmol -> name);
1065 str = g_strdup_printf (
"%d", fmol ->
multi);
1068 int i, j, k, l, m, n, o, p;
1072 for (i=0; i<fmol ->
atoms; i++)
1078 if (j != fmol ->
mol -> natoms) g_debug (
"PRINT:: Error the number of atom(s) is wrong ?!");
1080 str = g_strdup_printf (
"%d\n", fmol ->
mol -> natoms);
1083 for (i=0; i < fmol ->
mol -> natoms ; i+=(m-i))
1089 for (m=i+1; m<fmol ->
mol -> natoms; m++)
1095 if (j != n || l != p)
break;
1116 str = g_strdup_printf (
"%d\n", ncs);
1143 str = g_strdup_printf (
"%d\n", j);
1184 str = g_strdup_printf (
"%d\n", j);
1212 str = g_strdup_printf (
"%d\n", j);
1223 gchar * str_title[8] = {
"BONDS ",
"BONDS ",
"ANGLES ",
"ANGLES ",
"DIHEDRALS ",
"DIHEDRALS ",
"DIHEDRALS ",
"INVERSIONS "};
1230 if ((i == 0 || i == 2 || i == 4) &&
tmp_field ->
afp[i+16])
1238 k = (i == 4) ? 2 : 1;
1241 doprint = (i == 0 || i == 2 || i == 4 || i == 7) ? TRUE : FALSE;
1242 if ((i == 1 || i == 3 || i == 5) && !
tmp_field ->
afp[i+14])
1260 str = g_strdup_printf (
"%d\n", j);
1264 tmp_fstr = fmol -> first_struct[i];
1303 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);
1305 str = g_strdup_printf (
"%4s",
fkeysw[
activef][10+ body -> bd][body -> key]);
1310 str = g_strdup_printf (
"\t%15.10f", body ->
val[i]);
1335 str = g_strdup_printf (
"%15.10f",
tmp_field ->
cross[body_a ->
id][body_b ->
id][j]);
1356 int nc[2][3]={{5, 6, 3}, {5, 6, 5}};
1359 for (i=0; i<num[body -> key]; i++)
1364 str = g_strdup_printf (
"%4s\t",
fkeysw[
activef][10+body -> bd][body -> key]);
1372 for (j=0; j<nc[body -> key][i]; j++)
1375 str = g_strdup_printf (
"%15.10f", body ->
val[j+k]);
1380 k += nc[body -> key][i];
1389 tmp_fbo = tmp_fbo -> next;
1409 gtk_text_buffer_get_start_iter (buf, & bStart);
1410 gtk_text_buffer_get_end_iter (buf, & bEnd);
1411 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1413 str = g_strdup_printf (
"# This file was created using %s\n", PACKAGE);
1420 for (j=0; j<
tmp_proj -> modelfc -> mol_by_step[0]; j++)
1422 i +=
tmp_proj -> modelfc -> mols[0][j].multiplicity;
1424 str = g_strdup_printf (
"# - %d atoms\n"
1425 "# - %d isolated molecular fragments\n"
1426 "# - %d distinct molecules\n",
1436 print_info (
"# Number of field molecules:\n", NULL, buf);
1444 str = g_strdup_printf (
"# Begin molecule %d\n", i+1);
1448 str = g_strdup_printf (
"# End molecule %d\n", i+1);
1455 gchar * nd_title[5] = {
"VDW",
"METAL",
"TERSOFF",
"TBP",
"FBP"};
1456 gchar * com_ndb[5] = {
"Van der Walls pair",
"metal",
"Tersoff",
"three-body",
"four-body"};
1470 str = g_strdup_printf (
"# Non-bonded: %s potential(s)\n", com_ndb[i]);
1474 str = g_strdup_printf (
" %d\n", j);
1550 else if (box -> vect[0][1] == 0.0 && box -> vect[0][2] == 0.0 && box -> vect[1][0] == 0.0
1551 && box -> vect[1][2] == 0.0 && box -> vect[2][0] == 0.0 && box -> vect[2][1] == 0.0)
1553 if (box -> vect[0][0] == box -> vect[1][1] && box -> vect[0][0] == box -> vect[2][2])
1577 int h, i, j, k, l, m, n;
1584 gtk_text_buffer_get_start_iter (buf, & bStart);
1585 gtk_text_buffer_get_end_iter (buf, & bEnd);
1586 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1588 str = g_strdup_printf (
"# DL-POLY CONFIG file created by %s, %s - %d atoms\n",
1602 str = g_strdup_printf (
"%d", 0);
1605 str = g_strdup_printf (
"\t%d", pbc);
1608 str = g_strdup_printf (
"\t%d\n",
tmp_proj -> natomes);
1615 str = g_strdup_printf (
"%f\t%f\t%f\n",
1616 tmp_proj -> cell.box[0].vect[i][0],
1617 tmp_proj -> cell.box[0].vect[i][1],
1618 tmp_proj -> cell.box[0].vect[i][2]);
1635 str = g_strdup_printf (
"%8s",
tmp_fat -> name);
1644 str = g_strdup_printf (
" %d\n", h+1);
1661gchar *
thermo_keyw[10] = {
"evans",
"lang",
"ander",
"ber",
"hoover",
"gst",
"dpd",
"mtk",
"ttm",
"inhomo"};
1663gchar *
area_keyw[5]={
"area",
"tens",
"tens",
"orth",
"orth"};
1664gchar *
md_keyw[4]={
"temp ",
"steps ",
"integrat ",
"pres "};
1665gchar *
md_text[4]={
"# Target temperature in K\n",
"# Number of MD steps\n",
"# Integration time step in ps\n",
"# Target presssure in k atms\n"};
1666gchar *
min_key[3]={
"force",
"energy",
"distance"};
1686extern gchar *
eval_m[10];
1697 "reaction precision ",
1700 "shift precision "};
1702 "halg",
"tang",
"func"};
1703gchar *
sys_info[8]={
"\n# Ignore particle indices from CONFIG file and set indices by order of reading",
1704 "\n# Ignore strict checks when reading CONFIG file, warning messages and assume safe simulation parameters",
1705 "\n# Skip detailed topology reporting when reading FIELD file",
1706 "\n# Ignore center of mass momentum removal during the simulation",
1707 "\n# Tolerance for the relaxed shell model\n",
1708 "\n# Subcelling threshold density of particle per link cell\n",
1709 "\n# Create an expanded version of the current model\n",
1710 "\n# Restart job from previous run: "};
1711gchar *
sys_key[8]={NULL, NULL, NULL, NULL,
"rlxtol ",
"subcell ",
"nfold ",
"restart "};
1712gchar *
sys_string[8]={
"ind",
"str",
"top",
"vom", NULL, NULL, NULL, NULL};
1713gchar *
rest_inf[3]={
"\n# Continue current simulation - require REVOLD file",
1714 "\n# Start new simulation from older run without temperature reset",
1715 "\n# Start new simulation from older run with temperature reset"};
1718gchar *
time_inf[2]={
"\n\n# Set job time to ",
"\n\n# Set job closure time to "};
1720gchar *
io_inf[2]={
"\n# I/O read interface, with:\n",
"\n# I/O write interface, with:\n"};
1721gchar *
io_key[2]={
"\nio read ",
"\nio writ "};
1722gchar *
io_meth[4]={
"mpiio",
"direct",
"master",
"netcdf"};
1736 gchar * str = g_strdup_printf (
" %d", data);
1754 gchar * str = g_strdup_printf (
"%d", data);
1758 if (info_b != NULL)
print_info (info_b, NULL, buf);
1774 gchar * str = g_strdup_printf (
" %f", data);
1792 gchar * str = g_strdup_printf (
"%f", data);
1796 if (info_b != NULL)
print_info (info_b, NULL, buf);
1812 gchar * str = g_strdup_printf (
" %e", data);
1828void print_control_sci (GtkTextBuffer * buf,
double data, gchar * info_a, gchar * info_b, gchar * key)
1830 gchar * str = g_strdup_printf (
"%e", data);
1833 if (info_b != NULL)
print_info (info_b, NULL, buf);
1867 if (info_a != NULL)
print_info (info_a, NULL, buf);
1868 if (info_b != NULL)
print_info (info_b, NULL, buf);
1869 if (info_a != NULL)
print_info (
"\n", NULL, buf);
1885 if (info != NULL)
print_info (info, NULL, buf);
1901 gchar * str_a, * str_b, * str_c;
1906 gtk_text_buffer_get_start_iter (buf, & bStart);
1907 gtk_text_buffer_get_end_iter (buf, & bEnd);
1908 gtk_text_buffer_delete (buf, & bStart, & bEnd);
1910 str = g_strdup_printf (
"# DL-POLY CONTROL file created by %s, %s - %d atoms\n\n",
1926 for (i=2; i<10; i++)
1928 j = (i < 7) ? i : (i == 7) ? 8 : (i == 8) ? 10 : 14;
1944 if (i == 6 || i == 7)
1958 print_info (
"\n# Non bonded short range interactions - type vdW", NULL, buf);
1963 "\n# Do not work with system using tabulated potentials",
"vdw ");
1967 print_control_string (buf,
"shift",
"\n# Apply force-shifting for vdW interactions", NULL,
"vdw ");
1976 print_control_string (buf,
"vdw",
"\n# No van der Waals interactions (short range)", NULL,
"no ");
1982 print_info (
"\n# Non bonded long range interactions", NULL, buf);
1992 print_info (
"\n# Electrostatics calculated using ", NULL, buf);
2000 else if (
tmp_field -> elec_opts[5] == 3.0)
2012 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 ");
2017 print_control_string (buf,
"elec",
"# No electrostatics interactions (long range)", NULL,
"no ");
2023 print_info (
"\n# Metallic interactions", NULL, buf);
2027 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 ");
2031 print_control_string (buf,
"sqrtrho",
"\n# Switch the TABEAM default embedding functions, F, from F(ρ) to F(√ρ)", NULL,
"metal ");
2052 str = g_strdup_printf (
"s%1d", (
int)
tmp_field -> thermo_opts[0]+1);
2069 i = (int)
tmp_field -> thermo_opts[3] - 1;
2080 print_info (
"# Attach a pseudo thermal bath with:\n", NULL, buf);
2083 str = g_strdup_printf (
"# - thermostat of type: %s\n",
pseudo_thermo[(
int)
tmp_field -> thermo_opts[7] - 1]);
2087 str = g_strdup_printf (
"# - thermostats of type Langevin and Direct applied successively\n");
2091 str = g_strdup_printf (
"# - thickness of thermostat layer to MD cell boundaries: %f Ang.\n",
tmp_field -> thermo_opts[8]);
2096 str = g_strdup_printf (
"# - Target temperature: %f K\n",
tmp_field -> thermo_opts[9]);
2102 print_info (
"# - Target temperature: system target temperature\n", NULL, buf);
2115 print_info (
"# Molecular dynamics information\n", NULL, buf);
2116 for (i=0; i<2+(int)
tmp_field -> md_opts[1]; i++)
2163 print_info (
"\n\n# Initiate impact on particle\n# - with particle index: ", NULL, buf);
2164 str = g_strdup_printf (
"%d", (
int)
tmp_field -> md_opts[14]);
2166 print_info (
"\n# - at MD step: ", NULL, buf);
2167 str = g_strdup_printf (
"%d", (
int)
tmp_field -> md_opts[15]);
2170 print_info (
"\n# - with energy (k eV): ", NULL, buf);
2171 str = g_strdup_printf (
"%f",
tmp_field -> md_opts[16]);
2174 print_info (
"\n# - direction (x, y, z): ", NULL, buf);
2188 print_info (
"\n\n# Equilibration information", NULL, buf);
2192 print_control_int (buf, (
int)
tmp_field -> equi_opts[3],
"\n# During equilibration: rescale system temperature every: ",
" MD step(s)",
"scale ");
2200 print_control_int (buf, (
int)
tmp_field -> equi_opts[7],
"\n# During equilibration: resample the instantaneous momenta distribution every: ",
" MD step(s)",
"regaus ");
2204 str = g_strdup_printf (
"\n# Every %d step(s) during equilibration: minimize %s with target %s= %f\n",
2215 str = g_strdup_printf (
"# At the start of the equilibration: minimize %s with target %s= %f\n",
2225 print_control_key (buf,
"# During equilibration: perform a zero temperature MD minimization\n",
"zero");
2230 print_control_key (buf,
"# Include equilibration data in overall statistics\n",
"collect");
2237 print_info (
"\n# Analysis information", NULL, buf);
2240 print_control_string (buf,
"all",
"\n# Calculate and collect all intra-molecular PDFs", NULL,
"ana ");
2265 print_control_string (buf,
"ana",
"\n# Print any opted for analysis inter and intra-molecular PDFs", NULL,
"print ");
2276 print_control_int (buf, (
int)
tmp_field -> out_opts[22],
"\n# Calculate and collect radial distribution functions every: ",
" MD step(s)",
"rdf ");
2282 print_control_int (buf, (
int)
tmp_field -> out_opts[28],
"\n# Calculate and collect Z-density profile every: ",
" MD step(s)",
"zden ");
2288 print_control_key (buf,
"\n# Velocity autocorrelation functions, VAFs\n",
"vaf ");
2301 print_info (
"\n\n# Output information", NULL, buf);
2304 print_control_key (buf,
"\n# Write defects trajectory file, DEFECTS\n",
"defe ");
2310 print_control_key (buf,
"\n# Write displacement trajectory file, RSDDAT\n",
"disp ");
2363 print_info (
"\n# - precision = ", NULL, buf);
2373 print_info (
"\n# - j, reader count = ", NULL, buf);
2374 str_a = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2380 print_info (
"\n# - k, batch size = ", NULL, buf);
2381 str_b = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2385 print_info (
"\n# - l, buffer size = ", NULL, buf);
2386 str_c = g_strdup_printf (
"%d", (
int)
tmp_field -> io_opts[j]);
2391 print_info (
"\n# - e, parallel error check is ", NULL, buf);
2427 print_control_key (buf,
"\n# Seeds for the random number generators\n",
"seed ");
2433 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
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]
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
struct thermostat thermostat
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)