Example #1
0
    def assign_charges(self, s, charges='default'):
        """pysimm.forcefield.Pcff.assign_charges

        Default Pcff charge assignment. Gasteiger is also an option.

        Args:
            s: :class:`~pysimm.system.System`
            charges: default

        Returns:
            None
        """
        if charges == 'gasteiger':
            print('adding gasteiger charges')
            gasteiger.set_charges(s)
        elif charges == 'default':
            print('adding default PCFF charges')
            for p in s.particles:
                p.charge = 0
            for b in s.bonds:
                n1 = b.a.type.eq_bond or b.a.type.name
                n2 = b.b.type.eq_bond or b.b.type.name
                btype = self.bond_types.get('%s,%s' % (n1, n2))
                if btype:
                    btype = btype[0]
                    if btype.name == '%s,%s' % (n1, n2):
                        b.a.charge += float(btype.q1)
                        b.b.charge += float(btype.q2)
                    elif btype.name == '%s,%s' % (n2, n1):
                        b.a.charge += float(btype.q2)
                        b.b.charge += float(btype.q1)
Example #2
0
    def assign_charges(self, s, charges='default'):
        """pysimm.forcefield.Tip3p.assign_charges

        Tip3p specific charge assignment.
        There are none.

        Args:
            s: pysimm.system.System
            charges: default

        Returns:
            None
        """
        if charges == 'gasteiger':
            print('adding gasteiger charges')
            gasteiger.set_charges(s)
        elif charges == 'default':
            print('adding default TIP3P charges')
            for p in s.particles:
                p.charge = 0
            for b in s.bonds:
                n1 = b.a.type.eq_bond or b.a.type.name
                n2 = b.b.type.eq_bond or b.b.type.name
                btype = self.bond_types.get('%s,%s' % (n1, n2))
                if btype:
                    btype = btype[0]
                    if btype.name == '%s,%s' % (n1, n2):
                        b.a.charge += float(btype.q1)
                        b.b.charge += float(btype.q2)
                    elif btype.name == '%s,%s' % (n2, n1):
                        b.a.charge += float(btype.q2)
                        b.b.charge += float(btype.q1)
Example #3
0
    def assign_charges(self, s, charges='gasteiger'):
        """pysimm.forcefield.Gaff.assign_charges

        Charge assignment. Gasteiger is default for now.

        Args:
            s: :class:`~pysimm.system.System`
            charges: gasteiger

        Returns:
            None
        """
        if charges == 'gasteiger':
            print('adding gasteiger charges')
            gasteiger.set_charges(s)