ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/freemol/trunk/src/mengine/src/read_sdf.c
(Generate patch)
# Line 45 | Line 45
45   void get_tag(char *,char *);
46   static void mopaco(int start_atom,int end_atom);
47   void get_molecule_memory(int);
48 < void get_rings(int natom,long int *flags,int *atomnum,int **iat,int **bo);
48 > void get_rings(int natom,long int *flags,int *atomnum,int *nconnect,int *tbo,int **iat,int **bo);
49   double get_dipole_moment(void);
50   double get_total_energy(void);
51   char *get_structure_title(void);
52 + void set_connectivity(void);
53   // ==================================
54   char *get_structure_title()
55   {
# Line 516 | Line 517
517       // if (has_aromatic)
518       // need to deal with aromatic bonds
519   L_DONE:
519     get_rings(natom,atom.flags,atom.atomnum,atom.iat,atom.bo);
520       quick_type();
521       if (has_Aromatic)
522       {
523           for (i=0; i < numbonds; i++)
524              mopaco(ib1[i],ib2[i]);
525       }
526 +     set_connectivity();
527 +     get_rings(natom,atom.flags,atom.atomnum,atom.nconnect,atom.tbo,atom.iat,atom.bo);
528 +     quick_type();
529       free_ivector(ib1,0,nibond);
530       free_ivector(ib2,0,nibond);
531       return Ret_Val;
# Line 571 | Line 574
574                     ibi = 0;
575                     for( kk = 0; kk < MAXIAT; kk++ )
576                     {
574                       if( atom.bo[ia][kk] !=  9 )
577                            ibi = ibi + atom.bo[ia][kk];
578                     }
579                     ibj = 0;
580                     for( kk = 0; kk < MAXIAT; kk++ )
581                     {
580                       if( atom.bo[ib][kk]  != 9 )
582                            ibj = ibj + atom.bo[ib][kk];
583                     }
584                     if( it == 7 )
# Line 599 | Line 600
600                     ibi = 0;
601                     for( kk = 0; kk < MAXIAT; kk++ )
602                     {
603 <                        if( atom.bo[ia][kk] != 9 )
603 <                           ibi = ibi + atom.bo[ia][kk];
603 >                      ibi = ibi + atom.bo[ia][kk];
604                     }
605                     ibj = 0;
606                     for( kk = 0; kk < MAXIAT; kk++ )
607                     {
608 <                        if( atom.bo[ib][kk] != 9 )
609 <                            ibj = ibj + atom.bo[ib][kk];
608 >                      ibj = ibj + atom.bo[ib][kk];
609                     }
610 +                   printf("mopaco %d %d = %d %d\n",ia,ib,ibi,ibj);
611                     if( ibi <= 3 && ibj <= 3 )
612                     {
613 <                          make_bond( ia, ib, 1 );
613 >                       make_bond( ia, ib, 1 );
614                     }
615                 }
616            }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines