ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/src/mengine/src/ktorsion.c
(Generate patch)
# Line 44 | Line 44
44          int ph1[MAXPITORCONST], ph2[MAXPITORCONST], ph3[MAXPITORCONST];
45          float   tv1[MAXPITORCONST], tv2[MAXPITORCONST], tv3[MAXPITORCONST];
46          } torknp;
47
48 EXTERN struct t_high_coord {
49        int ncoord, i13[400][3];
50        } high_coord;
47          
48   EXTERN int Missing_constants;
49   EXTERN FILE *errfile;
# Line 189 | Line 185
185             four(pd,pc, pb, pa, k15);
186  
187          ierr = FALSE;
192 //   check for linear angles in high coordinate atoms
193        if (high_coord.ncoord > 0)
194        {
195            for (k = 0; k < high_coord.ncoord; k++)
196            {
197                if (high_coord.i13[k][1] == ib) // high coordinate atom in center
198                {
199                    if (high_coord.i13[k][0] == ia && high_coord.i13[k][2] == ic)
200                    {
201                        angle(ia,ib,ic,&rangle);
202                        if (rangle > 175 || rangle < -175)
203                        {
204                           torsions.v1[i] = 0.0;
205                           torsions.v2[i] = 0.0;
206                           torsions.v3[i] = 0.0;
207                           ierr = TRUE;
208                           goto L_10;
209                        }
210                    } else if (high_coord.i13[k][2] == ia && high_coord.i13[k][0] == ic)
211                    {
212                        angle(ia,ib,ic,&rangle);
213                        if (rangle > 175 || rangle < -175)
214                        {
215                           torsions.v1[i] = 0.0;
216                           torsions.v2[i] = 0.0;
217                           torsions.v3[i] = 0.0;
218                           ierr = TRUE;
219                           goto L_10;
220                        }
221                    }
222                } else if ( high_coord.i13[k][1] == ic)
223                {
224                    if (high_coord.i13[k][0] == ib && high_coord.i13[k][2] == id)
225                    {
226                        angle(ib,ic,id,&rangle);
227                        if (rangle > 175 || rangle < -175)
228                        {
229                           torsions.v1[i] = 0.0;
230                           torsions.v2[i] = 0.0;
231                           torsions.v3[i] = 0.0;
232                           ierr = TRUE;
233                           goto L_10;
234                        }
235                    } else if (high_coord.i13[k][2] == ib&& high_coord.i13[k][0] == id)
236                    {
237                        angle(ib,ic,id,&rangle);
238                        if (rangle > 175 || rangle < -175)
239                        {
240                           torsions.v1[i] = 0.0;
241                           torsions.v2[i] = 0.0;
242                           torsions.v3[i] = 0.0;
243                           ierr = TRUE;
244                           goto L_10;
245                        }
246                    }
247                }
248            }
249        }
250                    
188   //  check for four membered rings
189          if ( isbond(ia,id) )
190          {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines