3 |
|
#include "pcwin.h" |
4 |
|
#include "pcmod.h" |
5 |
|
|
6 |
– |
#include "energies.h" |
6 |
|
#include "angles.h" |
7 |
+ |
|
8 |
+ |
#include "energies.h" |
9 |
|
#include "rings.h" |
10 |
|
#include "torsions.h" |
11 |
|
#include "bonds_ff.h" |
16 |
|
#include "utility.h" |
17 |
|
#include "solv.h" |
18 |
|
#include "field.h" |
19 |
< |
|
19 |
< |
EXTERN struct t_optimize { |
20 |
< |
int param_avail, converge; |
21 |
< |
float initial_energy, final_energy, initial_heat, final_heat; |
22 |
< |
} optimize_data; |
23 |
< |
EXTERN struct t_units { |
24 |
< |
double bndunit, cbnd, qbnd; |
25 |
< |
double angunit, cang, qang, pang, sang, aaunit; |
26 |
< |
double stbnunit, ureyunit, torsunit, storunit, v14scale; |
27 |
< |
double aterm, bterm, cterm, dielec, chgscale; |
28 |
< |
} units; |
19 |
> |
#include "dipmom.h" |
20 |
|
|
21 |
|
struct t_cbonds { |
22 |
|
int nbnd, icbonds[MAXCBND][3], lpd[MAXCBND], ia1[MAXCBND],ia2[MAXCBND]; |
30 |
|
int type, method, field, added_const; |
31 |
|
char added_path[256],added_name[256]; |
32 |
|
} minim_control; |
42 |
– |
|
43 |
– |
struct t_dipolemom { |
44 |
– |
double total, xdipole, ydipole, zdipole; |
45 |
– |
} dipolemom; |
33 |
|
|
34 |
|
EXTERN struct t_minim_values { |
35 |
|
int iprint, ndc, nconst; |
54 |
|
int iscoord_bond(int, int); |
55 |
|
void get_coordbonds(void); |
56 |
|
int isbond(int, int); |
70 |
– |
int isangle(int,int); |
57 |
|
int ishbond(int, int); |
58 |
|
int istorsion(int, int); |
59 |
|
void get_hbond(void); |
61 |
|
void reset_atom_data(void); |
62 |
|
int initialise(void); |
63 |
|
void get_bonds(void); |
78 |
– |
void get_angles(void); |
64 |
|
void get_torsions(void); |
65 |
|
void get_rings(void); |
66 |
|
void set_field(void); |
143 |
|
void attach(void); |
144 |
|
void eheat(void); |
145 |
|
void pirite(void); |
161 |
– |
void charge_dipole(void); |
162 |
– |
void dipole_dipole(void); |
146 |
|
void piden(void); |
147 |
|
void hdel(int); |
148 |
|
void set_atomtypes(int); |
196 |
|
minim_values.iprint = FALSE; |
197 |
|
} |
198 |
|
|
216 |
– |
optimize_data.initial_energy = energies.total; |
217 |
– |
|
199 |
|
if (minim_control.type == 1) // single point calculation |
200 |
|
return; |
201 |
|
|
209 |
|
else |
210 |
|
etot = energy(); |
211 |
|
|
231 |
– |
optimize_data.final_energy = energies.total; |
232 |
– |
|
212 |
|
// compute dipole moment here |
213 |
|
dipolemom.xdipole = 0.0; |
214 |
|
dipolemom.ydipole = 0.0; |
321 |
|
if (nRet == FALSE) // use end_calc to free memory |
322 |
|
{ |
323 |
|
// message_alert("Parameters missing. See pcmod.err for information","Error"); |
345 |
– |
optimize_data.param_avail = 1; |
324 |
|
// fclose(errfile); |
325 |
|
energies.total = 9999.; |
326 |
|
return FALSE; |
337 |
|
{ |
338 |
|
// message_alert("Parameters missing. See pcmod.err for information","Error"); |
339 |
|
// fclose(errfile); |
362 |
– |
optimize_data.param_avail = 1; |
340 |
|
energies.total = 9999.0; |
341 |
|
return (FALSE); |
342 |
|
} else |