pyprocar.pyposcar.Poscar#
- class pyprocar.pyposcar.Poscar(filename: str = 'POSCAR', verbose: bool = False)[source]#
A low-level class to store a crystal structure input (tailored for VASP).
If modified manually, the ‘Cartesian’ and ‘direct’ coords must be updated together all the time by using _set_cartesian or _set_direct.
The scaling factor, is internally set to 1.0, always. ie, the scaling is included into the lattice.
The units are Angstroms.
Methods:
parse(self) # loads the whole file _set_cartesian(self) # set direct -> cartesian (internal) _set_direct(self) # set cartesian -> direct (internal) _unparse(self, direct) # data to string, use write() instead write(self, filename, direct) # saves the class to a POSCAR-like file xyz(self, filename) # saves a xyz file from the data sort(self) # sorts the atoms, grouping them by element remove() # removes one or more atoms from poscar add(position, element, direct) # add one atom, only one each the time
Methods
Poscar.__init__
([filename, verbose])The file is not automatically loaded, you need to run self.parse()
Poscar.add
(position, element[, direct, ...])Adds one atom to the class.
Poscar.load_from_data
(direct_positions, ...)It loades the Poscar class with essencial data.
Poscar.parse
([fromString])Loads into memory all the content of the POSCAR file.
Poscar.remove
(atoms)Remove one or more atoms.
This method updates the internal arrays related to elements and atoms per element.
Poscar.write
([filename, direct])Writes a poscar file with the information stored in the class.
Poscar.xyz
(filename)Writes an xyz file, the lattice is written as a comment line