diff --git a/.gitignore b/.gitignore
index ab995b0..9769ec9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -144,15 +144,14 @@ dmypy.json
Affinity/
.vscode/settings.json
-# Miscellaneous
-shakenbreak/.vscode/settings.json
-snb_test.ipynb
-
# Sourcery
.sourcery.yaml
# Conda Packaging Notes
conda_packaging.md
+# Miscellaneous
docs/_build/*
-docs/_build/html
\ No newline at end of file
+docs/_build/doctrees/*
+docs/_build/html/
+docs/_build/_sources/
\ No newline at end of file
diff --git a/docs/_build/doctrees/environment.pickle b/docs/_build/doctrees/environment.pickle
index 52e9fe6..9c6c460 100644
Binary files a/docs/_build/doctrees/environment.pickle and b/docs/_build/doctrees/environment.pickle differ
diff --git a/docs/_build/doctrees/index.doctree b/docs/_build/doctrees/index.doctree
index a54f89a..be6fbd6 100644
Binary files a/docs/_build/doctrees/index.doctree and b/docs/_build/doctrees/index.doctree differ
diff --git a/docs/_build/doctrees/macrodensity.alpha.doctree b/docs/_build/doctrees/macrodensity.alpha.doctree
index 8ccc124..ba637c1 100644
Binary files a/docs/_build/doctrees/macrodensity.alpha.doctree and b/docs/_build/doctrees/macrodensity.alpha.doctree differ
diff --git a/docs/_build/doctrees/macrodensity.density.doctree b/docs/_build/doctrees/macrodensity.density.doctree
index d05d23a..51084f8 100644
Binary files a/docs/_build/doctrees/macrodensity.density.doctree and b/docs/_build/doctrees/macrodensity.density.doctree differ
diff --git a/docs/_build/doctrees/macrodensity.doctree b/docs/_build/doctrees/macrodensity.doctree
index 0c25695..8b28d36 100644
Binary files a/docs/_build/doctrees/macrodensity.doctree and b/docs/_build/doctrees/macrodensity.doctree differ
diff --git a/docs/_build/doctrees/macrodensity.plotting.doctree b/docs/_build/doctrees/macrodensity.plotting.doctree
index 51cb1dc..df7a183 100644
Binary files a/docs/_build/doctrees/macrodensity.plotting.doctree and b/docs/_build/doctrees/macrodensity.plotting.doctree differ
diff --git a/docs/_build/html/_sources/index.rst b/docs/_build/html/_sources/index.rst
index f40d8a1..f0a8931 100644
--- a/docs/_build/html/_sources/index.rst
+++ b/docs/_build/html/_sources/index.rst
@@ -6,9 +6,7 @@
Welcome to MacroDensity
=======================
-Summary
-=======
-``MacroDensity`` is a Python package to read and process electrostatic potential and
+``MacroDensity`` is a Python package to post-process electrostatic potential and
electron density files from electronic structure calculations and plot in a number of ways, including:
1. Planar average
diff --git a/docs/_build/html/genindex.html b/docs/_build/html/genindex.html
index ade8d0b..3f05cfb 100644
--- a/docs/_build/html/genindex.html
+++ b/docs/_build/html/genindex.html
@@ -271,9 +271,7 @@
Index
-
B
- |
C
- |
D
+
D
|
E
|
G
|
I
@@ -281,33 +279,12 @@
Index
|
N
|
O
|
P
- |
R
|
S
|
T
|
U
|
V
-B
-
-
-C
-
-
D
@@ -326,12 +301,6 @@ E
@@ -342,12 +311,10 @@ G
GCD() (in module macrodensity.density)
GCD_List() (in module macrodensity.density)
-
- get_band_extrema() (in module macrodensity.vasp)
- get_third_coordinate() (in module macrodensity.alpha)
+ get_band_extrema() (in module macrodensity.vasp)
get_volume() (in module macrodensity.density)
@@ -368,31 +335,10 @@ M
- macrodensity
-
-
-
- macrodensity.alpha
-
-
-
macrodensity.density
-
- macrodensity.plotting
-
-
@@ -406,31 +352,19 @@ M
@@ -458,46 +392,10 @@ P
-
-R
-
@@ -505,8 +403,6 @@ R
S
T
-
travelling_volume_average() (in module macrodensity.density)
diff --git a/docs/_build/html/index.html b/docs/_build/html/index.html
index 4c67086..55cb340 100644
--- a/docs/_build/html/index.html
+++ b/docs/_build/html/index.html
@@ -315,8 +315,7 @@ Contents
-Welcome to MacroDensity
-Summary
+Welcome to MacroDensity
@@ -347,10 +346,7 @@ Contents
Welcome to MacroDensity
-
-
-Summary
-MacroDensity
is a Python package to read and process electrostatic potential and
+
MacroDensity
is a Python package to post-process electrostatic potential and
electron density files from electronic structure calculations and plot in a number of ways, including:
Planar average
@@ -471,8 +467,7 @@ Indices and tables
diff --git a/docs/_build/html/macrodensity.density.html b/docs/_build/html/macrodensity.density.html
index 4773365..f88f2b5 100644
--- a/docs/_build/html/macrodensity.density.html
+++ b/docs/_build/html/macrodensity.density.html
@@ -332,10 +332,6 @@ Contents
one_2_2d()
planar_average()
planar_average_charge()
-read_gulp_potential()
-read_vasp_density()
-read_vasp_density_classic()
-read_vasp_parchg()
travelling_volume_average()
vector_2_abscissa()
volume_average()
@@ -397,7 +393,7 @@ macrodensity.density module
Convert density data to a 3D grid.
Parameters: Density (np.ndarray): 1D array representing the density data.
@@ -675,137 +671,6 @@ macrodensity.density module
-
-
-macrodensity.density. read_gulp_potential ( gulpfile: str = 'gulp.out') -> (<class 'numpy.ndarray'> , <class 'int'> , <class 'int'> , <class 'int'> , <class 'numpy.ndarray'> )
-Read electrostatic potential data from a GULP output file.
-
-Parameters: gulpfile (str, optional): Path to the GULP output file (gulp.out). Default is ‘gulp.out’.
-
-Returns:
-tuple: A tuple containing:
-np.ndarray: 1D array representing the electrostatic potential data.
-int: Number of grid points along the x-axis (NGX).
-int: Number of grid points along the y-axis (NGY).
-int: Number of grid points along the z-axis (NGZ).
-np.ndarray: 3x3 array representing the Cartesian lattice vectors.
-
-
-
-
-Example: >>> gulpfile = 'path/to/gulp.out'
->>> potential , NGX , NGY , NGZ , lattice = read_gulp_potential ( gulpfile )
->>> print ( "Electrostatic Potential Data:" , potential )
->>> print ( "Number of Grid Points (NGX, NGY, NGZ):" , NGX , NGY , NGZ )
->>> print ( "Lattice Vectors:" )
->>> print ( lattice )
-
-
-
-
-
-
-
-
-macrodensity.density. read_vasp_density ( FILE: str , use_pandas: bool = None , quiet: bool = False) -> (<class 'numpy.ndarray'> , <class 'int'> , <class 'int'> , <class 'int'> , <class 'numpy.ndarray'> )
-Read density data from a VASP CHGCAR-like file.
-
-Parameters: FILE (str): Path to the CHGCAR-like file.
-use_pandas (bool or None, optional): If True, use Pandas to read 3D data (recommended for large files). If False, use np. If None, automatically use Pandas if available. Default is None.
-quiet (bool, optional): If True, suppress print statements during reading. Default is False.
-
-Returns:
-tuple:
-np.ndarray: 1D array representing the potential data.
-int: Number of grid points along the x-axis (NGX).
-int: Number of grid points along the y-axis (NGY).
-int: Number of grid points along the z-axis (NGZ).
-np.ndarray: 3x3 array representing the lattice vectors.
-
-
-
-
-Example: >>> FILE = "path/to/your/CHGCAR_file"
->>> potential_data , NGX , NGY , NGZ , lattice = read_vasp_density ( FILE )
->>> print ( "Potential Data:" )
->>> print ( potential_data )
->>> print ( "Number of grid points along x, y, z axes:" , NGX , NGY , NGZ )
->>> print ( "Lattice Vectors:" )
->>> print ( lattice )
-
-
-
-
-
-
-
-
-macrodensity.density. read_vasp_density_classic ( FILE: str) -> (<class 'numpy.ndarray'> , <class 'int'> , <class 'int'> , <class 'int'> , <class 'numpy.ndarray'> )
-Read density data from a classic VASP-style file.
-
-Parameters: FILE (str): Path to the density file.
-
-Returns:
-tuple: A tuple containing:
-np.ndarray: 1D array representing the potential data.
-int: Number of grid points along the x-axis (NGX).
-int: Number of grid points along the y-axis (NGY).
-int: Number of grid points along the z-axis (NGZ).
-np.ndarray: 3x3 array representing the lattice vectors.
-
-
-
-
-Example: >>> FILE = "path/to/classic-VASP-density-file"
->>> potential , NGX , NGY , NGZ , lattice = read_vasp_density_classic ( FILE )
->>> print ( "Potential Data:" , potential )
->>> print ( "Number of Grid Points (NGX, NGY, NGZ):" , NGX , NGY , NGZ )
->>> print ( "Lattice Vectors:" )
->>> print ( lattice )
-
-
-
-
-
-
-
-
-macrodensity.density. read_vasp_parchg ( FILE: str , use_pandas: bool = None , quiet: bool = False , spin: bool = False) -> (<class 'numpy.ndarray'> , <class 'int'> , <class 'int'> , <class 'int'> , <class 'numpy.ndarray'> )
-Read density data or spin-polarized partial density data from a VASP PARCHG-like file.
-
-Parameters: FILE (str): Path to the PARCHG-like file.
-use_pandas (bool or None, optional): If True, use Pandas to read 3D data (recommended for large files). If False, use np. If None, automatically use Pandas if available. Default is None.
-quiet (bool, optional): If True, suppress print statements during reading. Default is False.
-spin (bool, optional): If True, read spin-polarized partial densities. Default is False.
-
-Returns:
-tuple: A tuple containing:
-list or np.ndarray: List containing np arrays representing the density data for each spin channel, or np.ndarray for the total density if spin is False.
-int: Number of grid points along the x-axis (NGX).
-int: Number of grid points along the y-axis (NGY).
-int: Number of grid points along the z-axis (NGZ).
-np.ndarray: 3x3 array representing the lattice vectors.
-
-
-
-
-Example: >>> FILE = "path/to/PARCHG-like-file"
->>> density , NGX , NGY , NGZ , lattice = read_vasp_parchg ( FILE )
->>> if isinstance ( density , list ):
- print("Spin-polarized Partial Densities:")
- for i, spin_density in enumerate(density):
- print(f"Spin {i+1} Density Data:", spin_density)
->>> else :
- print("Total Density Data:", density)
->>> print ( "Number of Grid Points (NGX, NGY, NGZ):" , NGX , NGY , NGZ )
->>> print ( "Lattice Vectors:" )
->>> print ( lattice )
-
-
-
-
-
-
macrodensity.density. travelling_volume_average ( grid : ndarray , cube : tuple , origin : tuple , vector : list , nx : int , ny : int , nz : int , magnitude : int ) → ndarray
@@ -860,7 +725,7 @@ macrodensity.density module
Calculate the volume average and variance of a cube in a 3D grid.
Parameters: origin (tuple): Coordinates of the origin point.
@@ -954,10 +819,6 @@ macrodensity.density moduleone_2_2d()
planar_average()
planar_average_charge()
-read_gulp_potential()
-read_vasp_density()
-read_vasp_density_classic()
-read_vasp_parchg()
travelling_volume_average()
vector_2_abscissa()
volume_average()
diff --git a/docs/_build/html/macrodensity.html b/docs/_build/html/macrodensity.html
index 83ff040..8bff18e 100644
--- a/docs/_build/html/macrodensity.html
+++ b/docs/_build/html/macrodensity.html
@@ -316,7 +316,7 @@ Contents
@@ -331,36 +331,15 @@ Contents
MacroDensity Package
-
-Module contents
-MacroDensity is a package to read, process and plot electrostatic potential and electron density
-files from electronic structure calculations.
+
Submodules
diff --git a/docs/_build/html/macrodensity.plotting.html b/docs/_build/html/macrodensity.plotting.html
index a90d88d..195d3fe 100644
--- a/docs/_build/html/macrodensity.plotting.html
+++ b/docs/_build/html/macrodensity.plotting.html
@@ -316,18 +316,7 @@ Contents
@@ -341,266 +330,8 @@ Contents
macrodensity.plotting module
-
-Module Description
-macrodensity.plotting contains different types of plotting functions such as band alignment diagrams and potentials at different grid points.
-
-
-macrodensity.plotting. energy_band_alignment_diagram ( energies : list , materials : list , limit : float = 8.0 , width : float = 1.0 , cols : list = ['#74356C', '#efce19'] , textsize : int = 22 , arrowhead : float = 0.7 , outfile : str = 'BandAlignment' , references : list = [] , edge = None ) → None
-Plot an energy band alignment diagram for a list of materials.
-
-Parameters: energies (list): A list of tuples containing the ionization potential (IP) and electron affinity (EA) of each material. The format is [(IP_1, EA_1), …].
-materials (list): A list of material names corresponding to each set of energies.
-limit (float, optional): The limit for the energy axis (in eV). Default is 8.0.
-width (float, optional): The width of the bars representing IP and EA. Default is 1.0.
-cols (list, optional): A list of colors to use for the bars. Default is [‘#74356C’,’#efce19’].
-textsize (int, optional): The font size for the text in the plot. Default is 22.
-arrowhead (float, optional): The size of the arrowhead for the energy arrows. Default is 0.7.
-outfile (str, optional): The base name for the output file (both .eps and .png files will be saved). Default is ‘BandAlignment’.
-references (list, optional): A list of reference points (as tuples) to be shown as dashed lines on the plot. Each tuple should be in the format (reference_value, label). Default is an empty list.
-edge (None or str, optional): The edge color for the bars. If None, there will be no edge color. Default is None.
-
-Returns: None: The function generates and displays the energy band alignment diagram.
-
-Example: >>> energies = [( 5.2 , 2.8 ), ( 4.9 , 3.1 ), ( 5.5 , 2.6 )]
->>> materials = [ 'Material A' , 'Material B' , 'Material C' ]
->>> energy_band_alignment_diagram ( energies , materials , limit = 8.0 , width = 0.8 ,
- cols=['#74356C', '#efce19'], textsize=18,
- arrowhead=0.5, outfile='BandAlignment',
- references=[(3.0, 'Reference 1'), (4.0, 'Reference 2')],
- edge='black')
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_active_plane ( cube_size : list , cube_origin : list , tolerance : float = 0.0001 , input_file : str = 'LOCPOT' , grad_calc : bool = False ) → None
-Plot the active plane with contour and planar average of the electric field and potential.
-
-Parameters: cube_size (list): The size of the cube used for sampling the active plane.
-cube_origin (list): The origin point of the cube in fractional coordinates.
-tolerance (float, optional): The cutoff variance for identifying active and non-active cubes. Default is 1E-4.
-input_file (str, optional): The filename of the VASP LOCPOT file containing the electrostatic potential. Default is ‘LOCPOT’.
-grad_calc (bool): if True , calculates the gradient of the field. Default is False due to computational expense
-
-Returns: None
-
-Note:
-The function reads the electrostatic potential from the specified VASP LOCPOT file.
-The active plane is determined by sampling the potential in a cube around the cube_origin point.
-The cutoff_varience parameter sets the threshold for distinguishing active and non-active cubes based on their variance in potential.
-The function creates a contour plot of the electric field on the active plane.
-It also plots the planar average of the electric field and potential throughout the material.
-
-
-
-
-
-
-
-macrodensity.plotting. plot_active_space ( cube_size: list , cube_origin: list , tolerance: float = 0.0001 , input_file='LOCPOT' , print_output=True , plot_pot=False) -> (<class 'int'> , <class 'int'> )
-Plot the active space (vacuum and non-vacuum regions) based on potential variations.
-This function analyzes the potential variations within the specified cubes of the given size
-and determines whether each cube belongs to the vacuum or non-vacuum region based on the provided tolerance.
-This function also plots the cube potentials of vacuum and non vacuum cubes.
-
-Parameters: cube_size (list of int): The size of the cubes in units of mesh points (NGX/Y/Z) for analysis.
-cube_origin (list of float): The starting point (origin) of the cubes in fractional coordinates (range [0, 1]).
-tolerance (float, optional): The cutoff variance value to distinguish vacuum from non-vacuum cubes. Default is 1E-4.
-input_file (str, optional): The file with VASP output for potential. Default is ‘LOCPOT’.
-print_output (bool, optional): Whether to print the analysis results. Default is True.
-plot_pot (bool, optional): Whether to plot vacuum and non vacuum potential in a scatter (VOXEL) plot. Default is False.
-
-Returns: tuple: A tuple containing the number of cubes identified as vacuum and non-vacuum regions.
-
-Note: The function calculates the potential variation within each cube and compares it to the tolerance value.
-Cubes with potential variations below the tolerance are considered vacuum regions, while others are non-vacuum regions.
-
-Example: >>> cube_size = [ 2 , 2 , 2 ]
->>> cube_origin = [ 0.0 , 0.0 , 0.0 ]
->>> plot_active_space ( cube_size , cube_origin , tolerance = 1E-5 )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_field_at_point ( a_point : list , b_point : list , c_point : list , input_file : str = 'LOCPOT' , grad_calc : bool = False ) → None
-UNDER DEVELOPMENT. FULL OF BUGS (BEWARE)
-Plot the electric field magnitude and direction on a user-defined plane.
-This function plots the electric field magnitude and direction on a user-defined plane defined by three points: a_point, b_point, and c_point. The function reads the electronic potential data from the specified input file (e.g., LOCPOT) and calculates the electric field (gradient of the potential).
-The electric field is then visualized by plotting contours of the electric field magnitude and arrows indicating the direction of the electric field on the defined plane.
-
-Parameters: a_point (list): The fractional coordinates of the first point defining the plane.
-b_point (list): The fractional coordinates of the second point defining the plane.
-c_point (list): The fractional coordinates of the third point defining the plane.
-input_file (str, optional): The filename of the file containing the electronic potential (e.g., LOCPOT). Default is ‘LOCPOT’.
-grad_calc (bool): if True , calculates the gradient of the field. Default is False due to computational expense
-
-Returns: None: This function directly plots the electric field visualization.
-
-Example: >>> a_point = [ 0.1 , 0.2 , 0.3 ]
->>> b_point = [ 0.4 , 0.5 , 0.6 ]
->>> c_point = [ 0.7 , 0.8 , 0.9 ]
->>> input_file = 'LOCPOT'
->>> plot_field_at_point ( a_point , b_point , c_point , input_file )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_gulp_potential ( lattice_vector: float , input_file: str = 'gulp.out' , output_file: str = 'GulpPotential.csv' , img_file: str = 'GulpPotential.png' , new_resolution: int = 3000) -> (<class 'numpy.float64'> , <class 'numpy.float64'> , <class 'list'> )
-Plot GULP potential analysis results.
-This function reads GULP potential data from the specified input file and performs a planar average
-as well as a macroscopic average. It then generates a plot comparing the planar and macroscopic averages,
-along with an interpolated curve for better visualization.
-
-Parameters: lattice_vector (float): The repeating unit over which the potential is averaged to get the macroscopic average (Angstroms).
-input_file (str, optional): The filename of the GULP output file containing potential data. Default is ‘gulp.out’.
-output_file (str, optional): Name of the output data file to store the planar average. Default is ‘GulpPotential.csv’.
-img_file (str, optional): Name of the output image file for the generated plot. Default is ‘GulpPotential.png’.
-new_resolution (int, optional): The number of grid points used for the interpolated curve. Default is 3000.
-
-Returns: tuple: A tuple containing the planar average, macroscopic average, and the interpolated potential curve.
-
-Example: >>> lattice_vector = 20.0
->>> input_file = 'gulp.out'
->>> output_file = 'GulpPotential.csv'
->>> img_file = 'GulpPotential.png'
->>> new_resolution = 5000
->>> planar_avg , macro_avg , interpolated_potential = plot_gulp_potential ( lattice_vector , input_file , output_file , img_file , new_resolution )
-... ( plot generated and data saved to 'GulpPotential.png' and 'GulpPotential.csv' )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_on_site_potential ( species : str , sample_cube : list , potential_file : str = 'LOCPOT' , coordinate_file : str = 'POSCAR' , output_file : str = 'OnSitePotential.csv' , img_file : str = 'OnSitePotential.png' ) → list
-Plot on-site electrostatic potential for a specific species.
-This function reads the electronic potential from the specified VASP output file (LOCPOT) and the atomic coordinates
-from the POSCAR file. It then calculates the on-site electrostatic potential for the specified species and generates
-a histogram to visualize its distribution across the sample cube.
-
-Parameters: species (str): The chemical symbol of the species whose on-site potential is of interest.
-sample_cube (list of int): The size of the sampling cube in units of mesh points (NGX/Y/Z).
-potential_file (str, optional): The filename of the VASP output file containing the electronic potential (LOCPOT). Default is ‘LOCPOT’.
-coordinate_file (str, optional): The filename of the POSCAR file containing atomic coordinates. Default is ‘POSCAR’.
-output_file (str, optional): Name of the output data file to store the on-site potential values. Default is ‘OnSitePotential.csv’.
-img_file (str, optional): Name of the output image file for the histogram plot. Default is ‘OnSitePotential.png’.
-
-Returns: list: A list containing the on-site electrostatic potential values for the specified species.
-
-Example: >>> species = 'O'
->>> sample_cube = [ 2 , 2 , 2 ]
->>> potential_file = 'LOCPOT'
->>> coordinate_file = 'POSCAR'
->>> output_file = 'OnSitePotential.csv'
->>> img_file = 'OnSitePotential.png'
->>> on_site_potential = plot_on_site_potential ( species , sample_cube , potential_file , coordinate_file , output_file , img_file )
-... ( plot generated and on - site potential data saved to 'OnSitePotential.png' and 'OnSitePotential.csv' )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_planar_average ( lattice_vector: float , input_file: str = 'LOCPOT' , output_file: str = 'PlanarAverage.csv' , img_file: str = 'PlanarAverage.png') -> (<class 'numpy.float64'> , <class 'numpy.float64'> )
-Plot planar and macroscopic average of the electronic potential.
-This function reads the electronic potential from the specified VASP output file (LOCPOT) and calculates the planar
-and macroscopic averages of the potential along the lattice vector direction. It then generates two plots: one for
-the planar average and another for the macroscopic average. The function also saves the data to a CSV file.
-
-Parameters: lattice_vector (float): The repeating unit over which the potential is averaged to get the macroscopic average (in Angstroms).
-input_file (str, optional): The filename of the VASP output file containing the electronic potential (LOCPOT). Default is ‘LOCPOT’.
-output_file (str, optional): Name of the output data file to store the planar and macroscopic average data. Default is ‘PlanarAverage.csv’.
-img_file (str, optional): Name of the output image file for the plots. Default is ‘PlanarAverage.png’.
-
-Returns:
-tuple: A tuple containing two arrays:
-
-
-
-Example: >>> lattice_vector = 15.0
->>> input_file = 'LOCPOT'
->>> output_file = 'PlanarAverage.csv'
->>> img_file = 'PlanarAverage.png'
->>> planar_avg , macro_avg = plot_planar_average ( lattice_vector , input_file , output_file , img_file )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_planar_cube ( input_file: str , lattice_vector: float , output_file: str = 'PlanarCube.csv' , img_file: str = 'PlanarCube.png') -> (<class 'numpy.float64'> , <class 'numpy.float64'> )
-Plot planar and macroscopic average of the electronic potential from a cube file.
-This function reads the electronic potential from the specified cube file and calculates the planar and macroscopic
-averages of the potential along the lattice vector direction. It then generates two plots: one for the planar average
-and another for the macroscopic average. The function also saves the data to a CSV file.
-
-Parameters: input_file (str): The filename of the cube file containing the electronic potential.
-lattice_vector (float): The repeating unit over which the potential is averaged to get the macroscopic average (in Angstroms).
-output_file (str, optional): Name of the output data file to store the planar and macroscopic average data. Default is ‘PlanarCube.csv’.
-img_file (str, optional): Name of the output image file for the plots. Default is ‘PlanarCube.png’.
-
-Returns:
-tuple: A tuple containing two arrays:
-
-
-
-Example: >>> input_file = 'potential.cube'
->>> lattice_vector = 15.0
->>> output_file = 'PlanarCube.csv'
->>> img_file = 'PlanarCube.png'
->>> planar_avg , macro_avg = plot_planar_cube ( input_file , lattice_vector , output_file , img_file )
-
-
-
-
-
-
-
-
-macrodensity.plotting. plot_plane_field ( a_point : list , b_point : list , c_point : list , input_file : str = 'LOCPOT' ) → None
-Plot the electric field on a user-defined plane and display it as a contour plot.
-
-Parameters: a_point (list): Fractional coordinates of the first point that defines the plane.
-b_point (list): Fractional coordinates of the second point that defines the plane.
-c_point (list): Fractional coordinates of the third point that defines the plane.
-input_file (str, optional): The filename of the VASP LOCPOT file containing the electrostatic potential. Default is ‘LOCPOT’.
-
-Returns: None
-
-Note:
-The function reads the electrostatic potential from the specified VASP LOCPOT file.
-The plane is defined by three points: a_point, b_point, and c_point.
-The electric field (gradient of the electrostatic potential) is computed using finite differences.
-The function creates a contour plot of the electric field on the defined plane.
-
-
-
-
-
+
@@ -652,18 +383,7 @@ macrodensity.plotting module
-
-
-
- macrodensity.alpha
+ macrodensity
macrodensity.density
-
-
-
- macrodensity.plotting
-
diff --git a/docs/_build/html/searchindex.js b/docs/_build/html/searchindex.js
index 671b360..214b13f 100644
--- a/docs/_build/html/searchindex.js
+++ b/docs/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["doctests/HeteroJunction/HeteroJunction", "doctests/MDTutorials_1", "doctests/Plotting/Plotting", "doctests/Porous/Porous", "doctests/Slab/SlabCalculation", "index", "installation", "macrodensity", "macrodensity.alpha", "macrodensity.density", "macrodensity.plotting", "macrodensity.vasp", "modules", "setup", "studies", "tutorials"], "filenames": ["doctests/HeteroJunction/HeteroJunction.ipynb", "doctests/MDTutorials_1.ipynb", "doctests/Plotting/Plotting.ipynb", "doctests/Porous/Porous.ipynb", "doctests/Slab/SlabCalculation.ipynb", "index.rst", "installation.rst", "macrodensity.rst", "macrodensity.alpha.rst", "macrodensity.density.rst", "macrodensity.plotting.rst", "macrodensity.vasp.rst", "modules.rst", "setup.rst", "studies.rst", "tutorials.rst"], "titles": ["Heterojunction offsets", "Basic Functions", "Band Alignment Plotting Tutorial", "Ionisation potential of a porous material", "Ionisation potential of a bulk material", "Welcome to MacroDensity", "Installation", "MacroDensity Package", "macrodensity.alpha module", "macrodensity.density module", "macrodensity.plotting module", "macrodensity.vasp module", "MacroDensity", "setup module", "Studies using MacroDensity", "Tutorials"], "terms": {"ar": [0, 1, 2, 3, 4, 5, 8, 10], "basi": 0, "much": 0, "semiconductor": 0, "technologi": 0, "from": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15], "comput": [0, 1, 8, 9, 10], "memori": 0, "flat": 0, "panel": 0, "displai": [0, 1, 3, 10, 15], "photovolta": 0, "heterojuct": 0, "underli": 0, "creat": [0, 8, 10], "past": 0, "100": [0, 1, 3], "year": 0, "previosuli": 0, "construct": [0, 2], "band": [0, 3, 4, 5, 8, 10, 11, 14, 15], "diagram": [0, 2, 10], "us": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10], "ip": [0, 2, 3, 4, 10], "ea": [0, 2, 10], "slab": [0, 8, 15], "howev": [0, 5], "detail": 0, "also": [0, 2, 3, 10, 11], "affect": [0, 3], "line": [0, 4, 10, 15], "up": [0, 3, 15], "charg": [0, 1, 9], "transfer": 0, "lattic": [0, 1, 3, 4, 8, 9, 10], "strain": 0, "effect": [0, 4, 8], "exampl": [0, 1, 3, 4, 8, 9, 10, 11], "For": [0, 3, 5, 6], "an": [0, 1, 2, 3, 8, 9, 10], "excel": 0, "overview": 0, "subject": 0, "recommend": [0, 9], "engin": 0, "theori": [0, 3, 5], "numer": [0, 4], "experi": 0, "thi": [0, 1, 2, 3, 4, 5, 8, 9, 10, 11], "demonstr": [0, 3], "choos": [0, 3], "well": [0, 9, 10], "match": [0, 8], "between": [0, 4, 8, 9], "wurtzit": 0, "structur": [0, 3, 5, 7, 8, 9], "zno": [0, 2], "zn": [0, 1], "In": [0, 2, 3, 4], "case": [0, 4], "constant": [0, 8], "have": [0, 1, 3, 4, 9], "been": [0, 5], "those": [0, 2], "obvious": 0, "due": [0, 1, 10], "valu": [0, 2, 3, 4, 8, 9, 10], "depend": [0, 1, 8], "paramet": [0, 1, 3, 4, 8, 9, 10], "note": [0, 2, 10], "tutori": [0, 1], "veri": [0, 4, 5], "approxim": 0, "relax": 0, "wa": [0, 3], "allow": 0, "therefor": 0, "absolut": [0, 5, 14], "actual": [0, 2, 9], "number": [0, 1, 5, 8, 9, 10], "should": [0, 3, 4, 10], "treat": 0, "meaning": [0, 5], "present": [0, 5], "two": [0, 4, 8, 9, 10], "obtain": [0, 2, 3, 4], "calulc": 0, "intit": 0, "model": 0, "essenti": 0, "involv": [0, 3, 4], "macroscop": [0, 4, 9, 10, 15], "look": [0, 4, 15], "how": [0, 1, 3, 5, 8], "account": [0, 5], "yield": [0, 3, 4], "natur": [0, 5], "As": 0, "outlin": [0, 3], "appl": 0, "phy": 0, "lett": 0, "94": 0, "212109": 0, "2009": 0, "vbo": 0, "epsilon_": [0, 3, 4], "vbm": [0, 3, 4, 11], "b": [0, 1, 3, 8, 9, 10], "eigenvalu": [0, 4], "highest": 0, "occupi": 0, "bulk": [0, 3, 8, 15], "materi": [0, 2, 8, 10, 15], "across": [0, 1, 3, 5, 10], "outcar": [0, 1, 3, 4, 8, 11], "exercis": 0, "do": [0, 2, 3, 4, 5], "profil": [0, 3, 4], "import": [0, 2, 3, 4], "incar": [0, 3, 4], "lvhar": [0, 3, 4], "true": [0, 1, 3, 4, 8, 9, 10], "gener": [0, 1, 3, 4, 5, 8, 10], "locpot": [0, 1, 3, 4, 5, 8, 10], "your": [0, 3, 4, 5, 8, 9], "directori": [0, 4, 5, 6], "alreadi": [0, 3, 4], "one": [0, 3, 4, 10], "analys": [0, 3, 4], "extract": [0, 1, 4, 5, 8, 9, 11], "sampl": [0, 4, 8, 10, 15], "all": [0, 4], "top": [0, 4, 5], "three": [0, 1, 4, 8, 9, 10], "Of": [0, 2, 4], "onli": [0, 4], "obviou": [0, 4], "lattice_vector": [0, 1, 4, 10], "just": [0, 2, 4], "period": [0, 4, 8, 9], "direct": [0, 4, 8, 9, 10], "normal": [0, 4], "surfac": [0, 1, 5], "pictur": [0, 2, 3, 4], "distanc": [0, 4, 8, 9], "layer": [0, 4], "matplotlib": [0, 1, 3, 4, 6], "inlin": [0, 3, 4], "o": [0, 2, 3, 4, 10], "macrodens": [0, 1, 2, 3, 4, 6], "md": [0, 1, 3, 4], "math": [0, 1, 3, 4], "numpi": [0, 1, 3, 4, 8, 9, 10], "np": [0, 1, 3, 4, 8, 9], "pyplot": [0, 1, 3, 4], "plt": [0, 1, 3, 4], "mpl": [0, 4], "extrema": [0, 4], "get_band_extrema": [0, 1, 4, 7, 11], "outcar_zno": 0, "print": [0, 3, 4, 8, 9, 10, 11], "outcar_zn": 0, "1": [0, 1, 2, 3, 4, 8, 9, 10, 11], "0732": 0, "6392": 0, "2": [0, 1, 2, 3, 4, 5, 8, 9, 10, 14], "2761": 0, "4": [0, 1, 2, 3, 4, 8, 9, 10], "3586": 0, "input_fil": [0, 1, 3, 4, 8, 10, 11], "test": [0, 1], "3": [0, 1, 2, 3, 4, 5, 8, 9, 10], "6": [0, 1, 2, 4, 8, 9, 10], "output_fil": [0, 1, 4, 8, 10], "planar": [0, 4, 5, 9, 10, 15], "dat": [0, 4], "path": [0, 3, 4, 8, 9, 11], "isfil": [0, 3, 4], "exist": [0, 3, 4], "els": [0, 1, 3, 4, 9], "bunzip2": [0, 3, 4], "bz2": [0, 3, 4], "vasp_pot": [0, 1, 3, 4], "ngx": [0, 1, 3, 4, 8, 9, 10], "ngy": [0, 1, 3, 4, 8, 9], "ngz": [0, 1, 3, 4, 8, 9], "read_vasp_dens": [0, 1, 3, 4, 7, 9], "vector_a": [0, 1, 3, 4], "vector_b": [0, 1, 3, 4], "vector_c": [0, 1, 3, 4], "av": [0, 1, 3, 4], "bv": [0, 1, 3, 4], "cv": [0, 1, 3, 4], "matrix_2_abc": [0, 1, 3, 4, 7, 9], "resolution_x": [0, 1, 3, 4], "resolution_i": [0, 1, 3, 4], "resolution_z": [0, 1, 3, 4], "grid_pot": [0, 1, 3, 4], "electron": [0, 1, 3, 4, 5, 7, 8, 9, 10], "density_2_grid": [0, 1, 3, 4, 7, 9], "read": [0, 4, 5, 7, 8, 9, 10, 11], "header": [0, 1, 3, 4], "inform": [0, 1, 3, 4, 5, 8], "3d": [0, 1, 3, 9], "data": [0, 3, 5, 8, 9, 10, 15], "panda": [0, 1, 3, 6, 9], "275851464955416e": 0, "13": [0, 1], "planar_averag": [0, 1, 4, 7, 9], "macro": [0, 1, 4], "macroscopic_averag": [0, 1, 4, 7, 9], "2737367544323206e": 0, "fig": [0, 4], "ax1": [0, 4], "subplot": [0, 4], "sharex": [0, 4], "textsiz": [0, 2, 4, 10], "22": [0, 4, 10], "rcparam": [0, 4], "xtick": [0, 4], "labels": [0, 4], "ytick": [0, 4], "figur": [0, 1, 4, 15], "figsiz": [0, 4], "15": [0, 10], "8": [0, 1, 2, 3, 4, 8, 9, 10], "label": [0, 1, 4, 10], "lw": [0, 4], "set_ylabel": 0, "fontsiz": [0, 4], "set_xlabel": 0, "grid": [0, 1, 4, 8, 9, 10], "posit": [0, 1, 8, 9], "set_xlim": [0, 4], "0": [0, 1, 2, 3, 4, 8, 9, 10, 11], "len": [0, 1, 4], "set_facecolor": [0, 4], "95": [0, 4], "legend": [0, 1, 4], "savefig": [0, 1], "hj": 0, "png": [0, 1, 2, 8, 10], "show": [0, 1, 4], "savetxt": [0, 4], "inspect": [0, 4], "save": [0, 2, 4, 8, 10], "find": [0, 4, 15], "each": [0, 2, 4, 8, 9, 10], "plateau": [0, 3, 4, 15], "64": 0, "61": 0, "so": [0, 2, 3, 4, 5], "step": [0, 3, 4], "5": [0, 1, 2, 3, 4, 5, 8, 9, 10, 14], "25": [0, 1], "appli": [0, 4, 5, 8], "equat": [0, 4], "earlier": [0, 4], "07": 0, "28": 0, "04": [0, 8], "ev": [0, 1, 3, 4, 10], "take": [0, 1], "fact": 0, "edg": [0, 2, 10, 15], "cell": [0, 1, 3, 9], "To": [0, 5, 6], "first": [0, 3, 8, 9, 10], "vasp_tool": [0, 4], "outcar_zno_av": 0, "outcar_zns_av": 0, "464": 0, "626": 0, "8288": 0, "10": [0, 2, 3, 4, 5, 8, 9, 14], "184": 0, "know": 0, "alpha": [0, 1, 7, 12], "mani": [0, 2, 8], "other": [0, 1, 10], "avail": [0, 5, 9], "rev": 0, "73": 0, "245206": 0, "alpha_": 0, "48": [0, 9], "83": 0, "alpha_a": 0, "partial": [0, 1, 9, 11], "ln": 0, "v_a": [0, 8], "alpha_b": 0, "v_b": [0, 8], "here": [0, 1, 2, 3, 14], "same": [0, 2, 3, 5, 8], "log": 0, "phase": 0, "multipli": [0, 1], "alwai": [0, 2, 3], "turn": [0, 2], "out": [0, 1, 4, 5, 9, 10], "exactli": 0, "But": 0, "again": [0, 3], "reinforc": 0, "befor": 0, "By": [0, 1], "compar": [0, 10], "equilibrium": 0, "poscar": [0, 1, 10], "frac": 0, "v_": [0, 3], "dlnva": 0, "47": 0, "55": 0, "dlnvb": 0, "76": 0, "88": 0, "vbo_natur": 0, "str": [0, 1, 8, 9, 10, 11], "364267889908257": 0, "welcom": 1, "": [1, 4, 5], "jupyt": 1, "notebook": [1, 3], "contain": [1, 5, 8, 9, 10, 11], "few": 1, "download": 1, "packag": [1, 5, 6, 12], "you": [1, 2, 3, 5, 6], "access": 1, "execut": 1, "i": [1, 2, 3, 5, 7, 8, 9, 10], "abl": 1, "The": [1, 3, 5, 8, 9, 10, 11, 15], "code": [1, 5], "below": [1, 2, 3, 10], "illustr": [1, 2], "densiti": [1, 5, 7, 8, 12], "chgcar": [1, 5, 9], "convert": [1, 9], "total": [1, 9], "cutoff_vari": [1, 10], "gradient": [1, 8, 9, 10], "requir": [1, 2, 4, 5], "comment": 1, "expens": [1, 10], "grad_x": 1, "grad_i": 1, "grad_z": 1, "fraction": [1, 8, 9, 10], "numbers_2_grid": [1, 7, 9], "c": [1, 5, 8, 9, 10], "coeffici": [1, 8], "plane": [1, 3, 8, 10], "defin": [1, 8, 9, 10], "plane_coeff": [1, 8], "points_2_plan": [1, 7, 8], "xy": 1, "grad_mag": 1, "000000069794417": 1, "3136": 1, "planar_gradi": 1, "planar_potenti": 1, "macro_averag": 1, "80": [1, 3], "ep": [1, 2, 10], "7": [1, 2, 4, 5, 8, 10], "72953392288895": 1, "postscript": 1, "backend": 1, "doe": [1, 2], "support": 1, "transpar": 1, "artist": 1, "render": 1, "opaqu": 1, "aim": [1, 5], "detect": 1, "It": [1, 3, 10, 11], "size": [1, 2, 3, 8, 10], "origin": [1, 8, 9, 10], "unit": [1, 5, 8, 10], "coordin": [1, 8, 9, 10], "toler": [1, 8, 10], "threshold": [1, 9, 10], "identifi": [1, 10], "filenam": [1, 8, 10], "output": [1, 5, 8, 9, 10], "percentag": 1, "categor": 1, "vacuum": [1, 2, 3, 4, 10], "versu": 1, "provid": [1, 4, 10], "insight": 1, "area": [1, 3], "consist": 1, "within": [1, 3, 8, 10], "cube_s": [1, 8, 10], "cube_origin": [1, 3, 8, 10], "1e": [1, 3, 8, 10], "travel": [1, 3, 8, 9], "0478731477833207e": 1, "non_vacuum": 1, "rang": [1, 3, 8, 10], "j": [1, 5], "k": [1, 5], "sub_origin": 1, "float": [1, 4, 8, 9, 10], "cube_pot": 1, "cube_var": [1, 3], "volume_averag": [1, 3, 7, 9], "nx": [1, 9], "ny": [1, 9], "nz": [1, 9], "append": [1, 3], "17": 1, "4079": 1, "4150390625": 1, "99": 1, "5849609375": 1, "deal": 1, "interstiti": [1, 5, 8, 14], "includ": [1, 5], "space": [1, 8, 9, 10], "fft": 1, "mesh": [1, 8, 10], "valenc": [1, 3, 8, 11], "conduct": [1, 8, 11], "interstic": [1, 8], "typo": 1, "error": 1, "quiet": [1, 4, 9], "band_extrema": [1, 11], "vb_eigenvalu": 1, "cb_eigenvalu": 1, "interstitial_potenti": 1, "interstitial_vari": 1, "locpot_extract": 1, "sum_interstitial_potenti": 1, "el": 1, "average_interstitial_potenti": 1, "vb_align": 1, "round": 1, "cb_align": 1, "interstit": 1, "8665165271901357e": 1, "05": 1, "277207757909537e": 1, "06": 1, "24": [1, 2, 9], "72": 1, "process": [1, 5, 7], "analyz": [1, 10], "specifi": [1, 8, 9, 10], "cubic": [1, 8], "choic": [1, 3], "against": [1, 2], "abscissa": [1, 9], "can": [1, 2, 3, 5, 6], "electricfield": 1, "addition": 1, "store": [1, 8, 10], "format": [1, 5, 8, 9, 10], "280": [1, 8], "cubes_potenti": 1, "travelling_volume_averag": [1, 7, 9], "vector_2_abscissa": [1, 7, 9], "xlabel": 1, "z": [1, 3, 8, 9, 10], "aa": 1, "gradient_magnitud": [1, 7, 9], "cubes_field": 1, "0x12e2d96d0": 1, "open": [1, 3, 4], "w": 1, "f": [1, 4, 9], "writer": 1, "writerow": 1, "row": 1, "zip": 1, "temp": 1, "pd": 1, "read_csv": 1, "sep": 1, "asarrai": 1, "tofil": 1, "anoth": [1, 10], "notabl": 1, "macrodensi": 1, "span": 1, "travers": 1, "name": [1, 2, 8, 10], "imag": [1, 8, 10], "list": [1, 2, 8, 9, 10, 11, 14], "16": 1, "movingcub": [1, 8], "img_fil": [1, 8, 10], "ylabel": 1, "v": [1, 3, 4], "fix": 1, "axi": [1, 9, 10], "titl": 1, "df": 1, "datafram": 1, "from_dict": 1, "orient": 1, "index": [1, 3, 5], "transpos": 1, "to_csv": 1, "onsit": 1, "hartre": 1, "ase": 1, "io": 1, "write": 1, "potential_fil": [1, 10], "coordinate_fil": [1, 10], "speci": [1, 10], "sample_cub": [1, 10], "onsitepotenti": [1, 10], "coord": 1, "read_vasp": 1, "scaled_coord": 1, "get_scaled_posit": 1, "symbol": [1, 10], "get_chemical_symbol": 1, "ox_coord": 1, "atom": [1, 5, 10], "enumer": [1, 9], "grid_posit": 1, "zero": [1, 4], "shape": [1, 8], "potentials_list": 1, "num_bin": 1, "20": [1, 3, 9, 10], "cube_potenti": [1, 3, 8], "n": [1, 5, 8], "bin": 1, "patch": 1, "hist": 1, "facecolor": 1, "6400e1": 1, "centr": [1, 5, 15], "follow": [1, 5, 6], "both": [1, 10], "41": 1, "planaraverag": [1, 10], "07045532018119124": 1, "voltag": 1, "result": [1, 5, 8, 9, 10], "cube_001_spin_dens": 1, "75": [1, 2], "planarcub": [1, 10], "read_cube_data": 1, "linalg": 1, "norm": 1, "004323820372140808": 1, "modul": [1, 2, 4, 12], "script": [1, 3, 4], "emploi": 1, "manner": 1, "return": [1, 8, 9, 10, 11], "distribut": [1, 10], "design": 1, "facilit": 1, "analysi": [1, 3, 10], "spatial": 1, "5579496029375": 1, "we": [2, 3], "ani": [2, 5], "calcul": [2, 3, 5, 7, 8, 9, 10, 15], "repres": [2, 8, 9, 10], "previou": 2, "cours": 2, "draw": [2, 3], "softwar": [2, 5], "like": [2, 3, 5, 9], "inkscap": 2, "thing": 2, "would": 2, "pretti": 2, "automat": [2, 5, 9], "attempt": 2, "make": 2, "mass": 2, "produc": 2, "version": 2, "beauti": [2, 3], "artisin": 2, "made": [2, 5], "chri": 2, "hendon": [2, 5], "our": [2, 15], "jac": [2, 3], "paper": [2, 3, 5], "porou": [2, 5, 15], "order": [2, 8], "energi": [2, 3, 4, 5, 8, 10, 14], "start": [2, 8, 10], "build": 2, "9": [2, 10], "mof": 2, "hkust": 2, "zif": [2, 3], "cof": 2, "1m": 2, "cpo": 2, "27": 2, "mg": 2, "mil": 2, "125": 2, "tio2": 2, "now": [2, 3], "need": [2, 3, 6], "macro_plot": 2, "energy_band_alignment_diagram": [2, 7, 10], "bandalign": [2, 10], "bad": 2, "bottom": 2, "go": 2, "littl": 2, "lower": 2, "option": [2, 3, 8, 9, 10], "limit": [2, 10], "better": [2, 3, 10], "although": 2, "d": [2, 3], "reduc": 2, "arrow": [2, 10], "head": 2, "arrowhead": [2, 10], "great": 2, "want": [2, 3], "add": [2, 5], "some": [2, 3], "nice": 2, "redox": 2, "potenti": [2, 5, 7, 8, 9, 10, 14, 15], "water": 2, "easili": 2, "point": [2, 8, 9, 10, 15], "its": [2, 10], "referenc": 2, "level": [2, 3, 4], "Then": 2, "pass": [2, 3], "flag": 2, "referecnc": 2, "water_redox": 2, "e": [2, 5, 6, 8, 10], "h": [2, 5], "_2": [2, 4], "40": [2, 3], "mayb": 2, "tweak": 2, "colourschem": 2, "switch": 2, "plum": 2, "custard": 2, "someth": [2, 3], "bit": 2, "more": [2, 5], "sand": 2, "sea": 2, "col": [2, 10], "e6711": 2, "1e93e6": 2, "final": [2, 8], "golden": 2, "rule": 2, "public": [2, 14], "larger": 2, "font": [2, 10], "variabl": 2, "vasp": [3, 4, 5, 7, 8, 9, 10, 12], "align": [3, 4, 8, 10, 15], "dft": [3, 4], "calculaion": 3, "differ": [3, 4, 10], "maximum": [3, 11], "vac": 3, "itself": 3, "ha": [3, 5], "That": 3, "mean": 3, "semin": 3, "optimis": 3, "structr": 3, "chosen": 3, "rememb": 3, "file": [3, 5, 7, 8, 9, 10, 11, 15], "locat": 3, "largest": 3, "ey": 3, "plot": [3, 5, 7, 8, 12, 15], "see": [3, 5], "nb": 3, "whole": 3, "probabl": 3, "run": [3, 5, 15], "than": [3, 9], "reason": 3, "being": 3, "onc": 3, "manipul": [3, 8], "later": 3, "intens": 3, "time": [3, 8], "consum": 3, "load_ext": 3, "autoreload": 3, "sy": [3, 4], "imp": 3, "No": [3, 4], "edit": 3, "bbbb": 3, "oooo": 3, "mmmmm": 3, "m": 3, "averag": [3, 5, 8, 9, 10, 15], "9559870102655787e": 3, "14": 3, "vesta": 3, "expand": 3, "2x2x2": 3, "boundari": [3, 8], "left": 3, "hand": 3, "side": 3, "think": 3, "through": 3, "click": 3, "new": [3, 5, 8], "put": 3, "miller": 3, "move": [3, 8, 15], "down": 3, "until": 3, "contour": [3, 10], "utiltii": 3, "2d": [3, 8, 9], "slice": 3, "enter": 3, "view": 3, "plai": 3, "set": [3, 9, 10, 15], "max": 3, "min": 3, "tell": 3, "potentail": 3, "interv": 3, "With": 3, "get": [3, 8, 10, 11], "must": 3, "type": [3, 10], "int": [3, 8, 9, 10], "216": 3, "try": [3, 4], "low": 3, "varianc": [3, 8, 9, 10], "condidt": 3, "ideal": 3, "larg": [3, 5, 9], "possibl": 3, "dim": 3, "60": [3, 9], "dimens": [3, 8, 9], "cube": [3, 5, 8, 9, 10, 15], "3i": 3, "4f": [3, 4], "6f": 3, "3068": 3, "000000": 3, "000001": 3, "000003": 3, "000019": 3, "3067": 3, "000108": 3, "3048": 3, "001151": 3, "2883": 3, "015872": 3, "4396": 3, "7464": 3, "simpl": 4, "procedur": [4, 5, 15], "A": [4, 5, 8, 9, 10, 11, 14], "u": 4, "under": [4, 5, 10], "assumpt": 4, "resepct": 4, "insid": 4, "after": 4, "occup": [4, 11], "written": 4, "small": 4, "witin": 4, "let": 4, "outcar_bulk": 4, "outcar_moo3_bulk": 4, "9483": 4, "657": 4, "locpot_moo3": 4, "sno": 4, "moo3": 4, "system": [4, 5, 15], "43": 4, "filenotfounderror": 4, "traceback": 4, "most": 4, "recent": 4, "call": 4, "last": 4, "ipython": 4, "input": [4, 8, 10, 15], "aba517705ed6": 4, "src": 4, "density_tool": 4, "use_panda": [4, 9], "297": 4, "298": 4, "299": 4, "r": 4, "300": 4, "_": [4, 5, 14], "readlin": 4, "301": 4, "scale_factor": 4, "errno": 4, "sometim": 4, "still": 4, "wavei": 4, "increas": [4, 8], "sinc": 4, "58": 4, "93": 4, "51": 4, "python": [5, 6], "electrostat": [5, 7, 9, 10, 15], "wai": 5, "spheric": [5, 8, 15], "when": 8, "assess": [5, 14], "util": 5, "novel": 5, "semiconduct": 5, "devic": 5, "p": 5, "juntion": 5, "heterostructur": 5, "termin": 5, "simul": 5, "understand": 5, "variat": [10, 15], "kei": 5, "raw": 5, "prove": 5, "cumbersom": 5, "often": 5, "visualis": 5, "manual": 5, "bottleneck": 5, "high": 5, "throughput": 5, "screen": 5, "project": 5, "where": [5, 8], "repeatedli": 5, "databas": 5, "candid": 5, "address": 5, "fhi": 5, "gulp": [5, 9, 10], "post": 5, "tool": [], "function": [5, 8, 9, 10, 11, 15], "enabl": 5, "physic": [5, 14], "quantiti": 5, "which": [5, 8, 9, 10], "interpret": 5, "Ase": 6, "pip": [5, 6], "copi": [5, 6], "sourc": [5, 6], "command": [], "git": [5, 6], "clone": [5, 6], "http": [5, 6, 14], "github": [5, 6], "com": [5, 6], "wmd": [5, 6], "group": [5, 6], "cd": [5, 6], "approach": 5, "butler": 5, "t": 5, "walsh": [5, 14], "chemic": [5, 10, 14], "metal": 5, "organ": 5, "framework": 5, "journal": [5, 14], "american": 5, "societi": 5, "136": 5, "2703": 5, "2706": 5, "2014": 5, "theoret": 5, "background": 5, "politz": 5, "murrai": 5, "fundament": 5, "role": 5, "molecul": 5, "chemistri": 5, "108": 5, "134": 5, "142": 5, "2002": 5, "research": [5, 14], "activ": [10, 14], "harnett": [5, 14], "caulfield": [5, 14], "l": [5, 14], "rapid": [5, 14], "predict": [5, 14], "crystal": [5, 14], "155": [5, 14], "2021": [5, 14], "search": 5, "page": 5, "descript": [7, 12], "bulk_interstitial_align": [7, 8], "bulk_vac": [7, 8], "create_plotting_mesh": [7, 8], "diff_potenti": [7, 8], "extend_potenti": [7, 8], "get_third_coordin": [7, 8], "match_resolut": [7, 8], "matched_spline_gener": [7, 8], "moving_cub": [7, 8], "read_cube_dens": [7, 8], "scissors_shift": [7, 8], "sort_potenti": [7, 8], "spherical_averag": [7, 8], "spline_gener": [7, 8], "subs_potenti": [7, 8], "translate_grid": [7, 8], "gcd": [7, 9], "gcd_list": [7, 9], "density_2_grid_gulp": [7, 9], "element_vol": [7, 9], "get_volum": [7, 9], "inverse_participation_ratio": [7, 9], "number_in_field": [7, 9], "one_2_2d": [7, 9], "planar_average_charg": [7, 9], "read_gulp_potenti": [7, 9], "read_vasp_density_class": [7, 9], "read_vasp_parchg": [7, 9], "plot_active_plan": [7, 10], "plot_active_spac": [7, 10], "plot_field_at_point": [7, 10], "plot_gulp_potenti": [7, 10], "plot_on_site_potenti": [7, 10], "plot_planar_averag": [7, 10], "plot_planar_cub": [7, 10], "plot_plane_field": [7, 10], "These": 8, "complementari": 8, "retriev": 8, "print_output": [8, 10], "bool": [8, 9, 10], "class": [8, 9, 10], "site": [8, 10], "vb": 8, "cb": 8, "consid": [8, 10], "tupl": [8, 9, 10], "default": [8, 9, 10], "around": [8, 10, 15], "local": 8, "whether": [8, 10], "intermedi": 8, "deviat": 8, "refer": [5, 8, 10, 15], "state": 8, "ndarrai": [8, 9], "subtract": 8, "dataset": 8, "base": [8, 9, 10], "x": [8, 9], "new_bulk": 8, "arrai": [8, 9, 10], "pc": 8, "grad": 8, "given": [8, 9, 10, 15], "along": [8, 9, 10], "y": [8, 9, 10], "random": [8, 9], "rand": [8, 9], "plotting_mesh": 8, "potential_a": 8, "potential_b": 8, "end": 8, "tol": 8, "second": [8, 9, 10], "comparison": 8, "new_potenti": 8, "02": 8, "extens": 8, "vector": [8, 9, 10], "extend": [5, 8], "duplic": 8, "factor": 8, "extended_potenti": 8, "third": [8, 10], "third_coordin": 8, "resolut": [8, 9], "spline": 8, "interpol": [8, 10], "a_new": 8, "b_new": 8, "result_a": 8, "result_b": 8, "td_a": 8, "td_b": 8, "result_td_a": 8, "result_td_b": 8, "magnitud": [8, 9, 10, 15], "csv": [8, 10], "volum": [8, 9], "specif": [8, 10], "perform": [8, 10], "determin": [8, 10], "cover": 8, "angstrom": [8, 10], "g": [8, 10], "potential_valu": 8, "plane_coeffici": 8, "relev": 8, "3x3": [8, 9], "file_path": 8, "cube_density_fil": 8, "delta": 8, "shift": 8, "amount": 8, "shifted_potenti": 8, "sort": 8, "ascend": 8, "sorted_potenti": 8, "region": [8, 10, 15], "sphere": 8, "If": [5, 8, 9, 10], "cube_vari": 8, "new_res_factor": 8, "higher": 8, "translat": 8, "fals": [8, 9, 10], "boundary_shift": 8, "condit": [8, 9], "translated_potenti": 8, "greatest": 9, "common": 9, "divisor": 9, "integ": 9, "36": 9, "element": 9, "1d": 9, "replac": 9, "potential_grid": 9, "total_electron": 9, "potential_grid_gulp": 9, "vol": 9, "individu": 9, "element_volum": 9, "parallelepip": 9, "gx": 9, "gy": 9, "gz": 9, "field": [9, 10, 15], "grad_magnitud": 9, "invers": 9, "particip": 9, "ratio": 9, "ipr": 9, "macro_avg_result": 9, "matrix": 9, "a_vec": 9, "b_vec": 9, "c_vec": 9, "cutoff": [9, 10], "count": 9, "greater": 9, "equal": 9, "satisfi": 9, "gradients_field": 9, "cutoff_valu": 9, "num_elements_above_cutoff": 9, "abov": 9, "fractional_coord": 9, "grid_coord": 9, "transform": 9, "correspond": [9, 10], "transformed_arrai": 9, "planar_avg": [9, 10], "gulpfil": 9, "cartesian": 9, "none": [9, 10], "suppress": 9, "statement": 9, "dure": 9, "chgcar_fil": 9, "potential_data": 9, "ax": 9, "classic": 9, "style": [5, 9], "spin": 9, "polar": 9, "parchg": 9, "channel": 9, "isinst": 9, "spin_dens": 9, "multipl": 9, "travelling_avg": 9, "dx": 9, "dy": 9, "dz": 9, "abscissa_arrai": 9, "avg": 9, "width": 10, "74356c": 10, "efce19": 10, "outfil": 10, "ioniz": 10, "affin": 10, "ip_1": 10, "ea_1": 10, "bar": 10, "color": 10, "text": 10, "shown": 10, "dash": 10, "reference_valu": 10, "empti": 10, "18": 10, "black": 10, "0001": 10, "grad_calc": 10, "electr": [10, 15], "non": 10, "distinguish": [10, 15], "throughout": 10, "plot_pot": 10, "belong": 10, "scatter": 10, "voxel": 10, "while": 10, "a_point": 10, "b_point": 10, "c_point": 10, "develop": 10, "full": 10, "OF": 10, "bug": 10, "bewar": 10, "user": 10, "visual": 10, "indic": 10, "directli": 10, "gulppotenti": 10, "new_resolut": 10, "3000": 10, "float64": 10, "curv": 10, "repeat": 10, "over": 10, "5000": 10, "macro_avg": 10, "interpolated_potenti": 10, "histogram": 10, "whose": 10, "interest": 10, "on_site_potenti": 10, "finit": 10, "minimum": 11, "cbm": 11, "check": 11, "warn": 11, "messag": 11, "found": 11, "arg": 11, "content": 12, "unit_test": 13, "basic": 15, "heterojunct": 15, "offset": 15, "environ": 15, "ad": 15, "ionis": 15, "pore": 15, "behind": 5, "pleas": 5, "chang": 5, "ab": 5, "initio": 5, "spglib": 6, "mit": 5, "cite": 5, "method": 5, "doi": [5, 14], "org": [5, 14], "1063": [5, 14], "0056141": [5, 14], "joss": 5, "issu": 5, "tracker": 5, "fork": 5, "pull": 5, "workflow": 5, "pep8": 5, "guidelin": 5, "unittest": 5, "master": 5, "branch": 5, "action": 5, "whenev": 5, "submit": 5, "submodul": 12}, "objects": {"": [[7, 0, 0, "-", "macrodensity"], [13, 0, 0, "-", "setup"]], "macrodensity": [[8, 0, 0, "-", "alpha"], [9, 0, 0, "-", "density"], [10, 0, 0, "-", "plotting"], [11, 0, 0, "-", "vasp"]], "macrodensity.alpha": [[8, 1, 1, "", "bulk_interstitial_alignment"], [8, 1, 1, "", "bulk_vac"], [8, 1, 1, "", "create_plotting_mesh"], [8, 1, 1, "", "diff_potentials"], [8, 1, 1, "", "extend_potential"], [8, 1, 1, "", "get_third_coordinate"], [8, 1, 1, "", "match_resolution"], [8, 1, 1, "", "matched_spline_generate"], [8, 1, 1, "", "moving_cube"], [8, 1, 1, "", "points_2_plane"], [8, 1, 1, "", "read_cube_density"], [8, 1, 1, "", "scissors_shift"], [8, 1, 1, "", "sort_potential"], [8, 1, 1, "", "spherical_average"], [8, 1, 1, "", "spline_generate"], [8, 1, 1, "", "subs_potentials"], [8, 1, 1, "", "translate_grid"]], "macrodensity.density": [[9, 1, 1, "", "GCD"], [9, 1, 1, "", "GCD_List"], [9, 1, 1, "", "density_2_grid"], [9, 1, 1, "", "density_2_grid_gulp"], [9, 1, 1, "", "element_vol"], [9, 1, 1, "", "get_volume"], [9, 1, 1, "", "gradient_magnitude"], [9, 1, 1, "", "inverse_participation_ratio"], [9, 1, 1, "", "macroscopic_average"], [9, 1, 1, "", "matrix_2_abc"], [9, 1, 1, "", "number_in_field"], [9, 1, 1, "", "numbers_2_grid"], [9, 1, 1, "", "one_2_2d"], [9, 1, 1, "", "planar_average"], [9, 1, 1, "", "planar_average_charge"], [9, 1, 1, "", "read_gulp_potential"], [9, 1, 1, "", "read_vasp_density"], [9, 1, 1, "", "read_vasp_density_classic"], [9, 1, 1, "", "read_vasp_parchg"], [9, 1, 1, "", "travelling_volume_average"], [9, 1, 1, "", "vector_2_abscissa"], [9, 1, 1, "", "volume_average"]], "macrodensity.plotting": [[10, 1, 1, "", "energy_band_alignment_diagram"], [10, 1, 1, "", "plot_active_plane"], [10, 1, 1, "", "plot_active_space"], [10, 1, 1, "", "plot_field_at_point"], [10, 1, 1, "", "plot_gulp_potential"], [10, 1, 1, "", "plot_on_site_potential"], [10, 1, 1, "", "plot_planar_average"], [10, 1, 1, "", "plot_planar_cube"], [10, 1, 1, "", "plot_plane_field"]], "macrodensity.vasp": [[11, 1, 1, "", "get_band_extrema"]], "setup": [[13, 1, 1, "", "unit_tests"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"heterojunct": 0, "offset": [0, 4], "our": [0, 3], "system": [0, 3], "procedur": [0, 3], "i": [0, 4], "interfac": 0, "calcul": [0, 1, 4], "The": [0, 2, 4], "code": [0, 4], "below": [0, 4], "usual": 0, "set": [0, 2, 4], "planaraverag": [0, 4], "py": [0, 4], "file": [0, 1, 4], "you": [0, 4], "don": [0, 4], "t": [0, 4], "need": [0, 4, 5], "edit": [0, 4], "prompt": [0, 4], "sai": [0, 4], "which": [0, 4], "axi": [0, 4], "want": [0, 4], "averag": [0, 1, 4], "along": [0, 1, 4], "now": [0, 4], "we": [0, 4], "can": [0, 4], "plot": [0, 1, 2, 4, 10], "result": [0, 4], "get": [0, 1, 4], "delta": 0, "v": 0, "ii": 0, "deform": 0, "potenti": [0, 1, 3, 4], "align": [0, 1, 2], "volum": 0, "chang": 0, "basic": 1, "function": [1, 2], "find": 1, "planar": 1, "macroscop": 1, "field": 1, "throughout": 1, "materi": [1, 3, 4], "distinguish": 1, "plateau": 1, "region": 1, "electrostat": 1, "initialis": 1, "input": [1, 2], "valu": 1, "between": 1, "vaccuum": 1, "non": 1, "cube": 1, "band": [1, 2], "edg": 1, "refer": [1, 2], "section": 1, "state": 1, "energi": 1, "variat": 1, "magnitud": 1, "electr": 1, "save": 1, "data": [1, 2], "csv": 1, "dat": 1, "binari": 1, "move": 1, "vector": 1, "graph": 1, "import": 1, "from": 1, "vasp": [1, 11], "read": [1, 3], "spheric": 1, "around": 1, "given": 1, "point": [1, 3], "print": 1, "varianc": 1, "tutori": [2, 15], "up": 2, "environ": 2, "run": 2, "displai": 2, "figur": 2, "ad": 2, "line": 2, "ionis": [3, 4], "porou": 3, "look": 3, "pore": 3, "centr": 3, "sampl": 3, "bulk": 4, "slab": 4, "protip": 4, "surfac": 4, "dipol": 4, "d_": 4, "welcom": 5, "macrodens": [5, 7, 8, 9, 10, 11, 12, 14], "summari": 5, "statement": 5, "requir": 6, "instal": [5, 6], "user": [5, 6], "develop": [5, 6], "literatur": 5, "studi": 14, "us": 14, "indic": 5, "tabl": 5, "packag": 7, "modul": [7, 8, 9, 10, 11, 13], "content": 7, "alpha": 8, "descript": [8, 9, 10, 11], "densiti": 9, "setup": 13, "notebook": 15, "licens": 5, "citat": 5, "contribut": 5, "bug": 5, "report": 5, "featur": 5, "request": 5, "question": 5, "test": 5, "submodul": 7}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Heterojunction offsets": [[0, "heterojunction-offsets"]], "Our system": [[0, "our-system"], [3, "our-system"]], "Procedure": [[0, "procedure"], [3, "procedure"]], "Procedure (i)": [[0, "procedure-i"]], "Interface calculation": [[0, "interface-calculation"]], "The code below is usually set in the PlanarAverage.py file; you don\u2019t need to edit it": [[0, "the-code-below-is-usually-set-in-the-planaraverage-py-file-you-don-t-need-to-edit-it"]], "The code below will prompt you to say which axis you want to average along": [[0, "the-code-below-will-prompt-you-to-say-which-axis-you-want-to-average-along"], [4, "the-code-below-will-prompt-you-to-say-which-axis-you-want-to-average-along"]], "Now we can plot the results": [[0, "now-we-can-plot-the-results"], [4, "now-we-can-plot-the-results"]], "Get $\\Delta V$": [[0, "get-delta-v"]], "The offset": [[0, "the-offset"], [4, "the-offset"]], "Procedure (ii)": [[0, "procedure-ii"]], "The deformation potential": [[0, "the-deformation-potential"]], "The potential alignment": [[0, "the-potential-alignment"]], "Volume change": [[0, "volume-change"]], "Basic Functions": [[1, "basic-functions"]], "Finding the planar and macroscopic average": [[1, "finding-the-planar-and-macroscopic-average"]], "Get the potential": [[1, "get-the-potential"]], "Plotting a planar average (Field/potential) throughout the material": [[1, "plotting-a-planar-average-field-potential-throughout-the-material"]], "Distinguishing plateau regions in the electrostatic potential": [[1, "distinguishing-plateau-regions-in-the-electrostatic-potential"]], "Initialising inputs": [[1, "initialising-inputs"], [1, "id1"]], "Getting potential values": [[1, "getting-potential-values"]], "Distinguishing between vaccuum and non-vaccuum cubes": [[1, "distinguishing-between-vaccuum-and-non-vaccuum-cubes"]], "Aligning band edged to reference potentials": [[1, "aligning-band-edged-to-reference-potentials"]], "Input Section": [[1, "input-section"], [1, "id5"]], "Getting potential values and band edges": [[1, "getting-potential-values-and-band-edges"]], "Calculating reference states and the aligned band energies": [[1, "calculating-reference-states-and-the-aligned-band-energies"]], "Plotting variation of potential and magnitude of electric field": [[1, "plotting-variation-of-potential-and-magnitude-of-electric-field"]], "Getting the potentials and field magnitudes": [[1, "getting-the-potentials-and-field-magnitudes"]], "Saving the data into a .csv and .dat (binary file)": [[1, "saving-the-data-into-a-csv-and-dat-binary-file"]], "Moving Cube": [[1, "moving-cube"]], "Input section": [[1, "id2"]], "Getting the potential values along a vector": [[1, "getting-the-potential-values-along-a-vector"]], "Plotting and Saving the graph": [[1, "plotting-and-saving-the-graph"]], "Imports and Inputs": [[1, "imports-and-inputs"]], "Getting and calculating potentials": [[1, "getting-and-calculating-potentials"]], "Plotting and saving potentials": [[1, "plotting-and-saving-potentials"]], "Calculating the Planar Average": [[1, "calculating-the-planar-average"]], "Imports and Input Section": [[1, "imports-and-input-section"]], "Getting Potentials from VASP file": [[1, "getting-potentials-from-vasp-file"]], "Calculating planar and macroscopic average": [[1, "calculating-planar-and-macroscopic-average"], [1, "id3"]], "Plotting and Saving": [[1, "plotting-and-saving"], [1, "id4"]], "Calculating the planar and macroscopic averages from a .cube file": [[1, "calculating-the-planar-and-macroscopic-averages-from-a-cube-file"]], "Reading potentials from .cube file": [[1, "reading-potentials-from-cube-file"]], "Calculating the Spherical Average around a given point in a material": [[1, "calculating-the-spherical-average-around-a-given-point-in-a-material"]], "Getting potential and printing the potential and variance values": [[1, "getting-potential-and-printing-the-potential-and-variance-values"]], "Band Alignment Plotting Tutorial": [[2, "band-alignment-plotting-tutorial"]], "The input data": [[2, "the-input-data"]], "Set up the environment": [[2, "set-up-the-environment"]], "Run the function": [[2, "run-the-function"]], "Display the figure": [[2, "display-the-figure"], [2, "id1"], [2, "id2"], [2, "id3"], [2, "id4"]], "Adding reference lines": [[2, "adding-reference-lines"]], "Ionisation potential of a porous material": [[3, "ionisation-potential-of-a-porous-material"]], "Read the potential": [[3, "read-the-potential"]], "Look for pore centre points": [[3, "look-for-pore-centre-points"]], "Sampling the potential": [[3, "sampling-the-potential"]], "Ionisation potential of a bulk material": [[4, "ionisation-potential-of-a-bulk-material"]], "Bulk calculation": [[4, "bulk-calculation"]], "Slab calculation": [[4, "slab-calculation"]], "The code below is set in the PlanarAverage.py file; you don\u2019t need to edit it": [[4, "the-code-below-is-set-in-the-planaraverage-py-file-you-don-t-need-to-edit-it"]], "PROTIP": [[4, "protip"]], "Get the surface dipole ($D_s$)": [[4, "get-the-surface-dipole-d-s"]], "Welcome to MacroDensity": [[5, "welcome-to-macrodensity"]], "Summary": [[5, "summary"]], "Statement of Need": [[5, "statement-of-need"]], "Installation": [[5, "installation"], [6, "installation"]], "User installation:": [[5, "user-installation"], [6, "user-installation"]], "Developer installation": [[5, "developer-installation"], [6, "developer-installation"]], "Literature": [[5, "literature"]], "Contributing": [[5, "contributing"]], "Bugs reports, feature requests and questions": [[5, "bugs-reports-feature-requests-and-questions"]], "Tests": [[5, "tests"]], "License and citation": [[5, "license-and-citation"]], "Indices and tables": [[5, "indices-and-tables"]], "Requirements": [[6, "requirements"]], "MacroDensity Package": [[7, "macrodensity-package"]], "Module contents": [[7, "module-macrodensity"]], "Submodules": [[7, "submodules"]], "macrodensity.alpha module": [[8, "macrodensity-alpha-module"]], "Module Description": [[8, "module-macrodensity.alpha"], [9, "module-macrodensity.density"], [10, "module-macrodensity.plotting"], [11, "module-macrodensity.vasp"]], "macrodensity.density module": [[9, "macrodensity-density-module"]], "macrodensity.plotting module": [[10, "macrodensity-plotting-module"]], "macrodensity.vasp module": [[11, "macrodensity-vasp-module"]], "MacroDensity": [[12, "macrodensity"]], "setup module": [[13, "module-setup"]], "Studies using MacroDensity": [[14, "studies-using-macrodensity"]], "Tutorials": [[15, "tutorials"]], "Tutorial Notebook": [[15, null]]}, "indexentries": {"macrodensity": [[7, "module-macrodensity"]], "module": [[7, "module-macrodensity"], [8, "module-macrodensity.alpha"], [9, "module-macrodensity.density"], [10, "module-macrodensity.plotting"], [11, "module-macrodensity.vasp"], [13, "module-setup"]], "bulk_interstitial_alignment() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.bulk_interstitial_alignment"]], "bulk_vac() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.bulk_vac"]], "create_plotting_mesh() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.create_plotting_mesh"]], "diff_potentials() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.diff_potentials"]], "extend_potential() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.extend_potential"]], "get_third_coordinate() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.get_third_coordinate"]], "macrodensity.alpha": [[8, "module-macrodensity.alpha"]], "match_resolution() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.match_resolution"]], "matched_spline_generate() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.matched_spline_generate"]], "moving_cube() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.moving_cube"]], "points_2_plane() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.points_2_plane"]], "read_cube_density() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.read_cube_density"]], "scissors_shift() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.scissors_shift"]], "sort_potential() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.sort_potential"]], "spherical_average() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.spherical_average"]], "spline_generate() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.spline_generate"]], "subs_potentials() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.subs_potentials"]], "translate_grid() (in module macrodensity.alpha)": [[8, "macrodensity.alpha.translate_grid"]], "gcd() (in module macrodensity.density)": [[9, "macrodensity.density.GCD"]], "gcd_list() (in module macrodensity.density)": [[9, "macrodensity.density.GCD_List"]], "density_2_grid() (in module macrodensity.density)": [[9, "macrodensity.density.density_2_grid"]], "density_2_grid_gulp() (in module macrodensity.density)": [[9, "macrodensity.density.density_2_grid_gulp"]], "element_vol() (in module macrodensity.density)": [[9, "macrodensity.density.element_vol"]], "get_volume() (in module macrodensity.density)": [[9, "macrodensity.density.get_volume"]], "gradient_magnitude() (in module macrodensity.density)": [[9, "macrodensity.density.gradient_magnitude"]], "inverse_participation_ratio() (in module macrodensity.density)": [[9, "macrodensity.density.inverse_participation_ratio"]], "macrodensity.density": [[9, "module-macrodensity.density"]], "macroscopic_average() (in module macrodensity.density)": [[9, "macrodensity.density.macroscopic_average"]], "matrix_2_abc() (in module macrodensity.density)": [[9, "macrodensity.density.matrix_2_abc"]], "number_in_field() (in module macrodensity.density)": [[9, "macrodensity.density.number_in_field"]], "numbers_2_grid() (in module macrodensity.density)": [[9, "macrodensity.density.numbers_2_grid"]], "one_2_2d() (in module macrodensity.density)": [[9, "macrodensity.density.one_2_2d"]], "planar_average() (in module macrodensity.density)": [[9, "macrodensity.density.planar_average"]], "planar_average_charge() (in module macrodensity.density)": [[9, "macrodensity.density.planar_average_charge"]], "read_gulp_potential() (in module macrodensity.density)": [[9, "macrodensity.density.read_gulp_potential"]], "read_vasp_density() (in module macrodensity.density)": [[9, "macrodensity.density.read_vasp_density"]], "read_vasp_density_classic() (in module macrodensity.density)": [[9, "macrodensity.density.read_vasp_density_classic"]], "read_vasp_parchg() (in module macrodensity.density)": [[9, "macrodensity.density.read_vasp_parchg"]], "travelling_volume_average() (in module macrodensity.density)": [[9, "macrodensity.density.travelling_volume_average"]], "vector_2_abscissa() (in module macrodensity.density)": [[9, "macrodensity.density.vector_2_abscissa"]], "volume_average() (in module macrodensity.density)": [[9, "macrodensity.density.volume_average"]], "energy_band_alignment_diagram() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.energy_band_alignment_diagram"]], "macrodensity.plotting": [[10, "module-macrodensity.plotting"]], "plot_active_plane() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_active_plane"]], "plot_active_space() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_active_space"]], "plot_field_at_point() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_field_at_point"]], "plot_gulp_potential() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_gulp_potential"]], "plot_on_site_potential() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_on_site_potential"]], "plot_planar_average() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_planar_average"]], "plot_planar_cube() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_planar_cube"]], "plot_plane_field() (in module macrodensity.plotting)": [[10, "macrodensity.plotting.plot_plane_field"]], "get_band_extrema() (in module macrodensity.vasp)": [[11, "macrodensity.vasp.get_band_extrema"]], "macrodensity.vasp": [[11, "module-macrodensity.vasp"]], "setup": [[13, "module-setup"]], "unit_tests() (in module setup)": [[13, "setup.unit_tests"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["doctests/HeteroJunction/HeteroJunction", "doctests/MDTutorials_1", "doctests/Plotting/Plotting", "doctests/Porous/Porous", "doctests/Slab/SlabCalculation", "index", "installation", "macrodensity", "macrodensity.alpha", "macrodensity.density", "macrodensity.io", "macrodensity.plotting", "macrodensity.vasp", "modules", "setup", "studies", "tutorials"], "filenames": ["doctests/HeteroJunction/HeteroJunction.ipynb", "doctests/MDTutorials_1.ipynb", "doctests/Plotting/Plotting.ipynb", "doctests/Porous/Porous.ipynb", "doctests/Slab/SlabCalculation.ipynb", "index.rst", "installation.rst", "macrodensity.rst", "macrodensity.alpha.rst", "macrodensity.density.rst", "macrodensity.io.rst", "macrodensity.plotting.rst", "macrodensity.vasp.rst", "modules.rst", "setup.rst", "studies.rst", "tutorials.rst"], "titles": ["Heterojunction offsets", "Basic Functions", "Band Alignment Plotting Tutorial", "Ionisation potential of a porous material", "Ionisation potential of a bulk material", "Welcome to MacroDensity", "Installation", "MacroDensity Package", "macrodensity.alpha module", "macrodensity.density module", "macrodensity.io module", "macrodensity.plotting module", "macrodensity.vasp module", "MacroDensity", "setup module", "Studies using MacroDensity", "Tutorials"], "terms": {"ar": [0, 1, 2, 3, 4, 5], "basi": 0, "much": 0, "semiconductor": 0, "technologi": 0, "from": [0, 2, 3, 4, 5, 6, 9, 12, 16], "comput": [0, 1, 9], "memori": 0, "flat": 0, "panel": 0, "displai": [0, 1, 3, 16], "photovolta": 0, "heterojuct": 0, "underli": 0, "creat": 0, "past": 0, "100": [0, 1, 3], "year": 0, "previosuli": 0, "construct": [0, 2], "band": [0, 3, 4, 5, 12, 15, 16], "diagram": [0, 2], "us": [0, 1, 2, 3, 4, 5, 6, 9], "ip": [0, 2, 3, 4], "ea": [0, 2], "slab": [0, 16], "howev": [0, 5], "detail": 0, "also": [0, 2, 3, 12], "affect": [0, 3], "line": [0, 4, 16], "up": [0, 3, 16], "charg": [0, 1, 9], "transfer": 0, "lattic": [0, 1, 3, 4, 9], "strain": 0, "effect": [0, 4], "exampl": [0, 1, 3, 4, 9, 12], "For": [0, 3, 5, 6], "an": [0, 1, 2, 3, 9], "excel": 0, "overview": 0, "subject": 0, "recommend": 0, "engin": 0, "theori": [0, 3, 5], "numer": [0, 4], "experi": 0, "thi": [0, 1, 2, 3, 4, 5, 9, 12], "demonstr": [0, 3], "choos": [0, 3], "well": [0, 9], "match": 0, "between": [0, 4, 9], "wurtzit": 0, "structur": [0, 3, 5, 9], "zno": [0, 2], "zn": [0, 1], "In": [0, 2, 3, 4], "case": [0, 4], "constant": 0, "have": [0, 1, 3, 4, 9], "been": [0, 5], "those": [0, 2], "obvious": 0, "due": [0, 1], "valu": [0, 2, 3, 4, 9], "depend": [0, 1], "paramet": [0, 1, 3, 4, 9], "note": [0, 2], "tutori": [0, 1], "veri": [0, 4, 5], "approxim": 0, "relax": 0, "wa": [0, 3], "allow": 0, "therefor": 0, "absolut": [0, 5, 15], "actual": [0, 2, 9], "number": [0, 1, 5, 9], "should": [0, 3, 4], "treat": 0, "meaning": [0, 5], "present": [0, 5], "two": [0, 4, 9], "obtain": [0, 2, 3, 4], "calulc": 0, "intit": 0, "model": 0, "essenti": 0, "involv": [0, 3, 4], "macroscop": [0, 4, 9, 16], "look": [0, 4, 16], "how": [0, 1, 3, 5], "account": [0, 5], "yield": [0, 3, 4], "natur": [0, 5], "As": 0, "outlin": [0, 3], "appl": 0, "phy": 0, "lett": 0, "94": 0, "212109": 0, "2009": 0, "vbo": 0, "epsilon_": [0, 3, 4], "vbm": [0, 3, 4, 12], "b": [0, 1, 3, 9], "eigenvalu": [0, 4], "highest": 0, "occupi": 0, "bulk": [0, 3, 16], "materi": [0, 2, 16], "across": [0, 1, 3, 5], "outcar": [0, 1, 3, 4, 12], "exercis": 0, "do": [0, 2, 3, 4, 5], "profil": [0, 3, 4], "import": [0, 2, 3, 4], "incar": [0, 3, 4], "lvhar": [0, 3, 4], "true": [0, 1, 3, 4, 9], "gener": [0, 1, 3, 4, 5], "locpot": [0, 1, 3, 4, 5], "your": [0, 3, 4, 5], "directori": [0, 4, 5, 6], "alreadi": [0, 3, 4], "one": [0, 3, 4], "analys": [0, 3, 4], "extract": [0, 1, 4, 5, 9, 12], "sampl": [0, 4, 16], "all": [0, 4], "top": [0, 4, 5], "three": [0, 1, 4, 9], "Of": [0, 2, 4], "onli": [0, 4], "obviou": [0, 4], "lattice_vector": [0, 1, 4], "just": [0, 2, 4], "period": [0, 4, 9], "direct": [0, 4, 9], "normal": [0, 4], "surfac": [0, 1, 5], "pictur": [0, 2, 3, 4], "distanc": [0, 4, 9], "layer": [0, 4], "matplotlib": [0, 1, 3, 4, 6], "inlin": [0, 3, 4], "o": [0, 2, 3, 4], "macrodens": [0, 1, 2, 3, 4, 6], "md": [0, 1, 3, 4], "math": [0, 1, 3, 4], "numpi": [0, 1, 3, 4, 9], "np": [0, 1, 3, 4, 9], "pyplot": [0, 1, 3, 4], "plt": [0, 1, 3, 4], "mpl": [0, 4], "extrema": [0, 4], "get_band_extrema": [0, 1, 4, 7, 12], "outcar_zno": 0, "print": [0, 3, 4, 9, 12], "outcar_zn": 0, "1": [0, 1, 2, 3, 4, 9, 12], "0732": 0, "6392": 0, "2": [0, 1, 2, 3, 4, 5, 9, 15], "2761": 0, "4": [0, 1, 2, 3, 4, 9], "3586": 0, "input_fil": [0, 1, 3, 4, 12], "test": [0, 1], "3": [0, 1, 2, 3, 4, 5, 9], "6": [0, 1, 2, 4, 9], "output_fil": [0, 1, 4], "planar": [0, 4, 5, 9, 16], "dat": [0, 4], "path": [0, 3, 4, 12], "isfil": [0, 3, 4], "exist": [0, 3, 4], "els": [0, 1, 3, 4], "bunzip2": [0, 3, 4], "bz2": [0, 3, 4], "vasp_pot": [0, 1, 3, 4], "ngx": [0, 1, 3, 4, 9], "ngy": [0, 1, 3, 4, 9], "ngz": [0, 1, 3, 4, 9], "read_vasp_dens": [0, 1, 3, 4], "vector_a": [0, 1, 3, 4], "vector_b": [0, 1, 3, 4], "vector_c": [0, 1, 3, 4], "av": [0, 1, 3, 4], "bv": [0, 1, 3, 4], "cv": [0, 1, 3, 4], "matrix_2_abc": [0, 1, 3, 4, 7, 9], "resolution_x": [0, 1, 3, 4], "resolution_i": [0, 1, 3, 4], "resolution_z": [0, 1, 3, 4], "grid_pot": [0, 1, 3, 4], "electron": [0, 1, 3, 4, 5, 9], "density_2_grid": [0, 1, 3, 4, 7, 9], "read": [0, 4, 12], "header": [0, 1, 3, 4], "inform": [0, 1, 3, 4, 5], "3d": [0, 1, 3, 9], "data": [0, 3, 5, 9, 16], "panda": [0, 1, 3, 6], "275851464955416e": 0, "13": [0, 1], "planar_averag": [0, 1, 4, 7, 9], "macro": [0, 1, 4], "macroscopic_averag": [0, 1, 4, 7, 9], "2737367544323206e": 0, "fig": [0, 4], "ax1": [0, 4], "subplot": [0, 4], "sharex": [0, 4], "textsiz": [0, 2, 4], "22": [0, 4], "rcparam": [0, 4], "xtick": [0, 4], "labels": [0, 4], "ytick": [0, 4], "figur": [0, 1, 4, 16], "figsiz": [0, 4], "15": 0, "8": [0, 1, 2, 3, 4, 9], "label": [0, 1, 4], "lw": [0, 4], "set_ylabel": 0, "fontsiz": [0, 4], "set_xlabel": 0, "grid": [0, 1, 4, 9], "posit": [0, 1, 9], "set_xlim": [0, 4], "0": [0, 1, 2, 3, 4, 9, 12], "len": [0, 1, 4], "set_facecolor": [0, 4], "95": [0, 4], "legend": [0, 1, 4], "savefig": [0, 1], "hj": 0, "png": [0, 1, 2], "show": [0, 1, 4], "savetxt": [0, 4], "inspect": [0, 4], "save": [0, 2, 4], "find": [0, 4, 16], "each": [0, 2, 4, 9], "plateau": [0, 3, 4, 16], "64": 0, "61": 0, "so": [0, 2, 3, 4, 5], "step": [0, 3, 4], "5": [0, 1, 2, 3, 4, 5, 9, 15], "25": [0, 1], "appli": [0, 4, 5], "equat": [0, 4], "earlier": [0, 4], "07": 0, "28": 0, "04": 0, "ev": [0, 1, 3, 4], "take": [0, 1], "fact": 0, "edg": [0, 2, 16], "cell": [0, 1, 3, 9], "To": [0, 5, 6], "first": [0, 3, 9], "vasp_tool": [0, 4], "outcar_zno_av": 0, "outcar_zns_av": 0, "464": 0, "626": 0, "8288": 0, "10": [0, 2, 3, 4, 5, 9, 15], "184": 0, "know": 0, "alpha": [0, 1, 7, 13], "mani": [0, 2], "other": [0, 1], "avail": [0, 5], "rev": 0, "73": 0, "245206": 0, "alpha_": 0, "48": [0, 9], "83": 0, "alpha_a": 0, "partial": [0, 1, 12], "ln": 0, "v_a": 0, "alpha_b": 0, "v_b": 0, "here": [0, 1, 2, 3, 15], "same": [0, 2, 3, 5], "log": 0, "phase": 0, "multipli": [0, 1], "alwai": [0, 2, 3], "turn": [0, 2], "out": [0, 1, 4, 5], "exactli": 0, "But": 0, "again": [0, 3], "reinforc": 0, "befor": 0, "By": [0, 1], "compar": 0, "equilibrium": 0, "poscar": [0, 1], "frac": 0, "v_": [0, 3], "dlnva": 0, "47": 0, "55": 0, "dlnvb": 0, "76": 0, "88": 0, "vbo_natur": 0, "str": [0, 1, 9, 12], "364267889908257": 0, "welcom": 1, "": [1, 4, 5], "jupyt": 1, "notebook": [1, 3], "contain": [1, 5, 9, 12], "few": 1, "download": 1, "packag": [1, 5, 6, 13], "you": [1, 2, 3, 5, 6], "access": 1, "execut": 1, "i": [1, 2, 3, 5, 9], "abl": 1, "The": [1, 3, 5, 9, 12, 16], "code": [1, 5], "below": [1, 2, 3], "illustr": [1, 2], "densiti": [1, 5, 7, 13], "chgcar": [1, 5], "convert": [1, 9], "total": [1, 9], "cutoff_vari": 1, "gradient": [1, 9], "requir": [1, 2, 4, 5], "comment": 1, "expens": 1, "grad_x": 1, "grad_i": 1, "grad_z": 1, "fraction": [1, 9], "numbers_2_grid": [1, 7, 9], "c": [1, 5, 9], "coeffici": 1, "plane": [1, 3], "defin": [1, 9], "plane_coeff": 1, "points_2_plan": 1, "xy": 1, "grad_mag": 1, "000000069794417": 1, "3136": 1, "planar_gradi": 1, "planar_potenti": 1, "macro_averag": 1, "80": [1, 3], "ep": [1, 2], "7": [1, 2, 4, 5], "72953392288895": 1, "postscript": 1, "backend": 1, "doe": [1, 2], "support": 1, "transpar": 1, "artist": 1, "render": 1, "opaqu": 1, "aim": [1, 5], "detect": 1, "It": [1, 3, 12], "size": [1, 2, 3], "origin": [1, 9], "unit": [1, 5], "coordin": [1, 9], "toler": 1, "threshold": [1, 9], "identifi": 1, "filenam": 1, "output": [1, 5], "percentag": 1, "categor": 1, "vacuum": [1, 2, 3, 4], "versu": 1, "provid": [1, 4], "insight": 1, "area": [1, 3], "consist": 1, "within": [1, 3], "cube_s": 1, "cube_origin": [1, 3], "1e": [1, 3], "travel": [1, 3, 9], "0478731477833207e": 1, "non_vacuum": 1, "rang": [1, 3], "j": [1, 5], "k": [1, 5], "sub_origin": 1, "float": [1, 4, 9], "cube_pot": 1, "cube_var": [1, 3], "volume_averag": [1, 3, 7, 9], "nx": [1, 9], "ny": [1, 9], "nz": [1, 9], "append": [1, 3], "17": 1, "4079": 1, "4150390625": 1, "99": 1, "5849609375": 1, "deal": 1, "interstiti": [1, 5, 15], "includ": [1, 5], "space": [1, 9], "fft": 1, "mesh": 1, "valenc": [1, 3, 12], "conduct": [1, 12], "interstic": 1, "typo": 1, "error": 1, "quiet": [1, 4], "band_extrema": [1, 12], "vb_eigenvalu": 1, "cb_eigenvalu": 1, "interstitial_potenti": 1, "interstitial_vari": 1, "locpot_extract": 1, "sum_interstitial_potenti": 1, "el": 1, "average_interstitial_potenti": 1, "vb_align": 1, "round": 1, "cb_align": 1, "interstit": 1, "8665165271901357e": 1, "05": 1, "277207757909537e": 1, "06": 1, "24": [1, 2, 9], "72": 1, "process": [1, 5], "analyz": 1, "specifi": [1, 9], "cubic": 1, "choic": [1, 3], "against": [1, 2], "abscissa": [1, 9], "can": [1, 2, 3, 5, 6], "electricfield": 1, "addition": 1, "store": 1, "format": [1, 5, 9], "280": 1, "cubes_potenti": 1, "travelling_volume_averag": [1, 7, 9], "vector_2_abscissa": [1, 7, 9], "xlabel": 1, "z": [1, 3, 9], "aa": 1, "gradient_magnitud": [1, 7, 9], "cubes_field": 1, "0x12e2d96d0": 1, "open": [1, 3, 4], "w": 1, "f": [1, 4], "writer": 1, "writerow": 1, "row": 1, "zip": 1, "temp": 1, "pd": 1, "read_csv": 1, "sep": 1, "asarrai": 1, "tofil": 1, "anoth": 1, "notabl": 1, "macrodensi": 1, "span": 1, "travers": 1, "name": [1, 2], "imag": 1, "list": [1, 2, 9, 12, 15], "16": 1, "movingcub": 1, "img_fil": 1, "ylabel": 1, "v": [1, 3, 4], "fix": 1, "axi": [1, 9], "titl": 1, "df": 1, "datafram": 1, "from_dict": 1, "orient": 1, "index": [1, 3, 5], "transpos": 1, "to_csv": 1, "onsit": 1, "hartre": 1, "ase": 1, "io": 1, "write": 1, "potential_fil": 1, "coordinate_fil": 1, "speci": 1, "sample_cub": 1, "onsitepotenti": 1, "coord": 1, "read_vasp": 1, "scaled_coord": 1, "get_scaled_posit": 1, "symbol": 1, "get_chemical_symbol": 1, "ox_coord": 1, "atom": [1, 5], "enumer": 1, "grid_posit": 1, "zero": [1, 4], "shape": 1, "potentials_list": 1, "num_bin": 1, "20": [1, 3, 9], "cube_potenti": [1, 3], "n": [1, 5], "bin": 1, "patch": 1, "hist": 1, "facecolor": 1, "6400e1": 1, "centr": [1, 5, 16], "follow": [1, 5, 6], "both": 1, "41": 1, "planaraverag": 1, "07045532018119124": 1, "voltag": 1, "result": [1, 5, 9], "cube_001_spin_dens": 1, "75": [1, 2], "planarcub": 1, "read_cube_data": 1, "linalg": 1, "norm": 1, "004323820372140808": 1, "modul": [1, 2, 4, 13], "script": [1, 3, 4], "emploi": 1, "manner": 1, "return": [1, 9, 12], "distribut": 1, "design": 1, "facilit": 1, "analysi": [1, 3], "spatial": 1, "5579496029375": 1, "we": [2, 3], "ani": [2, 5], "calcul": [2, 3, 5, 9, 16], "repres": [2, 9], "previou": 2, "cours": 2, "draw": [2, 3], "softwar": [2, 5], "like": [2, 3, 5], "inkscap": 2, "thing": 2, "would": 2, "pretti": 2, "automat": [2, 5], "attempt": 2, "make": 2, "mass": 2, "produc": 2, "version": 2, "beauti": [2, 3], "artisin": 2, "made": [2, 5], "chri": 2, "hendon": [2, 5], "our": [2, 16], "jac": [2, 3], "paper": [2, 3, 5], "porou": [2, 5, 16], "order": 2, "energi": [2, 3, 4, 5, 15], "start": 2, "build": 2, "9": 2, "mof": 2, "hkust": 2, "zif": [2, 3], "cof": 2, "1m": 2, "cpo": 2, "27": 2, "mg": 2, "mil": 2, "125": 2, "tio2": 2, "now": [2, 3], "need": [2, 3, 6], "macro_plot": 2, "energy_band_alignment_diagram": 2, "bandalign": 2, "bad": 2, "bottom": 2, "go": 2, "littl": 2, "lower": 2, "option": [2, 3, 9], "limit": 2, "better": [2, 3], "although": 2, "d": [2, 3], "reduc": 2, "arrow": 2, "head": 2, "arrowhead": 2, "great": 2, "want": [2, 3], "add": [2, 5], "some": [2, 3], "nice": 2, "redox": 2, "potenti": [2, 5, 9, 15, 16], "water": 2, "easili": 2, "point": [2, 9, 16], "its": 2, "referenc": 2, "level": [2, 3, 4], "Then": 2, "pass": [2, 3], "flag": 2, "referecnc": 2, "water_redox": 2, "e": [2, 5, 6], "h": [2, 5], "_2": [2, 4], "40": [2, 3], "mayb": 2, "tweak": 2, "colourschem": 2, "switch": 2, "plum": 2, "custard": 2, "someth": [2, 3], "bit": 2, "more": [2, 5], "sand": 2, "sea": 2, "col": 2, "e6711": 2, "1e93e6": 2, "final": 2, "golden": 2, "rule": 2, "public": [2, 15], "larger": 2, "font": 2, "variabl": 2, "vasp": [3, 4, 5, 7, 13], "align": [3, 4, 16], "dft": [3, 4], "calculaion": 3, "differ": [3, 4], "maximum": [3, 12], "vac": 3, "itself": 3, "ha": [3, 5], "That": 3, "mean": 3, "semin": 3, "optimis": 3, "structr": 3, "chosen": 3, "rememb": 3, "file": [3, 5, 12, 16], "locat": 3, "largest": 3, "ey": 3, "plot": [3, 5, 7, 13, 16], "see": [3, 5], "nb": 3, "whole": 3, "probabl": 3, "run": [3, 5, 16], "than": [3, 9], "reason": 3, "being": 3, "onc": 3, "manipul": 3, "later": 3, "intens": 3, "time": 3, "consum": 3, "load_ext": 3, "autoreload": 3, "sy": [3, 4], "imp": 3, "No": [3, 4], "edit": 3, "bbbb": 3, "oooo": 3, "mmmmm": 3, "m": 3, "averag": [3, 5, 9, 16], "9559870102655787e": 3, "14": 3, "vesta": 3, "expand": 3, "2x2x2": 3, "boundari": 3, "left": 3, "hand": 3, "side": 3, "think": 3, "through": 3, "click": 3, "new": [3, 5], "put": 3, "miller": 3, "move": [3, 16], "down": 3, "until": 3, "contour": 3, "utiltii": 3, "2d": [3, 9], "slice": 3, "enter": 3, "view": 3, "plai": 3, "set": [3, 9, 16], "max": 3, "min": 3, "tell": 3, "potentail": 3, "interv": 3, "With": 3, "get": [3, 12], "must": 3, "type": 3, "int": [3, 9], "216": 3, "try": [3, 4], "low": 3, "varianc": [3, 9], "condidt": 3, "ideal": 3, "larg": [3, 5], "possibl": 3, "dim": 3, "60": [3, 9], "dimens": [3, 9], "cube": [3, 5, 9, 16], "3i": 3, "4f": [3, 4], "6f": 3, "3068": 3, "000000": 3, "000001": 3, "000003": 3, "000019": 3, "3067": 3, "000108": 3, "3048": 3, "001151": 3, "2883": 3, "015872": 3, "4396": 3, "7464": 3, "simpl": 4, "procedur": [4, 5, 16], "A": [4, 5, 9, 12, 15], "u": 4, "under": [4, 5], "assumpt": 4, "resepct": 4, "insid": 4, "after": 4, "occup": [4, 12], "written": 4, "small": 4, "witin": 4, "let": 4, "outcar_bulk": 4, "outcar_moo3_bulk": 4, "9483": 4, "657": 4, "locpot_moo3": 4, "sno": 4, "moo3": 4, "system": [4, 5, 16], "43": 4, "filenotfounderror": 4, "traceback": 4, "most": 4, "recent": 4, "call": 4, "last": 4, "ipython": 4, "input": [4, 16], "aba517705ed6": 4, "src": 4, "density_tool": 4, "use_panda": 4, "297": 4, "298": 4, "299": 4, "r": 4, "300": 4, "_": [4, 5, 15], "readlin": 4, "301": 4, "scale_factor": 4, "errno": 4, "sometim": 4, "still": 4, "wavei": 4, "increas": 4, "sinc": 4, "58": 4, "93": 4, "51": 4, "python": [5, 6], "electrostat": [5, 9, 16], "wai": 5, "spheric": [5, 16], "when": [], "assess": [5, 15], "util": 5, "novel": 5, "semiconduct": 5, "devic": 5, "p": 5, "juntion": 5, "heterostructur": 5, "termin": 5, "simul": 5, "understand": 5, "variat": 16, "kei": 5, "raw": 5, "prove": 5, "cumbersom": 5, "often": 5, "visualis": 5, "manual": 5, "bottleneck": 5, "high": 5, "throughput": 5, "screen": 5, "project": 5, "where": 5, "repeatedli": 5, "databas": 5, "candid": 5, "address": 5, "fhi": 5, "gulp": [5, 9], "post": 5, "tool": [], "function": [5, 9, 12, 16], "enabl": 5, "physic": [5, 15], "quantiti": 5, "which": [5, 9], "interpret": 5, "Ase": 6, "pip": [5, 6], "copi": [5, 6], "sourc": [5, 6], "command": [], "git": [5, 6], "clone": [5, 6], "http": [5, 6, 15], "github": [5, 6], "com": [5, 6], "wmd": [5, 6], "group": [5, 6], "cd": [5, 6], "approach": 5, "butler": 5, "t": 5, "walsh": [5, 15], "chemic": [5, 15], "metal": 5, "organ": 5, "framework": 5, "journal": [5, 15], "american": 5, "societi": 5, "136": 5, "2703": 5, "2706": 5, "2014": 5, "theoret": 5, "background": 5, "politz": 5, "murrai": 5, "fundament": 5, "role": 5, "molecul": 5, "chemistri": 5, "108": 5, "134": 5, "142": 5, "2002": 5, "research": [5, 15], "activ": 15, "harnett": [5, 15], "caulfield": [5, 15], "l": [5, 15], "rapid": [5, 15], "predict": [5, 15], "crystal": [5, 15], "155": [5, 15], "2021": [5, 15], "search": 5, "page": 5, "descript": [7, 13], "bulk_interstitial_align": [], "bulk_vac": [], "create_plotting_mesh": [], "diff_potenti": [], "extend_potenti": [], "get_third_coordin": [], "match_resolut": [], "matched_spline_gener": [], "moving_cub": [], "read_cube_dens": [], "scissors_shift": [], "sort_potenti": [], "spherical_averag": [], "spline_gener": [], "subs_potenti": [], "translate_grid": [], "gcd": [7, 9], "gcd_list": [7, 9], "density_2_grid_gulp": [7, 9], "element_vol": [7, 9], "get_volum": [7, 9], "inverse_participation_ratio": [7, 9], "number_in_field": [7, 9], "one_2_2d": [7, 9], "planar_average_charg": [7, 9], "read_gulp_potenti": [], "read_vasp_density_class": [], "read_vasp_parchg": [], "plot_active_plan": [], "plot_active_spac": [], "plot_field_at_point": [], "plot_gulp_potenti": [], "plot_on_site_potenti": [], "plot_planar_averag": [], "plot_planar_cub": [], "plot_plane_field": [], "These": [], "complementari": [], "retriev": [], "print_output": [], "bool": 9, "class": 9, "site": [], "vb": [], "cb": [], "consid": [], "tupl": 9, "default": 9, "around": 16, "local": [], "whether": [], "intermedi": [], "deviat": [], "refer": [5, 16], "state": [], "ndarrai": 9, "subtract": [], "dataset": [], "base": 9, "x": 9, "new_bulk": [], "arrai": 9, "pc": [], "grad": [], "given": [9, 16], "along": 9, "y": 9, "random": 9, "rand": 9, "plotting_mesh": [], "potential_a": [], "potential_b": [], "end": [], "tol": [], "second": 9, "comparison": [], "new_potenti": [], "02": [], "extens": [], "vector": 9, "extend": 5, "duplic": [], "factor": [], "extended_potenti": [], "third": [], "third_coordin": [], "resolut": 9, "spline": [], "interpol": [], "a_new": [], "b_new": [], "result_a": [], "result_b": [], "td_a": [], "td_b": [], "result_td_a": [], "result_td_b": [], "magnitud": [9, 16], "csv": [], "volum": 9, "specif": [], "perform": [], "determin": [], "cover": [], "angstrom": [], "g": [], "potential_valu": [], "plane_coeffici": [], "relev": [], "3x3": 9, "file_path": [], "cube_density_fil": [], "delta": [], "shift": [], "amount": [], "shifted_potenti": [], "sort": [], "ascend": [], "sorted_potenti": [], "region": 16, "sphere": [], "If": [5, 9], "cube_vari": [], "new_res_factor": [], "higher": [], "translat": [], "fals": 9, "boundary_shift": [], "condit": 9, "translated_potenti": [], "greatest": 9, "common": 9, "divisor": 9, "integ": 9, "36": 9, "element": 9, "1d": 9, "replac": 9, "potential_grid": 9, "total_electron": 9, "potential_grid_gulp": 9, "vol": 9, "individu": 9, "element_volum": 9, "parallelepip": 9, "gx": 9, "gy": 9, "gz": 9, "field": [9, 16], "grad_magnitud": 9, "invers": 9, "particip": 9, "ratio": 9, "ipr": 9, "macro_avg_result": 9, "matrix": 9, "a_vec": 9, "b_vec": 9, "c_vec": 9, "cutoff": 9, "count": 9, "greater": 9, "equal": 9, "satisfi": 9, "gradients_field": 9, "cutoff_valu": 9, "num_elements_above_cutoff": 9, "abov": 9, "fractional_coord": 9, "grid_coord": 9, "transform": 9, "correspond": 9, "transformed_arrai": 9, "planar_avg": 9, "gulpfil": [], "cartesian": [], "none": [], "suppress": [], "statement": [], "dure": [], "chgcar_fil": [], "potential_data": [], "ax": [], "classic": [], "style": 5, "spin": [], "polar": [], "parchg": [], "channel": [], "isinst": [], "spin_dens": [], "multipl": 9, "travelling_avg": 9, "dx": 9, "dy": 9, "dz": 9, "abscissa_arrai": 9, "avg": 9, "width": [], "74356c": [], "efce19": [], "outfil": [], "ioniz": [], "affin": [], "ip_1": [], "ea_1": [], "bar": [], "color": [], "text": [], "shown": [], "dash": [], "reference_valu": [], "empti": [], "18": [], "black": [], "0001": [], "grad_calc": [], "electr": 16, "non": [], "distinguish": 16, "throughout": [], "plot_pot": [], "belong": [], "scatter": [], "voxel": [], "while": [], "a_point": [], "b_point": [], "c_point": [], "develop": [], "full": [], "OF": [], "bug": [], "bewar": [], "user": [], "visual": [], "indic": [], "directli": [], "gulppotenti": [], "new_resolut": [], "3000": [], "float64": [], "curv": [], "repeat": [], "over": [], "5000": [], "macro_avg": [], "interpolated_potenti": [], "histogram": [], "whose": [], "interest": [], "on_site_potenti": [], "finit": [], "minimum": 12, "cbm": 12, "check": 12, "warn": 12, "messag": 12, "found": 12, "arg": 12, "content": 13, "unit_test": 14, "basic": 16, "heterojunct": 16, "offset": 16, "environ": 16, "ad": 16, "ionis": 16, "pore": 16, "behind": 5, "pleas": 5, "chang": 5, "ab": 5, "initio": 5, "spglib": 6, "mit": 5, "cite": 5, "method": 5, "doi": [5, 15], "org": [5, 15], "1063": [5, 15], "0056141": [5, 15], "joss": 5, "issu": 5, "tracker": 5, "fork": 5, "pull": 5, "workflow": 5, "pep8": 5, "guidelin": 5, "unittest": 5, "master": 5, "branch": 5, "action": 5, "whenev": 5, "submit": 5, "submodul": 13}, "objects": {"macrodensity": [[9, 0, 0, "-", "density"], [12, 0, 0, "-", "vasp"]], "macrodensity.density": [[9, 1, 1, "", "GCD"], [9, 1, 1, "", "GCD_List"], [9, 1, 1, "", "density_2_grid"], [9, 1, 1, "", "density_2_grid_gulp"], [9, 1, 1, "", "element_vol"], [9, 1, 1, "", "get_volume"], [9, 1, 1, "", "gradient_magnitude"], [9, 1, 1, "", "inverse_participation_ratio"], [9, 1, 1, "", "macroscopic_average"], [9, 1, 1, "", "matrix_2_abc"], [9, 1, 1, "", "number_in_field"], [9, 1, 1, "", "numbers_2_grid"], [9, 1, 1, "", "one_2_2d"], [9, 1, 1, "", "planar_average"], [9, 1, 1, "", "planar_average_charge"], [9, 1, 1, "", "travelling_volume_average"], [9, 1, 1, "", "vector_2_abscissa"], [9, 1, 1, "", "volume_average"]], "macrodensity.vasp": [[12, 1, 1, "", "get_band_extrema"]], "": [[14, 0, 0, "-", "setup"]], "setup": [[14, 1, 1, "", "unit_tests"]]}, "objtypes": {"0": "py:module", "1": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"]}, "titleterms": {"heterojunct": 0, "offset": [0, 4], "our": [0, 3], "system": [0, 3], "procedur": [0, 3], "i": [0, 4], "interfac": 0, "calcul": [0, 1, 4], "The": [0, 2, 4], "code": [0, 4], "below": [0, 4], "usual": 0, "set": [0, 2, 4], "planaraverag": [0, 4], "py": [0, 4], "file": [0, 1, 4], "you": [0, 4], "don": [0, 4], "t": [0, 4], "need": [0, 4, 5], "edit": [0, 4], "prompt": [0, 4], "sai": [0, 4], "which": [0, 4], "axi": [0, 4], "want": [0, 4], "averag": [0, 1, 4], "along": [0, 1, 4], "now": [0, 4], "we": [0, 4], "can": [0, 4], "plot": [0, 1, 2, 4, 11], "result": [0, 4], "get": [0, 1, 4], "delta": 0, "v": 0, "ii": 0, "deform": 0, "potenti": [0, 1, 3, 4], "align": [0, 1, 2], "volum": 0, "chang": 0, "basic": 1, "function": [1, 2], "find": 1, "planar": 1, "macroscop": 1, "field": 1, "throughout": 1, "materi": [1, 3, 4], "distinguish": 1, "plateau": 1, "region": 1, "electrostat": 1, "initialis": 1, "input": [1, 2], "valu": 1, "between": 1, "vaccuum": 1, "non": 1, "cube": 1, "band": [1, 2], "edg": 1, "refer": [1, 2], "section": 1, "state": 1, "energi": 1, "variat": 1, "magnitud": 1, "electr": 1, "save": 1, "data": [1, 2], "csv": 1, "dat": 1, "binari": 1, "move": 1, "vector": 1, "graph": 1, "import": 1, "from": 1, "vasp": [1, 12], "read": [1, 3], "spheric": 1, "around": 1, "given": 1, "point": [1, 3], "print": 1, "varianc": 1, "tutori": [2, 16], "up": 2, "environ": 2, "run": 2, "displai": 2, "figur": 2, "ad": 2, "line": 2, "ionis": [3, 4], "porou": 3, "look": 3, "pore": 3, "centr": 3, "sampl": 3, "bulk": 4, "slab": 4, "protip": 4, "surfac": 4, "dipol": 4, "d_": 4, "welcom": 5, "macrodens": [5, 7, 8, 9, 10, 11, 12, 13, 15], "summari": [], "statement": 5, "requir": 6, "instal": [5, 6], "user": [5, 6], "develop": [5, 6], "literatur": 5, "studi": 15, "us": 15, "indic": 5, "tabl": 5, "packag": 7, "modul": [7, 8, 9, 10, 11, 12, 14], "content": 7, "alpha": 8, "descript": [8, 9, 10, 11, 12], "densiti": 9, "setup": 14, "notebook": 16, "licens": 5, "citat": 5, "contribut": 5, "bug": 5, "report": 5, "featur": 5, "request": 5, "question": 5, "test": 5, "submodul": 7, "io": 10}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "nbsphinx": 4, "sphinx": 57}, "alltitles": {"Heterojunction offsets": [[0, "heterojunction-offsets"]], "Our system": [[0, "our-system"], [3, "our-system"]], "Procedure": [[0, "procedure"], [3, "procedure"]], "Procedure (i)": [[0, "procedure-i"]], "Interface calculation": [[0, "interface-calculation"]], "The code below is usually set in the PlanarAverage.py file; you don\u2019t need to edit it": [[0, "the-code-below-is-usually-set-in-the-planaraverage-py-file-you-don-t-need-to-edit-it"]], "The code below will prompt you to say which axis you want to average along": [[0, "the-code-below-will-prompt-you-to-say-which-axis-you-want-to-average-along"], [4, "the-code-below-will-prompt-you-to-say-which-axis-you-want-to-average-along"]], "Now we can plot the results": [[0, "now-we-can-plot-the-results"], [4, "now-we-can-plot-the-results"]], "Get $\\Delta V$": [[0, "get-delta-v"]], "The offset": [[0, "the-offset"], [4, "the-offset"]], "Procedure (ii)": [[0, "procedure-ii"]], "The deformation potential": [[0, "the-deformation-potential"]], "The potential alignment": [[0, "the-potential-alignment"]], "Volume change": [[0, "volume-change"]], "Basic Functions": [[1, "basic-functions"]], "Finding the planar and macroscopic average": [[1, "finding-the-planar-and-macroscopic-average"]], "Get the potential": [[1, "get-the-potential"]], "Plotting a planar average (Field/potential) throughout the material": [[1, "plotting-a-planar-average-field-potential-throughout-the-material"]], "Distinguishing plateau regions in the electrostatic potential": [[1, "distinguishing-plateau-regions-in-the-electrostatic-potential"]], "Initialising inputs": [[1, "initialising-inputs"], [1, "id1"]], "Getting potential values": [[1, "getting-potential-values"]], "Distinguishing between vaccuum and non-vaccuum cubes": [[1, "distinguishing-between-vaccuum-and-non-vaccuum-cubes"]], "Aligning band edged to reference potentials": [[1, "aligning-band-edged-to-reference-potentials"]], "Input Section": [[1, "input-section"], [1, "id5"]], "Getting potential values and band edges": [[1, "getting-potential-values-and-band-edges"]], "Calculating reference states and the aligned band energies": [[1, "calculating-reference-states-and-the-aligned-band-energies"]], "Plotting variation of potential and magnitude of electric field": [[1, "plotting-variation-of-potential-and-magnitude-of-electric-field"]], "Getting the potentials and field magnitudes": [[1, "getting-the-potentials-and-field-magnitudes"]], "Saving the data into a .csv and .dat (binary file)": [[1, "saving-the-data-into-a-csv-and-dat-binary-file"]], "Moving Cube": [[1, "moving-cube"]], "Input section": [[1, "id2"]], "Getting the potential values along a vector": [[1, "getting-the-potential-values-along-a-vector"]], "Plotting and Saving the graph": [[1, "plotting-and-saving-the-graph"]], "Imports and Inputs": [[1, "imports-and-inputs"]], "Getting and calculating potentials": [[1, "getting-and-calculating-potentials"]], "Plotting and saving potentials": [[1, "plotting-and-saving-potentials"]], "Calculating the Planar Average": [[1, "calculating-the-planar-average"]], "Imports and Input Section": [[1, "imports-and-input-section"]], "Getting Potentials from VASP file": [[1, "getting-potentials-from-vasp-file"]], "Calculating planar and macroscopic average": [[1, "calculating-planar-and-macroscopic-average"], [1, "id3"]], "Plotting and Saving": [[1, "plotting-and-saving"], [1, "id4"]], "Calculating the planar and macroscopic averages from a .cube file": [[1, "calculating-the-planar-and-macroscopic-averages-from-a-cube-file"]], "Reading potentials from .cube file": [[1, "reading-potentials-from-cube-file"]], "Calculating the Spherical Average around a given point in a material": [[1, "calculating-the-spherical-average-around-a-given-point-in-a-material"]], "Getting potential and printing the potential and variance values": [[1, "getting-potential-and-printing-the-potential-and-variance-values"]], "Band Alignment Plotting Tutorial": [[2, "band-alignment-plotting-tutorial"]], "The input data": [[2, "the-input-data"]], "Set up the environment": [[2, "set-up-the-environment"]], "Run the function": [[2, "run-the-function"]], "Display the figure": [[2, "display-the-figure"], [2, "id1"], [2, "id2"], [2, "id3"], [2, "id4"]], "Adding reference lines": [[2, "adding-reference-lines"]], "Ionisation potential of a porous material": [[3, "ionisation-potential-of-a-porous-material"]], "Read the potential": [[3, "read-the-potential"]], "Look for pore centre points": [[3, "look-for-pore-centre-points"]], "Sampling the potential": [[3, "sampling-the-potential"]], "Ionisation potential of a bulk material": [[4, "ionisation-potential-of-a-bulk-material"]], "Bulk calculation": [[4, "bulk-calculation"]], "Slab calculation": [[4, "slab-calculation"]], "The code below is set in the PlanarAverage.py file; you don\u2019t need to edit it": [[4, "the-code-below-is-set-in-the-planaraverage-py-file-you-don-t-need-to-edit-it"]], "PROTIP": [[4, "protip"]], "Get the surface dipole ($D_s$)": [[4, "get-the-surface-dipole-d-s"]], "Welcome to MacroDensity": [[5, "welcome-to-macrodensity"]], "Statement of Need": [[5, "statement-of-need"]], "Installation": [[5, "installation"], [6, "installation"]], "User installation:": [[5, "user-installation"], [6, "user-installation"]], "Developer installation": [[5, "developer-installation"], [6, "developer-installation"]], "Literature": [[5, "literature"]], "Contributing": [[5, "contributing"]], "Bugs reports, feature requests and questions": [[5, "bugs-reports-feature-requests-and-questions"]], "Tests": [[5, "tests"]], "License and citation": [[5, "license-and-citation"]], "Indices and tables": [[5, "indices-and-tables"]], "Requirements": [[6, "requirements"]], "MacroDensity Package": [[7, "macrodensity-package"]], "Module contents": [[7, "module-contents"]], "Submodules": [[7, "submodules"]], "macrodensity.alpha module": [[8, "macrodensity-alpha-module"]], "Module Description": [[8, "module-description"], [9, "module-macrodensity.density"], [10, "module-description"], [11, "module-description"], [12, "module-macrodensity.vasp"]], "macrodensity.density module": [[9, "macrodensity-density-module"]], "macrodensity.io module": [[10, "macrodensity-io-module"]], "macrodensity.plotting module": [[11, "macrodensity-plotting-module"]], "macrodensity.vasp module": [[12, "macrodensity-vasp-module"]], "MacroDensity": [[13, "macrodensity"]], "setup module": [[14, "module-setup"]], "Studies using MacroDensity": [[15, "studies-using-macrodensity"]], "Tutorials": [[16, "tutorials"]], "Tutorial Notebook": [[16, null]]}, "indexentries": {"gcd() (in module macrodensity.density)": [[9, "macrodensity.density.GCD"]], "gcd_list() (in module macrodensity.density)": [[9, "macrodensity.density.GCD_List"]], "density_2_grid() (in module macrodensity.density)": [[9, "macrodensity.density.density_2_grid"]], "density_2_grid_gulp() (in module macrodensity.density)": [[9, "macrodensity.density.density_2_grid_gulp"]], "element_vol() (in module macrodensity.density)": [[9, "macrodensity.density.element_vol"]], "get_volume() (in module macrodensity.density)": [[9, "macrodensity.density.get_volume"]], "gradient_magnitude() (in module macrodensity.density)": [[9, "macrodensity.density.gradient_magnitude"]], "inverse_participation_ratio() (in module macrodensity.density)": [[9, "macrodensity.density.inverse_participation_ratio"]], "macrodensity.density": [[9, "module-macrodensity.density"]], "macroscopic_average() (in module macrodensity.density)": [[9, "macrodensity.density.macroscopic_average"]], "matrix_2_abc() (in module macrodensity.density)": [[9, "macrodensity.density.matrix_2_abc"]], "module": [[9, "module-macrodensity.density"], [12, "module-macrodensity.vasp"], [14, "module-setup"]], "number_in_field() (in module macrodensity.density)": [[9, "macrodensity.density.number_in_field"]], "numbers_2_grid() (in module macrodensity.density)": [[9, "macrodensity.density.numbers_2_grid"]], "one_2_2d() (in module macrodensity.density)": [[9, "macrodensity.density.one_2_2d"]], "planar_average() (in module macrodensity.density)": [[9, "macrodensity.density.planar_average"]], "planar_average_charge() (in module macrodensity.density)": [[9, "macrodensity.density.planar_average_charge"]], "travelling_volume_average() (in module macrodensity.density)": [[9, "macrodensity.density.travelling_volume_average"]], "vector_2_abscissa() (in module macrodensity.density)": [[9, "macrodensity.density.vector_2_abscissa"]], "volume_average() (in module macrodensity.density)": [[9, "macrodensity.density.volume_average"]], "get_band_extrema() (in module macrodensity.vasp)": [[12, "macrodensity.vasp.get_band_extrema"]], "macrodensity.vasp": [[12, "module-macrodensity.vasp"]], "setup": [[14, "module-setup"]], "unit_tests() (in module setup)": [[14, "setup.unit_tests"]]}})
\ No newline at end of file
diff --git a/docs/macrodensity.rst b/docs/macrodensity.rst
index f389323..c91a9fa 100644
--- a/docs/macrodensity.rst
+++ b/docs/macrodensity.rst
@@ -15,4 +15,5 @@ Submodules
macrodensity.alpha
macrodensity.density
macrodensity.plotting
- macrodensity.vasp
\ No newline at end of file
+ macrodensity.vasp
+ macrodensity.io
\ No newline at end of file
diff --git a/macrodensity/__pycache__/__init__.cpython-311.pyc b/macrodensity/__pycache__/__init__.cpython-311.pyc
index 92aa5db..168514e 100644
Binary files a/macrodensity/__pycache__/__init__.cpython-311.pyc and b/macrodensity/__pycache__/__init__.cpython-311.pyc differ
diff --git a/macrodensity/alpha.py b/macrodensity/alpha.py
index dd6dc49..31c0e69 100644
--- a/macrodensity/alpha.py
+++ b/macrodensity/alpha.py
@@ -15,11 +15,11 @@
from macrodensity.density import (
density_2_grid,
matrix_2_abc,
- read_vasp_density,
volume_average,
matrix_2_abc,
travelling_volume_average,
vector_2_abscissa,)
+from macrodensity.io import read_vasp_density
from macrodensity.vasp import get_band_extrema
diff --git a/macrodensity/plotting.py b/macrodensity/plotting.py
index 3be3ed6..c37cda2 100644
--- a/macrodensity/plotting.py
+++ b/macrodensity/plotting.py
@@ -16,14 +16,13 @@
density_2_grid,
matrix_2_abc,
numbers_2_grid,
- read_vasp_density,
volume_average,
density_2_grid_gulp,
macroscopic_average,
matrix_2_abc,
planar_average,
- read_gulp_potential
)
+from macrodensity.io import read_vasp_density, read_gulp_potential
def energy_band_alignment_diagram(energies: list, materials:list, limit:float=8., width:float=1.,