def __init__(self, system, alpha, gcut=0.35): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. gcut The cutoff in reciprocal space. ''' ForcePart.__init__(self, 'ewald_reci', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell.') if system.charges is None: raise ValueError('The system does not have charges.') if system.dipoles is None: raise ValueError('The system does not have dipoles.') self.system = system self.alpha = alpha self.gcut = gcut self.update_gmax() self.work = np.empty(system.natom*2) if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' gcut: %s' % log.invlength(self.gcut)) log.hline()
def __init__(self, system, alpha, gcut=0.35): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. gcut The cutoff in reciprocal space. ''' ForcePart.__init__(self, 'ewald_reci', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell.') if system.charges is None: raise ValueError('The system does not have charges.') if system.dipoles is None: raise ValueError('The system does not have dipoles.') self.system = system self.alpha = alpha self.gcut = gcut self.update_gmax() self.work = np.empty(system.natom * 2) if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' gcut: %s' % log.invlength(self.gcut)) log.hline()
def __init__(self, system, alpha, gcut=0.35, dielectric=1.0, exclude_frame=False, n_frame=0): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. **Optional arguments:** gcut The cutoff in reciprocal space. dielectric The scalar relative permittivity of the system. exclude_frame A boolean to exclude framework-framework interactions (exclude_frame=True) for efficiency sake in MC simulations. n_frame Number of framework atoms. This parameter is used to exclude framework-framework neighbors when exclude_frame=True. ''' ForcePart.__init__(self, 'ewald_reci', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell.') if system.charges is None: raise ValueError('The system does not have charges.') self.system = system self.alpha = alpha self.gcut = gcut self.dielectric = dielectric self.update_gmax() self.work = np.empty(system.natom * 2) if exclude_frame == True and n_frame < 0: raise ValueError( 'The number of framework atoms to exclude must be positive.') elif exclude_frame == False: n_frame = 0 self.n_frame = n_frame if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' gcut: %s' % log.invlength(self.gcut)) log(' relative permittivity: %5.3f' % self.dielectric) log.hline()
def __init__(self, system, alpha, gcut=0.35, dielectric=1.0, exclude_frame=False, n_frame=0): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. **Optional arguments:** gcut The cutoff in reciprocal space. dielectric The scalar relative permittivity of the system. exclude_frame A boolean to exclude framework-framework interactions (exclude_frame=True) for efficiency sake in MC simulations. n_frame Number of framework atoms. This parameter is used to exclude framework-framework neighbors when exclude_frame=True. ''' ForcePart.__init__(self, 'ewald_reci', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell.') if system.charges is None: raise ValueError('The system does not have charges.') self.system = system self.alpha = alpha self.gcut = gcut self.dielectric = dielectric self.update_gmax() self.work = np.empty(system.natom*2) if exclude_frame == True and n_frame < 0: raise ValueError('The number of framework atoms to exclude must be positive.') elif exclude_frame == False: n_frame = 0 self.n_frame = n_frame if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' gcut: %s' % log.invlength(self.gcut)) log(' relative permittivity: %5.3f' % self.dielectric) log.hline()
def __init__(self, system, alpha, dielectric=1.0): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. **Optional arguments:** dielectric The scalar relative permittivity of the system. ''' ForcePart.__init__(self, 'ewald_neut', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell') if system.charges is None: raise ValueError('The system does not have charges.') self.system = system self.alpha = alpha self.dielectric = dielectric if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' relative permittivity: %5.3f' % self.dielectric) log.hline()
def __init__(self, system, alpha, scalings): ''' **Arguments:** system The system to which this interaction applies. alpha The alpha parameter in the Ewald summation method. scalings A ``Scalings`` object. This object contains all the information about the energy scaling of pairwise contributions that are involved in covalent interactions. See :class:`yaff.pes.scalings.Scalings` for more details. ''' ForcePart.__init__(self, 'ewald_cor', system) if not system.cell.nvec == 3: raise TypeError('The system must have a 3D periodic cell') if system.charges is None: raise ValueError('The system does not have charges.') self.system = system self.alpha = alpha self.scalings = scalings if log.do_medium: with log.section('FPINIT'): log('Force part: %s' % self.name) log.hline() log(' alpha: %s' % log.invlength(self.alpha)) log(' scalings: %5.3f %5.3f %5.3f' % (scalings.scale1, scalings.scale2, scalings.scale3)) log.hline()