pyprocar.core package¶
Submodules¶
pyprocar.core.dos module¶
Created on Wed Aug 19 20:49:03 2020
@author: Pedram Tavadze, Logan Lang
- class pyprocar.core.dos.DensityOfStates(energies=None, total=None, projected=None, interpolation_factor=None)[source]¶
Bases:
object- Attributes
- ndos
Methods
dos_sum([atoms, principal_q_numbers, ...])- dos_sum(atoms=None, principal_q_numbers=[- 1], orbitals=None, spins=None)[source]¶
- Parameters
atoms (list int, optional) – list of atom index needed to be sumed over. count from zero with the same order as input. The default is None.
principal_q_numbers (list int, optional) – list of . The default is [-1].
orbitals (TYPE, optional) – DESCRIPTION. The default is None.
spins (TYPE, optional) – DESCRIPTION. The default is None.
- Returns
ret – .
- Return type
list float
- property ndos¶
- pyprocar.core.dos.interpolate(x, y, factor=2)[source]¶
Interplates the function y=f(x) by increasing the x points by the factor.
- Parameters
x (list float) – points of x.
y (list float) – points of y=f(x).
factor (int, optional) – Multiplies the number of x points by this factor. The default is 2.
- Returns
xs (list float) – points in which y was interpolated.
ys (list float) – interpolated points.
pyprocar.core.elements module¶
- pyprocar.core.elements.atomic_mass(element)[source]¶
Given a element symbol or element atomic number returns atomic mass. :param element: atomic symbol or atomic number. :type element: int,str
- Returns
atomic mass.
- Return type
float
pyprocar.core.isosurface module¶
- class pyprocar.core.isosurface.Isosurface(XYZ=None, V=None, isovalue=None, V_matrix=None, algorithm='lewiner', interpolation_factor=1, padding=None, transform_matrix=None, boundaries=None)[source]¶
Bases:
pyprocar.core.surface.Surface- Attributes
XReturns ——- TYPE numpy array DESCRIPTION.
YReturns ——- TYPE numpy array DESCRIPTION.
ZReturns ——- TYPE numpy array DESCRIPTION.
center_of_massCenter of mass of the vertices.
centersCenters of faces Returns ——- centers : list of floats (n,3) A list of centers of faces.
dxyzReturns ——- list DESCRIPTION.
nXReturns ——- TYPE int DESCRIPTION.
nYReturns ——- TYPE int DESCRIPTION.
nZReturns ——- TYPE int DESCRIPTION.
nfacesNumber of faces Returns ——- int Number of faces in the surface.
nvertsNumber or vertices.
surface_boundariesThis function tries to find the isosurface using no interpolation to find the
Methods
clip(S1, S2)This function clips S1 using the boundaries of S2 and returns
export([file_obj, file_type])This function uses the export function from trimesh
set_color_with_cmap([cmap, vmin, vmax])Sets colors for the trimesh object using the color map provided
set_scalars(scalars)Sets/Updates the scalars of the surface.
set_vectors
- property X¶
returns: DESCRIPTION. list of grids in X direction :rtype: TYPE numpy array
- property Y¶
returns: DESCRIPTION. list of grids in Y direction :rtype: TYPE numpy array
- property Z¶
returns: DESCRIPTION. list of grids in Z direction :rtype: TYPE numpy array
- clip(S1, S2)[source]¶
This function clips S1 using the boundaries of S2 and returns
- Parameters
S1 (TYPE pyprocar surface) – DESCRIPTION.
S2 (TYPE pyprocar surface) – DESCRIPTION.
- Returns
- Return type
verts,faces
- property dxyz¶
returns: DESCRIPTION. length between points in each direction :rtype: list
- property nX¶
returns: DESCRIPTION. number of points in the grid in X direction :rtype: TYPE int
- property nY¶
returns: DESCRIPTION. number of points in the grid in Y direction :rtype: TYPE int
- property nZ¶
returns: DESCRIPTION. number of points in the grid in Z direction :rtype: TYPE int
- property surface_boundaries¶
This function tries to find the isosurface using no interpolation to find the correct positions of the surface to be able to shift to the interpolated one to the correct position
- Returns
DESCRIPTION. [(mins[0],maxs[0]),(mins[1],maxs[1]),(mins[2],maxs[2])]
- Return type
list of tuples
pyprocar.core.structure module¶
- class pyprocar.core.structure.Structure(atoms=None, cartesian_coordinates=None, fractional_coordinates=None, lattice=None)[source]¶
Bases:
object- Attributes
- a
- alpha
atomic_numbersList of atomic numbers
- b
- beta
- c
- cell_convex_hull
densityDensity of the cell.
- gamma
- lattice_corners
masseslist of masses of each atom.
natomsNumber of atoms
nspeciesNumber of species present in the cell.
- reciprocal_lattice
specieslist of different species present in the cell.
volumeVolume of the unit cell.
Methods
get_space_group_international
get_space_group_number
get_spglib_symmetry_dataset
get_wyckoff_positions
is_point_inside
plot_cell_convex_hull
supercell
transform
- property a¶
- property alpha¶
- property atomic_numbers¶
List of atomic numbers
- Returns
List of atomic numbers.
- Return type
list
- property b¶
- property beta¶
- property c¶
- property cell_convex_hull¶
- property density¶
Density of the cell.
- Returns
Density of the cell.
- Return type
float
- property gamma¶
- property lattice_corners¶
- property masses¶
list of masses of each atom.
- Returns
Masses of each atom.
- Return type
list float
- property natoms¶
Number of atoms
- Returns
Number of atoms.
- Return type
int
- property nspecies¶
Number of species present in the cell.
- Returns
Number of species present in the cell.
- Return type
int
- property reciprocal_lattice¶
- property species¶
list of different species present in the cell.
- Returns
List of different species present in the cell.
- Return type
list str
- property volume¶
Volume of the unit cell.
- Returns
Volume of the unit cell(m).
- Return type
float
pyprocar.core.surface module¶
- class pyprocar.core.surface.Surface(verts=None, faces=None, face_normals=None, vert_normals=None, face_colors=None, vert_colors=None, vectors=None, scalars=None)[source]¶
Bases:
objectSurface is a class that holds information about a surface To create a surface the minimum requirements are verts and faces
- Parameters
verts (list of float (nverts,3)) – The list of verticies that create the surface.
faces (list of integers (nfaces,3)) – The default is None. The list of connectivity between verts that create the surface.
face_normals (list of float (nfaces,3)) – The list of normal vectors to each face.
vert_normals (list of float (nverts,3)) – The list of normal vectors to each vertex.
face_colors (list of tuples floats (nfaces,3)) – The list of colors of each face. example:
face_colors=[(1,0,0),(1,0.5,0),...,(1,0,0)]vert_colors (list of tuples floats (nfaces,3)) – The list of colors of each vertex.
vectors (list of floats (nfaces,3)) – The list of vectors one wants to attach to the surface(glyphs) Only useful in pyvista objects
scalars (list of floats (nfaces,)) – The list of scalars for each face. This can represent the color using a color map
- Attributes
center_of_massCenter of mass of the vertices.
centersCenters of faces Returns ——- centers : list of floats (n,3) A list of centers of faces.
nfacesNumber of faces Returns ——- int Number of faces in the surface.
nvertsNumber or vertices.
Methods
export([file_obj, file_type])This function uses the export function from trimesh
set_color_with_cmap([cmap, vmin, vmax])Sets colors for the trimesh object using the color map provided
set_scalars(scalars)Sets/Updates the scalars of the surface.
set_vectors
- property center_of_mass¶
Center of mass of the vertices. :returns: Center of mass of vertices. :rtype: list float
- property centers¶
Centers of faces :returns: centers – A list of centers of faces. :rtype: list of floats (n,3)
- export(file_obj='output.glb', file_type='glb')[source]¶
This function uses the export function from trimesh
- Parameters
file_obj (TYPE, optional) – DESCRIPTION. The default is ‘output.glb’.
file_type (TYPE, optional) – DESCRIPTION. The default is ‘glb’.
- Returns
- Return type
None.
- property nfaces¶
Number of faces :returns: Number of faces in the surface. :rtype: int
- property nverts¶
Number or vertices. :returns: Number of verticies in in the surface. :rtype: int
- set_color_with_cmap(cmap='viridis', vmin=None, vmax=None)[source]¶
Sets colors for the trimesh object using the color map provided
- Parameters
cmap (TYPE, string) – DESCRIPTION. The default is ‘viridis’.
vmin (TYPE, float) – DESCRIPTION. The default is None.
vmax (TYPE, optional) – DESCRIPTION. The default is None.
- pyprocar.core.surface.boolean_add(surfaces)[source]¶
This functtion uses boolean add from PyVista
- Parameters
surfaces (TYPE list of pyprocar.Surface) – DESCRIPTION.
- Returns
surf – DESCRIPTION. The unionized surface from surfaces
- Return type
TYPE pyprocar surface
- pyprocar.core.surface.convert_from_pyvista_faces(pyvista_obj)[source]¶
pyvista mesh faces are written in a 1d array, This function returns faces in a conventional way. A list of lists, where each list contains integers numbers of vert conections
- Parameters
pyvista_obj (TYPE PyVista mesh) – DESCRIPTION.
- Returns
new_faces (TYPE list of lists) – DESCRIPTION. A list of lists, where each list contains integers numbers of
vert conections