69#define FTETH max(DL_TETH,LA_TETH)
70#define FBONDS max(DL_BONDS,LA_BONDS)
71#define FANGLES max(DL_ANGLES,LA_ANGLES)
72#define FDIHEDRAL max(DL_DIHEDRAL,LA_DIHEDRAL)
73#define FINVERS max(DL_INVERS,LA_INVERS)
74#define FVDW max(DL_VDW,LA_VDW)
75#define FMETALS max(DL_METALS,LA_METALS)
76#define FTERSOFFS max(DL_TERSOFFS,LA_TERSOFFS)
77#define FTHREEBODY max(DL_THREEBODY,LA_THREEBODY)
78#define FFOURBODY max(DL_FOURBODY,LA_FOURBODY)
79#define FEXTERNAL max(DL_EXTERNAL,LA_EXTERNAL)
83#define DL_DIHEDRAL_P 5
88#define DL_TERSOFFS_P 16
89#define DL_THREEBODY_P 5
90#define DL_FOURBODY_P 3
91#define DL_EXTERNAL_P 6
95#define LA_DIHEDRAL_P 11
100#define LA_TERSOFFS_P 0
101#define LA_THREEBODY_P 0
102#define LA_FOURBODY_P 0
103#define LA_EXTERNAL_P 0
105#define FTETH_P max(DL_TETH_P,LA_TETH_P)
106#define FBONDS_P max(DL_BONDS_P,LA_BONDS_P)
107#define FANGLES_P max(DL_ANGLES_P,LA_ANGLES_P)
108#define FDIHEDRAL_P max(DL_DIHEDRAL_P,LA_DIHEDRAL_P)
109#define FINVERS_P max(DL_INVERS_P,LA_INVERS_P)
110#define FVDW_P max(DL_VDW_P,LA_VDW_P)
111#define FMETALS_P max(DL_METALS_P,LA_METALS_P)
112#define FTERSOFFS_P max(DL_TERSOFFS_P,LA_TERSOFFS_P)
113#define FTHREEBODY_P max(DL_THREEBODY_P,LA_THREEBODY_P)
114#define FFOURBODY_P max(DL_FOURBODY_P,LA_FOURBODY_P)
115#define FEXTERNAL_P max(DL_EXTERNAL_P,LA_EXTERNAL_P)
384extern gchar *
fkeysw[2][16][21];
385extern gchar *
fnames[2][16][21];
452extern G_MODULE_EXPORT
void changed_mol_box (GtkComboBox * box, gpointer data);
521extern gchar *
remove_text (
int i,
int j, gchar * str);
523extern G_MODULE_EXPORT
void edit_field_prop (GSimpleAction *
action, GVariant * parameter, gpointer data);
524extern G_MODULE_EXPORT
void add_field_prop (GSimpleAction *
action, GVariant * parameter, gpointer data);
537extern gchar *
parameters_info (
int obj,
int key, gchar ** words,
float * data);
544 GtkTreeStore * store, GtkTreeIter * iter);
547 GtkTreeStore * store, GtkTreeIter * iter);
550 GtkTreeStore * store, GtkTreeIter * iter);
553 GtkTreeStore * store, GtkTreeIter * iter);
field_data * ff_angles[2]
char * fvars_fbd[2][FFOURBODY][FFOURBODY_P]
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
field_constraint * tmp_fcons
field_shell * init_field_shell(int id, int ia, int ib)
initialize field core shell interaction
field_tethered * init_field_tethered(int id, int num)
intialize new field tethered potential
char * fvars_bond[2][FBONDS][FBONDS_P]
field_molecule * duplicate_field_molecule(field_molecule *old_fmol)
create copy of a field molecule
field_nth_body * tmp_fbody
void clean_field_struct_list(field_struct *stru)
clean force field structural property(ies)
float internal_to_other[5]
G_MODULE_EXPORT void remove_atom_from_field_molecule(GSimpleAction *action, GVariant *parameter, gpointer data)
remove atom from field molecule - creating the dialog
field_struct * init_field_struct(int st, int ai, int an, int *aid)
initialize field molecule new structural element
int * duplicate_int(int num, int *old_val)
copy a list of int
GtkWidget * mol_box[MOLIMIT-1]
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
int test_for_angles(field_atom *at, field_atom *bt, field_atom *ct)
search for angle(s) between these field atoms
G_MODULE_EXPORT void add_molecule_to_field(GSimpleAction *action, GVariant *parameter, gpointer data)
add molecule to force field - creating the dialog
int get_struct_id_from_atom_id(int ids, int *aid)
retrieve field structural element id from a list of atom id
int body_at(int b)
find the number of atom(s) in a non bonded interaction
field_constraint * get_active_constraint(int a, int b)
retrieve constraint property
float get_force_field_atom_mass(int sp, int num)
get force field atomic mass
gchar * fnames[2][16][21]
void set_mol_num_label()
classical force field prepare the molecule information widget
G_MODULE_EXPORT void add_field_prop(GSimpleAction *action, GVariant *parameter, gpointer data)
add field property callback
field_external * tmp_fext
field_prop * duplicate_field_prop(field_prop *old_prop, int ti)
create a copy of a field property
field_molecule * get_active_field_molecule(int a)
retrieve field molecule
GtkTreeStore * field_model[MAXDATA]
G_MODULE_EXPORT void setup_this_force_field(int id)
setup force field parameters
G_MODULE_EXPORT void changed_mol_box(GtkComboBox *box, gpointer data)
classical force field assistant change the target molecule for the page
GtkWidget * mol_num_label
char * fvars_ters[2][FTERSOFFS][FTERSOFFS_P]
void print_dlp_improper_inversion(int di, GtkTextBuffer *buf, field_struct *dh, 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
field_rigid * get_active_rigid(int a, int b)
retrieve rigid property
classical_field * duplicate_dlpoly_field(classical_field *init_field)
char * fvars_inversion[2][FINVERS][FINVERS_P]
field_prop * get_active_prop_using_atoms(struct field_prop *pr, int ti, int *ids)
retrieve field molecule structural property using atoms
field_prop * init_field_prop(int ti, int key, gboolean show, gboolean use)
initialize new field molecule structural property
int struct_id(int f)
number of atoms in a structural element
int get_field_atom_id_from_model_id(field_molecule *fmol, int at)
retrieve field atom id using atom id in model
void print_dlp_control(GtkTextBuffer *buf)
print DL-POLY CONTROL file
field_struct * get_active_struct(int s, int a, int b)
retrieve field structural property
void fill_field_model(GtkTreeStore *store, int f, int m)
classical force field fill the tree store
void update_field_trees()
classical force field assistant update all tree models
char * fvars_dihedral[2][FDIHEDRAL][FDIHEDRAL_P]
char * fvars_angle[2][FANGLES][FANGLES_P]
field_shell * get_active_shell(int a, int b)
retrieve shell property
gchar * parameters_info(int obj, int key, gchar **words, float *data)
prepare classical force field parameter description string
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
void adjust_field_prop(int fil, int sti, field_prop *tmp, int *ids, int key)
adjust field property
field_molecule * tmp_fmol
G_MODULE_EXPORT void select_atom_id_from_fied_molecule(GtkButton *but, gpointer data)
select atom id from field molecule - creating the dialog
char * field_acro[N_FIELDS]
int test_for_bonds(field_atom *at, field_atom *bt)
search for bond(s) between 2 field atoms
field_molecule * get_active_field_molecule_from_model_id(project *this_proj, int aid)
retrieve field molecule from overall atom id in the model
int get_fragment_atom_id_from_model_id(field_molecule *fmol, int at)
retrieve fragment atom id using atom id in model
field_tethered * duplicate_field_tethered(field_tethered *old_tet)
create copy of a field tethered data structure
G_MODULE_EXPORT void remove_molecule_from_field(GSimpleAction *action, GVariant *parameter, gpointer data)
remove molecule from force field - creating the dialog
G_MODULE_EXPORT void edit_field_prop(GSimpleAction *action, GVariant *parameter, gpointer data)
edit field property callback
field_atom * get_active_atom(int a, int b)
retrieve field atom
field_pmf * init_field_pmf(int id, int num[2], int *list[2], float *w[2])
initialize new field mean force potential
float * duplicate_float(int num, float *old_val)
copy a list of float
char * fvars_tbd[2][FTHREEBODY][FTHREEBODY_P]
int test_for_dihedrals(field_atom *at, field_atom *bt, field_atom *ct, field_atom *dt)
search for dihedral(s) between these field atoms
void duplicate_other_prop(int oid, field_struct *old_fstr, field_struct *new_fstr)
create copy of a field property 'other' list
field_external * get_active_external(int a)
retrieve external field property
field_object_match * field_objects_id[6]
field_tethered * tmp_ftet
classical_field * create_force_field_data_structure(int ai)
initialize classical force field
gboolean * duplicate_bool(int num, gboolean *old_val)
copy a list of gboolean
field_nth_body * get_active_body(int a, int b)
retrieve field nth body interaction
field_pmf * get_active_pmf(int a, int b)
retrieve PMF property
int get_position_in_field_atom_from_model_id(int fat, int at)
retrieve atom position id in field atom id using atom id in model
GtkWidget * create_combo_mol(int f)
classical force field create molecule selection combo box
GtkWidget * field_assistant
int prepare_field_struct(int ids, int sid, int yes_no_num, int *aid)
prepare the creation of a field structural element
void print_dlp_field(GtkTextBuffer *buf)
print DL-POLY classical force field
G_MODULE_EXPORT void remove_field_prop(GSimpleAction *action, GVariant *parameter, gpointer data)
remove field property callback
void print_dlp_config(GtkTextBuffer *buf)
print DL-POLY CONFIG file
void visualize_object(int id, int jd, int kd)
visualize object and update OpenGL rendering
GtkWidget * create_field_tree(int f)
classical force field create the list store selection widgets
GtkWidget * field_tree[MAXDATA]
field_external * init_field_external(int bi)
intialize new field external potential
field_nth_body * comp_fbody
void print_dlp_dihedral(int di, GtkTextBuffer *buf, field_struct *dh, int fi, GtkTreeStore *store, GtkTreeIter *iter)
print / fill tree store with force field dihedral(s) information
GtkWidget * vbox_control(int f)
crerate DL-POLY option widgets
char * fvars_vdw[2][FVDW][FVDW_P]
field_prop * get_active_prop(struct field_prop *pr, int a)
the field molecule structural property id to retrieve
void setup_field_molecule_neighbors(int i, project *this_proj)
angle angle_3d(cell_info *cell, int mdstep, atom *at, atom *bt, atom *ct)
angle between atom a, b and c in 3D
field_object_match * tmp_obj_id
gchar * fkeysw[2][16][21]
gchar * remove_text(int i, int j, gchar *str)
get removal information text
field_constraint * init_field_constraint(int id, int ia, int ib)
initialize field bond constraint
field_constraint * duplicate_field_constraint(field_constraint *old_cons)
create copy of a field constraint data structure
field_nth_body * init_field_nth_body(int bi, int bd, int *na, int **ma, int **ba)
intialize new field non bonded interaction
classical_field * tmp_field
field_atom * duplicate_field_atom(field_atom *old_fat)
create copy of a field atom data structure
G_MODULE_EXPORT void visualize_or_select_all_elements(GtkTreeViewColumn *col, gpointer data)
select all element(s) in the column for visualization
G_MODULE_EXPORT void on_toggle_visualize_or_select_object(GtkCellRendererToggle *cell_renderer, gchar *string_path, gpointer data)
on visualize force field object toggle callback
field_atom * init_field_atom(int id, int type, int at, int nat, int coo, int *list)
intialize a new type of field atom
field_nth_body * duplicate_field_nth_body(field_nth_body *old_nth_body)
create copy of a field body property
char * fvars_fext[2][FEXTERNAL][FEXTERNAL_P]
field_tethered * get_active_tethered(int a, int b)
retrieve tethered property
field_rigid * init_field_rigid(int id, int num, int *list)
initialize new field rigid constraint
gboolean show_field_object(int id, int jd, int kd)
is the field object visible ?
GtkWidget * combo_mol[MOLIMIT-1]
field_shell * duplicate_field_shell(field_shell *old_shell)
create copy of a field shell data structure
int get_field_objects(int id, int jd)
get the number of this type of field object
char * fvars_met[2][FMETALS][FMETALS_P]
char * fvars_teth[2][FTETH][FTETH_P]
field_struct * duplicate_field_struct(field_struct *old_fstr)
create copy of a field structural element
void init_all_field_struct(gboolean init)
initialize the force field structural properties for a field molecule
field_rigid * duplicate_field_rigid(field_rigid *old_rig)
create copy of a field rigid data structure
field_struct * duplicate_field_struct_list(field_struct *list_str, gboolean init)
create copy of list of field structural element(s)
distance distance_3d(cell_info *cell, int mdstep, atom *at, atom *bt)
distance between atom a and b in 3D
int init_vdw(gboolean init)
initialize the VdW section of a classical force field
int saved_label_format[2]
Global variable declarations Global convenience function declarations Global data structure defin...
#define MAXDATC
Number of tabs for the description of the classical calculation.
#define MAXDATA
Number of tabs for the description of the classical force field.
field_rigid * first_rigid
field_struct * first_struct[8]
field_constraint * first_constraint
field_shell * first_shell
field_tethered * first_tethered
field_object_match * next
field_object_match * prev