Exemple #1
0
    def __init__(self, name = None):
        """Initialize a new System object. This must be run before the system can be used.

        Args:
            name (str): The name of the system

        >>> print __init__(name='sysname')
        """
        if name:
            self._name = name
        else:
            self._name = "Untitled"

        self._nbFunc = 0
        self._combinationRule = 0
        self._genpairs = 'yes' 
        self._ljCorrection = 0
        self._coulombCorrection = 0
        self._molecules = OrderedDict()
        self._atomtypes = HashMap()
        self._forces = OrderedSet()
        self._boxVector = np.zeros([3,3])
Exemple #2
0
class System(object):
    _sys = None
    def __init__(self, name = None):
        """Initialize a new System object. This must be run before the system can be used.

        Args:
            name (str): The name of the system

        >>> print __init__(name='sysname')
        """
        if name:
            self._name = name
        else:
            self._name = "Untitled"

        self._nbFunc = 0
        self._combinationRule = 0
        self._genpairs = 'yes' 
        self._ljCorrection = 0
        self._coulombCorrection = 0
        self._molecules = OrderedDict()
        self._atomtypes = HashMap()
        self._forces = OrderedSet()
        self._boxVector = np.zeros([3,3])


    def addMolecule(self, molecule):
        """Append a molecule into the System.

        Args:
            molecule (Molecule): The molecule object to be appended
        """
        # if key is in the dictionary, return its value. If not, insert key with a value of default and return default.
        self._molecules.setdefault(molecule.name,MoleculeType(molecule.name)).addMolecule(molecule)

    def removeMoleculeType(self, molecule):
        """Remove a molecule from the System.

        Args:
           molecule (Molecule): The molecule object to be removed
        """
        self._molecules[molecule.name].remove(molecule)

    def getBoxVector(self):
        """Get the box vector coordinates
        """
        return self._boxVector


    def setBoxVector(self, v):
        """Sets the boxvector for the system. Assumes the box vector is in the correct form. [[v1x,v2x,v3x],[v1y,v2y,v3y],[v1z,v2z,v3z]]
        """
        self._boxVector = v

    def __str__(self):
        """String representation of a System object
        """
        return "System: " + self.name

    def __repr__(self):
        """String representation of a System object
        """
        return "System: " + self.name