diff --git a/docs/CHANGES.md b/docs/CHANGES.md index 77386a5d459..37ee6a3112f 100644 --- a/docs/CHANGES.md +++ b/docs/CHANGES.md @@ -6,6 +6,12 @@ nav_order: 4 # Changelog +## v2023.9.25 + +- New basic MPRester implemented that supports the most common use cases without having to install mp-api. mp-api is no longer a dependency of pymatgen. +- Breaking: rename get_ax3d_fig_plt->get_ax3d_fig and get_ax_fig_plt->get_ax_fig plus no longer return plt +- Misc bug fixes. + ## v2023.9.10 ### πŸ› Bug Fixes @@ -178,7 +184,7 @@ MagOrderingTransformation` does not implicitly yield spins of 0 on the nonmagnet This release changes the Ytterbium (Yb) pseudo-potential (PSP) from Yb_2 to Yb_3 for all PBE_54 VASP input sets. -Background: The `A-lab `\_ revealed that as a result of using Yb_2 the energy on Yb compounds is off by a lot, resulting in supposedly stable things being unsynthesizable. While an unfortunate mistake, it's also great to see how experiment can help surface simulation errors. +Background: The `A-lab ` revealed that as a result of using Yb_2 the energy on Yb compounds is off by a lot, resulting in supposedly stable things being unsynthesizable. While an unfortunate mistake, it's also great to see how experiment can help surface simulation errors. On pre-PBE_54 input sets, we now issue a warning that Yb_2 will give bad results for most systems since Yb is most often in oxidation state Yb3+. diff --git a/docs/pymatgen.alchemy.md b/docs/pymatgen.alchemy.md index 9aed11efd33..281f20db29d 100644 --- a/docs/pymatgen.alchemy.md +++ b/docs/pymatgen.alchemy.md @@ -67,7 +67,17 @@ Method to execute the test. **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Input structure to test -Returns: True if structure is neutral. + +* **Returns** + + True if structure is neutral. + + + +* **Return type** + + bool + ### _class_ ContainsSpecieFilter(species, strict_compare=False, AND=True, exclude=False) @@ -118,7 +128,17 @@ Returns: MSONable dict. #### test(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) Method to execute the test. -Returns: True if structure do not contain specified species. + +* **Returns** + + True if structure does not contain specified species. + + + +* **Return type** + + bool + ### _class_ RemoveDuplicatesFilter(structure_matcher: dict | [StructureMatcher](pymatgen.analysis.md#pymatgen.analysis.structure_matcher.StructureMatcher) | None = None, symprec: float | None = None) @@ -152,7 +172,17 @@ and symmetry (if symprec is given). **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Input structure to test. -Returns: True if structure is not in list. + +* **Returns** + + True if structure is not in list. + + + +* **Return type** + + bool + ### _class_ RemoveExistingFilter(existing_structures, structure_matcher=None, symprec=None) @@ -195,7 +225,17 @@ Method to execute the test. **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Input structure to test -Returns: True if structure is not in existing list. + +* **Returns** + + True if structure is not in existing list. + + + +* **Return type** + + bool + ### _class_ SpecieProximityFilter(specie_and_min_dist_dict) @@ -245,9 +285,17 @@ Method to execute the test. **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Input structure to test -Returns: True if structure does not contain species within specified - distances. +* **Returns** + + True if structure does not contain species within specified distances. + + + +* **Return type** + + bool + ### _class_ SpeciesMaxDistFilter(sp1, sp2, max_dist) @@ -286,9 +334,20 @@ Method to execute the test. **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Input structure to test -Returns: True if structure does not contain the two species are distances - greater than max_dist. +* **Returns** + + True if structure does not contain the two species are distances + + greater than max_dist. + + + + +* **Return type** + + bool + ## pymatgen.alchemy.materials module @@ -589,7 +648,7 @@ containing multiple structures. * **Parameters** - * **cif_string** – A string containing a cif or a series of cifs + * **cif_string** – A string containing a cif or a series of CIFs * **transformations** – New transformations to be applied to all @@ -606,7 +665,7 @@ containing multiple structures. -#### _static_ from_filenames(filenames, transformations=None, primitive=True, extend_collection=False) +#### _classmethod_ from_filenames(filenames, transformations=None, primitive=True, extend_collection=False) Generates a TransformedStructureCollection from a cif, possibly containing multiple structures. @@ -668,17 +727,24 @@ POSCAR filenames. -### _class_ StandardTransmuter(transformed_structures, transformations=None, extend_collection=0, ncores=None) +### _class_ StandardTransmuter(transformed_structures, transformations=None, extend_collection: int = 0, ncores: int | None = None) Bases: `object` An example of a Transmuter object, which performs a sequence of transformations on many structures to generate TransformedStructures. - +#### transformed_structures() +List of all transformed structures. + + +* **Type** + + list[[Structure](pymatgen.core.md#pymatgen.core.structure.Structure)] + + Initializes a transmuter from an initial list of -`pymatgen.alchemy.materials.TransformedStructure`. +pymatgen.alchemy.materials.TransformedStructure. * **Parameters** @@ -781,7 +847,7 @@ Extends a sequence of transformations to the TransformedStructure. -#### _static_ from_structures(structures, transformations=None, extend_collection=0) +#### _classmethod_ from_structures(structures, transformations=None, extend_collection=0) Alternative constructor from structures rather than TransformedStructures. diff --git a/docs/pymatgen.analysis.chemenv.connectivity.md b/docs/pymatgen.analysis.chemenv.connectivity.md index 3b56fd1958f..9949dd6cd88 100644 --- a/docs/pymatgen.analysis.chemenv.connectivity.md +++ b/docs/pymatgen.analysis.chemenv.connectivity.md @@ -387,11 +387,9 @@ Draw network of environments in a matplotlib figure axes. * **periodicity_vectors** – List of periodicity vectors that should be drawn. -Returns: None - ### make_supergraph(graph, multiplicity, periodicity_vectors) -Make supergraph from a graph of environments. +Make super graph from a graph of environments. * **Parameters** @@ -400,13 +398,23 @@ Make supergraph from a graph of environments. * **graph** – Graph of environments. - * **multiplicity** – Multiplicity of the supergraph. + * **multiplicity** – Multiplicity of the super graph. + + + * **periodicity_vectors** – Periodicity vectors needed to make the super graph. + + + +* **Returns** + + Super graph of the environments. + - * **periodicity_vectors** – Periodicity vectors needed to make the supergraph. +* **Return type** + nx.MultiGraph -Returns: Super graph of the environments. ## pymatgen.analysis.chemenv.connectivity.connectivity_finder module @@ -563,7 +571,13 @@ Compare with another environment node. * **Returns** - True if it is equal to the other node, False otherwise. + True if it is equal to the other node. + + + +* **Return type** + + bool diff --git a/docs/pymatgen.analysis.chemenv.coordination_environments.md b/docs/pymatgen.analysis.chemenv.coordination_environments.md index d1ba98bce1d..c80ae6e73b9 100644 --- a/docs/pymatgen.analysis.chemenv.coordination_environments.md +++ b/docs/pymatgen.analysis.chemenv.coordination_environments.md @@ -52,7 +52,12 @@ Abstract constructor for the all chemenv strategies. #### _abstract_ as_dict() Bson-serializable dict representation of the SimplestChemenvStrategy object. -:returns: Bson-serializable dict representation of the SimplestChemenvStrategy object. + + +* **Returns** + + Bson-serializable dict representation of the SimplestChemenvStrategy object. + #### equivalent_site_index_and_transform(psite) @@ -86,7 +91,7 @@ SimpleAbundanceChemenvStrategy object created using the as_dict method. #### get_site_ce_fractions_and_neighbors(site, full_ce_info=False, strategy_info=False) Applies the strategy to the structure_environments object in order to get coordination environments, their fraction, csm, geometry_info, and neighbors -:param site: Site for which the above information is seeked +:param site: Site for which the above information is sought * **Returns** @@ -169,12 +174,6 @@ Set up a given option for this strategy. -* **Returns** - - None - - - #### set_structure_environments(structure_environments) Set the structure environments to this strategy. @@ -185,12 +184,6 @@ Set the structure environments to this strategy. -* **Returns** - - None - - - #### setup_options(all_options_dict) Set up options for this strategy based on a dict. @@ -201,19 +194,12 @@ Set up options for this strategy based on a dict. -* **Returns** - - None - - - #### _property_ symmetry_measure_type() Type of symmetry measure. #### _property_ uniquely_determines_coordination_environments() -Returns True if the strategy leads to a unique coordination environment, False otherwise. -:returns: True if the strategy leads to a unique coordination environment, False otherwise. +Returns True if the strategy leads to a unique coordination environment. ### _class_ AdditionalConditionInt(integer) @@ -246,7 +232,7 @@ Initialize additional condition from dict. #### integer(_ = _ ) -### _class_ AngleCutoffFloat(myfloat) +### _class_ AngleCutoffFloat(cutoff) Bases: `float`, `StrategyOption` Angle cutoff in a strategy. @@ -256,7 +242,7 @@ Special float that should be between 0 and 1. * **Parameters** - **myfloat** – Angle cutoff. + **cutoff** – Angle cutoff. @@ -332,9 +318,8 @@ Sum of all angles to a given power in a neighbors set. MSONable dict. -#### _classmethod_ from_dict(dd) -From dict -:param dd: +#### _classmethod_ from_dict(dct) +Construct AngleNbSetWeight from dict representation. #### weight(nb_set, structure_environments, cn_map=None, additional_info=None) @@ -389,13 +374,13 @@ Initialize AnglePlateauNbSetWeight. MSONable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of AnglePlateauNbSetWeight. + **dct** – Dict representation of AnglePlateauNbSetWeight. @@ -473,13 +458,13 @@ Initializes weights explicitly for each coordination. -#### _classmethod_ from_description(dd) +#### _classmethod_ from_description(dct) Initializes weights from description. * **Parameters** - **dd** – Dictionary description. + **dct** – Dictionary description. @@ -489,13 +474,13 @@ Initializes weights from description. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of CNBiasNbSetWeight. + **dct** – Dict representation of CNBiasNbSetWeight. @@ -571,7 +556,7 @@ Get the weight of a given neighbors set. -### _class_ CSMFloat(myfloat) +### _class_ CSMFloat(cutoff) Bases: `float`, `StrategyOption` Real number representing a Continuous Symmetry Measure. @@ -581,7 +566,7 @@ Special float that should be between 0 and 100. * **Parameters** - **myfloat** – CSM. + **cutoff** – CSM. @@ -670,13 +655,13 @@ Initializes DeltaCSMNbSetWeight from specific coordination number differences. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of DeltaCSMNbSetWeight. + **dct** – Dict representation of DeltaCSMNbSetWeight. @@ -738,13 +723,13 @@ Initialize DeltaDistanceNbSetWeight. MSONable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of DeltaDistanceNbSetWeight. + **dct** – Dict representation of DeltaDistanceNbSetWeight. @@ -825,13 +810,13 @@ Initialize CNBiasNbSetWeight. MSONable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of DistanceAngleAreaNbSetWeight. + **dct** – Dict representation of DistanceAngleAreaNbSetWeight. @@ -939,7 +924,7 @@ Get the weight of a given neighbors set. -### _class_ DistanceCutoffFloat(myfloat) +### _class_ DistanceCutoffFloat(cutoff) Bases: `float`, `StrategyOption` Distance cutoff in a strategy. @@ -949,7 +934,7 @@ Special float that should be between 1 and infinity. * **Parameters** - **myfloat** – Distance cutoff. + **cutoff** – Distance cutoff. @@ -997,13 +982,13 @@ Initialize DistanceNbSetWeight. MSOnable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of DistanceNbSetWeight. + **dct** – Dict representation of DistanceNbSetWeight. @@ -1065,13 +1050,13 @@ Initialize DistancePlateauNbSetWeight. MSONable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of DistancePlateauNbSetWeight. + **dct** – Dict representation of DistancePlateauNbSetWeight. @@ -1331,13 +1316,13 @@ Standard mean of the weights. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of NormalizedAngleDistanceNbSetWeight. + **dct** – Dict representation of NormalizedAngleDistanceNbSetWeight. @@ -1456,13 +1441,13 @@ Initialize SelfCSMNbSetWeight. MSONable dict. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Initialize from dict. * **Parameters** - **dd** – Dict representation of SelfCSMNbSetWeight. + **dct** – Dict representation of SelfCSMNbSetWeight. @@ -1527,7 +1512,12 @@ Constructor for the SimpleAbundanceChemenvStrategy. #### as_dict() Bson-serializable dict representation of the SimpleAbundanceChemenvStrategy object. -:returns: Bson-serializable dict representation of the SimpleAbundanceChemenvStrategy object. + + +* **Returns** + + Bson-serializable dict representation of the SimpleAbundanceChemenvStrategy object. + #### _classmethod_ from_dict(d) @@ -1668,12 +1658,6 @@ Add a visual of the strategy on a distance-angle plot. -* **Returns** - - None - - - #### _property_ additional_condition() Additional condition for this strategy. @@ -1684,7 +1668,12 @@ Angle cutoff used. #### as_dict() Bson-serializable dict representation of the SimplestChemenvStrategy object. -:returns: Bson-serializable dict representation of the SimplestChemenvStrategy object. + + +* **Returns** + + Bson-serializable dict representation of the SimplestChemenvStrategy object. + #### _property_ continuous_symmetry_measure_cutoff() @@ -1888,7 +1877,12 @@ Not yet implemented. #### as_dict() Bson-serializable dict representation of the TargettedPenaltiedAbundanceChemenvStrategy object. -:returns: Bson-serializable dict representation of the TargettedPenaltiedAbundanceChemenvStrategy object. + + +* **Returns** + + Bson-serializable dict representation of the TargettedPenaltiedAbundanceChemenvStrategy object. + #### _classmethod_ from_dict(d) @@ -1958,7 +1952,12 @@ Constructor for the WeightedNbSetChemenvStrategy. #### as_dict() Bson-serializable dict representation of the WeightedNbSetChemenvStrategy object. -:returns: Bson-serializable dict representation of the WeightedNbSetChemenvStrategy object. + + +* **Returns** + + Bson-serializable dict representation of the WeightedNbSetChemenvStrategy object. + #### _classmethod_ from_dict(d) @@ -2160,7 +2159,17 @@ Base constructor for ChemenvAlgorithm. #### _property_ algorithm_type() Return the type of algorithm. -Returns: Type of the algorithm + +* **Returns** + + Type of the algorithm + + + +* **Return type** + + str + #### _abstract_ as_dict() @@ -2282,7 +2291,17 @@ Return a dictionary mapping the symbol of a CoordinationGeometry to its coordina **coordination** – Whether to restrict the dictionary to a given coordination. -Returns: Dictionary mapping the symbol of a CoordinationGeometry to its coordination. + +* **Returns** + + map of symbol of a CoordinationGeometry to its coordination. + + + +* **Return type** + + dict + #### get_symbol_name_mapping(coordination=None) @@ -2294,7 +2313,17 @@ Return a dictionary mapping the symbol of a CoordinationGeometry to its name. **coordination** – Whether to restrict the dictionary to a given coordination. -Returns: Dictionary mapping the symbol of a CoordinationGeometry to its name. + +* **Returns** + + map symbol of a CoordinationGeometry to its name. + + + +* **Return type** + + dict + #### is_a_valid_coordination_geometry(mp_symbol=None, IUPAC_symbol=None, IUCr_symbol=None, name=None, cn=None) @@ -2338,7 +2367,17 @@ Return a string with a list of the Coordination Geometries. * **additional_info** – Whether to add some additional info for each coordination geometry. -Returns: String describing the list of coordination geometries. + +* **Returns** + + description of the list of coordination geometries. + + + +* **Return type** + + str + ### _class_ CoordinationGeometry(mp_symbol, name, alternative_names=None, IUPAC_symbol=None, IUCr_symbol=None, coordination=None, central_site=None, points=None, solid_angles=None, permutations_safe_override=False, deactivate=False, faces=None, edges=None, algorithms=None, equivalent_indices=None, neighbors_sets_hints=None) @@ -2451,8 +2490,8 @@ A JSON-serializable dict representation of this NeighborsSetsHints. #### double_cap_hints(hints_info) -Return hints for an additional neighbors set, i.e. the voronoi indices that constitute this new -neighbors set, in case of a β€œDouble cap” hint. +Return hints for an additional neighbors set, i.e. the voronoi indices that +constitute this new neighbors set, in case of a β€œDouble cap” hint. * **Parameters** @@ -2460,24 +2499,26 @@ neighbors set, in case of a β€œDouble cap” hint. **hints_info** – Info needed to build new β€œhinted” neighbors set. -Returns: Voronoi indices of the new β€œhinted” neighbors set. +* **Returns** + + Voronoi indices of the new β€œhinted” neighbors set. -#### _classmethod_ from_dict(dd) -Reconstructs the NeighborsSetsHints from its JSON-serializable dict representation. -* **Parameters** +* **Return type** - **dd** – a JSON-serializable dict representation of a NeighborsSetsHints. + list[int] -Returns: a NeighborsSetsHints. + +#### _classmethod_ from_dict(dct) +Reconstructs the NeighborsSetsHints from its JSON-serializable dict representation. #### hints(hints_info) -Return hints for an additional neighbors set, i.e. the voronoi indices that constitute this new -neighbors set. +Return hints for an additional neighbors set, i.e. the voronoi indices that +constitute this new neighbors set. * **Parameters** @@ -2485,12 +2526,22 @@ neighbors set. **hints_info** – Info needed to build new β€œhinted” neighbors set. -Returns: Voronoi indices of the new β€œhinted” neighbors set. + +* **Returns** + + Voronoi indices of the new β€œhinted” neighbors set. + + + +* **Return type** + + list[int] + #### single_cap_hints(hints_info) -Return hints for an additional neighbors set, i.e. the voronoi indices that constitute this new -neighbors set, in case of a β€œSingle cap” hint. +Return hints for an additional neighbors set, i.e. the voronoi indices that +constitute this new neighbors set, in case of a β€œSingle cap” hint. * **Parameters** @@ -2498,12 +2549,22 @@ neighbors set, in case of a β€œSingle cap” hint. **hints_info** – Info needed to build new β€œhinted” neighbors set. -Returns: Voronoi indices of the new β€œhinted” neighbors set. + +* **Returns** + + Voronoi indices of the new β€œhinted” neighbors set. + + + +* **Return type** + + list[int] + #### triple_cap_hints(hints_info) -Return hints for an additional neighbors set, i.e. the voronoi indices that constitute this new -neighbors set, in case of a β€œTriple cap” hint. +Return hints for an additional neighbors set, i.e. the voronoi indices that +constitute this new neighbors set, in case of a β€œTriple cap” hint. * **Parameters** @@ -2511,7 +2572,17 @@ neighbors set, in case of a β€œTriple cap” hint. **hints_info** – Info needed to build new β€œhinted” neighbors set. -Returns: Voronoi indices of the new β€œhinted” neighbors set. + +* **Returns** + + Voronoi indices of the new β€œhinted” neighbors set. + + + +* **Return type** + + list[int] + #### _property_ algorithms() @@ -2531,9 +2602,7 @@ Returns the coordination number of this coordination geometry. #### _property_ distfactor_max() -The maximum distfactor for the perfect CoordinationGeometry. - -Returns: Maximum distfactor for the perfect CoordinationGeometry (usually 1.0 for symmetric polyhedrons). +The maximum distfactor for the perfect CoordinationGeometry (usually 1.0 for symmetric polyhedrons). #### edges(sites, permutation=None, input='sites') @@ -2555,7 +2624,11 @@ Reconstructs the CoordinationGeometry from its JSON-serializable dict representa **dct** – a JSON-serializable dict representation of a CoordinationGeometry. -Returns: a CoordinationGeometry. + +* **Returns** + + CoordinationGeometry + #### get_central_site() @@ -2601,16 +2674,16 @@ Can be useful to skip permutations that have already been performed. **permutation** – Current permutation -Returns: Reference permutation of the perfect CoordinationGeometry. +* **Returns** -#### set_permutations_safe_override(permutations_safe_override) -Setup ChemEnv so that a safe set of permutations are used. + Reference permutation of the perfect CoordinationGeometry. -* **Parameters** - **permutations_safe_override** – Whether to use safe permutations. +* **Return type** + + Permutation @@ -2625,7 +2698,7 @@ Bases: `AbstractChemenvAlgorithm` Class representing the algorithm doing the explicit permutations for the calculation of the Continuous Symmetry Measure. -> Initializes a separation plane for a given perfect coordination geometry. +Initializes a separation plane for a given perfect coordination geometry. * **Parameters** @@ -2637,27 +2710,28 @@ the Continuous Symmetry Measure. #### _abc_impl(_ = <_abc._abc_data object_ ) #### _property_ as_dict() -Return the JSON-serializable dict representation of this ExplicitPermutationsAlgorithm algorithm. +Returns: +dict: JSON-serializable representation of this ExplicitPermutationsAlgorithm -Returns: a JSON-serializable dict representation of this ExplicitPermutationsAlgorithm algorithm. + +#### _classmethod_ from_dict(dct) +Reconstruct ExplicitPermutationsAlgorithm from its JSON-serializable dict representation. -#### _classmethod_ from_dict(dd) -Reconstructs the ExplicitPermutationsAlgorithm algorithm from its JSON-serializable dict representation. +#### _property_ permutations() +Return the permutations to be performed for this algorithm. -* **Parameters** +* **Returns** - **dd** – a JSON-serializable dict representation of an ExplicitPermutationsAlgorithm algorithm. + Permutations to be performed. -Returns: an ExplicitPermutationsAlgorithm algorithm. +* **Return type** -#### _property_ permutations() -Return the permutations to be performed for this algorithm. + list -Returns: Permutations to be performed. ### _class_ SeparationPlane(plane_points, mirror_plane=False, ordered_plane=False, point_groups=None, ordered_point_groups=None, explicit_permutations=None, minimum_number_of_points=None, explicit_optimized_permutations=None, multiplicity=None, other_plane_points=None) @@ -2666,7 +2740,7 @@ Bases: `AbstractChemenvAlgorithm` Class representing the algorithm using separation planes for the calculation of the Continuous Symmetry Measure. -> Initializes a separation plane for a given perfect coordination geometry. +Initializes a separation plane for a given perfect coordination geometry. * **Parameters** @@ -2718,13 +2792,33 @@ the Continuous Symmetry Measure. This is used in the identification of the final permutation to be used. -Returns: list of the β€œarg sorted” ordered indices of the separation plane. + +* **Returns** + + β€œarg sorted” ordered indices of the separation plane. + + + +* **Return type** + + list[int] + #### _property_ as_dict() Return the JSON-serializable dict representation of this SeparationPlane algorithm. -Returns: a JSON-serializable dict representation of this SeparationPlane algorithm. + +* **Returns** + + JSON-serializable representation of this SeparationPlane algorithm. + + + +* **Return type** + + dict + #### _classmethod_ from_dict(dct) @@ -2733,16 +2827,36 @@ Reconstructs the SeparationPlane algorithm from its JSON-serializable dict repre * **Parameters** - **dd** – a JSON-serializable dict representation of an SeparationPlane algorithm. + **dct** – a JSON-serializable dict representation of an SeparationPlane algorithm. + + + +* **Returns** + + algorithm object + + + +* **Return type** + SeparationPlane -Returns: a SeparationPlane algorithm. #### _property_ permutations() Permutations used for this separation plane algorithm. -Returns: List of permutations to be performed. + +* **Returns** + + to be performed. + + + +* **Return type** + + list[Permutations] + #### _property_ ref_separation_perm() @@ -2754,7 +2868,17 @@ For a separation plane of type 2|4|3, with plane_points indices [0, 3, 5, 8] and point_groups indices [1, 4] and [2, 7, 6], the list of ordered indices is : [0, 3, 5, 8, 1, 4, 2, 7, 6]. -Returns: list of ordered indices of this separation plane. + +* **Returns** + + of ordered indices of this separation plane. + + + +* **Return type** + + list[int] + #### safe_separation_permutations(ordered_plane=False, ordered_point_groups=None, add_opposite=False) @@ -2777,7 +2901,9 @@ This is not meant to be used in production. Default configuration for ChemEnv do * **add_opposite** – Whether to add the permutations from the second group before the first group as well. -Returns: List of safe permutations. +Returns + + list[int]: safe permutations. ## pymatgen.analysis.chemenv.coordination_environments.coordination_geometry_finder module @@ -3034,10 +3160,9 @@ environments in the structure #### coordination_geometry_symmetry_measures(coordination_geometry, tested_permutations=False, points_perfect=None, optimization=None) -Returns the symmetry measures of a given coordination_geometry for a set of permutations depending on -the permutation setup. Depending on the parameters of the LocalGeometryFinder and on the coordination - -> geometry, different methods are called. +Returns the symmetry measures of a given coordination_geometry for a set of +permutations depending on the permutation setup. Depending on the parameters of +the LocalGeometryFinder and on the coordination geometry, different methods are called. * **Parameters** @@ -3046,15 +3171,15 @@ the permutation setup. Depending on the parameters of the LocalGeometryFinder an -* **Returns** +* **Raises** - the symmetry measures of a given coordination_geometry for a set of permutations + **NotImplementedError** – if the permutation_setup does not exist -* **Raise** +* **Returns** - NotImplementedError if the permutation_setup does not exists. + the symmetry measures of a given coordination_geometry for a set of permutations @@ -3126,10 +3251,9 @@ facets to reduce the complexity of the system. Caller to the refined 2POINTS, 3P #### coordination_geometry_symmetry_measures_sepplane_optim(coordination_geometry, points_perfect=None, nb_set=None, optimization=None) -Returns the symmetry measures of a given coordination_geometry for a set of permutations depending on -the permutation setup. Depending on the parameters of the LocalGeometryFinder and on the coordination - -> geometry, different methods are called. +Returns the symmetry measures of a given coordination_geometry for a set of +permutations depending on the permutation setup. Depending on the parameters of +the LocalGeometryFinder and on the coordination geometry, different methods are called. * **Parameters** @@ -3138,15 +3262,15 @@ the permutation setup. Depending on the parameters of the LocalGeometryFinder an -* **Returns** +* **Raises** - the symmetry measures of a given coordination_geometry for a set of permutations + **NotImplementedError** – if the permutation_setup does not exist -* **Raise** +* **Returns** - NotImplementedError if the permutation_setup does not exists. + the symmetry measures of a given coordination_geometry for a set of permutations @@ -3165,18 +3289,33 @@ measures of each permutation #### get_coordination_symmetry_measures(only_minimum=True, all_csms=True, optimization=None) Returns the continuous symmetry measures of the current local geometry in a dictionary. -:returns: the continuous symmetry measures of the current local geometry in a dictionary. + + +* **Returns** + + the continuous symmetry measures of the current local geometry in a dictionary. + #### get_coordination_symmetry_measures_optim(only_minimum=True, all_csms=True, nb_set=None, optimization=None) Returns the continuous symmetry measures of the current local geometry in a dictionary. -:returns: the continuous symmetry measures of the current local geometry in a dictionary. + + +* **Returns** + + the continuous symmetry measures of the current local geometry in a dictionary. + #### get_structure() Returns the pymatgen Structure that has been setup for the identification of geometries (the initial one might have been refined/symmetrized using the SpaceGroupAnalyzer). -:returns: The pymatgen Structure that has been setup for the identification of geometries (the initial one + + +* **Returns** + + The pymatgen Structure that has been setup for the identification of geometries (the initial one + might have been refined/symmetrized using the SpaceGroupAnalyzer). @@ -3504,6 +3643,12 @@ Whether this ChemicalEnvironments object is close to another one. +* **Return type** + + bool + + + #### minimum_geometries(n=None, symmetry_measure_type=None, max_csm=None) Returns a list of geometries with increasing continuous symmetry measure in this ChemicalEnvironments object. @@ -3613,7 +3758,7 @@ Constructor for NeighborsSet. A JSON-serializable dict representation of the NeighborsSet. -#### _classmethod_ from_dict(dd, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), all_nbs_sites) +#### _classmethod_ from_dict(dct, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), all_nbs_sites) Reconstructs the NeighborsSet algorithm from its JSON-serializable dict representation, together with the structure and all the possible neighbors sites. @@ -3625,7 +3770,7 @@ reconstructing itself. These two are both in the LightStructureEnvironments obje * **Parameters** - * **dd** – a JSON-serializable dict representation of a NeighborsSet. + * **dct** – a JSON-serializable dict representation of a NeighborsSet. * **structure** – The structure. @@ -3634,7 +3779,11 @@ reconstructing itself. These two are both in the LightStructureEnvironments obje * **all_nbs_sites** – The list of all the possible neighbors for a given site. -Returns: a NeighborsSet. + +* **Returns** + + NeighborsSet + #### _property_ neighb_coords() @@ -3676,7 +3825,17 @@ Get the clear environments in the structure. **conditions** – Conditions to be checked for an environment to be β€œclear”. -Returns: Set of clear environments in this structure. + +* **Returns** + + Clear environments in this structure. + + + +* **Return type** + + list + #### contains_only_one_anion(anion) @@ -3688,7 +3847,17 @@ Whether this LightStructureEnvironments concerns a structure with only one given **anion** – Anion (e.g. O2-, …). -Returns: True if this LightStructureEnvironments concerns a structure with only one given anion. + +* **Returns** + + True if this LightStructureEnvironments concerns a structure with only one given anion. + + + +* **Return type** + + bool + #### contains_only_one_anion_atom(anion_atom) @@ -3700,13 +3869,33 @@ Whether this LightStructureEnvironments concerns a structure with only one given **anion_atom** – Anion (e.g. O, …). The structure could contain O2- and O- though. -Returns: True if this LightStructureEnvironments concerns a structure with only one given anion_atom. + +* **Returns** + + True if this LightStructureEnvironments concerns a structure with only one given anion_atom. + + + +* **Return type** + + bool + #### environments_identified() Return the set of environments identified in this structure. -Returns: Set of environments identified in this structure. + +* **Returns** + + environments identified in this structure. + + + +* **Return type** + + set + #### _classmethod_ from_dict(d) @@ -3746,7 +3935,11 @@ Construct a LightStructureEnvironments object from a strategy and a StructureEnv structure). -Returns: a LightStructureEnvironments object. + +* **Returns** + + LightStructureEnvironments + #### get_site_info_for_specie_allces(specie, min_fraction=0) @@ -3762,9 +3955,20 @@ Get list of indices that have the given specie. * **min_fraction** – Minimum fraction of the coordination environment. -Returns: Dictionary with the list of coordination environments for the given species, the indices of the sites - in which they appear, their fractions and continuous symmetry measures. +* **Returns** + + with the list of coordination environments for the given species, the indices of the sites + + in which they appear, their fractions and continuous symmetry measures. + + + + +* **Return type** + + dict + #### get_site_info_for_specie_ce(specie, ce_symbol) @@ -3780,9 +3984,21 @@ Get list of indices that have the given specie with a given Coordination environ * **ce_symbol** – Symbol of the coordination environment to get. -Returns: Dictionary with the list of indices in the structure that have the given specie in the given - environment, their fraction and continuous symmetry measures. +* **Returns** + + Keys are β€˜isites’, β€˜fractions’, β€˜csms’ which contain list of indices in the structure + + that have the given specie in the given environment, their fraction and continuous + symmetry measures. + + + + +* **Return type** + + dict + #### get_statistics(statistics_fields=('anion_list', 'anion_atom_list', 'cation_list', 'cation_atom_list', 'neutral_list', 'neutral_atom_list', 'atom_coordination_environments_present', 'ion_coordination_environments_present', 'fraction_atom_coordination_environments_present', 'fraction_ion_coordination_environments_present', 'coordination_environments_atom_present', 'coordination_environments_ion_present'), bson_compatible=False) @@ -3801,7 +4017,13 @@ Get the statistics of environments for this structure. * **Returns** - A dictionary with the requested statistics. + with the requested statistics. + + + +* **Return type** + + dict @@ -3822,7 +4044,17 @@ Whether a given site contains a given coordination environment. * **ce_symbol** – Symbol of the coordination environment. -Returns: True if the site contains the given coordination environment. + +* **Returns** + + True if the site contains the given coordination environment. + + + +* **Return type** + + bool + #### site_has_clear_environment(isite, conditions=None) @@ -3841,7 +4073,17 @@ have a continuous symmetry measure lower than this, a fraction higher than that, * **conditions** – Conditions to be checked for an environment to be β€œclear”. -Returns: True if the site has a clear environment. + +* **Returns** + + True if the site has a clear environment. + + + +* **Return type** + + bool + #### structure_contains_atom_environment(atom_symbol, ce_symbol) @@ -3860,7 +4102,13 @@ Checks whether the structure contains a given atom in a given environment. * **Returns** - True if the coordination environment is found, False otherwise + True if the coordination environment is found for the given atom. + + + +* **Return type** + + bool @@ -3998,7 +4246,7 @@ Returns the distances plateau’s for this NeighborsSet. Distances to each neighbor in this NeighborsSet. -#### _classmethod_ from_dict(dd, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), detailed_voronoi) +#### _classmethod_ from_dict(dct, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), detailed_voronoi) Reconstructs the NeighborsSet algorithm from its JSON-serializable dict representation, together with the structure and the DetailedVoronoiContainer. @@ -4010,7 +4258,7 @@ reconstructing itself. These two are both in the StructureEnvironments object. * **Parameters** - * **dd** – a JSON-serializable dict representation of a NeighborsSet. + * **dct** – a JSON-serializable dict representation of a NeighborsSet. * **structure** – The structure. @@ -4020,11 +4268,15 @@ reconstructing itself. These two are both in the StructureEnvironments object. neighbors for this NeighborsSet is extracted. -Returns: a NeighborsSet. + +* **Returns** + + NeighborsSet + #### get_neighb_voronoi_indices(permutation) -Return the indices in the detailed_voronoi corresponding to the current permutation. +Get indices in the detailed_voronoi corresponding to the current permutation. * **Parameters** @@ -4032,7 +4284,17 @@ Return the indices in the detailed_voronoi corresponding to the current permutat **permutation** – Current permutation for which the indices in the detailed_voronoi are needed. -Returns: List of indices in the detailed_voronoi. + +* **Returns** + + indices in the detailed_voronoi. + + + +* **Return type** + + list[int] + #### _property_ info() @@ -4064,8 +4326,8 @@ Normalized distances to each neighbor in this NeighborsSet. #### _property_ source() -Returns the source of this NeighborsSet (how it was generated, e.g. from which Voronoi cut-offs, or from -hints). +Returns the source of this NeighborsSet (how it was generated, e.g. from which Voronoi +cutoffs, or from hints). #### voronoi_grid_surface_points(additional_condition=1, other_origins='DO_NOTHING') @@ -4170,7 +4432,11 @@ Get the ChemicalEnvironments for a given site, coordination and neighbors set. * **nb_set** – Neighbors set for which the ChemicalEnvironments is looked for. -Returns: a ChemicalEnvironments object. + +* **Returns** + + ChemicalEnvironments + #### get_csm(isite, mp_symbol) @@ -4186,7 +4452,11 @@ Get the continuous symmetry measure for a given site in the given coordination e * **mp_symbol** – Symbol of the coordination environment for which we want the continuous symmetry measure. -Returns: Continuous symmetry measure of the given site in the given environment. + +* **Returns** + + Continuous symmetry measure of the given site in the given environment. + #### get_csm_and_maps(isite, max_csm=8.0, figsize=None, symmetry_measure_type=None) @@ -4219,12 +4489,11 @@ as the value for the color of that distfactor/angfactor set. #### get_csms(isite, mp_symbol) Returns the continuous symmetry measure(s) of site with index isite with respect to the - - perfect coordination environment with mp_symbol. For some environments, a given mp_symbol might not - be available (if there is no voronoi parameters leading to a number of neighbors corresponding to - the coordination number of environment mp_symbol). For some environments, a given mp_symbol might - lead to more than one csm (when two or more different voronoi parameters lead to different neighbors - but with same number of neighbors). +perfect coordination environment with mp_symbol. For some environments, a given mp_symbol might not +be available (if there is no voronoi parameters leading to a number of neighbors corresponding to +the coordination number of environment mp_symbol). For some environments, a given mp_symbol might +lead to more than one csm (when two or more different voronoi parameters lead to different neighbors +but with same number of neighbors). * **Parameters** @@ -4239,7 +4508,13 @@ Returns the continuous symmetry measure(s) of site with index isite with respect * **Returns** - List of csms for site isite with respect to geometry mp_symbol + for site isite with respect to geometry mp_symbol + + + +* **Return type** + + list[CSM] @@ -4601,6 +4876,12 @@ Whether two DetailedVoronoiContainer objects are close to each other. +* **Return type** + + bool + + + #### maps_and_surfaces(isite, surface_calculation_type=None, max_dist=2.0, additional_conditions=None) Get the different surfaces and their cn_map corresponding to the different distance-angle cutoffs for a given site. diff --git a/docs/pymatgen.analysis.chemenv.md b/docs/pymatgen.analysis.chemenv.md index 35c701bc118..6198dfaf556 100644 --- a/docs/pymatgen.analysis.chemenv.md +++ b/docs/pymatgen.analysis.chemenv.md @@ -999,9 +999,6 @@ Package for analyzing chemical environments. * [`CoordinationGeometry.ref_permutation()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.ref_permutation) - * [`CoordinationGeometry.set_permutations_safe_override()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.set_permutations_safe_override) - - * [`CoordinationGeometry.solid_angles()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.solid_angles) diff --git a/docs/pymatgen.analysis.chemenv.utils.md b/docs/pymatgen.analysis.chemenv.utils.md index 7454a480807..3076f24feb5 100644 --- a/docs/pymatgen.analysis.chemenv.utils.md +++ b/docs/pymatgen.analysis.chemenv.utils.md @@ -477,12 +477,6 @@ Initialize three random points on this plane. -* **Returns** - - None - - - #### is_in_list(plane_list) Checks whether the plane is identical to one of the Planes in the plane_list list of Planes :param plane_list: List of Planes to be compared to @@ -490,7 +484,13 @@ Checks whether the plane is identical to one of the Planes in the plane_list lis * **Returns** - True if the plane is in the list, False otherwise. + True if the plane is in the list. + + + +* **Return type** + + bool @@ -502,7 +502,13 @@ Determines if point pp is in the plane within the tolerance dist_tolerance * **Returns** - True if pp is in the plane, False otherwise. + True if pp is in the plane. + + + +* **Return type** + + bool @@ -513,7 +519,13 @@ Checks whether the plane is identical to another Plane β€œplane” * **Returns** - True if the two facets are identical, False otherwise. + True if the two facets are identical. + + + +* **Return type** + + bool @@ -662,7 +674,13 @@ largest_triangle is defined as the right triangle whose legs are the two smalles * **Returns** - True if the three points are considered as collinear within the given tolerance, False otherwise. + True if the three points are considered as collinear within the given tolerance. + + + +* **Return type** + + bool @@ -752,7 +770,7 @@ Method that compares two functions. * **Returns** - Whether the function are equal (β€œ=”), f1 is always lower than f2 (β€œ<”), f1 is always larger than f2 (β€œ>”), + β€˜=’ if the functions are equal, β€˜<’ if f1 is always lower than f2, β€˜>’ if f1 is always larger than f2, f1 is always lower than or equal to f2 (β€œ<”), f1 is always larger than or equal to f2 (β€œ>”) on the interval [x1, x2]. If the two functions cross, a RuntimeError is thrown (i.e. we expect to compare @@ -761,6 +779,12 @@ Method that compares two functions. +* **Return type** + + str + + + ### get_lower_and_upper_f(surface_calculation_options) Get the lower and upper functions defining a surface in the distance-angle space of neighbors. @@ -786,7 +810,13 @@ Checks if two given sites are an anion and a cation. * **Returns** - True if one site is an anion and the other is a cation (from the valences). + True if one site is an anion and the other is a cation (based on valences). + + + +* **Return type** + + bool @@ -897,7 +927,13 @@ Checks if the separation indices of a plane are already in the list * **Returns** - True if the separation indices are already in the list, False otherwise. + True if the separation indices are already in the list. + + + +* **Return type** + + bool @@ -982,14 +1018,17 @@ Performs the vector multiplication of the elements of two vectors, constructing :param bb: Another vector of size 3 -* **Return type** - - A 3x3 matrix M composed of the products of the elements of aa and bb +* **Returns** M_ij = aa_i \* bb_j. +* **Return type** + + A 3x3 matrix M composed of the products of the elements of aa and bb + + ## pymatgen.analysis.chemenv.utils.defs_utils module This module contains the definition of some objects used in the chemenv package. @@ -1082,13 +1121,13 @@ Evaluate the ratio function for the given value. -#### _classmethod_ from_dict(dd) +#### _classmethod_ from_dict(dct) Construct ratio function from dict. * **Parameters** - **dd** – Dict representation of the ratio function + **dct** – Dict representation of the ratio function @@ -1108,12 +1147,6 @@ Set up the parameters for this ratio function. -* **Returns** - - None. - - - ### _class_ CSMFiniteRatioFunction(function, options_dict=None) Bases: `AbstractRatioFunction` @@ -1586,14 +1619,20 @@ Example: A cycle #### _is_valid(check_strict_ordering=False) Check if a MultiGraphCycle is valid. -This method checks : -- that there are no duplicate nodes, -- that there are either 1 or more than 2 nodes +This method checks that: +1. there are no duplicate nodes, +2. there are either 1 or more than 2 nodes * **Returns** - True if the SimpleGraphCycle is valid, False otherwise. + True if the SimpleGraphCycle is valid. + + + +* **Return type** + + bool @@ -1608,14 +1647,7 @@ raised if the ordering fails. * **Parameters** - **raise_on_fail** – If set to True, will raise a RuntimeError if the - ordering fails. - - - -* **Returns** - - None + **raise_on_fail** – If set to True, will raise a RuntimeError if the ordering fails. @@ -1663,7 +1695,13 @@ This method checks : * **Returns** - True if the SimpleGraphCycle is valid, False otherwise. + True if the SimpleGraphCycle is valid. + + + +* **Return type** + + bool @@ -2064,11 +2102,11 @@ Draw cg. -### visualize(cg, zoom=None, vis=None, myfactor=1.0, view_index=True, faces_color_override=None) +### visualize(cg, zoom=None, vis=None, factor=1.0, view_index=True, faces_color_override=None) Visualizing a coordination geometry :param cg: :param zoom: :param vis: -:param myfactor: +:param factor: :param view_index: :param faces_color_override: \ No newline at end of file diff --git a/docs/pymatgen.analysis.diffraction.md b/docs/pymatgen.analysis.diffraction.md index 5b990cd5ca1..7f2541c731c 100644 --- a/docs/pymatgen.analysis.diffraction.md +++ b/docs/pymatgen.analysis.diffraction.md @@ -57,7 +57,7 @@ Calculates the diffraction pattern for a structure. -#### get_plot(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), two_theta_range: tuple[float, float] = (0, 90), annotate_peaks='compact', ax: Axes | None = None, with_labels=True, fontsize=16) +#### get_plot(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), two_theta_range: tuple[float, float] = (0, 90), annotate_peaks='compact', ax: plt.Axes = None, with_labels=True, fontsize=16) Returns the diffraction plot as a matplotlib Axes. @@ -78,7 +78,7 @@ Returns the diffraction plot as a matplotlib Axes. long version, e.g. (1, 0, 0). If None, do not show anything. - * **ax** – matplotlib `Axes` or None if a new figure should be + * **ax** – matplotlib Axes or None if a new figure should be created. @@ -353,7 +353,7 @@ Code partially inspired from XRD calculation implementation. X-ray factor to ele * **voltage** (*float*) – The wavelength is a function of the TEM microscope’s - voltage. By default, set to 200 kV. Units in kV. + voltage (in kV). Defaults to 200. * **beam_direction** (*tuple*) – The direction of the electron beam fired onto the sample. @@ -370,7 +370,7 @@ Code partially inspired from XRD calculation implementation. X-ray factor to ele factors are temperature dependent. - * **cs** (*float*) – the chromatic aberration coefficient. set by default to 1 mm. + * **cs** (*float*) – The chromatic aberration coefficient (in mm). Defaults to 1. @@ -474,7 +474,13 @@ Generates a bunch of 3D points that span a cube. * **Returns** - Numpy 2d array + 2d array + + + +* **Return type** + + np.array @@ -553,13 +559,13 @@ Returns all relevant TEM DP info in a pandas dataframe. * **scaled** (*bool*) – Required value for inheritance, does nothing in TEM pattern - * **two_theta_range** (*Tuple*) – Required value for inheritance, does nothing in TEM pattern + * **two_theta_range** (*tuple**[**float**, **float**]*) – Required value for inheritance, does nothing in TEM pattern * **Returns** - PandasDataFrame + pd.DataFrame @@ -804,33 +810,37 @@ is as follows 1. Calculate reciprocal lattice of structure. Find all reciprocal points -within the limiting sphere given by :math:\` frac{2}{ lambda}\`. +within the limiting sphere given by frac{2}{lambda}. -2. For each reciprocal point :math:\` mathbf{g_{hkl}}\` corresponding to -lattice plane $(hkl)$, compute the Bragg condition -:math:\` sin( theta) = frac{ lambda}{2d_{hkl}}\` +2. For each reciprocal point mathbf{g_{hkl}} corresponding to +lattice plane (hkl), compute the Bragg condition +sin(theta) = frac{ lambda}{2d_{hkl}} 3. Compute the structure factor as the sum of the atomic scattering factors. The atomic scattering factors are given by -f(s) = Z - 41.78214 \\times s^2 \\times \\sum \\limits_{i=1}^n a_i \\ - \\exp(-b_is^2)where $s = \ frac{\ sin(\ theta)}{\ lambda}$ and $a_i$ -and $b_i$ are the fitted parameters for each element. The +> f(s) = Z - 41.78214 times s^2 times sum limits_{i=1}^n a_i exp(-b_is^2) + +where s = frac{sin(theta)}{lambda} and a_i +and b_i are the fitted parameters for each element. The structure factor is then given by -F_{hkl} = \\sum \\limits_{j=1}^N f_j \\exp(2 \\pi i \\mathbf{g_{hkl}} - \\cdot \\mathbf{r}) -4. The intensity is then given by the modulus square of the structure -factor. +> F_{hkl} = sum limits_{j=1}^N f_j exp(2 pi i mathbf{g_{hkl}} cdot mathbf{r}) + + +4. The intensity is then given by the modulus square of the structure factor. + +> I_{hkl} = F_{hkl}F_{hkl}^\* + -I_{hkl} = F_{hkl}F_{hkl}^\* 5. Finally, the Lorentz polarization correction factor is applied. This factor is given by: -P( \\theta) = \\frac{1 + \\cos^2(2 \\theta)} -{ \\sin^2( \\theta) \\cos( \\theta)}Initializes the XRD calculator with a given radiation. +> P(theta) = frac{1 + cos^2(2 theta)}{sin^2(theta) cos(theta)} + +Initializes the XRD calculator with a given radiation. * **Parameters** diff --git a/docs/pymatgen.analysis.elasticity.md b/docs/pymatgen.analysis.elasticity.md index f1432bd9f89..6ba91bcce98 100644 --- a/docs/pymatgen.analysis.elasticity.md +++ b/docs/pymatgen.analysis.elasticity.md @@ -62,38 +62,8 @@ subclassing numpy ndarrays. #### cahill_thermalcond(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### clarke_thermalcond(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### _property_ compliance_tensor() Returns the Voigt-notation compliance tensor, which is the matrix inverse of the @@ -102,21 +72,6 @@ Voigt-notation elastic tensor. #### debye_temperature(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### directional_elastic_mod(n) Calculates directional elastic modulus for a specific vector. @@ -141,16 +96,18 @@ relative to a second, orthogonal direction. #### _classmethod_ from_independent_strains(strains, stresses, eq_stress=None, vasp=False, tol: float = 1e-10) Constructs the elastic tensor least-squares fit of independent strains -:param strains: list of strain objects to fit -:type strains: list of Strains -:param stresses: list of stress objects to use in fit - -> corresponding to the list of strains * **Parameters** + * **strains** (*list** of **Strains*) – list of strain objects to fit + + + * **stresses** (*list** of **Stresses*) – list of stress objects to use in fit + corresponding to the list of strains + + * **eq_stress** (*Stress*) – equilibrium stress to use in fitting @@ -235,93 +192,18 @@ Returns the K_vrh (Voigt-Reuss-Hill) average bulk modulus. #### long_v(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### _property_ property_dict() Returns a dictionary of properties derived from the elastic tensor. #### snyder_ac(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### snyder_opt(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### snyder_total(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### trans_v(\*args, \*\*kwargs) -* **Parameters** - - - * **(****)** (*\*\*kwargs*) – - - - * **(****)** – - - - * **(****)** – - - -Returns: - - #### _property_ universal_anisotropy() Returns the universal anisotropy value. @@ -871,7 +753,7 @@ by index transposition, i. e. C_1121 = C_1211 etc. -### raise_error_if_unphysical(f) +### raise_if_unphysical(func) Wrapper for functions or properties that should raise an error if tensor is unphysical. diff --git a/docs/pymatgen.analysis.ferroelectricity.md b/docs/pymatgen.analysis.ferroelectricity.md index ff70f717c99..c553361819c 100644 --- a/docs/pymatgen.analysis.ferroelectricity.md +++ b/docs/pymatgen.analysis.ferroelectricity.md @@ -212,7 +212,7 @@ Create a periodic structure. * **Parameters** - * **lattice** – The lattice, either as a pymatgen.core.lattice.Lattice or + * **lattice** – The lattice, either as a pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -274,6 +274,8 @@ Create a periodic structure. #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### get_nearest_site(coords, site, r=None) Given coords and a site, find closet site to coords. @@ -297,8 +299,6 @@ Given coords and a site, find closet site to coords. -#### properties(_: dic_ ) - ### calc_ionic(site, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), zval) Calculate the ionic dipole moment using ZVAL from pseudopotential. diff --git a/docs/pymatgen.analysis.gb.md b/docs/pymatgen.analysis.gb.md index 2ef8f7bfc80..cf91e79d0b4 100644 --- a/docs/pymatgen.analysis.gb.md +++ b/docs/pymatgen.analysis.gb.md @@ -112,6 +112,8 @@ and methods pertaining to gbs. #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### as_dict() * **Returns** @@ -176,8 +178,6 @@ because of the different __init__ args. -#### properties(_: dic_ ) - #### _property_ sigma(_: in_ ) This method returns the sigma value of the GB. If using β€˜quick_gen’ to generate GB, this value is not valid. diff --git a/docs/pymatgen.analysis.interfaces.md b/docs/pymatgen.analysis.interfaces.md index 60e257efe25..6bb698be866 100644 --- a/docs/pymatgen.analysis.interfaces.md +++ b/docs/pymatgen.analysis.interfaces.md @@ -112,14 +112,15 @@ suitable substrate. Currently, the only additional criteria is the elastic strain energy of the super-lattices. Initializes the substrate analyzer -:param zslgen: Defaults to a ZSLGenerator with standard - -> tolerances, but can be fed one with custom tolerances * **Parameters** + * **zslgen** (*ZSLGenerator*) – Defaults to a ZSLGenerator with standard + tolerances, but can be fed one with custom tolerances + + * **film_max_miller** (*int*) – maximum miller index to generate for film surfaces @@ -264,10 +265,16 @@ Generates transformation sets for film/substrate pair given the area of the unit cell area for the film and substrate. The transformation sets map the film and substrate unit cells to super lattices with a maximum area -:param film_area: the unit cell area for the film -:type film_area: int -:param substrate_area: the unit cell area for the substrate -:type substrate_area: int + + +* **Parameters** + + + * **film_area** (*int*) – the unit cell area for the film + + + * **substrate_area** (*int*) – the unit cell area for the substrate + * **Returns** diff --git a/docs/pymatgen.analysis.magnetism.md b/docs/pymatgen.analysis.magnetism.md index 7eec6afec67..0212e4e81c7 100644 --- a/docs/pymatgen.analysis.magnetism.md +++ b/docs/pymatgen.analysis.magnetism.md @@ -55,7 +55,7 @@ existing magmoms. * β€œnormalize” will normalize magmoms to unity, but will respect sign -(used for comparing orderings), magmoms < theshhold will be set to zero +(used for comparing orderings), magmoms < threshold will be set to zero * **Parameters** @@ -177,7 +177,11 @@ Returns a Structure with only magnetic atoms present. removing non-magnetic atoms (Default value = True) -Returns: Structure + +* **Returns** + + Structure + #### get_structure_with_spin() @@ -198,7 +202,11 @@ Returns a dict of magnetic species and the magnitude of their associated magmoms. Will return a list if there are multiple magmoms per species. -Returns: dict of magnetic species and magmoms + +* **Returns** + + dict of magnetic species and magmoms + #### matches_ordering(other: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) @@ -210,7 +218,17 @@ Compares the magnetic orderings of one structure with another. **other** – Structure to compare -Returns: True or False + +* **Returns** + + True if magnetic orderings match, False otherwise + + + +* **Return type** + + bool + #### _property_ number_of_magnetic_sites(_: in_ ) @@ -228,16 +246,34 @@ Number of magnetic sites present in structure. * **angle_tolerance** – same as in SpacegroupAnalyzer (Default value = 5). -Returns: Number of symmetrically-distinct magnetic sites present -in structure. + +* **Returns** + + Number of symmetrically-distinct magnetic sites present in structure. + + + +* **Return type** + + int + #### _property_ ordering(_: Orderin_ ) Applies heuristics to return a magnetic ordering for a collinear magnetic structure. Result is not guaranteed for correctness. -Returns: Ordering Enum (β€˜FiM’ is used as the abbreviation for -ferrimagnetic) + +* **Returns** + + Enum (β€˜FiM’ is used as the abbreviation for ferrimagnetic) + + + +* **Return type** + + Ordering + #### _property_ types_of_magnetic_specie(_: tuple[[Element](pymatgen.core.md#pymatgen.core.periodic_table.Element) | [Species](pymatgen.core.md#pymatgen.core.periodic_table.Species) | [DummySpecies](pymatgen.core.md#pymatgen.core.periodic_table.DummySpecies), ..._ ) @@ -248,7 +284,17 @@ Specie->Species rename. Used to maintain backwards compatibility. Equivalent to Structure.types_of_specie but only returns magnetic species. -Returns: types of Species as a list + +* **Returns** + + types of Species + + + +* **Return type** + + tuple + ### _class_ MagneticDeformation(type, deformation) @@ -331,7 +377,8 @@ magnetic, otherwise magnetic elements will be guessed #### _generate_ordered_structures(sanitized_input_structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), transformations: dict[str, [MagOrderingTransformation](pymatgen.transformations.md#pymatgen.transformations.advanced_transformations.MagOrderingTransformation)]) Apply our input structure to our list of transformations and output a list of ordered structures that have been pruned for duplicates and for those -with low symmetry (optional). +with low symmetry (optional). Sets self.ordered_structures +and self.ordered_structures_origins instance variables. * **Parameters** @@ -352,10 +399,11 @@ with low symmetry (optional). * **keeping** (*for record*) – -Returns: None (sets self.ordered_structures -and self.ordered_structures_origins instance variables) -Returns: List of Structures +* **Returns** + + list[Structures] + #### _generate_transformations(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) @@ -375,23 +423,34 @@ relatively robust over a wide range of magnetic structures. **structure** – A sanitized input structure (_sanitize_input_structure) -Returns: A dict of a transformation class instance (values) and name of -enumeration strategy (keys) -Returns: dict of Transformations keyed by strategy +* **Returns** + + A dict of a transformation class instance (values) and name of enumeration strategy (keys) + + + +* **Return type** + + dict + -#### _static_ _sanitize_input_structure(input_structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) +#### _static_ _sanitize_input_structure(struct: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) Sanitize our input structure by removing magnetic information and making primitive. * **Parameters** - **input_structure** – Structure + **struct** – Structure -Returns: Structure + +* **Returns** + + Structure + #### available_strategies(_ = ('ferromagnetic', 'antiferromagnetic', 'ferrimagnetic_by_motif', 'ferrimagnetic_by_species', 'antiferromagnetic_by_motif', 'nonmagnetic'_ ) @@ -447,7 +506,11 @@ doi: 10.1021/acs.chemmater.6b04729 * **structure_B** – Structure -Returns: Magnetic deformation + +* **Returns** + + MagneticDeformation + ## pymatgen.analysis.magnetism.heisenberg module @@ -525,19 +588,15 @@ nearest neighbor interactions, computing +- ``` to construct -a Heisenberg Hamiltonian for each graph. - - -* **Returns** - - (sets self.ex_mat instance variable) - +a Heisenberg Hamiltonian for each graph. Sets self.ex_mat instance variable. +TODO Deal with large variance in -* **Return type** - - None +``` +|S| +``` + across configs #### _static_ _get_graphs(cutoff, ordered_structures) @@ -598,19 +657,8 @@ Convenience method for looking up exchange parameter between two sites. #### _get_nn_dict() -Get dict of unique nearest neighbor interactions. - - -* **Returns** - - (sets self.nn_interactions and self.dists instance variables) - - - -* **Return type** - - None - +Sets self.nn_interactions and self.dists instance variables describing unique +nearest neighbor interactions. #### _static_ _get_unique_sites(structure) @@ -1025,7 +1073,17 @@ Get number of d electrons of a species. **species** – Species object -Returns: Number of d electrons. + +* **Returns** + + Number of d electrons. + + + +* **Return type** + + int + #### get_analysis(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) @@ -1114,7 +1172,17 @@ Get magnitude of Jahn-Teller effect from provided species, spin state and motif. * **motif** – β€œoct” or β€œtet” -Returns: β€œnone”, β€œweak” or β€œstrong + +* **Returns** + + β€œnone”, β€œweak” or β€œstrong” + + + +* **Return type** + + str + #### _static_ get_magnitude_of_effect_from_spin_config(motif: str, spin_config: dict[str, float]) @@ -1131,11 +1199,20 @@ occupied * **motif** – β€œoct” or β€œtet” - * **spin_config** – dict of β€˜e’ (e_g) and β€˜t’ (t2_g) - with number of electrons in each state + * **spin_config** – dict of β€˜e’ (e_g) and β€˜t’ (t2_g) with number of electrons in each state + + + +* **Returns** + + β€œnone”, β€œweak” or β€œstrong” + + + +* **Return type** + str -Returns: β€œnone”, β€œweak” or β€œstrong” #### is_jahn_teller_active(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) diff --git a/docs/pymatgen.analysis.md b/docs/pymatgen.analysis.md index 8024a65d3a9..642dfb8aee4 100644 --- a/docs/pymatgen.analysis.md +++ b/docs/pymatgen.analysis.md @@ -1003,9 +1003,6 @@ nav_exclude: true * [`CoordinationGeometry.ref_permutation()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.ref_permutation) - * [`CoordinationGeometry.set_permutations_safe_override()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.set_permutations_safe_override) - - * [`CoordinationGeometry.solid_angles()`](pymatgen.analysis.chemenv.coordination_environments.md#pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.CoordinationGeometry.solid_angles) @@ -2284,7 +2281,7 @@ nav_exclude: true * [`get_symbol_list()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.get_symbol_list) - * [`raise_error_if_unphysical()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.raise_error_if_unphysical) + * [`raise_if_unphysical()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.raise_if_unphysical) * [`subs()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.subs) @@ -2427,10 +2424,10 @@ nav_exclude: true * [`PolarizationLattice._abc_impl`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice._abc_impl) - * [`PolarizationLattice.get_nearest_site()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.get_nearest_site) + * [`PolarizationLattice._properties`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice._properties) - * [`PolarizationLattice.properties`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.properties) + * [`PolarizationLattice.get_nearest_site()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.get_nearest_site) * [`calc_ionic()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.calc_ionic) @@ -2456,6 +2453,9 @@ nav_exclude: true * [`GrainBoundary._abc_impl`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary._abc_impl) + * [`GrainBoundary._properties`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary._properties) + + * [`GrainBoundary.as_dict()`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.as_dict) @@ -2474,9 +2474,6 @@ nav_exclude: true * [`GrainBoundary.get_sorted_structure()`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.get_sorted_structure) - * [`GrainBoundary.properties`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.properties) - - * [`GrainBoundary.sigma`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.sigma) @@ -3056,6 +3053,24 @@ nav_exclude: true * [`XAS`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS) + * [`XAS.x`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.x) + + + * [`XAS.y`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.y) + + + * [`XAS.absorbing_element`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.absorbing_element) + + + * [`XAS.edge`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.edge) + + + * [`XAS.spectrum_type`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.spectrum_type) + + + * [`XAS.absorbing_index`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.absorbing_index) + + * [`XAS.XLABEL`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.XLABEL) @@ -4437,9 +4452,20 @@ Note that if you pass both, el_radius_updates are ignored. defined as {(β€œP”, β€œO”): 3}. -Returns: (int) the dimensionality of the structure - 1 (molecules/chains), - 2 (layered), or 3 (3D) +* **Returns** + + the dimensionality of the structure - 1 (molecules/chains), + + 2 (layered), or 3 (3D) + + + + +* **Return type** + + int + ### get_dimensionality_larsen(bonded_structure) @@ -4678,7 +4704,7 @@ Bases: `EnergyModel` Wrapper around EwaldSum to calculate the electrostatic energy. Initializes the model. Args have the same definitions as in -`pymatgen.analysis.ewald.EwaldSummation`. +pymatgen.analysis.ewald.EwaldSummation. * **Parameters** @@ -4791,11 +4817,10 @@ MSONable dict ### _class_ SymmetryModel(symprec: float = 0.1, angle_tolerance=5) Bases: `EnergyModel` -Sets the energy to the -ve of the spacegroup number. Higher symmetry => +Sets the energy to the negative of the spacegroup number. Higher symmetry => lower β€œenergy”. -Args have same meaning as in -`pymatgen.symmetry.finder.SpacegroupAnalyzer`. +Args have same meaning as in pymatgen.symmetry.SpacegroupAnalyzer. * **Parameters** @@ -5084,7 +5109,7 @@ to the ones obtained from fitting. -#### plot(width=8, height=None, ax: Axes | None = None, dpi=None, \*\*kwargs) +#### plot(width=8, height=None, ax: plt.Axes = None, dpi=None, \*\*kwargs) Plot the equation of state. @@ -5122,14 +5147,14 @@ Plot the equation of state. -#### plot_ax(ax: Axes = None, fontsize=12, \*\*kwargs) +#### plot_ax(ax: plt.Axes = None, fontsize=12, \*\*kwargs) Plot the equation of state on axis ax. * **Parameters** - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **fontsize** – Legend fontsize. @@ -5790,10 +5815,26 @@ Bases: [`Spectrum`](pymatgen.core.md#pymatgen.core.spectrum.Spectrum) Basic excitation spectrum object. - - + +#### x() +The sequence of energies. + + +* **Type** + + Sequence[float] + + + +#### y() +The sequence of mu(E). + + +* **Type** + + Sequence[float] + + * **Parameters** @@ -6210,7 +6251,7 @@ an edge in the MoleculeGraph. #### as_dict() -As in `pymatgen.core.Molecule` except +As in pymatgen.core.Molecule except with using to_dict_of_dicts from NetworkX to store graph information. @@ -6384,7 +6425,7 @@ Find ring structures in the MoleculeGraph. #### _classmethod_ from_dict(dct) -As in `pymatgen.core.Molecule` except +As in pymatgen.core.Molecule except restoring graphs using from_dict_of_dicts from NetworkX to restore graph information. @@ -6743,7 +6784,7 @@ that correspond to Sites in Molecule). #### _static_ with_local_env_strategy(molecule, strategy) Constructor for MoleculeGraph, using a strategy -from `pymatgen.analysis.local_env`. +from pymatgen.analysis.local_env. * **Parameters** @@ -6753,7 +6794,7 @@ from `pymatgen.analysis.local_env`. * **strategy** – an instance of a - `pymatgen.analysis.local_env.NearNeighbors` object + pymatgen.analysis.local_env.NearNeighbors object @@ -6869,7 +6910,7 @@ an edge in the StructureGraph. #### as_dict() -As in `pymatgen.core.Structure` except +As in pymatgen.core.Structure except with using to_dict_of_dicts from NetworkX to store graph information. @@ -7002,7 +7043,7 @@ Units of the edge weight property of graph #### _classmethod_ from_dict(d) -As in `pymatgen.core.Structure` except +As in pymatgen.core.Structure except restoring graphs using from_dict_of_dicts from NetworkX to restore graph information. @@ -7295,7 +7336,7 @@ to sites in Structure. #### _static_ with_local_env_strategy(structure, strategy, weights=False, edge_properties=False) Constructor for StructureGraph, using a strategy -from `pymatgen.analysis.local_env`. +from pymatgen.analysis.local_env. * **Parameters** @@ -7305,7 +7346,7 @@ from `pymatgen.analysis.local_env`. * **strategy** – an instance of a - `pymatgen.analysis.local_env.NearNeighbors` object + pymatgen.analysis.local_env.NearNeighbors object * **weights** – if True, use weights from local_env class @@ -8021,8 +8062,7 @@ for which molecules_allowed is False. #### get_bonded_structure(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), decorate: bool = False) -Obtain a MoleculeGraph object using this NearNeighbor -class. +Obtain a MoleculeGraph object using this NearNeighbor class. * **Parameters** @@ -8040,7 +8080,17 @@ class. * **class** (*this NearNeighbor*) – -Returns: a pymatgen.analysis.graphs.MoleculeGraph object + +* **Returns** + + object from pymatgen.analysis.graphs + + + +* **Return type** + + MoleculeGraph + #### get_nn_info(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), n: int) @@ -8505,8 +8555,16 @@ objects? #### _static_ transform_to_length(nn_data, length) Given NNData, transforms data to the specified fingerprint length -:param nn_data: (NNData) -:param length: (int) desired length of NNData. + + +* **Parameters** + + + * **nn_data** – (NNData) + + + * **length** – (int) desired length of NNData. + ### _class_ CutOffDictNN(cut_off_dict=None) @@ -8563,17 +8621,16 @@ for which molecules_allowed is False. -#### _static_ from_preset(preset) -Initialize a CutOffDictNN according to a preset set of cut-offs. +#### _classmethod_ from_preset(preset) +Initialize a CutOffDictNN according to a preset set of cutoffs. * **Parameters** **preset** (*str*) – A preset name. The list of supported presets are: + - β€œvesta_2019”: The distance cutoffs used by the VESTA - - * ”vesta_2019”: The distance cut-offs used by the VESTA - visualisation program. + > visualisation program. @@ -8884,10 +8941,28 @@ for which molecules_allowed is False. #### get_max_bond_distance(el1_sym, el2_sym) Use Jmol algorithm to determine bond length from atomic parameters -:param el1_sym: (str) symbol of atom 1 -:param el2_sym: (str) symbol of atom 2. -Returns: (float) max bond length + +* **Parameters** + + + * **el1_sym** – (str) symbol of atom 1 + + + * **el2_sym** – (str) symbol of atom 2. + + + +* **Returns** + + max bond length + + + +* **Return type** + + float + #### get_nn_info(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), n: int) @@ -9758,7 +9833,17 @@ class. Requires the optional dependency networkx β€˜take_max_species’ will use Fe as the site specie. -Returns: a pymatgen.analysis.graphs.StructureGraph object + +* **Returns** + + object from pymatgen.analysis.graphs + + + +* **Return type** + + StructureGraph + #### get_cn(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), n: int, use_weights: bool = False, on_disorder: Literal['take_majority_strict', 'take_majority_drop', 'take_max_species', 'error'] = 'take_majority_strict') @@ -10089,7 +10174,17 @@ class. Requires the optional dependency networkx * **class** (*this NearNeighbor*) – -Returns: a pymatgen.analysis.graphs.MoleculeGraph object + +* **Returns** + + object from pymatgen.analysis.graphs + + + +* **Return type** + + MoleculeGraph + #### get_nn_info(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), n: int) @@ -10691,7 +10786,11 @@ method. * **cutoff** (*float*) – (large) radius to find tentative neighbors. -Returns: neighbor sites. + +* **Returns** + + neighbor sites. + ### get_okeeffe_distance_prediction(el1, el2) @@ -10867,7 +10966,17 @@ different motifs, β€œmultiple assignments” is returned. β€œqoct”: 0.5, β€œqbcc”: 0.5, β€œq6”: 0.4). -Returns: motif type (str). + +* **Returns** + + motif type + + + +* **Return type** + + str + ### solid_angle(center, coords) @@ -12294,7 +12403,7 @@ Initializes a CompoundPhaseDiagram. Li-P-O entries as an input. - * **terminal_compositions** (*[*[*Composition*](pymatgen.core.md#pymatgen.core.composition.Composition)*]*) – Terminal compositions of + * **terminal_compositions** (*list**[*[*Composition*](pymatgen.core.md#pymatgen.core.composition.Composition)*]*) – Terminal compositions of phase space. In the Li2O-P2O5 example, these will be the Li2O and P2O5 compositions. @@ -14826,6 +14935,12 @@ By default, this is the reduced formula for the composition, but can be set to some other string for display purposes. +* **Type** + + str + + + * **Parameters** @@ -14879,7 +14994,7 @@ Returns: MSONable dict. * **Parameters** - **d** (*dict*) – Dict representation. + **dct** (*dict*) – Dict representation. @@ -14979,9 +15094,20 @@ are included. the convex hull -Returns: list of entries and stable facets corresponding to that - list of entries +* **Returns** + + PourbaixEntry list and stable + + facets corresponding to that list + + + + +* **Return type** + + tuple[list[PourbaixEntry], list[[Simplex](pymatgen.util.md#pymatgen.util.coord.Simplex)]] + #### _preprocess_pourbaix_entries(entries, nproc=None) @@ -15020,10 +15146,16 @@ Return all entries used to generate the Pourbaix diagram. #### find_stable_entry(pH, V) Finds stable entry at a pH,V condition -:param pH: pH to find stable entry -:type pH: float -:param V: V to find stable entry. -:type V: float + + +* **Parameters** + + + * **pH** (*float*) – pH to find stable entry + + + * **V** (*float*) – V to find stable entry. + Returns: @@ -15440,13 +15572,13 @@ Plots the stability of an entry in the Pourbaix diagram. * **entry** (*Any*) – The entry to plot stability for. - * **pH_range** (*Tuple**[**float**, **float**]**, **optional*) – pH range for the plot. Defaults to [-2, 16]. + * **pH_range** (*tuple**[**float**, **float**]**, **optional*) – pH range for the plot. Defaults to [-2, 16]. * **pH_resolution** (*int**, **optional*) – pH resolution. Defaults to 100. - * **V_range** (*Tuple**[**float**, **float**]**, **optional*) – Voltage range for the plot. Defaults to [-3, 3]. + * **V_range** (*tuple**[**float**, **float**]**, **optional*) – Voltage range for the plot. Defaults to [-3, 3]. * **V_resolution** (*int**, **optional*) – Voltage resolution. Defaults to 100. @@ -15491,12 +15623,6 @@ Shows the Pourbaix plot. -* **Returns** - - None - - - ### generate_entry_label(entry) Generates a label for the Pourbaix plotter. @@ -16181,14 +16307,14 @@ List of elements in the reaction. -#### _static_ from_str(rxn_string) +#### _static_ from_str(rxn_str) Generates a balanced reaction from a string. The reaction must already be balanced. * **Parameters** - **rxn_string** – The reaction string. For example, β€œ4 Li + O2-> 2Li2O” + **rxn_string** (*str*) – The reaction string. For example, β€œ4 Li + O2 -> 2Li2O” @@ -16763,9 +16889,17 @@ table and algorithms. * **el_radius_updates** – (dict) symbol->float to update atom_ic radii -Returns: (dict) - (Element1, Element2) -> float. The two elements are - ordered by Z. +* **Returns** + + The two elements are ordered by Z. + + + +* **Return type** + + dict[(Element1, Element2)], float] + ### oxide_type(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), relative_cutoff: float = 1.1, return_nbonds: bool = False) @@ -16787,8 +16921,7 @@ Determines if an oxide is a peroxide/superoxide/ozonide/normal oxide. ### solid_angle(center, coords) -Helper method to calculate the solid angle of a set of coords from the -center. +Helper method to calculate the solid angle of a set of coords from the center. * **Parameters** @@ -16807,6 +16940,12 @@ center. +* **Return type** + + float + + + ### sulfide_type(structure) Determines if a structure is a sulfide/polysulfide/sulfate. @@ -17004,6 +17143,12 @@ irrespective of the species of those sites. +* **Return type** + + bool + + + #### get_hash(composition) * **Parameters** @@ -17085,7 +17230,7 @@ True if species are exactly the same, i.e., Fe2+ == Fe2+ but not Fe3+. -#### get_hash(composition) +#### get_hash(composition: [Composition](pymatgen.core.md#pymatgen.core.composition.Composition)) Returns: Fractional composition. @@ -17361,8 +17506,11 @@ Returns mask for matching struct2 to struct1. If struct1 has sites a b c, and fu = 2, assumes supercells of struct2 will be ordered aabbcc (rather than abcabc). -Returns: -mask, struct1 translation indices, struct2 translation index + +* **Returns** + + mask, struct1 translation indices, struct2 translation index + #### _classmethod_ _get_reduced_structure(struct: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), primitive_cell: bool = True, niggli: bool = True) @@ -17502,13 +17650,13 @@ to another. E.g., to compare if the Li2O and Na2O structures are similar. * **Returns** - Whether a species mapping can map struct1 to stuct2 + Whether a species mapping can map struct1 to struct2 * **Return type** - True/False + bool @@ -17794,30 +17942,37 @@ Todo: Bases: `object` A class for analyzing the stability of nanoparticles of different +polymorphs with respect to size. The Wulff shape will be the model for the +nanoparticle. Stability will be determined by an energetic competition between the +weighted surface energy (surface energy of the Wulff shape) and the bulk energy. A +future release will include a 2D phase diagram (e.g. wrt size vs chempot for adsorbed +or non-stoichiometric surfaces). Based on the following work: - polymorphs with respect to size. The Wulff shape will be the - model for the nanoparticle. Stability will be determined by - an energetic competition between the weighted surface energy - (surface energy of the Wulff shape) and the bulk energy. A - future release will include a 2D phase diagram (e.g. wrt size - vs chempot for adsorbed or non-stoichiometric surfaces). Based - on the following work: - - Kang, S., Mo, Y., Ong, S. P., & Ceder, G. (2014). Nanoscale +Kang, S., Mo, Y., Ong, S. P., & Ceder, G. (2014). Nanoscale - stabilization of sodium oxides: Implications for Na-O2 - batteries. Nano Letters, 14(2), 1016-1020. - [https://doi.org/10.1021/nl404557w](https://doi.org/10.1021/nl404557w) + stabilization of sodium oxides: Implications for Na-O2 + batteries. Nano Letters, 14(2), 1016-1020. + [https://doi.org/10.1021/nl404557w](https://doi.org/10.1021/nl404557w) #### se_analyzers() -List of SurfaceEnergyPlotter objects. Each item corresponds to a +Each item corresponds to a different polymorph. + + +* **Type** + + list[SurfaceEnergyPlotter] - different polymorph. #### symprec() -See WulffShape. +Tolerance for symmetry finding. See WulffShape. + + +* **Type** + + float + Analyzes the nanoscale stability of different polymorphs. @@ -18044,22 +18199,51 @@ A ComputedStructureEntry object encompassing all data relevant to a Miller index of plane parallel to surface. +* **Type** + + tuple + + + #### label() Brief description for this slab. +* **Type** + + str + + + #### adsorbates() -List of ComputedStructureEntry for the types of adsorbates +List of ComputedStructureEntry for the types of adsorbates. + + +* **Type** + + list + + + +#### clean_entry() +SlabEntry for the corresponding clean slab for an adsorbed slab. + + +* **Type** + + SlabEntry + -..attribute:: clean_entry -> SlabEntry for the corresponding clean slab for an adsorbed slab +#### ads_entries_dict() +Dictionary where the key is the reduced composition of the +adsorbate entry and value is the entry itself. -..attribute:: ads_entries_dict -> Dictionary where the key is the reduced composition of the +* **Type** + + dict -> adsorbate entry and value is the entry itself Make a SlabEntry containing all relevant surface thermodynamics data. @@ -18139,7 +18323,7 @@ Returns a slab with the adsorbates removed. Returns a label (str) for this particular slab based on composition, coverage and Miller index. -#### _static_ from_computed_structure_entry(entry, miller_index, label=None, adsorbates=None, clean_entry=None, \*\*kwargs) +#### _classmethod_ from_computed_structure_entry(entry, miller_index, label=None, adsorbates=None, clean_entry=None, \*\*kwargs) Returns SlabEntry from a ComputedStructureEntry. @@ -18158,9 +18342,7 @@ unit area of the primitive slab system. #### gibbs_binding_energy(eads=False) -Returns the adsorption energy or Gibbs binding energy - - of an adsorbate on a surface +Returns the adsorption energy or Gibbs binding energy of an adsorbate on a surface. * **Parameters** @@ -18200,57 +18382,82 @@ Returns (Add (Sympy class)): Surface energy Bases: `object` A class used for generating plots to analyze the thermodynamics of surfaces - - of a material. Produces stability maps of different slab configurations, - phases diagrams of two parameters to determine stability of configurations - (future release), and Wulff shapes. +of a material. Produces stability maps of different slab configurations, +phases diagrams of two parameters to determine stability of configurations +(future release), and Wulff shapes. #### all_slab_entries() -Either a list of SlabEntry objects (note for a list, the SlabEntry must +Either a list of SlabEntry objects (note for a list, the +SlabEntry must have the adsorbates and clean_entry parameter plugged in) or a Nested +dictionary containing a list of entries for slab calculations as +items and the corresponding Miller index of the slab as the key. +To account for adsorption, each value is a sub-dictionary with the +entry of a clean slab calculation as the sub-key and a list of +entries for adsorption calculations as the sub-value. The sub-value +can contain different adsorption configurations such as a different +site or a different coverage, however, ordinarily only the most stable +configuration for a particular coverage will be considered as the +function of the adsorbed surface energy has an intercept dependent on +the adsorption energy (ie an adsorption site with a higher adsorption +energy will always provide a higher surface energy than a site with a +lower adsorption energy). An example parameter is provided: +{(h1,k1,l1): {clean_entry1: [ads_entry1, ads_entry2, …], clean_entry2: […], …}, (h2,k2,l2): {…}} +where clean_entry1 can be a pristine surface and clean_entry2 can be a +reconstructed surface while ads_entry1 can be adsorption at site 1 with +a 2x2 coverage while ads_entry2 can have a 3x3 coverage. If adsorption +entries are present (i.e. if all_slab_entries[(h,k,l)][clean_entry1]), we +consider adsorption in all plots and analysis for this particular facet. - have the adsorbates and clean_entry parameter pulgged in) or a Nested - dictionary containing a list of entries for slab calculations as - items and the corresponding Miller index of the slab as the key. - To account for adsorption, each value is a sub-dictionary with the - entry of a clean slab calculation as the sub-key and a list of - entries for adsorption calculations as the sub-value. The sub-value - can contain different adsorption configurations such as a different - site or a different coverage, however, ordinarily only the most stable - configuration for a particular coverage will be considered as the - function of the adsorbed surface energy has an intercept dependent on - the adsorption energy (ie an adsorption site with a higher adsorption - energy will always provide a higher surface energy than a site with a - lower adsorption energy). An example parameter is provided: - {(h1,k1,l1): {clean_entry1: [ads_entry1, ads_entry2, …], - > clean_entry2: […], …}, (h2,k2,l2): {…}} +* **Type** - where clean_entry1 can be a pristine surface and clean_entry2 can be a - reconstructed surface while ads_entry1 can be adsorption at site 1 with - a 2x2 coverage while ads_entry2 can have a 3x3 coverage. If adsorption - entries are present (i.e. if all_slab_entries[(h,k,l)][clean_entry1]), we - consider adsorption in all plots and analysis for this particular facet. + dict | list -..attribute:: color_dict -> Dictionary of colors (r,g,b,a) when plotting surface energy stability. The -> keys are individual surface entries where clean surfaces have a solid -> color while the corresponding adsorbed surface will be transparent. +#### color_dict() +Dictionary of colors (r,g,b,a) when plotting surface energy stability. +The keys are individual surface entries where clean surfaces have a solid color while +the corresponding adsorbed surface will be transparent. + + +* **Type** + + dict + #### ucell_entry() -ComputedStructureEntry of the bulk reference for this particular material. +ComputedStructureEntry of the bulk reference for +this particular material. + + +* **Type** + + [ComputedStructureEntry](pymatgen.entries.md#pymatgen.entries.computed_entries.ComputedStructureEntry) + #### ref_entries() List of ComputedStructureEntries to be used for calculating chemical potential. -#### color_dict() +* **Type** + + list + + + +#### facet_color_dict() Randomly generated dictionary of colors associated with each facet. + +* **Type** + + dict + + Object for plotting surface energy in different ways for clean and adsorbed surfaces. @@ -18275,7 +18482,7 @@ Object for plotting surface energy in different ways for clean and be defined by a summation of the chemical potentials for each element in the system. As the bulk energy is already provided, one can solve for one of the chemical potentials as a function - of the other chemical potetinals and bulk energy. i.e. there + of the other chemical potentials and bulk energy. i.e. there are n-1 variables (chempots). e.g. if your ucell_entry is for LiFePO4 than your ref_entries should have an entry for Li, Fe, and P if you want to use the chempot of O as the variable. @@ -18808,53 +19015,100 @@ Method to get the Wulff shape at a specific chemical potential. ### _class_ WorkFunctionAnalyzer(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), locpot_along_c, efermi, shift=0, blength=3.5) Bases: `object` -A class used for calculating the work function - - from a slab model and visualizing the behavior - of the local potential along the slab. +A class used for calculating the work function from a slab model and +visualizing the behavior of the local potential along the slab. #### efermi() -The Fermi energy +The Fermi energy. + + +* **Type** + + float + #### locpot_along_c() -Local potential in eV along points along the axis +Local potential in eV along points along the c axis. + + +* **Type** + + list + #### vacuum_locpot() -The maximum local potential along the c direction for +The maximum local potential along the c direction for the slab model, +i.e. the potential at the vacuum. + + +* **Type** + + float - the slab model, ie the potential at the vacuum #### work_function() -The minimum energy needed to move an electron from the +The minimum energy needed to move an electron from the surface to infinity. +Defined as the difference between the potential at the vacuum and the Fermi energy. + + +* **Type** + + float - surface to infinity. Defined as the difference between - the potential at the vacuum and the Fermi energy. #### slab() -The slab structure model +The slab structure model. + + +* **Type** + + [Slab](pymatgen.core.md#pymatgen.core.surface.Slab) + #### along_c() -Points along the c direction with same +Points along the c direction with same increments as the locpot in the c axis. + + +* **Type** + + list - increments as the locpot in the c axis #### ave_locpot() -Mean of the minimum and maximmum (vacuum) locpot along c +Mean of the minimum and maximum (vacuum) locpot along c. + + +* **Type** + + float + #### sorted_sites() -List of sites from the slab sorted along the c direction +List of sites from the slab sorted along the c direction. + + +* **Type** + + list + #### ave_bulk_p() -The average locpot of the slab region along the c direction +The average locpot of the slab region along the c direction. + + +* **Type** + + float + Initializes the WorkFunctionAnalyzer class. @@ -18881,40 +19135,54 @@ Initializes the WorkFunctionAnalyzer class. -#### _static_ from_files(poscar_filename, locpot_filename, outcar_filename, shift=0, blength=3.5) +#### _classmethod_ from_files(poscar_filename, locpot_filename, outcar_filename, shift=0, blength=3.5) +Initializes a WorkFunctionAnalyzer from POSCAR, LOCPOT, and OUTCAR files. + * **Parameters** - * **poscar_filename** – POSCAR file + * **poscar_filename** (*str*) – The path to the POSCAR file. - * **locpot_filename** – LOCPOT file + * **locpot_filename** (*str*) – The path to the LOCPOT file. - * **outcar_filename** – OUTCAR file + * **outcar_filename** (*str*) – The path to the OUTCAR file. - * **shift** – shift + * **shift** (*float*) – The shift value. Defaults to 0. - * **blength** – The longest bond length in the material. - Used to handle pbc for noncontiguous slab layers + * **blength** (*float*) – The longest bond length in the material. + Used to handle pbc for noncontiguous slab layers. Defaults to 3.5. * **Returns** + A WorkFunctionAnalyzer instance. + + + +* **Return type** + WorkFunctionAnalyzer #### get_labels(plt, label_fontsize=10) Handles the optional labelling of the plot with relevant quantities -:param plt: Plot of the locpot vs c axis -:type plt: plt -:param label_fontsize: Fontsize of labels -:type label_fontsize: float + + +* **Parameters** + + + * **plt** (*plt*) – Plot of the locpot vs c axis + + + * **label_fontsize** (*float*) – Fontsize of labels + Returns Labelled plt. @@ -19182,7 +19450,7 @@ a 5-image example is shown): #### _classmethod_ from_outcars(outcars, structures, \*\*kwargs) Initializes an NEBAnalysis from Outcar and Structure objects. Use -the static constructors, e.g., `from_dir` instead if you +the static constructors, e.g., from_dir instead if you prefer to have these automatically generated from a directory of NEB calculations. @@ -19340,7 +19608,7 @@ Based on: Process: - 1. get wulff simplices + 1. get Wulff simplices 2. label with color @@ -19349,69 +19617,195 @@ Process: 3. get wulff_area and other properties -#### debug(bool) +#### debug() +Whether to print debug information. + + +* **Type** + + bool + + #### alpha() +Transparency of the Wulff shape. + + +* **Type** + + float + -#### transparency() #### color_set() +colors to use for facets. + + +* **Type** + + list + + + +#### grid_off() +Whether to turn off the grid. + + +* **Type** + + bool + + + +#### axis_off() +Whether to turn off the axis. + + +* **Type** + + bool -#### grid_off(bool) -#### axis_off(bool) #### show_area() +Whether to show the area of each facet. + + +* **Type** + + bool + + #### off_color() +Color of facets not on the Wulff shape. + + +* **Type** + + str + -### color of facets off wulff() #### structure() +Input conventional unit cell (with H) from lattice. + + +* **Type** + + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) + -### Structure object, input conventional unit cell (with H ) from lattice() #### miller_list() +input Miller indices, for hcp in the form of hkil. + + +* **Type** + + list + -### list of input miller index, for hcp in the form of hkil() #### hkl_list() +Modified Miller indices in the same order as input_miller. + + +* **Type** + + list + -### modify hkill to hkl, in the same order with input_miller() #### e_surf_list() +input surface energies in the same order as input_miller. + + +* **Type** + + list + -### list of input surface energies, in the same order with input_miller() #### lattice() +Input lattice for the conventional unit cell. + + +* **Type** + + [Lattice](pymatgen.core.md#pymatgen.core.lattice.Lattice) + -### Lattice object, the input lattice for the conventional unit cell() #### facets() +WulffFacet objects considering symmetry. + + +* **Type** + + list + -### [WulffFacet] for all facets considering symm() #### dual_cv_simp() +Simplices from the dual convex hull (dual_pt). + + +* **Type** + + list + -### simplices from the dual convex hull (dual_pt)() #### wulff_pt_list() +Wulff points. + + +* **Type** + + list + + #### wulff_cv_simp() +Simplices from the convex hull of wulff_pt_list. + + +* **Type** + + list + -### simplices from the convex hull of wulff_pt_list() #### on_wulff() +List for all input_miller, True if on the Wulff shape. + + +* **Type** + + list + -### list for all input_miller, True is on wulff.() #### color_area() +List for all input_miller, total area on the Wulff shape, off_wulff = 0. + + +* **Type** + + list + -### list for all input_miller, total area on wulff, off_wulff = 0.() #### miller_area() +Dictionary of Miller indices and their corresponding areas. + + +* **Type** + + dict + -### ($hkl$): area for all input_miller() * **Parameters** @@ -19425,7 +19819,7 @@ Process: * **e_surf_list** (*[**float**]*) – list of corresponding surface energies - * **symprec** (*float*) – for recp_operation, default is 1e-5. + * **symprec** (*float*) – for reciprocal lattice operation, default is 1e-5. @@ -19570,21 +19964,21 @@ Get the Wulff shape plot. * **aspect_ratio** – default is (8, 8) - * **(****{****(****h** (*custom_colors*) – [r,g,b,alpha}): Customize color of each + * **(****{****(****h** (*custom_colors*) – [r,g,b,alpha]}): Customize color of each facet with a dictionary. The key is the corresponding Miller index and value is the color. Undefined facets will use default color site. Note: If you decide to set your own colors, it probably won’t make any sense to have the color bar on. - * **k** – [r,g,b,alpha}): Customize color of each + * **k** – [r,g,b,alpha]}): Customize color of each facet with a dictionary. The key is the corresponding Miller index and value is the color. Undefined facets will use default color site. Note: If you decide to set your own colors, it probably won’t make any sense to have the color bar on. - * **l}** – [r,g,b,alpha}): Customize color of each + * **l}** – [r,g,b,alpha]}): Customize color of each facet with a dictionary. The key is the corresponding Miller index and value is the color. Undefined facets will use default color site. Note: If you decide to set your own colors, it diff --git a/docs/pymatgen.analysis.solar.md b/docs/pymatgen.analysis.solar.md index ee912ae7a4e..1817ca78a05 100644 --- a/docs/pymatgen.analysis.solar.md +++ b/docs/pymatgen.analysis.solar.md @@ -83,7 +83,7 @@ the eigenvalues of each corresponding 3x3 symmetric numpy matrices. * **Return type** - (np.array) + np.array diff --git a/docs/pymatgen.analysis.structure_prediction.md b/docs/pymatgen.analysis.structure_prediction.md index 70b72e4b1fb..162dace667b 100644 --- a/docs/pymatgen.analysis.structure_prediction.md +++ b/docs/pymatgen.analysis.structure_prediction.md @@ -377,7 +377,8 @@ can for instance come from a database like the ICSD). It will return all the structures formed by ionic substitutions with a probability higher than the threshold. -Notes: +### Notes + If the default probability model is used, input structures must be oxidation state decorated. See AutoOxiStateDecorationTransformation diff --git a/docs/pymatgen.analysis.xas.md b/docs/pymatgen.analysis.xas.md index 03153432b6e..ca943426622 100644 --- a/docs/pymatgen.analysis.xas.md +++ b/docs/pymatgen.analysis.xas.md @@ -49,18 +49,66 @@ Basic XAS object. Otherwise, it indicates that the absorbing_index for a site-wise spectrum. - - - - - - + +#### x() +The sequence of energies. + + +* **Type** + + Sequence[float] + + + +#### y() +The sequence of mu(E). + + +* **Type** + + Sequence[float] + + + +#### absorbing_element() +The absorbing element of the spectrum. + + +* **Type** + + str + + + +#### edge() +The edge of the spectrum. + + +* **Type** + + str + + + +#### spectrum_type() +The type of the spectrum (XANES or EXAFS). + + +* **Type** + + str + + + +#### absorbing_index() +The absorbing index of the spectrum. + + +* **Type** + + int + + Initializes a spectrum object. diff --git a/docs/pymatgen.apps.battery.md b/docs/pymatgen.apps.battery.md index e66a420c81c..7ded17185e4 100644 --- a/docs/pymatgen.apps.battery.md +++ b/docs/pymatgen.apps.battery.md @@ -222,7 +222,7 @@ Objects that represent each voltage step * **Type** - tuple[pymatgen.apps.battery.battery_abc.AbstractVoltagePair, …] + tuple[AbstractVoltagePair, …] @@ -236,7 +236,7 @@ Representation of the working_ion that contains the energy * **Type** - [pymatgen.entries.computed_entries.ComputedEntry](pymatgen.entries.md#pymatgen.entries.computed_entries.ComputedEntry) + [ComputedEntry](pymatgen.entries.md#pymatgen.entries.computed_entries.ComputedEntry) @@ -605,7 +605,7 @@ Working ion as an entry. * **Type** - [pymatgen.entries.computed_entries.ComputedEntry](pymatgen.entries.md#pymatgen.entries.computed_entries.ComputedEntry) + [ComputedEntry](pymatgen.entries.md#pymatgen.entries.computed_entries.ComputedEntry) diff --git a/docs/pymatgen.apps.borg.md b/docs/pymatgen.apps.borg.md index 6477631fad3..278888ff79d 100644 --- a/docs/pymatgen.apps.borg.md +++ b/docs/pymatgen.apps.borg.md @@ -92,7 +92,7 @@ that Gaussian output files have a β€œ.log” extension. * **parameters** (*list*) – Input parameters to include. It has to be one of the properties supported by the GaussianOutput object. See - `pymatgen.io.gaussianio GaussianOutput`. The parameters + pymatgen.io.gaussian.GaussianOutput. The parameters have to be one of python’s primitive types, i.e., list, dict of strings and integers. If parameters is None, a default set of parameters will be set. @@ -244,7 +244,7 @@ of an aflow style run, and only β€œrelax2” is parsed. * **parameters** (*list*) – Input parameters to include. It has to be one of the properties supported by the Vasprun object. See - `pymatgen.io.vasp.Vasprun`. If parameters is None, + pymatgen.io.vasp.Vasprun. If parameters is None, a default set of parameters that are necessary for typical post-processing will be set. @@ -328,7 +328,7 @@ also contains convenience methods to save and load data between sessions. * **drone** (*Drone*) – An implementation of - `pymatgen.apps.borg.hive.AbstractDrone` to use for + pymatgen.apps.borg.hive.AbstractDrone to use for assimilation. diff --git a/docs/pymatgen.command_line.md b/docs/pymatgen.command_line.md index eec815a1716..4ccfdec1522 100644 --- a/docs/pymatgen.command_line.md +++ b/docs/pymatgen.command_line.md @@ -913,23 +913,35 @@ that of structure, and then sorts self.nodes by index. **n** (*int*) – Site index. -Returns: A CriticalPoint instance + +* **Returns** + + CriticalPoint -#### get_volume_and_charge_for_site(n) + +#### get_volume_and_charge_for_site(idx) * **Parameters** - **n** – Site index n. + **idx** – Site index. -Returns: A dict containing β€œvolume” and β€œcharge” keys, -or None if YT integration not performed + +* **Returns** + + with β€œvolume” and β€œcharge” keys, or None if YT integration not performed + + + +* **Return type** + + dict + #### structure_graph(include_critical_points=('bond', 'ring', 'cage')) -A StructureGraph object describing bonding information -in the crystal. +A StructureGraph object describing bonding information in the crystal. * **Parameters** @@ -962,7 +974,11 @@ in the crystal. * **disable** (*to*) – -Returns: a StructureGraph + +* **Returns** + + StructureGraph + ### _class_ Critic2Caller(input_script) @@ -1133,11 +1149,20 @@ has information on multiplicity/point group symmetry. #### _property_ ellipticity() -Most meaningful for bond critical points, -can be physically interpreted as e.g. degree -of pi-bonding in organic molecules. Consult -literature for more information. -Returns: The ellpiticity of the field at the critical point. +Most meaningful for bond critical points, can be physically interpreted as e.g. +degree of pi-bonding in organic molecules. Consult literature for more info. + + +* **Returns** + + The ellipticity of the field at the critical point. + + + +* **Return type** + + float + #### _property_ laplacian() @@ -1231,7 +1256,13 @@ An adaptor for enumlib. ### structures() -List of all enumerated structures. +all enumerated structures. + + +* **Type** + + list + ## pymatgen.command_line.gulp_caller module @@ -1261,7 +1292,7 @@ G.V. Lewis and C.R.A. Catlow, J. Phys. C: Solid State Phys., 18, ### _class_ GulpCaller(cmd='gulp') Bases: `object` -Class to run gulp from commandline. +Class to run gulp from command line. Initialize with the executable if not in the standard path. diff --git a/docs/pymatgen.core.md b/docs/pymatgen.core.md index 3b43bcaceae..59150c415ef 100644 --- a/docs/pymatgen.core.md +++ b/docs/pymatgen.core.md @@ -39,19 +39,21 @@ Initializes a covalent bond between two sites. #### get_bond_order(tol: float = 0.2, default_bl: float | None = None) -The bond order according the distance between the two sites -:param tol: Relative tolerance to test. - -> (1 + tol) \* the longest bond distance is considered -> to be the threshold length for a bond to exist. -> (1 - tol) \* the shortest bond distance is considered -> to be the shortest possible bond length -> Defaults to 0.2. +The bond order according the distance between the two sites. * **Parameters** - **default_bl** – If a particular type of bond does not exist, + + * **tol** (*float*) – Relative tolerance to test. + (1 + tol) \* the longest bond distance is considered + to be the threshold length for a bond to exist. + (1 - tol) \* the shortest bond distance is considered + to be the shortest possible bond length + Defaults to 0.2. + + + * **default_bl** – If a particular type of bond does not exist, use this bond length as a default value (bond order = 1). If None, a ValueError will be thrown. @@ -548,13 +550,18 @@ Check if Composition contains any elements matching a given category. +* **Return type** + + bool + + + #### copy() A copy of the composition. #### _property_ element_composition(_: Compositio_ ) -Returns the composition replacing any species by the corresponding -element. +Returns the composition replacing any species by the corresponding element. #### _property_ elements(_: list[Element | Species | DummySpecies_ ) @@ -793,7 +800,7 @@ on ICSD statistics. Use max_sites to improve performance if needed. * **Returns** - A list of dicts - each dict reports an element symbol and average + each dict reports an element symbol and average oxidation state across all sites in that composition. If the composition is not charge balanced, an empty list is returned. @@ -801,6 +808,12 @@ on ICSD statistics. Use max_sites to improve performance if needed. +* **Return type** + + list[dict] + + + #### _static_ ranked_compositions_from_indeterminate_formula(fuzzy_formula: str, lock_if_strict: bool = True) Takes in a formula where capitalization might not be correctly entered, and suggests a ranked list of potential Composition matches. @@ -969,7 +982,7 @@ and methods pertaining to interfaces. * **lattice** (*Lattice/3x3 array*) – The lattice, either as a - `pymatgen.core.lattice.Lattice` or + pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -1026,13 +1039,15 @@ and methods pertaining to interfaces. -#### \__update_c(new_c: float) +#### _abc_impl(_ = <_abc._abc_data object_ ) + +#### _properties(_: dic_ ) + +#### _update_c(new_c: float) Modifies the c-direction of the lattice without changing the site Cartesian coordinates Be careful you can mess up the interface by setting a c-length that can’t accommodate all the sites. -#### _abc_impl(_ = <_abc._abc_data object_ ) - #### as_dict() MSONable dict. @@ -1160,8 +1175,6 @@ The shift between the film and substrate in fractional coordinates. -#### properties(_: dic_ ) - #### _property_ substrate(_: Structur_ ) A pymatgen Structure for just the substrate. @@ -1245,13 +1258,13 @@ charge is written with the sign preceding the magnitude, e.g., β€˜Ca1 +2’. Uncharged species have β€œ(aq)” appended, e.g. β€œO2 (aq)”. -#### _classmethod_ from_dict(d) +#### _classmethod_ from_dict(dct) Generates an ion object from a dict created by as_dict(). * **Parameters** - **d** – {symbol: amount} dict. + **dct** – {symbol: amount} dict. @@ -1552,8 +1565,7 @@ Finds all mappings between current lattice and another lattice. * **Parameters** - * **other_lattice** (*Lattice*) – Another lattice that is equivalent to - this one. + * **other_lattice** (*Lattice*) – Another lattice that is equivalent to this one. * **ltol** (*float*) – Tolerance for matching lengths. Defaults to 1e-5. @@ -1896,7 +1908,7 @@ Algorithm: 1. place sphere of radius r in crystal and determine minimum supercell -(parallelpiped) which would contain a sphere of radius r. for this +(parallelepiped) which would contain a sphere of radius r. for this we need the projection of a_1 on a unit vector perpendicular to a_2 & a_3 (i.e. the unit vector in the direction b_1) to determine how many a_1”s it will take to contain the sphere. @@ -2003,8 +2015,13 @@ Nxmax = r \* length_of_b_1 / (2 Pi) #### get_recp_symmetry_operation(symprec: float = 0.01) Find the symmetric operations of the reciprocal lattice, -to be used for hkl transformations -:param symprec: default is 0.001. +to be used for hkl transformations. + + +* **Parameters** + + **symprec** – default is 0.001. + #### get_vector_along_lattice_directions(cart_coords: ArrayLike) @@ -2316,7 +2333,17 @@ Compute the cube index from coordinates :param global_min: (float) lower boundary of coordinates :param radius: (float) cutoff radius. -Returns: (nx3 array) int indices + +* **Returns** + + nx3 array int indices + + + +* **Return type** + + np.ndarray + ### _one_to_three(label1d: ndarray, ny: int, nz: int) @@ -2335,7 +2362,17 @@ Convert a 1D index array to 3D index array. * **nz** – (int) number of cells in z direction -Returns: (nx3) int array of index + +* **Returns** + + nx3 array int indices + + + +* **Return type** + + np.ndarray + ### _three_to_one(label3d: ndarray, ny: int, nz: int) @@ -3203,7 +3240,7 @@ Makes LibxcFunc obey the general json interface used in pymatgen for easier serialization. -#### _static_ from_dict(d) +#### _classmethod_ from_dict(dct) Makes LibxcFunc obey the general json interface used in pymatgen for easier serialization. @@ -3369,14 +3406,19 @@ and translation. #### as_dict() -MSONABle dict. +MSONable dict. -#### as_xyzt_string() +#### as_xyzt_str() Returns a string of the form β€˜x, y, z, +1’, β€˜-x, -y, z, -1’, β€˜-y+1/2, x+1/2, z+1/2, +1’, etc. Only works for integer rotation matrices. +#### as_xyzt_string(\*\*kwds) +as_xyzt_string is deprecated! +Use as_xyzt_str instead + + #### _classmethod_ from_dict(d: dict) * **Parameters** @@ -3438,7 +3480,7 @@ Initialize a MagSymmOp from a SymmOp and time reversal operator. -#### _static_ from_xyzt_string(xyzt_string: str) +#### _classmethod_ from_xyzt_str(xyzt_string: str) * **Parameters** @@ -3453,6 +3495,11 @@ Initialize a MagSymmOp from a SymmOp and time reversal operator. +#### _classmethod_ from_xyzt_string(\*args, \*\*kwds) +from_xyzt_string is deprecated! +Use from_xyzt_str instead + + #### operate_magmom(magmom) Apply time reversal operator on the magnetic moment. Note that magnetic moments transform as axial vectors, not polar vectors. @@ -3486,7 +3533,13 @@ for efficiency. Read: [http://en.wikipedia.org/wiki/Affine_transformation](http: #### affine_matrix() -A 4x4 numpy.array representing the symmetry operation. +A 4x4 array representing the symmetry operation. + + +* **Type** + + np.ndarray + Initializes the SymmOp from a 4x4 affine transformation matrix. In general, this constructor should not be used unless you are @@ -3501,7 +3554,7 @@ generate a SymmOp from proper rotations and translation. affine transformation. - * **tol** (*float*) – Tolerance for determining if matrices are equal. + * **tol** (*float*) – Tolerance for determining if matrices are equal. Defaults to 0.01. @@ -3535,7 +3588,7 @@ Checks if two points are symmetrically related. * **point_b** (*3x1 array*) – Second point. - * **tol** (*float*) – Absolute tolerance for checking distance. + * **tol** (*float*) – Absolute tolerance for checking distance. Defaults to 0.001. @@ -3545,6 +3598,12 @@ Checks if two points are symmetrically related. +* **Return type** + + bool + + + #### are_symmetrically_related_vectors(from_a: ArrayLike, to_a: ArrayLike, r_a: ArrayLike, from_b: ArrayLike, to_b: ArrayLike, r_b: ArrayLike, tol: float = 0.001) Checks if two vectors, or rather two vectors that connect two points each are symmetrically related. r_a and r_b give the change of unit @@ -3821,7 +3880,7 @@ full form, not the Voigt form. * **Parameters** - **tensor** (*numpy array*) – a rank n tensor + **tensor** (*numpy array*) – A rank n tensor @@ -3836,9 +3895,7 @@ A rank 1 numpy.array of dim 3 representing the translation vector. ## pymatgen.core.periodic_table module -Module contains classes presenting Element, Species (Element + oxidation state) and PeriodicTable. - -It should be noted that Element and Species are meant to be immutable objects. +Classes representing Element, Species (Element + oxidation state) and PeriodicTable. ### _class_ DummySpecie(symbol: str = 'X', oxidation_state: float | None = 0, spin: float | None = None) @@ -3879,6 +3936,12 @@ sites, etc. Oxidation state associated with Species. +* **Type** + + int + + + #### Z() DummySpecies is always assigned an atomic number equal to the hash number of the symbol. Obviously, it makes no sense whatsoever to use @@ -3887,10 +3950,22 @@ of this is to ensure that for most use cases, a DummySpecies behaves no differently from an Element or Species. +* **Type** + + int + + + #### X() DummySpecies is always assigned a Pauling electronegativity of 0. +* **Type** + + float + + + * **Parameters** @@ -3990,145 +4065,316 @@ represented by a None unless otherwise stated. #### Z() -Atomic number +Atomic number. + + +* **Type** + + int + #### symbol() -Element symbol +Element symbol. + + +* **Type** + + str + #### long_name() Long name for element. E.g., β€œHydrogen”. +* **Type** + + str + + + #### atomic_radius_calculated() Calculated atomic radius for the element. This is the empirical value. -Data is obtained from -[http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page](http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page)). +Data is obtained from [http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page](http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page)). + + +* **Type** + + float + #### van_der_waals_radius() -Van der Waals radius for the element. This is the empirical -value determined from critical reviews of X-ray diffraction, gas kinetic -collision cross-section, and other experimental data by Bondi and later -workers. The uncertainty in these values is on the order of 0.1 β„«. +Van der Waals radius for the element. This is the empirical value determined +from critical reviews of X-ray diffraction, gas kinetic collision cross-section, and other experimental +data by Bondi and later workers. The uncertainty in these values is on the order of 0.1 β„«. +Data are obtained from β€œAtomic Radii of the Elements” in CRC Handbook of Chemistry and Physics, +91st Ed.; Haynes, W.M., Ed.; CRC Press: Boca Raton, FL, 2010. -Data are obtained from -β€œAtomic Radii of the Elements” in CRC Handbook of Chemistry and Physics, +* **Type** + + float - 91st Ed.; Haynes, W.M., Ed.; CRC Press: Boca Raton, FL, 2010. #### mendeleev_no() -Mendeleev number from definition given by Pettifor, D. G. (1984). -A chemical scale for crystal-structure maps. Solid State Communications, -51 (1), 31-34 +Mendeleev number from definition given by Pettifor, D. G. (1984). A chemical scale +for crystal-structure maps. Solid State Communications, 51 (1), 31-34. + + +* **Type** + + int + #### electrical_resistivity() -Electrical resistivity +Electrical resistivity. + + +* **Type** + + float + #### velocity_of_sound() -Velocity of sound +Velocity of sound. + + +* **Type** + + float + #### reflectivity() -Reflectivity +Reflectivity. + + +* **Type** + + float + #### refractive_index() -Refractice index +Refractive index. + + +* **Type** + + float + #### poissons_ratio() -Poisson’s ratio +Poisson’s ratio. + + +* **Type** + + float + #### molar_volume() -Molar volume +Molar volume. + + +* **Type** + + float + #### electronic_structure() -Electronic structure. -E.g., The electronic structure for Fe is represented as -[Ar].3d6.4s2 +Electronic structure. E.g., The electronic structure for Fe is represented +as [Ar].3d6.4s2. + + +* **Type** + + str + #### atomic_orbitals() -Atomic Orbitals. Energy of the atomic orbitals as a dict. -E.g., The orbitals energies in eV are represented as -{β€˜1s’: -1.0, β€˜2s’: -0.1} -Data is obtained from -[https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations](https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations) -The LDA values for neutral atoms are used +Atomic Orbitals. Energy of the atomic orbitals as a dict. E.g., The orbitals +energies in eV are represented as {β€˜1s’: -1.0, β€˜2s’: -0.1}. Data is obtained from +[https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations](https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations). +The LDA values for neutral atoms are used. + + +* **Type** + + dict + #### thermal_conductivity() -Thermal conductivity +Thermal conductivity. + + +* **Type** + + float + #### boiling_point() -Boiling point +Boiling point. + + +* **Type** + + float + #### melting_point() -Melting point +Melting point. + + +* **Type** + + float + #### critical_temperature() -Critical temperature +Critical temperature. + + +* **Type** + + float + #### superconduction_temperature() -Superconduction temperature +Superconduction temperature. + + +* **Type** + + float + #### liquid_range() -Liquid range +Liquid range. + + +* **Type** + + float + #### bulk_modulus() -Bulk modulus +Bulk modulus. + + +* **Type** + + float + #### youngs_modulus() -Young’s modulus +Young’s modulus. + + +* **Type** + + float + #### brinell_hardness() -Brinell hardness +Brinell hardness. + + +* **Type** + + float + #### rigidity_modulus() -Rigidity modulus +Rigidity modulus. + + +* **Type** + + float + #### mineral_hardness() -Mineral hardness +Mineral hardness. + + +* **Type** + + float + #### vickers_hardness() -Vicker’s hardness +Vicker’s hardness. + + +* **Type** + + float + #### density_of_solid() -Density of solid phase +Density of solid phase. + + +* **Type** + + float + #### coefficient_of_linear_thermal_expansion() -Coefficient of linear thermal expansion +Coefficient of linear thermal expansion. + + +* **Type** + + float + #### ground_level() -Ground level for element +Ground level for element. + + +* **Type** + + float + #### ionization_energies() -List of ionization energies. First value is the first ionization energy, second is the second ionization -energy, etc. Note that this is zero-based indexing! So Element.ionization_energies[0] refer to the 1st -ionization energy. Values are from the NIST Atomic Spectra Database. Missing values are None. +List of ionization energies. First value is the first +ionization energy, second is the second ionization energy, etc. Note that this is zero-based indexing! +So Element.ionization_energies[0] refer to the 1st ionization energy. Values are from the NIST Atomic +Spectra Database. Missing values are None. + + +* **Type** + + list[Optional[float]] + #### Ac(_ = 'Ac_ ) @@ -4341,196 +4587,367 @@ ionization energy. Values are from the NIST Atomic Spectra Database. Missing val #### Te(_ = 'Te_ ) -#### Th(_ = 'Th_ ) +#### Th(_ = 'Th_ ) + +#### Ti(_ = 'Ti_ ) + +#### Tl(_ = 'Tl_ ) + +#### Tm(_ = 'Tm_ ) + +#### Ts(_ = 'Ts_ ) + +#### U(_ = 'U_ ) + +#### V(_ = 'V_ ) + +#### W(_ = 'W_ ) + +#### Xe(_ = 'Xe_ ) + +#### Y(_ = 'Y_ ) + +#### Yb(_ = 'Yb_ ) + +#### Zn(_ = 'Zn_ ) + +#### Zr(_ = 'Zr_ ) + +### _class_ ElementBase(value) +Bases: `Enum` + +Element class defined without any enum values so it can be subclassed. + +This class is needed to get nested (as|from)_dict to work properly. All emmet classes that had +Element classes required custom construction whereas this definition behaves more like dataclasses +so serialization is less troublesome. There were many times where objects in as_dict serialized +only when they were top level. See [https://github.com/materialsproject/pymatgen/issues/2999](https://github.com/materialsproject/pymatgen/issues/2999). + +Basic immutable element object with all relevant properties. + +Only one instance of Element for each symbol is stored after creation, +ensuring that a particular element behaves like a singleton. For all +attributes, missing data (i.e., data for which is not available) is +represented by a None unless otherwise stated. + + +* **Parameters** + + **symbol** (*str*) – Element symbol, e.g., β€œH”, β€œFe” + + + +#### Z() +Atomic number. + + +* **Type** + + int + + + +#### symbol() +Element symbol. + + +* **Type** + + str + + + +#### long_name() +Long name for element. E.g., β€œHydrogen”. + + +* **Type** + + str + + + +#### atomic_radius_calculated() +Calculated atomic radius for the element. This is the empirical value. +Data is obtained from [http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page](http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page)). + + +* **Type** + + float + + + +#### van_der_waals_radius() +Van der Waals radius for the element. This is the empirical value determined +from critical reviews of X-ray diffraction, gas kinetic collision cross-section, and other experimental +data by Bondi and later workers. The uncertainty in these values is on the order of 0.1 β„«. +Data are obtained from β€œAtomic Radii of the Elements” in CRC Handbook of Chemistry and Physics, +91st Ed.; Haynes, W.M., Ed.; CRC Press: Boca Raton, FL, 2010. + + +* **Type** + + float + + + +#### mendeleev_no() +Mendeleev number from definition given by Pettifor, D. G. (1984). A chemical scale +for crystal-structure maps. Solid State Communications, 51 (1), 31-34. + + +* **Type** + + int + + + +#### electrical_resistivity() +Electrical resistivity. + + +* **Type** + + float + + + +#### velocity_of_sound() +Velocity of sound. + + +* **Type** + + float + + + +#### reflectivity() +Reflectivity. + + +* **Type** + + float + + + +#### refractive_index() +Refractive index. + + +* **Type** + + float + + + +#### poissons_ratio() +Poisson’s ratio. + + +* **Type** + + float + + + +#### molar_volume() +Molar volume. + + +* **Type** + + float + + + +#### electronic_structure() +Electronic structure. E.g., The electronic structure for Fe is represented +as [Ar].3d6.4s2. + + +* **Type** + + str + + + +#### atomic_orbitals() +Atomic Orbitals. Energy of the atomic orbitals as a dict. E.g., The orbitals +energies in eV are represented as {β€˜1s’: -1.0, β€˜2s’: -0.1}. Data is obtained from +[https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations](https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations). +The LDA values for neutral atoms are used. + + +* **Type** + + dict + + + +#### thermal_conductivity() +Thermal conductivity. + + +* **Type** + + float + + + +#### boiling_point() +Boiling point. + + +* **Type** + + float + -#### Ti(_ = 'Ti_ ) -#### Tl(_ = 'Tl_ ) +#### melting_point() +Melting point. -#### Tm(_ = 'Tm_ ) -#### Ts(_ = 'Ts_ ) +* **Type** -#### U(_ = 'U_ ) + float -#### V(_ = 'V_ ) -#### W(_ = 'W_ ) -#### Xe(_ = 'Xe_ ) +#### critical_temperature() +Critical temperature. -#### Y(_ = 'Y_ ) -#### Yb(_ = 'Yb_ ) +* **Type** -#### Zn(_ = 'Zn_ ) + float -#### Zr(_ = 'Zr_ ) -### _class_ ElementBase(value) -Bases: `Enum` -Element class defined without any enum values so it can be subclassed. +#### superconduction_temperature() +Superconduction temperature. -This class is needed to get nested (as|from)_dict to work properly. All emmet classes that had -Element classes required custom construction whereas this definition behaves more like dataclasses -so serialization is less troublesome. There were many times where objects in as_dict serialized -only when they were top level. See [https://github.com/materialsproject/pymatgen/issues/2999](https://github.com/materialsproject/pymatgen/issues/2999). -Basic immutable element object with all relevant properties. +* **Type** -Only one instance of Element for each symbol is stored after creation, -ensuring that a particular element behaves like a singleton. For all -attributes, missing data (i.e., data for which is not available) is -represented by a None unless otherwise stated. + float -* **Parameters** - **symbol** (*str*) – Element symbol, e.g., β€œH”, β€œFe” +#### liquid_range() +Liquid range. +* **Type** -#### Z() -Atomic number + float -#### symbol() -Element symbol +#### bulk_modulus() +Bulk modulus. -#### long_name() -Long name for element. E.g., β€œHydrogen”. +* **Type** -#### atomic_radius_calculated() -Calculated atomic radius for the element. This is the empirical value. -Data is obtained from -[http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page](http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page)). + float -#### van_der_waals_radius() -Van der Waals radius for the element. This is the empirical -value determined from critical reviews of X-ray diffraction, gas kinetic -collision cross-section, and other experimental data by Bondi and later -workers. The uncertainty in these values is on the order of 0.1 β„«. -Data are obtained from +#### youngs_modulus() +Young’s modulus. -β€œAtomic Radii of the Elements” in CRC Handbook of Chemistry and Physics, - 91st Ed.; Haynes, W.M., Ed.; CRC Press: Boca Raton, FL, 2010. +* **Type** + float -#### mendeleev_no() -Mendeleev number from definition given by Pettifor, D. G. (1984). -A chemical scale for crystal-structure maps. Solid State Communications, -51 (1), 31-34 -#### electrical_resistivity() -Electrical resistivity +#### brinell_hardness() +Brinell hardness. -#### velocity_of_sound() -Velocity of sound +* **Type** + float -#### reflectivity() -Reflectivity -#### refractive_index() -Refractice index +#### rigidity_modulus() +Rigidity modulus. -#### poissons_ratio() -Poisson’s ratio +* **Type** + float -#### molar_volume() -Molar volume -#### electronic_structure() -Electronic structure. -E.g., The electronic structure for Fe is represented as -[Ar].3d6.4s2 +#### mineral_hardness() +Mineral hardness. -#### atomic_orbitals() -Atomic Orbitals. Energy of the atomic orbitals as a dict. -E.g., The orbitals energies in eV are represented as -{β€˜1s’: -1.0, β€˜2s’: -0.1} -Data is obtained from -[https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations](https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations) -The LDA values for neutral atoms are used +* **Type** + float -#### thermal_conductivity() -Thermal conductivity -#### boiling_point() -Boiling point +#### vickers_hardness() +Vicker’s hardness. -#### melting_point() -Melting point +* **Type** + float -#### critical_temperature() -Critical temperature -#### superconduction_temperature() -Superconduction temperature +#### density_of_solid() +Density of solid phase. -#### liquid_range() -Liquid range +* **Type** + float -#### bulk_modulus() -Bulk modulus -#### youngs_modulus() -Young’s modulus +#### coefficient_of_linear_thermal_expansion() +Coefficient of linear thermal expansion. -#### brinell_hardness() -Brinell hardness +* **Type** + float -#### rigidity_modulus() -Rigidity modulus -#### mineral_hardness() -Mineral hardness +#### ground_level() +Ground level for element. -#### vickers_hardness() -Vicker’s hardness +* **Type** + float -#### density_of_solid() -Density of solid phase -#### coefficient_of_linear_thermal_expansion() -Coefficient of linear thermal expansion +#### ionization_energies() +List of ionization energies. First value is the first +ionization energy, second is the second ionization energy, etc. Note that this is zero-based indexing! +So Element.ionization_energies[0] refer to the 1st ionization energy. Values are from the NIST Atomic +Spectra Database. Missing values are None. -#### ground_level() -Ground level for element +* **Type** + list[Optional[float]] -#### ionization_energies() -List of ionization energies. First value is the first ionization energy, second is the second ionization -energy, etc. Note that this is zero-based indexing! So Element.ionization_energies[0] refer to the 1st -ionization energy. Values are from the NIST Atomic Spectra Database. Missing values are None. #### _property_ X(_: floa_ ) @@ -4619,8 +5036,7 @@ Get an element from its long name. * **Parameters** - **name** – Long name of the element, e.g. β€˜Hydrogen’ or - β€˜Iron’. Not case-sensitive. + **name** – Long name of the element, e.g. β€˜Hydrogen’ or β€˜Iron’. Not case-sensitive. @@ -4652,7 +5068,7 @@ elements. and actinoids for which it is 3 (La, Ac) to 17 (Lu, Lr). -**NOTE**: The 18 group number system is used, i.e., Noble gases are group 18. +**NOTE**: The 18 group number system is used, i.e. noble gases are group 18. #### _property_ full_electronic_structure(_: list[tuple[int, str, int]_ ) @@ -4682,7 +5098,7 @@ All ionic radii of the element as a dict of {oxidation state: ionic radii}. Radii are given in angstrom. -#### _property_ ionization_energy(_: floa_ ) +#### _property_ ionization_energy(_: float | Non_ ) First ionization energy of element. @@ -4750,8 +5166,13 @@ Returns true if symbol is a valid element symbol. * **Returns** - True if symbol is a valid element (e.g., β€œH”). False otherwise - (e.g., β€œZebra”). + True if symbol is a valid element (e.g., β€œH”). + + + +* **Return type** + + bool @@ -4766,10 +5187,6 @@ and hydrogen. Maximum oxidation state for element. -#### _property_ metallic_radius(_: floa_ ) -Metallic radius of the element. Radius is given in ang. - - #### _property_ min_oxidation_state(_: floa_ ) Minimum oxidation state for element. @@ -4808,7 +5225,7 @@ respectively. #### _property_ term_symbols(_: list[list[str]_ ) -All possible Russell-Saunders term symbol of the Element. +All possible Russell-Saunders term symbol of the Element. eg. L = 1, n_e = 2 (s2) returns [[β€˜1D2’], [β€˜3P0’, β€˜3P1’, β€˜3P2’], [β€˜1S0’]]. @@ -5604,8 +6021,7 @@ Bases: `SiteCollection`, `MSONable` Basic immutable Molecule object without periodicity. Essentially a sequence of sites. IMolecule is made to be immutable so that they can -function as keys in a dict. For a mutable molecule, -use the :class:Molecule. +function as keys in a dict. For a mutable object, use the Molecule class. Molecule extends Sequence and Hashable, which means that in many cases, it can be used like any Python sequence. Iterating through a molecule is @@ -5667,6 +6083,8 @@ Create a Molecule. Returns index of nearest neighbor atoms. +#### _properties(_: dic_ ) + #### as_dict() JSON-serializable dict representation of Molecule. @@ -5996,8 +6414,6 @@ Returns a z-matrix representation of the molecule. Number of electrons in the molecule. -#### properties(_: dic_ ) - #### _property_ spin_multiplicity(_: floa_ ) Spin multiplicity of molecule. @@ -6055,7 +6471,7 @@ Create a periodic structure. * **lattice** (*Lattice/3x3 array*) – The lattice, either as a - `pymatgen.core.lattice.Lattice` or + pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -6148,8 +6564,20 @@ distances[i]. numerical tolerance distance, default to True -Returns: (center_indices, points_indices, offset_vectors, distances) +* **Returns** + + (center_indices, points_indices, offset_vectors, distances) + + + +* **Return type** + + tuple + + + +#### _properties(_: dic_ ) #### as_dataframe() Create a Pandas dataframe of the sites. Structure-level attributes are stored in DataFrame.attrs. @@ -6285,7 +6713,7 @@ vasprun.xml, CSSR, Netcdf and pymatgen’s JSON-serialized structures. * **filename** (*str*) – The filename to read from. - * **primitive** (*bool*) – Whether to convert to a primitive cell. Only available for cifs. Defaults to False. + * **primitive** (*bool*) – Whether to convert to a primitive cell. Only available for CIFs. Defaults to False. * **sort** (*bool*) – Whether to sort sites. Default to False. @@ -6315,7 +6743,7 @@ All equivalent sites are generated from the spacegroup operations. * **Parameters** - * **msg** (str/list/[`pymatgen.symmetry.maggroups.MagneticSpaceGroup`](pymatgen.symmetry.md#pymatgen.symmetry.maggroups.MagneticSpaceGroup)) – The magnetic spacegroup. + * **msg** (*str/list/pymatgen.symmetry.maggroups.MagneticSpaceGroup*) – The magnetic spacegroup. If a string, it will be interpreted as one of the notations supported by MagneticSymmetryGroup, e.g., β€œR-3’c” or β€œFm’-3’m”. If a list of two ints, it will be interpreted as the number of @@ -6323,7 +6751,7 @@ All equivalent sites are generated from the spacegroup operations. * **lattice** (*Lattice/3x3 array*) – The lattice, either as a - `pymatgen.core.lattice.Lattice` or + pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -6436,7 +6864,7 @@ are generated from the spacegroup operations. * **lattice** (*Lattice/3x3 array*) – The lattice, either as a - `pymatgen.core.lattice.Lattice` or + pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -6571,7 +6999,7 @@ current position, but which image of the unit cell it resides. * **Returns** - [[`pymatgen.core.structure.PeriodicNeighbor`], ..] + [[pymatgen.core.structure.PeriodicNeighbor], ..] @@ -6731,7 +7159,17 @@ distances[i]. numerical tolerance distance, default to True -Returns: (center_indices, points_indices, offset_vectors, distances) + +* **Returns** + + (center_indices, points_indices, offset_vectors, distances) + + + +* **Return type** + + tuple + #### get_neighbors(site: PeriodicSite, r: float, include_index: bool = False, include_image: bool = False) @@ -6961,18 +7399,15 @@ Convenience method to quickly get the spacegroup of a structure. #### get_symmetric_neighbor_list(r: float, sg: str, unique: bool = False, numerical_tol: float = 1e-08, exclude_self: bool = True) Similar to β€˜get_neighbor_list’ with sites=None, but the neighbors are grouped by symmetry. The returned values are a tuple of numpy arrays -(center_indices, points_indices, offset_vectors, distances, - -> symmetry_indices). Atom center_indices[i] has neighbor atom - -points_indices[i] that is translated by offset_vectors[i] lattice -vectors, and the distance is distances[i]. Symmetry_idx groups the bonds -that are related by a symmetry of the provided space group and symmetry_op -is the operation that relates the first bond of the same symmetry_idx to -the respective atom. The first bond maps onto itself via the Identity. The -output is sorted w.r.t. to symmetry_indices. If unique is True only one of the -two bonds connecting two points is given. Out of the two, the bond that does not -reverse the sites is chosen. +(center_indices, points_indices, offset_vectors, distances, symmetry_indices). +Atom center_indices[i] has neighbor atom points_indices[i] that is translated +by offset_vectors[i] lattice vectors, and the distance is distances[i]. +Symmetry_idx groups the bonds that are related by a symmetry of the provided space +group and symmetry_op is the operation that relates the first bond of the same +symmetry_idx to the respective atom. The first bond maps onto itself via the +Identity. The output is sorted w.r.t. to symmetry_indices. If unique is True only +one of the two bonds connecting two points is given. Out of the two, the bond that +does not reverse the sites is chosen. * **Parameters** @@ -7005,9 +7440,20 @@ reverse the sites is chosen. numerical tolerance distance, default to True -Returns: (center_indices, points_indices, offset_vectors, distances, - symmetry_indices, symmetry_ops) +* **Returns** + + (center_indices, points_indices, offset_vectors, distances, + + symmetry_indices, symmetry_ops) + + + + +* **Return type** + + tuple + #### interpolate(end_structure: IStructure | Structure, nimages: int | Iterable = 10, interpolate_lattices: bool = False, pbc: bool = True, autosort_tol: float = 0) @@ -7081,7 +7527,7 @@ Basically a convenience method to call structure matching. ``` kwargs as in - [`pymatgen.analysis.structure_matcher.StructureMatcher`](pymatgen.analysis.md#pymatgen.analysis.structure_matcher.StructureMatcher). + pymatgen.analysis.structure_matcher.StructureMatcher. @@ -7101,7 +7547,10 @@ Basically a convenience method to call structure matching. Returns the periodicity of the structure. -#### properties(_: dic_ ) +#### _property_ properties(_: dic_ ) +Properties associated with the whole Structure. Note that this information is +only guaranteed to be saved if serializing to native pymatgen output formats (JSON/YAML). + #### to(filename: str = '', fmt: str = '', \*\*kwargs) Outputs the structure to a file or string. @@ -7124,7 +7573,7 @@ Outputs the structure to a file or string. * **\*\*kwargs** – Kwargs passthru to relevant methods. E.g., This allows the passing of parameters like symprec to the - CifWriter.__init__ method for generation of symmetric cifs. + CifWriter.__init__ method for generation of symmetric CIFs. @@ -7209,6 +7658,8 @@ Creates a MutableMolecule. #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### append(species: CompositionLike, coords: ArrayLike, validate_proximity: bool = False, properties: dict | None = None) Appends a site to the molecule. @@ -7318,8 +7769,6 @@ symmetries. -#### properties(_: dic_ ) - #### relax(calculator: str | Calculator = 'gfn2-xtb', optimizer: str | Optimizer = 'FIRE', steps: int = 500, fmax: float = 0.1, opt_kwargs: dict | None = None, return_trajectory: bool = False, verbose: bool = False) Performs a molecule relaxation using an ASE calculator. @@ -7516,18 +7965,16 @@ In future, usage should be to call attributes, e.g., Neighbor.index, Neighbor.di #### as_dict() Note that method calls the super of Site, which is MSONable itself. -Returns: dict - #### coords(_: ndarra_ ) -#### _classmethod_ from_dict(d: dict) +#### _classmethod_ from_dict(dct: dict) Returns a Neighbor from a dict. * **Parameters** - **d** – MSONable dict format. + **dct** – MSONable dict format. @@ -7593,8 +8040,6 @@ PeriodicNeighbor.distance, etc. #### as_dict() Note that method calls the super of Site, which is MSONable itself. -Returns: dict - #### _property_ coords(_: ndarra_ ) Cartesian coords. @@ -7689,6 +8134,8 @@ Convert string name of special ASE calculators into ASE calculator objects. +#### _properties(_: dic_ ) + #### _relax(calculator: str | Calculator, relax_cell: bool = True, optimizer: str | Optimizer = 'FIRE', steps: int = 500, fmax: float = 0.1, stress_weight: float = 0.01, opt_kwargs: dict | None = None, return_trajectory: bool = False, verbose: bool = False) Performs a structure relaxation using an ASE calculator. @@ -8000,8 +8447,6 @@ Number of types of atoms. Number of sites. -#### properties(_: dic_ ) - #### remove_oxidation_states() Removes oxidation states from a structure. @@ -8107,7 +8552,7 @@ Create a periodic structure. * **Parameters** - * **lattice** – The lattice, either as a pymatgen.core.lattice.Lattice or + * **lattice** – The lattice, either as a pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -8169,6 +8614,8 @@ Create a periodic structure. #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### _sites(_: tuple[PeriodicSite, ..._ ) #### append(species: CompositionLike, coords: ArrayLike, coords_are_cartesian: bool = False, validate_proximity: bool = False, properties: dict | None = None) @@ -8424,8 +8871,6 @@ symmetries. -#### properties(_: dic_ ) - #### relax(calculator: str | Calculator = 'm3gnet', relax_cell: bool = True, optimizer: str | Optimizer = 'FIRE', steps: int = 500, fmax: float = 0.1, stress_weight: float = 0.01, opt_kwargs: dict | None = None, return_trajectory: bool = False, verbose: bool = False) Performs a crystal structure relaxation using an ASE calculator. @@ -8689,12 +9134,46 @@ the desired reconstructed slab from the initial structure. #### slabgen_params() -Parameters for the SlabGenerator +Parameters for the SlabGenerator. + + +* **Type** + + dict + + + +#### trans_matrix() +A 3x3 transformation matrix to generate the reconstructed +slab. Only the a and b lattice vectors are actually changed while the c vector remains +the same. This matrix is what the Wood’s notation is based on. + + +* **Type** + + np.ndarray + + + +#### reconstruction_json() +The full json or dictionary containing the instructions for +building the reconstructed slab. + -Todo: -- Right now there is no way to specify what atom is being +* **Type** + + dict + + + +#### termination() +The index of the termination of the slab. + + +* **Type** + + int -> added. In the future, use basis sets? Generates reconstructed slabs from a set of instructions @@ -8880,14 +9359,30 @@ necessarily perpendicular to the surface). Miller index of plane parallel to surface. +* **Type** + + tuple + + + #### scale_factor() -Final computed scale factor that brings the parent cell to the -surface cell. +Final computed scale factor that brings the parent cell to the surface cell. + + +* **Type** + + float + #### shift() -The shift value in Angstrom that indicates how much this -slab has been shifted. +The shift value in Angstrom that indicates how much this slab has been shifted. + + +* **Type** + + float + Makes a Slab structure, a structure object with additional information and methods pertaining to slabs. @@ -8897,7 +9392,7 @@ and methods pertaining to slabs. * **lattice** (*Lattice/3x3 array*) – The lattice, either as a - `pymatgen.core.lattice.Lattice` or + pymatgen.core.Lattice or simply as any 2D array. Each row should correspond to a lattice vector. E.g., [[10,0,0], [20,10,0], [0,0,30]] specifies a lattice with lattice vectors [10,0,0], [20,10,0] and [0,0,30]. @@ -8918,8 +9413,7 @@ and methods pertaining to slabs. - * **coords** (*Nx3 array*) – list of fractional/cartesian coordinates of - each species. + * **coords** (*Nx3 array*) – list of fractional/cartesian coordinates of each species. * **miller_index** (*[**h**, **k**, **l**]*) – Miller index of plane parallel to @@ -8975,6 +9469,8 @@ and methods pertaining to slabs. #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### _sites(_: tuple[PeriodicSite, ..._ ) #### add_adsorbate_atom(indices, specie, distance) @@ -9212,8 +9708,6 @@ Checks if surfaces are symmetric, i.e., contains inversion, mirror on (hkl) plan Calculates the surface normal vector of the slab. -#### properties(_: dic_ ) - #### _property_ surface_area() Calculates the surface area of the slab. @@ -9267,20 +9761,43 @@ where the slab layer will begin and terminate in the slab-vacuum system. #### oriented_unit_cell() A unit cell of the parent structure with the miller -index of plane parallel to surface +index of plane parallel to surface. + + +* **Type** + + Structure + #### parent() Parent structure from which Slab was derived. +* **Type** + + Structure + + + #### lll_reduce() -Whether or not the slabs will be orthogonalized +Whether or not the slabs will be orthogonalized. + + +* **Type** + + bool + #### center_slab() -Whether or not the slabs will be centered between -the vacuum layer +Whether or not the slabs will be centered between the vacuum layer. + + +* **Type** + + bool + #### slab_scale_factor() @@ -9288,16 +9805,40 @@ Final computed scale factor that brings the parent cell to the surface cell. +* **Type** + + float + + + #### miller_index() Miller index of plane parallel to surface. +* **Type** + + tuple + + + #### min_slab_size() -Minimum size in angstroms of layers containing atoms +Minimum size in angstroms of layers containing atoms. + + +* **Type** + + float + #### min_vac_size() -Minimize size in angstroms of layers containing vacuum +Minimum size in angstroms of layers containing vacuum. + + +* **Type** + + float + Calculates the slab scale factor and uses it to generate a unit cell of the initial structure that has been oriented by its miller index. @@ -9694,7 +10235,7 @@ lattice of the structure. -### get_symmetrically_equivalent_miller_indices(structure, miller_index, return_hkil=True, system: Literal['triclinic', 'monoclinic', 'orthorhombic', 'tetragonal', 'trigonal', 'hexagonal', 'cubic'] | None = None) +### get_symmetrically_equivalent_miller_indices(structure, miller_index, return_hkil=True, system: CrystalSystem | None = None) Returns all symmetrically equivalent indices for a given structure. Analysis is based on the symmetry of the reciprocal lattice of the structure. diff --git a/docs/pymatgen.electronic_structure.md b/docs/pymatgen.electronic_structure.md index 609969b6d80..69e9e2356dd 100644 --- a/docs/pymatgen.electronic_structure.md +++ b/docs/pymatgen.electronic_structure.md @@ -24,42 +24,89 @@ This is the most generic band structure data possible it’s defined by a list of kpoints + energies for each of them. -### kpoints:() +#### kpoints() +The list of kpoints (as Kpoint objects) in the band structure. + + +* **Type** + + list + -### the list of kpoints (as Kpoint objects) in the band structure() #### lattice_rec() -the reciprocal lattice of the band structure. +The reciprocal lattice of the band structure. + + +* **Type** + + [Lattice](pymatgen.core.md#pymatgen.core.lattice.Lattice) + #### efermi() -the fermi energy +The Fermi energy. + + +* **Type** + + float + #### is_spin_polarized() -True if the band structure is spin-polarized, False otherwise +True if the band structure is spin-polarized. + + +* **Type** + + bool + #### bands() The energy eigenvalues as a {spin: ndarray}. Note that the use of an -ndarray is necessary for computational as well as memory efficiency -due to the large amount of numerical data. The indices of the ndarray -are [band_index, kpoint_index]. +ndarray is necessary for computational as well as memory efficiency due to the large +amount of numerical data. The indices of the ndarray are [band_index, kpoint_index]. + + +* **Type** + + dict + #### nb_bands() -returns the number of bands in the band structure +Returns the number of bands in the band structure. + + +* **Type** + + int + #### structure() -returns the structure +Returns the structure. + + +* **Type** + + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) + #### projections() The projections as a {spin: ndarray}. Note that the use of an -ndarray is necessary for computational as well as memory efficiency -due to the large amount of numerical data. The indices of the ndarray -are [band_index, kpoint_index, orbital_index, ion_index]. +ndarray is necessary for computational as well as memory efficiency due to the large +amount of numerical data. The indices of the ndarray are [band_index, kpoint_index, +orbital_index, ion_index]. + + +* **Type** + + dict + * **Parameters** @@ -204,13 +251,20 @@ band gap. #### get_kpoint_degeneracy(kpoint, cartesian=False, tol: float = 0.01) -Returns degeneracy of a given k-point based on structure symmetry -:param kpoint: coordinate of the k-point -:type kpoint: 1x3 array -:param cartesian: kpoint is in Cartesian or fractional coordinates -:type cartesian: bool -:param tol: tolerance below which coordinates are considered equal. -:type tol: float +Returns degeneracy of a given k-point based on structure symmetry. + + +* **Parameters** + + + * **kpoint** (*1x3 array*) – coordinate of the k-point + + + * **cartesian** (*bool*) – kpoint is in Cartesian or fractional coordinates + + + * **tol** (*float*) – tolerance below which coordinates are considered equal. + * **Returns** @@ -334,7 +388,13 @@ level crosses a band. * **Returns** - True if a metal, False if not + True if a metal. + + + +* **Return type** + + bool @@ -470,7 +530,7 @@ pymatgen.core.structure. * **coords** – coordinate of the kpoint as a numpy array - * **lattice** – A pymatgen.core.lattice.Lattice object representing + * **lattice** – A pymatgen.core.Lattice object representing the reciprocal lattice of the kpoint @@ -533,7 +593,7 @@ The label associated with the kpoint. #### _property_ lattice() The lattice associated with the kpoint. It’s a -pymatgen.core.lattice.Lattice object. +pymatgen.core.Lattice object. ### _class_ LobsterBandStructureSymmLine(kpoints, eigenvals, lattice, efermi, labels_dict, coords_are_cartesian=False, structure=None, projections=None) @@ -1543,9 +1603,17 @@ lattice thermal conductivity. #### _static_ parse_cond_and_hall(path_dir, doping_levels=None) -Parses the conductivity and Hall tensors -:param path_dir: Path containing .condtens / .halltens files -:param doping_levels: ([float]) - doping lvls, parse outtrans to get this. +Parses the conductivity and Hall tensors. + + +* **Parameters** + + + * **path_dir** – Path containing .condtens / .halltens files + + + * **doping_levels** – ([float]) - doping lvls, parse outtrans to get this. + * **Returns** @@ -1615,11 +1683,23 @@ Parses boltztrap.struct file (only the volume). #### _static_ parse_transdos(path_dir, efermi, dos_spin=1, trim_dos=False) -Parses .transdos (total DOS) and .transdos_x_y (partial DOS) files -:param path_dir: (str) dir containing DOS files -:param efermi: (float) Fermi energy -:param dos_spin: (int) -1 for spin down, +1 for spin up -:param trim_dos: (bool) whether to post-process / trim DOS. +Parses .transdos (total DOS) and .transdos_x_y (partial DOS) files. + + +* **Parameters** + + + * **path_dir** – (str) dir containing DOS files + + + * **efermi** – (float) Fermi energy + + + * **dos_spin** – (int) -1 for spin down, +1 for spin up + + + * **trim_dos** – (bool) whether to post-process / trim DOS. + * **Returns** @@ -1871,8 +1951,17 @@ squared (%) if nb is specified. ### eta_from_seebeck(seeb, Lambda) It takes a value of seebeck and adjusts the analytic seebeck until it’s equal. -Returns: eta where the two seebeck coefficients are equal -(reduced chemical potential). + +* **Returns** + + eta where the two seebeck coefficients are equal (reduced chemical potential). + + + +* **Return type** + + float + ### read_cube_file(filename) @@ -2166,7 +2255,8 @@ Function to plot the transport properties. * **ax** – figure.axes where to plot. If None, a new figure is produced. -Example: +### Example + bztPlotter.plot_props(β€˜S’,’mu’,’temp’,temps=[600,900,1200]).show() more example are provided in the notebook β€œHow to use Boltztra2 interface.ipynb”. @@ -2443,30 +2533,96 @@ Bases: `Cohp` A wrapper class that defines an average COHP, and individual COHPs. - - - - - - - - * **Parameters** @@ -2654,16 +2810,34 @@ Class to store IcohpValues. #### are_coops() +Boolean to indicate if these are ICOOPs. + + +* **Type** + + bool + -### Boolean to indicate if these are ICOOPs() #### are_cobis() +Boolean to indicate if these are ICOOPs. + + +* **Type** + + bool + -### Boolean to indicate if these are ICOOPs() #### is_spin_polarized() +Boolean to indicate if the Lobster calculation was done spin polarized or not. + + +* **Type** + + bool + -### Boolean to indicate if the Lobster calculation was done spin polarized or not() * **Parameters** @@ -2713,9 +2887,17 @@ Whether this is a coop. #### extremum_icohpvalue(summed_spin_channels=True, spin=Spin.up) -Get ICOHP/ICOOP of strongest bond -:param summed_spin_channels: Boolean to indicate whether the ICOHPs/ICOOPs of both spin channels should be summed. -:param spin: if summed_spin_channels is equal to False, this spin indicates which spin channel should be returned +Get ICOHP/ICOOP of strongest bond. + + +* **Parameters** + + + * **summed_spin_channels** – Boolean to indicate whether the ICOHPs/ICOOPs of both spin channels should be summed. + + + * **spin** – if summed_spin_channels is equal to False, this spin indicates which spin channel should be returned + * **Returns** @@ -2752,9 +2934,17 @@ ICOHPLIST/ICOOPLIST). #### get_icohp_dict_by_bondlengths(minbondlength=0.0, maxbondlength=8.0) -Get a dict of IcohpValues corresponding to certain bond lengths -:param minbondlength: defines the minimum of the bond lengths of the bonds -:param maxbondlength: defines the maximum of the bond lengths of the bonds. +Get a dict of IcohpValues corresponding to certain bond lengths. + + +* **Parameters** + + + * **minbondlength** – defines the minimum of the bond lengths of the bonds + + + * **maxbondlength** – defines the maximum of the bond lengths of the bonds. + * **Returns** @@ -2834,25 +3024,85 @@ Bases: `MSONable` Class to store information on an ICOHP or ICOOP value. -#### num_bonds() +#### energies() +Energy values for the COHP/ICOHP/COOP/ICOOP. + + +* **Type** + + ndarray + + + +#### densities() +Density of states values for the COHP/ICOHP/COOP/ICOOP. + + +* **Type** + + ndarray + + + +#### energies_are_cartesian() +Whether the energies are cartesian or not. + + +* **Type** + + bool + -### number of bonds used for the average cohp (relevant for Lobster versions <3.0) (int)() #### are_coops() +Whether the object is a COOP/ICOOP or not. + + +* **Type** + + bool + -### Boolean to indicates ICOOPs() #### are_cobis() +Whether the object is a COBIS/ICOBIS or not. + + +* **Type** + + bool + -### Boolean to indicates ICOBIs() #### icohp() +A dictionary of the ICOHP/COHP values. The keys are Spin.up and Spin.down. + -### dict={Spin.up: icohpvalue for spin.up, Spin.down: icohpvalue for spin.down}() +* **Type** + + dict + + + +#### summed_icohp() +The summed ICOHP/COHP values. + + +* **Type** + + float + + + +#### num_bonds() +The number of bonds used for the average COHP (relevant for Lobster versions <3.0). + + +* **Type** + + int -### summed_icohp:() -### sum of icohp/icoop of both spin channels() * **Parameters** @@ -3391,8 +3641,20 @@ manually. Structure associated with the CompleteDos. +* **Type** + + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) + + + #### pdos() -Dict of partial densities of the form {Site:{Orbital:{Spin:Densities}}} +Dict of partial densities of the form {Site:{Orbital:{Spin:Densities}}}. + + +* **Type** + + dict + * **Parameters** @@ -3703,8 +3965,17 @@ Calculates the similarity index (dot product) of two fingerprints. **ValueError** – If both tanimoto and normalize are set to True. -Returns: -Similarity index (float): The value of dot product + +* **Returns** + + Similarity index given by the dot product + + + +* **Return type** + + float + #### get_element_dos() @@ -3967,15 +4238,36 @@ Bases: [`Spectrum`](pymatgen.core.md#pymatgen.core.spectrum.Spectrum) Replacement basic DOS object. All other DOS objects are extended versions of this object. Work in progress. - - - * **Parameters** @@ -4090,15 +4382,36 @@ Bases: `MSONable` Basic DOS object. All other DOS objects are extended versions of this object. - - - * **Parameters** @@ -4688,15 +5001,35 @@ Draw an RGB triangle legend on the desired axis. #### _static_ _rgbline(ax, k, e, red, green, blue, alpha=1, linestyles='solid') An RGB colored line for plotting. creation of segments based on: -[http://nbviewer.ipython.org/urls/raw.github.com/dpsanders/matplotlib-examples/master/colorline.ipynb](http://nbviewer.ipython.org/urls/raw.github.com/dpsanders/matplotlib-examples/master/colorline.ipynb) -:param ax: matplotlib axis -:param k: x-axis data (k-points) -:param e: y-axis data (energies) -:param red: red data -:param green: green data -:param blue: blue data -:param alpha: alpha values data -:param linestyles: linestyle for plot (e.g., β€œsolid” or β€œdotted”). +[http://nbviewer.ipython.org/urls/raw.github.com/dpsanders/matplotlib-examples/master/colorline.ipynb](http://nbviewer.ipython.org/urls/raw.github.com/dpsanders/matplotlib-examples/master/colorline.ipynb). + + +* **Parameters** + + + * **ax** – matplotlib axis + + + * **k** – x-axis data (k-points) + + + * **e** – y-axis data (energies) + + + * **red** – red data + + + * **green** – green data + + + * **blue** – blue data + + + * **alpha** – alpha values data + + + * **linestyles** – linestyle for plot (e.g., β€œsolid” or β€œdotted”). + #### get_plot(bs: BandStructureSymmLine, dos: Dos | CompleteDos | None = None) @@ -4763,7 +5096,7 @@ number of branches (high symmetry lines) defined in the BandStructureSymmLine object (see BandStructureSymmLine._branches). -#### _maketicks(ax: Axes) +#### _make_ticks(ax: Axes) Utility private method to add ticks to a band structure. @@ -4911,6 +5244,18 @@ Get all ticks and labels for a band structure plot. Plot the Brillouin zone. +* **Returns** + + A matplotlib figure object with the Brillouin zone. + + + +* **Return type** + + plt.Figure + + + #### plot_compare(other_plotter, legend=True) Plot two band structure for comparison. One is in red the other in blue (no difference in spins). The two band structures need to be defined @@ -5007,7 +5352,7 @@ projected along orbitals, elements or sites. #### _get_projections_by_branches_patom_pmorb(dictio, dictpa, sum_atoms, sum_morbs, selected_branches) -#### _maketicks_selected(ax: Axes, branches: list[int]) +#### _make_ticks_selected(ax: Axes, branches: list[int]) Utility private method to add ticks to a band structure with selected branches. @@ -6017,7 +6362,7 @@ Folds a point with coordinates p inside the first Brillouin zone of the lattice. -### plot_brillouin_zone(bz_lattice, lines=None, labels=None, kpoints=None, fold=False, coords_are_cartesian=False, ax: Axes = None, \*\*kwargs) +### plot_brillouin_zone(bz_lattice, lines=None, labels=None, kpoints=None, fold=False, coords_are_cartesian: bool = False, ax: Axes = None, \*\*kwargs) Plots a 3D representation of the Brillouin zone of the structure. Can add to the plot paths, labels and kpoints. @@ -6045,7 +6390,7 @@ Can add to the plot paths, labels and kpoints. coordinates in Cartesian coordinates. Defaults to False. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – provided by add_fig_kwargs decorator @@ -6122,7 +6467,7 @@ Gives the plot (as a matplotlib object) of the symmetry line path in * **kpath** ([*HighSymmKpath*](pymatgen.symmetry.md#pymatgen.symmetry.bandstructure.HighSymmKpath)) – a HighSymmKPath object - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **\*\*kwargs** – provided by add_fig_kwargs decorator @@ -6208,7 +6553,7 @@ of a band in a single k-point. * **rescale** – factor for size scaling of the ellipsoid - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **coords_are_cartesian** – Set to True if you are providing a center in @@ -6349,7 +6694,7 @@ Adds labels to a matplotlib Axes. Requires lattice if False. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – kwargs passed to the matplotlib function β€˜text’. Color defaults to blue @@ -6373,7 +6718,7 @@ Adds the basis vectors of the lattice provided to a matplotlib Axes. * **lattice** – Lattice object - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – kwargs passed to the matplotlib function β€˜plot’. Color defaults to green @@ -6405,7 +6750,7 @@ Adds a line passing through the coordinates listed in β€˜line’ to a matplotlib Requires lattice if False. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – kwargs passed to the matplotlib function β€˜plot’. Color defaults to red @@ -6441,7 +6786,7 @@ Adds Points to a matplotlib Axes. Defaults to False. Requires lattice if True. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – kwargs passed to the matplotlib function β€˜scatter’. Color defaults to blue @@ -6464,7 +6809,7 @@ Adds the skeleton of the Wigner-Seitz cell of the lattice to a matplotlib Axes. * **lattice** – Lattice object - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **kwargs** – kwargs passed to the matplotlib function β€˜plot’. Color defaults to black diff --git a/docs/pymatgen.ext.md b/docs/pymatgen.ext.md index cb93eb536a8..b7885762dc4 100644 --- a/docs/pymatgen.ext.md +++ b/docs/pymatgen.ext.md @@ -44,8 +44,6 @@ Bases: `object` An interface to the Crystallography Open Database. -Blank __init__. No args required. - #### get_cod_ids(formula) Queries the COD for all cod ids associated with a formula. Requires @@ -128,6 +126,8 @@ Perform a query. Response from SQL query. + +#### url(_ = 'www.crystallography.net_ ) ## pymatgen.ext.matproj module This module provides classes to interface with the Materials Project REST @@ -280,8 +280,7 @@ Materials Project api are described at [https://materialsproject.org/api](https: Delete earlier submitted SNLs. **NOTE**: As of now, this MP REST feature is open only to a select group of -users. Opening up submissions to all users is being planned for -the future. +users. Opening up submissions to all users is being planned for the future. * **Parameters** @@ -418,7 +417,17 @@ The database version is set as a date in the format YYYY-MM-DD, where β€œ-DD” may be optional. An additional numerical suffix might be added if multiple releases happen on the same day. -Returns: database version as a string + +* **Returns** + + database version + + + +* **Return type** + + str + #### get_doc(materials_id) @@ -1279,8 +1288,7 @@ up to MAX_TRIES_PER_CHUNK times. Query for submitted SNLs. **NOTE**: As of now, this MP REST feature is open only to a select group of -users. Opening up submissions to all users is being planned for -the future. +users. Opening up submissions to all users is being planned for the future. * **Parameters** @@ -1305,8 +1313,7 @@ the future. Submits a list of StructureNL to the Materials Project site. **NOTE**: As of now, this MP REST feature is open only to a select group of -users. Opening up submissions to all users is being planned for -the future. +users. Opening up submissions to all users is being planned for the future. * **Parameters** @@ -1338,8 +1345,7 @@ except that a list of structures with the same metadata is used as an input. **NOTE**: As of now, this MP REST feature is open only to a select group of -users. Opening up submissions to all users is being planned for -the future. +users. Opening up submissions to all users is being planned for the future. * **Parameters** @@ -1392,8 +1398,7 @@ to the Materials Project as SNL files. VASP related meta data like initial structure and final energies are automatically incorporated. **NOTE**: As of now, this MP REST feature is open only to a select group of -users. Opening up submissions to all users is being planned for -the future. +users. Opening up submissions to all users is being planned for the future. * **Parameters** @@ -1441,6 +1446,300 @@ the future. #### supported_task_properties(_ = ('energy', 'energy_per_atom', 'volume', 'formation_energy_per_atom', 'nsites', 'unit_cell_formula', 'pretty_formula', 'is_hubbard', 'elements', 'nelements', 'e_above_hull', 'hubbards', 'is_compatible', 'spacegroup', 'band_gap', 'density', 'icsd_id', 'cif'_ ) +### _class_ _MPResterNewBasic(api_key: str | None = None, include_user_agent: bool = True) +Bases: `object` + +A new MPRester that supports the new MP API. If you are getting your API key from the new dashboard of MP, you will +need to use this instead of the original MPRester because the new API keys do not work with the old MP API (???!). +This is a basic implementation for now and features will be added soon. The current implementation is to enable +users with simple requirements use the API without having to install additional packages. + +If you are a power user who needs the full functionality, please get the mp-api package instead. + + +* **Parameters** + + + * **api_key** (*str*) – A String API key for accessing the MaterialsProject + REST interface. Please obtain your API key at + [https://www.materialsproject.org/dashboard](https://www.materialsproject.org/dashboard). If this is None, + the code will check if there is a β€œPMG_MAPI_KEY” setting. + If so, it will use that environment variable. This makes + easier for heavy users to simply add this environment variable to + their setups and MPRester can then be called without any arguments. + + + * **include_user_agent** (*bool*) – If True, will include a user agent with the + HTTP request including information on pymatgen and system version + making the API request. This helps MP support pymatgen users, and + is similar to what most web browsers send with each page request. + Set to False to disable the user agent. + + + +#### get_doc(material_id: str, fields: list | None = None) +Get a data corresponding to a material_id. + + +* **Parameters** + + + * **material_id** (*str*) – Materials Project ID (e.g. mp-1234). + + + * **fields** (*list*) – Fields to query for. If None (the default), all fields are returned. + + + +* **Returns** + + Dict + + + +#### get_entries(criteria, compatible_only=True, inc_structure=None, property_data=None, conventional_unit_cell=False, sort_by_e_above_hull=False) +Get a list of ComputedEntries or ComputedStructureEntries corresponding +to a chemical system, formula, or materials_id or full criteria. + + +* **Parameters** + + + * **criteria** – Chemsys, formula, or mp-id. + + + * **compatible_only** (*bool*) – Whether to return only β€œcompatible” + entries. Compatible entries are entries that have been + processed using the MaterialsProject2020Compatibility class, + which performs adjustments to allow mixing of GGA and GGA+U + calculations for more accurate phase diagrams and reaction + energies. + + + * **inc_structure** (*str*) – If None, entries returned are + ComputedEntries. If inc_structure=”initial”, + ComputedStructureEntries with initial structures are returned. + Otherwise, ComputedStructureEntries with final structures + are returned. + + + * **property_data** (*list*) – Specify additional properties to include in + entry.data. If None, no data. Should be a subset of + supported_properties. + + + * **conventional_unit_cell** (*bool*) – Whether to get the standard + conventional unit cell + + + * **sort_by_e_above_hull** (*bool*) – Whether to sort the list of entries by + e_above_hull (will query e_above_hull as a property_data if True). + + + +* **Returns** + + List of ComputedStructureEntry objects. + + + +#### get_entries_in_chemsys(elements, \*args, \*\*kwargs) +Helper method to get a list of ComputedEntries in a chemical system. For example, elements = [β€œLi”, β€œFe”, β€œO”] +will return a list of all entries in the Li-Fe-O chemical system, i.e., all LixOy, FexOy, LixFey, LixFeyOz, +Li, Fe and O phases. Extremely useful for creating phase diagrams of entire chemical systems. + + +* **Parameters** + + + * **elements** (*str** or **[**str**]*) – Chemical system string comprising element + symbols separated by dashes, e.g., β€œLi-Fe-O” or List of element + symbols, e.g., [β€œLi”, β€œFe”, β€œO”]. + + + * **\*args** – Pass-through to get_entries. + + + * **\*\*kwargs** – Pass-through to get_entries. + + + +* **Returns** + + List of ComputedEntries. + + + +#### get_entry_by_material_id(material_id: str, \*args, \*\*kwargs) +Get a ComputedEntry corresponding to a material_id. + + +* **Parameters** + + + * **material_id** (*str*) – Materials Project material_id (a string, + e.g., mp-1234). + + + * **\*args** – Pass-through to get_entries. + + + * **\*\*kwargs** – Pass-through to get_entries. + + + +* **Returns** + + ComputedStructureEntry object. + + + +#### get_initial_structures_by_material_id(material_id: str, conventional_unit_cell: bool = False) +Get a Structure corresponding to a material_id. + + +* **Parameters** + + + * **material_id** (*str*) – Materials Project ID (e.g. mp-1234). + + + * **final** (*bool*) – Whether to get the final structure, or the initial + (pre-relaxation) structures. Defaults to True. + + + * **conventional_unit_cell** (*bool*) – Whether to get the standard conventional unit cell + + + +* **Returns** + + Structure object. + + + +#### get_material_ids(formula) +Get all materials ids for a formula. + + +* **Parameters** + + **formula** (*str*) – A formula (e.g., Fe2O3). + + + +* **Returns** + + ([str]) List of all materials ids. + + + +#### get_materials_ids(formula) +Get all materials ids for a formula. + + +* **Parameters** + + **formula** (*str*) – A formula (e.g., Fe2O3). + + + +* **Returns** + + ([str]) List of all materials ids. + + + +#### get_structure_by_material_id(material_id: str, conventional_unit_cell: bool = False) +Get a Structure corresponding to a material_id. + + +* **Parameters** + + + * **material_id** (*str*) – Materials Project ID (e.g. mp-1234). + + + * **final** (*bool*) – Whether to get the final structure, or the initial + (pre-relaxation) structures. Defaults to True. + + + * **conventional_unit_cell** (*bool*) – Whether to get the standard conventional unit cell + + + +* **Returns** + + Structure object. + + + +#### get_structures(chemsys_formula: str, final=True) +Get a list of Structures corresponding to a chemical system or formula. + + +* **Parameters** + + + * **chemsys_formula** (*str*) – A chemical system, list of chemical systems + (e.g., Li-Fe-O, Si-*), or single formula (e.g., Fe2O3, Si*). + + + * **final** (*bool*) – Whether to get the final structure, or the list of initial + (pre-relaxation) structures. Defaults to True. + + + +* **Returns** + + List of Structure objects. ([Structure]) + + + +#### get_summary(criteria: dict, fields: list | None = None) +Get a data corresponding to a criteria. + + +* **Parameters** + + + * **criteria** (*dict*) – Materials Project ID (e.g. mp-1234), e.g., {β€œformula”: β€œFe2O3,FeO”} + + + * **fields** (*list*) – Fields to query for. If None (the default), all fields are returned. + + + +* **Returns** + + List of dict of summary docs. + + + +#### get_summary_by_material_id(material_id: str, fields: list | None = None) +Get a data corresponding to a material_id. + + +* **Parameters** + + + * **material_id** (*str*) – Materials Project ID (e.g. mp-1234). + + + * **fields** (*list*) – Fields to query for. If None (the default), all fields are returned. + + + +* **Returns** + + Dict + + + +#### request(sub_url, payload=None, method='GET', mp_decode=True) +Helper method to make the requests and perform decoding based on MSONable protocol. + + ### get_chunks(sequence: Sequence[Any], size=1) * **Parameters** @@ -1642,7 +1941,17 @@ use a custom filter, call get_structures_with_filter(). * **dictionary.** (*these will be stored under the '_optimade' key in each StructureNL.data*) – -Returns: Dict of (Dict of StructureNLs keyed by that database’s id system) keyed by provider + +* **Returns** + + keyed by that database provider’s id system + + + +* **Return type** + + dict[str, [StructureNL](pymatgen.util.md#pymatgen.util.provenance.StructureNL)] + #### get_snls_with_filter(optimade_filter: str, additional_response_fields: str | list[str] | set[str] | None = None) @@ -1658,7 +1967,17 @@ Get structures satisfying a given OPTIMADE filter. * **additional_response_fields** – Any additional fields desired from the OPTIMADE API, -Returns: Dict of Structures keyed by that database’s id system + +* **Returns** + + keyed by that database provider’s id system + + + +* **Return type** + + dict[str, [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)] + #### get_structures(elements: list[str] | str | None = None, nelements: int | None = None, nsites: int | None = None, chemical_formula_anonymous: str | None = None, chemical_formula_hill: str | None = None) @@ -1686,7 +2005,17 @@ use a custom filter, call get_structures_with_filter(). * **chemical_formula_hill** – Chemical formula following Hill convention -Returns: Dict of (Dict Structures keyed by that database’s id system) keyed by provider + +* **Returns** + + keyed by that database provider’s id system + + + +* **Return type** + + dict[str, [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)] + #### get_structures_with_filter(optimade_filter: str) @@ -1698,7 +2027,17 @@ Get structures satisfying a given OPTIMADE filter. **optimade_filter** – An OPTIMADE-compliant filter -Returns: Dict of Structures keyed by that database’s id system + +* **Returns** + + keyed by that database provider’s id system + + + +* **Return type** + + dict[str, [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)] + #### mandatory_response_fields(_ = ('lattice_vectors', 'cartesian_site_positions', 'species', 'species_at_sites'_ ) diff --git a/docs/pymatgen.io.abinit.md b/docs/pymatgen.io.abinit.md index 8a33cd03c61..b602cb0c306 100644 --- a/docs/pymatgen.io.abinit.md +++ b/docs/pymatgen.io.abinit.md @@ -299,7 +299,7 @@ Static constructor for path in k-space. * **Parameters** - * **structure** – `Structure` object. + * **structure** – Structure object. * **kpath_bounds** – List with the reduced coordinates of the k-points defining the path. @@ -314,7 +314,7 @@ Static constructor for path in k-space. * **Returns** - `KSampling` object. + KSampling object. @@ -371,7 +371,7 @@ Convenient static constructor for an automatic Gamma centered Kpoint grid. * **Returns** - `KSampling` object. + KSampling object. @@ -405,7 +405,7 @@ Convenient static constructor for a Monkhorst-Pack mesh. * **Returns** - `KSampling` object. + KSampling object. @@ -416,7 +416,7 @@ Convenient static constructor for an automatic Monkhorst-Pack mesh. * **Parameters** - * **structure** – `Structure` object. + * **structure** – Structure object. * **ngkpt** – Subdivisions N_1, N_2 and N_3 along reciprocal lattice vectors. @@ -431,7 +431,7 @@ Convenient static constructor for an automatic Monkhorst-Pack mesh. * **Returns** - `KSampling` object. + KSampling object. @@ -607,7 +607,7 @@ computation of the screening function. * **sc_mode** – Self-consistency mode. - * **hilbert** – Instance of `HilbertTransform` defining the parameters for the Hilber transform method. + * **hilbert** – Instance of HilbertTransform defining the parameters for the Hilber transform method. * **ecutwfn** – Cutoff energy for the wavefunctions (Default: ecutwfn == ecut). @@ -652,7 +652,7 @@ This object defines the parameters used for the computation of the self-energy. * **ecutsigx** – Cutoff energy for the exchange part of the self-energy (Ha units). - * **screening** – `Screening` instance. + * **screening** – Screening instance. * **gw_qprange** – Option for the automatic selection of k-points and bands for GW corrections. @@ -660,7 +660,7 @@ This object defines the parameters used for the computation of the self-energy. QP energies for all the point in the IBZ and one band above and one band below the Fermi level. - * **ppmodel** – `PPModel` instance with the parameters used for the plasmon-pole technique. + * **ppmodel** – PPModel instance with the parameters used for the plasmon-pole technique. * **ecuteps** – Cutoff energy for the screening (Ha units). @@ -799,7 +799,7 @@ If acell is not given, the Abinit default is used i.e. [1,1,1] Bohr. * **Parameters** - **cls** – Lattice class to be instantiated. pymatgen.core.lattice.Lattice if cls is None + **cls** – Lattice class to be instantiated. Defaults to pymatgen.core.Lattice. ### Example @@ -819,7 +819,7 @@ produces [Specie_O, Specie_Si] and not set([Specie_O, Specie_Si]) as in types_of ### structure_from_abivars(cls=None, \*args, \*\*kwargs) -Build a `Structure` object from a dictionary with ABINIT variables. +Build a Structure object from a dictionary with ABINIT variables. * **Parameters** @@ -899,10 +899,20 @@ Plot histogram with cpu- and wall-time on axis ax. * **Parameters** - **ax** – matplotlib `Axes` or None if a new figure should be created. + **ax** – matplotlib Axes or None if a new figure should be created. -Returns: matplotlib figure + +* **Returns** + + matplotlib figure + + + +* **Return type** + + plt.Figure + Keyword arguments controlling the display of the figure: @@ -994,10 +1004,20 @@ Plot pie chart for this timer. * **minfract** – Don’t show sections whose relative weight is less that minfract. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. + -Returns: matplotlib figure +* **Returns** + + matplotlib figure + + + +* **Return type** + + plt.Figure + Keyword arguments controlling the display of the figure: @@ -1057,10 +1077,20 @@ Scatter plot + histogram. * **Parameters** - **ax** – matplotlib `Axes` or None if a new figure should be created. + **ax** – matplotlib Axes or None if a new figure should be created. -Returns: matplotlib figure + +* **Returns** + + matplotlib figure + + + +* **Return type** + + plt.Figure + Keyword arguments controlling the display of the figure: @@ -1194,7 +1224,7 @@ Return: list of successfully read files. #### pefficiency() Analyze the parallel efficiency. -Return: `ParallelEfficiency` object. +Return: ParallelEfficiency object. #### plot_all(show=True, \*\*kwargs) @@ -1218,7 +1248,7 @@ Plot the parallel efficiency. * **nmax** – Maximum number of entries in plot - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. | kwargs @@ -1377,11 +1407,11 @@ Plot stacked histogram of the different timers. sections with largest value are show. - * **mmax** – Maximum number of sections to show. Other entries are grouped together + * **nmax** – Maximum number of sections to show. Other entries are grouped together in the others section. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. @@ -1813,7 +1843,7 @@ Return dictionary with the variables that have been removed. * **Parameters** - * **spin_mode** – `SpinMode` object or string. Possible values for string are: + * **spin_mode** – SpinMode object or string. Possible values for string are: * **polarized** (*-*) – @@ -2449,11 +2479,11 @@ Chemical symbols char [number of atom species][symbol length]. #### read_abinit_hdr() Read the variables associated to the Abinit header. -Return `AbinitHeader` +Return AbinitHeader #### read_abinit_xcfunc() -Read ixc from an Abinit file. Return `XcFunc` object. +Read ixc from an Abinit file. Return XcFunc object. #### read_structure(cls=) @@ -2631,7 +2661,7 @@ An AbinitPseudo is a pseudopotential whose file contains an abinit header. * **path** – Filename. - * **header** – `AbinitHeader` instance. + * **header** – AbinitHeader instance. @@ -2691,10 +2721,8 @@ Parse the FHI abinit header. Example: Troullier-Martins psp for element Sc Thu Oct 27 17:33:22 EDT 1994 21.00000 3.00000 940714 zatom, zion, pspdat - - 1 1 2 0 2001 .00000 pspcod,pspxc,lmax,lloc,mmax,r2well - -1.80626423934776 .22824404341771 1.17378968127746 rchrg,fchrg,qchrg + 1 1 2 0 2001 .00000 pspcod,pspxc,lmax,lloc,mmax,r2well + 1.80626423934776 .22824404341771 1.17378968127746 rchrg,fchrg,qchrg #### _static_ gth_header(filename, ppdesc) @@ -2715,8 +2743,7 @@ Parse the HGH abinit header. Example: Hartwigsen-Goedecker-Hutter psp for Ne, from PRB58, 3641 (1998) - > 10 8 010605 zatom,zion,pspdat - + 10 8 010605 zatom,zion,pspdat 3 1 1 0 2001 0 pspcod,pspxc,lmax,lloc,mmax,r2well @@ -2770,7 +2797,7 @@ Norm-conserving pseudopotential in the Abinit format. * **path** – Filename. - * **header** – `AbinitHeader` instance. + * **header** – AbinitHeader instance. @@ -2913,7 +2940,7 @@ Paw pseudopotential in the Abinit format. * **path** – Filename. - * **header** – `AbinitHeader` instance. + * **header** – AbinitHeader instance. @@ -3000,13 +3027,13 @@ Maximum angular momentum. Radius of the PAW sphere in a.u. -#### plot_densities(ax: Axes = None, \*\*kwargs) +#### plot_densities(ax: plt.Axes = None, \*\*kwargs) Plot the PAW densities. * **Parameters** - **ax** – matplotlib `Axes` or None if a new figure should be created. + **ax** – matplotlib Axes or None if a new figure should be created. @@ -3067,16 +3094,26 @@ Default: False | -#### plot_projectors(ax: Axes = None, fontsize=12, \*\*kwargs) +#### plot_projectors(ax: plt.Axes = None, fontsize=12, \*\*kwargs) Plot the PAW projectors. * **Parameters** - **ax** – matplotlib `Axes` or None if a new figure should be created. + **ax** – matplotlib Axes or None if a new figure should be created. + + + +* **Returns** + + matplotlib figure + -Returns: matplotlib figure +* **Return type** + + plt.Figure + Keyword arguments controlling the display of the figure: @@ -3130,20 +3167,30 @@ Default: False | -#### plot_waves(ax: Axes = None, fontsize=12, \*\*kwargs) +#### plot_waves(ax: plt.Axes = None, fontsize=12, \*\*kwargs) Plot the AE and the pseudo partial waves. * **Parameters** - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **fontsize** – fontsize for legends and titles -Returns: matplotlib figure + +* **Returns** + + matplotlib figure + + + +* **Return type** + + plt.Figure + Keyword arguments controlling the display of the figure: @@ -3281,7 +3328,7 @@ The path of the djrepo file. None if file does not exist. #### _property_ element(_: [Element](pymatgen.core.md#pymatgen.core.periodic_table.Element_ ) -Pymatgen `Element`. +Pymatgen Element. #### _property_ filepath(_: st_ ) @@ -3307,7 +3354,7 @@ True if self provides hints on the cutoff energy. #### hint_for_accuracy(accuracy='normal') -Returns a `Hint` object with the suggested value of ecut [Ha] and +Returns a Hint object with the suggested value of ecut [Ha] and pawecutdg [Ha] for the given accuracy. ecut and pawecutdg are set to zero if no hint is available. @@ -3340,7 +3387,7 @@ MD5 hash value. #### open_pspsfile(ecut=20, pawecutdg=None) Calls Abinit to compute the internal tables for the application of the -pseudopotential part. Returns `PspsFile` object providing methods +pseudopotential part. Returns PspsFile object providing methods to plot and analyze the data or None if file is not found or it’s not readable. @@ -3383,7 +3430,7 @@ Type of pseudo. ### _exception_ PseudoParseError() Bases: [`ParseError`](pymatgen.io.md#pymatgen.io.core.ParseError) -Base Error class for the exceptions raised by `PseudoParser`. +Base Error class for the exceptions raised by PseudoParser. ### _class_ PseudoParser() @@ -3506,7 +3553,7 @@ Return dictionary for MSONable protocol. #### _classmethod_ as_table(items) -Return an instance of `PseudoTable` from the iterable items. +Return an instance of PseudoTable from the iterable items. #### _classmethod_ from_dict(d) @@ -3530,16 +3577,16 @@ Find all pseudos in the directory tree starting from top. * **exclude_dirs** – Wildcard used to exclude directories. -return: `PseudoTable` sorted by atomic number Z. +return: PseudoTable sorted by atomic number Z. #### get_pseudos_for_structure(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure)) -Return the list of `Pseudo` objects to be used for this `Structure`. +Return the list of Pseudo objects to be used for this Structure. * **Parameters** - **structure** – pymatgen `Structure`. + **structure** – pymatgen Structure. @@ -3610,7 +3657,7 @@ Select only those pseudopotentials for which condition is True. * **Parameters** - **condition** – Function that accepts a `Pseudo` object and returns True or False. + **condition** – Function that accepts a Pseudo object and returns True or False. @@ -3636,7 +3683,7 @@ rows can be either a int or a list of integers. #### select_symbols(symbols, ret_list=False) -Return a `PseudoTable` with the pseudopotentials with the given list of chemical symbols. +Return a PseudoTable with the pseudopotentials with the given list of chemical symbols. * **Parameters** @@ -3646,12 +3693,12 @@ Return a `PseudoTable` with the pseudopotentials with the given list of chemical Prepend the symbol string with β€œ-”, to exclude pseudos. - * **ret_list** – if True a list of pseudos is returned instead of a `PseudoTable` + * **ret_list** – if True a list of pseudos is returned instead of a PseudoTable #### sort_by_z() -Return a new `PseudoTable` with pseudos sorted by Z. +Return a new PseudoTable with pseudos sorted by Z. #### sorted(attrname, reverse=False) diff --git a/docs/pymatgen.io.cp2k.md b/docs/pymatgen.io.cp2k.md index 5be71bf6942..ae2e02fe4ec 100644 --- a/docs/pymatgen.io.cp2k.md +++ b/docs/pymatgen.io.cp2k.md @@ -595,7 +595,7 @@ Parameters for davidson diagonalization. very large systems. - ”FULL_SINGLE”: Based on H-eS diagonalisation, not as good as FULL_ALL, but + ”FULL_SINGLE”: Based on H-eS diagonalization, not as good as FULL_ALL, but somewhat cheaper to apply. @@ -690,7 +690,7 @@ Bases: `Section` Controls diagonalization settings (if using traditional diagonalization). -Initialize the diagronalization section. +Initialize the diagonalization section. ### _class_ E_Density_Cube(keywords: dict | None = None, subsections: dict | None = None, \*\*kwargs) @@ -1209,7 +1209,7 @@ Initialize a KIND section. potential file - * **ghost** – Turn this into ghost atom (disaple the potential) + * **ghost** – Turn this into ghost atom (disable the potential) * **aux_basis** – Auxiliary basis to use with ADMM @@ -1422,7 +1422,7 @@ Initialize the OT section. * **algorithm** – What algorithm to use for OT. β€˜Strict’: Taylor or diagonalization based algorithm. IRAC: Orbital Transformation based Iterative Refinement of the - Approximative Congruence transformation (OT/IR). + Approximate Congruence transformation (OT/IR). * **rotation** – Introduce additional variables to allow subspace rotations (i.e fractional @@ -1761,8 +1761,7 @@ whether or not required dependencies have been satisfied, which CP2K does not en #### get(d, default=None) Similar to get for dictionaries. This will attempt to retrieve the -section or keyword matching d. Will not raise an error if d does not -exist. +section or keyword matching d. Will not raise an error if d does not exist. * **Parameters** @@ -1876,7 +1875,7 @@ of new Section child-classes. -#### verbosity(verbosity) +#### verbosity(verbosity: bool) Change the section verbosity recursively by turning on/off the printing of descriptions. Turning off descriptions may reduce the appealing documentation of input files, but also helps de-clutter them. @@ -2200,8 +2199,8 @@ Was a band gap found? i.e. is it a metal. #### _property_ is_molecule(_: boo_ ) -Returns True if the cp2k output was generated for a molecule (i.e. -no periodicity in the cell). Returns false otherwise. +True if the cp2k output was generated for a molecule (i.e. +no periodicity in the cell). #### _property_ multiplicity(_: in_ ) diff --git a/docs/pymatgen.io.exciting.md b/docs/pymatgen.io.exciting.md index ecdb563997f..8d447d0c0c9 100644 --- a/docs/pymatgen.io.exciting.md +++ b/docs/pymatgen.io.exciting.md @@ -29,13 +29,30 @@ exciting input. Associated Structure. +* **Type** + + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) + + + #### title() Optional title string. +* **Type** + + str + + + #### lockxyz() -Lockxyz attribute for each site if available. A Nx3 array of -booleans. +Lockxyz attribute for each site if available. A Nx3 array of booleans. + + +* **Type** + + numpy.ndarray + * **Parameters** diff --git a/docs/pymatgen.io.feff.md b/docs/pymatgen.io.feff.md index 0220af98a66..47de5c80cfe 100644 --- a/docs/pymatgen.io.feff.md +++ b/docs/pymatgen.io.feff.md @@ -690,7 +690,7 @@ Default attributes: mu: The total absorption cross-section. mu0: The embedded atomic background absorption. chi: fine structure. - Edge: Aborption Edge + Edge: Absorption Edge Absorbing atom: Species of absorbing atom Material: Formula of material Source: Source of structure diff --git a/docs/pymatgen.io.lammps.md b/docs/pymatgen.io.lammps.md index 7eea797a9c9..0463b20e12b 100644 --- a/docs/pymatgen.io.lammps.md +++ b/docs/pymatgen.io.lammps.md @@ -1075,8 +1075,8 @@ your_input_file._add_command( #### _add_comment(comment: str, inline: bool = False, stage_name: str | None = None, index_comment: bool = False) -> Method to add a comment inside a stage (between actual commands) -> or as a whole stage (which will do nothing when LAMMPS runs). +Method to add a comment inside a stage (between actual commands) +or as a whole stage (which will do nothing when LAMMPS runs). * **Parameters** @@ -1383,6 +1383,12 @@ A stage name can be given; in this case the search will happen only for this sta +* **Return type** + + bool + + + #### _classmethod_ from_file(path: str | Path, ignore_comments: bool = False, keep_stages: bool = False) Creates an InputFile object from a file. @@ -1484,7 +1490,17 @@ Other comments will be put inline within stages, where they have been added. If False, stage names are not printed and all commands appear in a single block. -Returns: String representation of the LammpsInputFile. + +* **Returns** + + String representation of the LammpsInputFile. + + + +* **Return type** + + str + #### get_string(\*\*kwds) diff --git a/docs/pymatgen.io.lobster.md b/docs/pymatgen.io.lobster.md index ea87a3aebcf..41a4db9b7e7 100644 --- a/docs/pymatgen.io.lobster.md +++ b/docs/pymatgen.io.lobster.md @@ -137,8 +137,20 @@ Similar to the diff in INCAR. * **address_basis_file_max** – path to file with the largest possible basis of the POTCAR. -Returns: List of dictionaries that can be used to create new Lobsterin objects in -standard_calculations_from_vasp_files as dict_for_basis + +* **Returns** + + Can be used to create new Lobsterin objects in + + standard_calculations_from_vasp_files as dict_for_basis + + + + +* **Return type** + + list[dict] + #### _static_ get_basis(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), potcar_symbols: list, address_basis_file: str | None = None) @@ -304,7 +316,17 @@ Writes a lobsterin file. * **max_basis** – list of basis entries: e.g., [β€˜Si 3p 3s β€˜]. -Returns: all possible combinations of basis functions, e.g. [[β€˜Si 3p 3s’]] + +* **Returns** + + all possible combinations of basis functions, e.g. [[β€˜Si 3p 3s’]] + + + +* **Return type** + + list[list[str]] + ## pymatgen.io.lobster.lobsterenv module @@ -420,7 +442,12 @@ Constructor for the LightStructureEnvironments object. #### as_dict() Bson-serializable dict representation of the LightStructureEnvironments object. -:returns: Bson-serializable dict representation of the LightStructureEnvironments object. + + +* **Returns** + + Bson-serializable dict representation of the LightStructureEnvironments object. + #### _classmethod_ from_Lobster(list_ce_symbol, list_csm, list_permutation, list_neighsite, list_neighisite, structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), valences=None) @@ -451,7 +478,11 @@ Will set up a LightStructureEnvironments from Lobster. * **valences** – list of valences -Returns: LobsterLightStructureEnvironments + +* **Returns** + + LobsterLightStructureEnvironments + #### _property_ uniquely_determines_coordination_environments() @@ -557,7 +588,17 @@ Convinicence method for returning the extremum of the given icohps or icoops or **list_icohps** – can be a list of icohps or icobis or icobis -Returns: min value of input list of icohps / max value of input list of icobis or icobis + +* **Returns** + + min value of input list of icohps / max value of input list of icobis or icobis + + + +* **Return type** + + float + #### _static_ _determine_unit_cell(site) @@ -658,7 +699,17 @@ Return the number of the atom within the initial POSCAR (e.g., Return 0 for β€œN **atomstring** – string such as β€œNa1” -Returns: integer indicating the position in the POSCAR + +* **Returns** + + indicating the position in the POSCAR + + + +* **Return type** + + int + #### _static_ _get_icohps(icohpcollection, isite, lowerlimit, upperlimit, only_bonds_to) @@ -709,7 +760,20 @@ Return -float(β€˜inf’), min(max_icohp\*0.15,-0.1). Currently only works for IC * **additional_condition** – additional condition to determine which bonds are relevant -Returns: [-inf, min(strongest_icohp\*0.15,-noise_cutoff)] / [max(strongest_icohp\*0.15, noise_cutoff),inf] + +* **Returns** + + [-inf, min(strongest_icohp\*0.15,-noise_cutoff)] / [max(strongest_icohp\*0.15, + + noise_cutoff), inf] + + + + +* **Return type** + + tuple[float, float] + #### _get_plot_label(atoms, per_bond) @@ -727,15 +791,24 @@ Will split strings such as β€œNa1” in β€œNa” and β€œ1” and return β€œ1”. #### _property_ anion_types() Return the types of anions present in crystal structure as a set -Returns: set of Element describing anions in the crystal structure. + +* **Returns** + + describing anions in the crystal structure. + + + +* **Return type** + + set[[Element](pymatgen.core.md#pymatgen.core.periodic_table.Element)] + #### get_anion_types(\*\*kwargs) #### get_info_cohps_to_neighbors(path_to_COHPCAR='COHPCAR.lobster', isites=None, only_bonds_to=None, onlycation_isites=True, per_bond=True, summed_spin_channels=False) Return info about the cohps (coops or cobis) as a summed cohp object and a label - - from all sites mentioned in isites with neighbors. +from all sites mentioned in isites with neighbors. * **Parameters** @@ -759,8 +832,20 @@ Return info about the cohps (coops or cobis) as a summed cohp object and a label * **summed_spin_channels** – will sum all spin channels -Returns: label for cohp (str), CompleteCohp object which describes all cohps (coops or cobis) of the sites -as given by isites and the other parameters + +* **Returns** + + label for cohp (str), CompleteCohp object which describes all cohps (coops or cobis) + + of the sites as given by isites and the other parameters + + + + +* **Return type** + + str + #### get_info_icohps_between_neighbors(isites=None, onlycation_isites=True) @@ -776,7 +861,9 @@ Return infos about interactions between neighbors of a certain atom. * **onlycation_isites** – will only use cations, if isite==None -Returns: ICOHPNeighborsInfo +Returns + + ICOHPNeighborsInfo #### get_info_icohps_to_neighbors(isites=None, onlycation_isites=True) @@ -794,7 +881,11 @@ This is useful for plotting the relevant cohps of a site in the structure. * **onlycation_isites** – if True and if isite==None, it will only analyse the sites of the cations -Returns: ICOHPNeighborsInfo + +* **Returns** + + ICOHPNeighborsInfo + #### get_light_structure_environment(only_cation_environments=False, only_indices=None) @@ -811,7 +902,11 @@ if the structure only contains coordination environments smaller 13. * **only_indices** – will only evaluate the list of isites in this list -Returns: LobsterLightStructureEnvironments Object + +* **Returns** + + LobsterLightStructureEnvironments + #### get_nn_info(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), n, use_weights=False) @@ -911,12 +1006,29 @@ DOI: 10.1002/cplu.202200123. Bases: `object` Class to read in bandOverlaps.lobster files. These files are not created during every Lobster run. -.. attribute: bandoverlapsdict is a dict of the following form: +.. attribute:: bandoverlapsdict + +> A dictionary +> containing the band overlap data of the form: {spin: {β€œkpoint as string”: {β€œmaxDeviation”: +> float that describes the max deviation, β€œmatrix”: 2D array of the size number of bands +> times number of bands including the overlap matrices with}}}. + + +> * **type** + +> dict[Spin, Dict[str, Dict[str, Union[float, np.ndarray]]]] + + + +#### maxDeviation() +A list of floats describing the maximal deviation for each problematic kpoint. + + +* **Type** + + list[float] -> {spin:{β€œkpoint as string”: {β€œmaxDeviation”: float that describes the max deviation, β€œmatrix”: 2D -> array of the size number of bands times number of bands including the overlap matrices with } }}. - * **Parameters** @@ -926,8 +1038,16 @@ Class to read in bandOverlaps.lobster files. These files are not created during #### _read(contents: list, spin_numbers: list) Will read in all contents of the file -:param contents: list of strings -:param spin_numbers: list of spin numbers depending on Lobster version. + + +* **Parameters** + + + * **contents** – list of strings + + + * **spin_numbers** – list of spin numbers depending on Lobster version. + #### has_good_quality_check_occupied_bands(number_occ_bands_spin_up: int, number_occ_bands_spin_down: int | None = None, spin_polarized: bool = False, limit_deviation: float = 0.1) @@ -978,16 +1098,56 @@ Bases: `object` Class to read CHARGE files generated by LOBSTER. - - - - - + +#### atomlist() +List of atoms in CHARGE.lobster. + + +* **Type** + + list[str] + + + +#### types() +List of types of atoms in CHARGE.lobster. + + +* **Type** + + list[str] + + + +#### Mulliken() +List of Mulliken charges of atoms in CHARGE.lobster. + + +* **Type** + + list[float] + + + +#### Loewdin() +List of Loewdin charges of atoms in CHARGE.Loewdin. + + +* **Type** + + list[float] + + + +#### num_atoms() +Number of atoms in CHARGE.lobster. + + +* **Type** + + int + + * **Parameters** @@ -997,7 +1157,12 @@ Number of atoms in CHARGE.lobster --> #### get_structure_with_charges(structure_filename) Get a Structure with Mulliken and Loewdin charges as site properties -:param structure_filename: filename of POSCAR + + +* **Parameters** + + **structure_filename** – filename of POSCAR + * **Returns** @@ -1011,34 +1176,73 @@ Bases: `object` Class to read COHPCAR/COOPCAR files generated by LOBSTER. - - - - - * **Parameters** @@ -1089,50 +1293,82 @@ The beforehand quantum-chemical calculation was performed with VASP. #### completedos() -LobsterCompleteDos Object +LobsterCompleteDos Object. + + +* **Type** + + [LobsterCompleteDos](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.LobsterCompleteDos) + #### pdos() +List of Dict including numpy arrays with pdos. Access as +pdos[atomindex][β€˜orbitalstring’][β€˜Spin.up/Spin.down’]. + + +* **Type** + + list + -### List of Dict including numpy arrays with pdos. Access as pdos[atomindex]['orbitalstring']['Spin.up/Spin.down']() #### tdos() +Dos Object of the total density of states. + + +* **Type** + + [Dos](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos) + -### Dos Object of the total density of states() #### energies() +Numpy array of the energies at which the DOS was calculated +(in eV, relative to Efermi). + + +* **Type** + + numpy.ndarray + -### numpy array of the energies at which the DOS was calculated (in eV, relative to Efermi)() #### tdensities() +tdensities[Spin.up]: numpy array of the total density of states for +the Spin.up contribution at each of the energies. tdensities[Spin.down]: numpy array +of the total density of states for the Spin.down contribution at each of the energies. +If is_spin_polarized=False, tdensities[Spin.up]: numpy array of the total density of states. -### tdensities[Spin.up]: numpy array of the total density of states for the Spin.up contribution at each of the() -#### energies() +* **Type** -### tdensities[Spin.down]: numpy array of the total density of states for the Spin.down contribution at each of the() + dict -#### energies() -if is_spin_polarized=False: -tdensities[Spin.up]: numpy array of the total density of states -### itdensities:() +#### itdensities() +itdensities[Spin.up]: numpy array of the total density of states for +the Spin.up contribution at each of the energies. itdensities[Spin.down]: numpy array +of the total density of states for the Spin.down contribution at each of the energies. +If is_spin_polarized=False, itdensities[Spin.up]: numpy array of the total density of states. -### itdensities[Spin.up]: numpy array of the total density of states for the Spin.up contribution at each of the() -#### energies() +* **Type** -### itdensities[Spin.down]: numpy array of the total density of states for the Spin.down contribution at each of the() + dict -#### energies() -if is_spin_polarized=False: -itdensities[Spin.up]: numpy array of the total density of states #### is_spin_polarized() +Boolean. Tells if the system is spin polarized. + + +* **Type** + + bool + -### Boolean. Tells if the system is spin polarized() * **Parameters** @@ -1183,132 +1419,253 @@ Bases: `object` Reads in FATBAND_x_y.lobster files. - - - - - - - - - -* **Parameters** +* **Type** + dict[[Spin](pymatgen.electronic_structure.md#pymatgen.electronic_structure.core.Spin), np.ndarray] - * **filenames** (*list** or **string*) – can be a list of file names or a path to a folder from which all - β€œFATBAND_\*” files will be read - * **vasprun** – corresponding vasprun file +#### is_spin_polarized() +Boolean that tells you whether this was a spin-polarized calculation. - * **Kpointsfile** – KPOINTS file for bandstructure calculation, typically β€œKPOINTS”. +* **Type** + bool -#### get_bandstructure() -Returns a LobsterBandStructureSymmLine object which can be plotted with a normal BSPlotter. +#### kpoints_array() +List of kpoints as numpy arrays, in frac_coords of the given +lattice by default. -### _class_ Grosspop(filename: str = 'GROSSPOP.lobster') -Bases: `object` -Class to read in GROSSPOP.lobster files. +* **Type** - + list[np.ndarray] -* **Parameters** - **filename** – filename of the β€œGROSSPOP.lobster” file. +#### label_dict() +Dictionary that links a kpoint (in frac coords or Cartesian +coordinates depending on the coords attribute) to a label. -#### get_structure_with_total_grosspop(structure_filename: str) -Get a Structure with Mulliken and Loewdin total grosspopulations as site properties -:param structure_filename: filename of POSCAR -:type structure_filename: str +* **Type** + dict[str, Union[str, np.ndarray]] -* **Returns** - Structure Object with Mulliken and Loewdin total grosspopulations as site properties. +#### lattice() +Lattice object of reciprocal lattice as read in from vasprun.xml. -### _class_ Icohplist(are_coops: bool = False, are_cobis: bool = False, filename: str | None = None) -Bases: `object` +* **Type** -Class to read ICOHPLIST/ICOOPLIST files generated by LOBSTER. + [Lattice](pymatgen.core.md#pymatgen.core.lattice.Lattice) - - - - -* **Parameters** +#### nbands() +Number of bands used in the calculation. - * **are_coops** – Determines if the file is a list of ICOOPs. - Defaults to False for ICOHPs. +* **Type** - * **are_cobis** – Determines if the file is a list of ICOBIs. - Defaults to False for ICOHPs. + int - * **filename** – Name of the ICOHPLIST file. If it is None, the default - file name will be chosen, depending on the value of are_coops. +#### p_eigenvals() +Dictionary of orbital projections as {spin: array of dict}. +The indices of the array are [band_index, kpoint_index]. +The dict is then built the following way: {β€œstring of element”: β€œstring of orbital as read in +from FATBAND file”}. If the band structure is not spin polarized, we only store one data set under Spin.up. -#### _property_ icohpcollection() -IcohpCollection object. +* **Type** + dict[[Spin](pymatgen.electronic_structure.md#pymatgen.electronic_structure.core.Spin), np.ndarray] -* **Type** - Returns +#### structure() +Structure read in from vasprun.xml. -#### _property_ icohplist(_: dict[Any, dict[str, Any]_ ) +* **Type** + + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) + + + +* **Parameters** + + + * **filenames** (*list** or **string*) – can be a list of file names or a path to a folder from which all + β€œFATBAND_\*” files will be read + + + * **vasprun** – corresponding vasprun file + + + * **Kpointsfile** – KPOINTS file for bandstructure calculation, typically β€œKPOINTS”. + + + +#### get_bandstructure() +Returns a LobsterBandStructureSymmLine object which can be plotted with a normal BSPlotter. + + +### _class_ Grosspop(filename: str = 'GROSSPOP.lobster') +Bases: `object` + +Class to read in GROSSPOP.lobster files. + + +#### list_dict_grosspop() +List of dictionaries +including all information about the grosspopulations. Each dictionary contains the following keys: +- β€˜element’: The element symbol of the atom. +- β€˜Mulliken GP’: A dictionary of Mulliken gross populations, where the keys are the orbital labels and the + +> values are the corresponding gross populations as strings. + + +* β€˜Loewdin GP’: A dictionary of Loewdin gross populations, where the keys are the orbital labels and the + + values are the corresponding gross populations as strings. + +The 0th entry of the list refers to the first atom in GROSSPOP.lobster and so on. + + +* **Type** + + list[dict[str, str| dict[str, str]]] + + + +* **Parameters** + + **filename** – filename of the β€œGROSSPOP.lobster” file. + + + +#### get_structure_with_total_grosspop(structure_filename: str) +Get a Structure with Mulliken and Loewdin total grosspopulations as site properties + + +* **Parameters** + + **structure_filename** (*str*) – filename of POSCAR + + + +* **Returns** + + Structure Object with Mulliken and Loewdin total grosspopulations as site properties. + + + +### _class_ Icohplist(are_coops: bool = False, are_cobis: bool = False, filename: str | None = None) +Bases: `object` + +Class to read ICOHPLIST/ICOOPLIST files generated by LOBSTER. + + +#### are_coops() +Indicates whether the object is consisting of COOPs. + + +* **Type** + + bool + + + +#### is_spin_polarized() +Boolean to indicate if the calculation is spin polarized. + + +* **Type** + + bool + + + +#### Icohplist() +Dict containing the +listfile data of the form: { + +> bond: β€œlength”: bond length, +> β€œnumber_of_bonds”: number of bonds +> β€œicohp”: {Spin.up: ICOHP(Ef) spin up, Spin.down: …} + +} + + +* **Type** + + dict[str, Dict[str, Union[float, int, Dict[[Spin](pymatgen.electronic_structure.md#pymatgen.electronic_structure.core.Spin), float]]]] + + + +#### IcohpCollection() +IcohpCollection Object. + + +* **Type** + + [IcohpCollection](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpCollection) + + + +* **Parameters** + + + * **are_coops** – Determines if the file is a list of ICOOPs. + Defaults to False for ICOHPs. + + + * **are_cobis** – Determines if the file is a list of ICOBIs. + Defaults to False for ICOHPs. + + + * **filename** – Name of the ICOHPLIST file. If it is None, the default + file name will be chosen, depending on the value of are_coops. + + + +#### _property_ icohpcollection() +IcohpCollection object. + + +* **Type** + + Returns + + + +#### _property_ icohplist(_: dict[Any, dict[str, Any]_ ) icohplist compatible with older version of this class. @@ -1323,58 +1680,269 @@ Bases: `object` Class to read in the lobsterout and evaluate the spilling, save the basis, save warnings, save infos. -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> -> + +#### basis_functions() +List of basis functions that were used in lobster run as strings. + + +* **Type** + + list[str] + + + +#### basis_type() +List of basis type that were used in lobster run as strings. + + +* **Type** + + list[str] + + + +#### charge_spilling() +List of charge spilling (first entry: result for spin 1, +second entry: result for spin 2 or not present). + + +* **Type** + + list[float] + + + +#### dft_program() +String representing the DFT program used for the calculation of the wave function. + + +* **Type** + + str + + + +#### elements() +List of strings of elements that were present in lobster calculation. + + +* **Type** + + list[str] + + + +#### has_charge() +Whether CHARGE.lobster is present. + + +* **Type** + + bool + + + +#### has_cohpcar() +Whether COHPCAR.lobster and ICOHPLIST.lobster are present. + + +* **Type** + + bool + + + +#### has_madelung() +Whether SitePotentials.lobster and MadelungEnergies.lobster are present. + + +* **Type** + + bool + + + +#### has_coopcar() +Whether COOPCAR.lobster and ICOOPLIST.lobster are present. + + +* **Type** + + bool + + + +#### has_cobicar() +Whether COBICAR.lobster and ICOBILIST.lobster are present. + + +* **Type** + + bool + + + +#### has_doscar() +Whether DOSCAR.lobster is present. + + +* **Type** + + bool + + + +#### has_doscar_lso() +Whether DOSCAR.LSO.lobster is present. + + +* **Type** + + bool + + + +#### has_projection() +Whether projectionData.lobster is present. + + +* **Type** + + bool + + + +#### has_bandoverlaps() +Whether bandOverlaps.lobster is present. + + +* **Type** + + bool + + + +#### has_density_of_energies() +Whether DensityOfEnergy.lobster is present. + + +* **Type** + + bool + + + +#### has_fatbands() +Whether fatband calculation was performed. + + +* **Type** + + bool + + + +#### has_grosspopulation() +Whether GROSSPOP.lobster is present. + + +* **Type** + + bool + + + +#### info_lines() +String with additional infos on the run. + + +* **Type** + + str + + + +#### info_orthonormalization() +String with infos on orthonormalization. + + +* **Type** + + str + + + +#### is_restart_from_projection() +Boolean that indicates that calculation was restarted +from existing projection file. + + +* **Type** + + bool + + + +#### lobster_version() +String that indicates Lobster version. + + +* **Type** + + str + + + +#### number_of_spins() +Integer indicating the number of spins. + + +* **Type** + + int + + + +#### number_of_threads() +Integer that indicates how many threads were used. + + +* **Type** + + int + + + +#### timing() +Dictionary with infos on timing. + + +* **Type** + + dict[str, float] + + + +#### total_spilling() +List of values indicating the total spilling for spin +channel 1 (and spin channel 2). + + +* **Type** + + list[float] + + + +#### warning_lines() +String with all warnings. + + +* **Type** + + str + + * **Parameters** @@ -1413,12 +1981,36 @@ Bases: `object` Class to read MadelungEnergies.lobster files generated by LOBSTER. - - - + +#### madelungenergies_Mulliken() +Float that gives the Madelung energy based on the Mulliken approach. + + +* **Type** + + float + + + +#### madelungenergies_Loewdin() +Float that gives the Madelung energy based on the Loewdin approach. + + +* **Type** + + float + + + +#### ewald_splitting() +Ewald splitting parameter to compute SitePotentials. + + +* **Type** + + float + + * **Parameters** @@ -1431,22 +2023,86 @@ Bases: `object` Class to read SitePotentials.lobster files generated by LOBSTER. - - - - - - - - + +#### atomlist() +List of atoms in SitePotentials.lobster. + + +* **Type** + + list[str] + + + +#### types() +List of types of atoms in SitePotentials.lobster. + + +* **Type** + + list[str] + + + +#### num_atoms() +Number of atoms in SitePotentials.lobster. + + +* **Type** + + int + + + +#### sitepotentials_Mulliken() +List of Mulliken potentials of sites in SitePotentials.lobster. + + +* **Type** + + list[float] + + + +#### sitepotentials_Loewdin() +List of Loewdin potentials of sites in SitePotentials.lobster. + + +* **Type** + + list[float] + + + +#### madelung_Mulliken() +Float that gives the Madelung energy based on the Mulliken approach. + + +* **Type** + + float + + + +#### madelung_Loewdin() +Float that gives the Madelung energy based on the Loewdin approach. + + +* **Type** + + float + + + +#### ewald_splitting() +Ewald Splitting parameter to compute SitePotentials. + + +* **Type** + + float + + * **Parameters** @@ -1456,7 +2112,12 @@ Ewald Splitting parameter to compute SitePotentials --> #### get_structure_with_site_potentials(structure_filename) Get a Structure with Mulliken and Loewdin charges as site properties -:param structure_filename: filename of POSCAR + + +* **Parameters** + + **structure_filename** – filename of POSCAR + * **Returns** @@ -1470,21 +2131,56 @@ Bases: `object` Class to read in wave function files from Lobster and transfer them into an object of the type VolumetricData. - - - - - * **Parameters** @@ -1501,19 +2197,31 @@ list of distance to first point in wave function file --> #### get_volumetricdata_density() Will return a VolumetricData object including the imaginary part of the wave function. -Returns: VolumetricData object + +* **Returns** + + VolumetricData + #### get_volumetricdata_imaginary() Will return a VolumetricData object including the imaginary part of the wave function. -Returns: VolumetricData object + +* **Returns** + + VolumetricData + #### get_volumetricdata_real() Will return a VolumetricData object including the real part of the wave function. -Returns: VolumetricData object + +* **Returns** + + VolumetricData + #### set_volumetric_data(grid, structure) diff --git a/docs/pymatgen.io.md b/docs/pymatgen.io.md index e46cb720fe6..aba41b50b0c 100644 --- a/docs/pymatgen.io.md +++ b/docs/pymatgen.io.md @@ -3042,6 +3042,9 @@ nav_exclude: true * [`Bandoverlaps`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps) + * [`Bandoverlaps.maxDeviation`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps.maxDeviation) + + * [`Bandoverlaps._read()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps._read) @@ -3054,12 +3057,42 @@ nav_exclude: true * [`Charge`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge) + * [`Charge.atomlist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.atomlist) + + + * [`Charge.types`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.types) + + + * [`Charge.Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.Mulliken) + + + * [`Charge.Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.Loewdin) + + + * [`Charge.num_atoms`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.num_atoms) + + * [`Charge.get_structure_with_charges()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.get_structure_with_charges) * [`Cohpcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar) + * [`Cohpcar.cohp_data`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.cohp_data) + + + * [`Cohpcar.efermi`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.efermi) + + + * [`Cohpcar.energies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.energies) + + + * [`Cohpcar.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.is_spin_polarized) + + + * [`Cohpcar.orb_cohp`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.orb_cohp) + + * [`Cohpcar._get_bond_data()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar._get_bond_data) @@ -3081,10 +3114,7 @@ nav_exclude: true * [`Doscar.tdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.tdensities) - * [`Doscar.energies`](pymatgen.io.lobster.md#id0) - - - * [`Doscar.energies`](pymatgen.io.lobster.md#id1) + * [`Doscar.itdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.itdensities) * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.is_spin_polarized) @@ -3093,42 +3123,84 @@ nav_exclude: true * [`Doscar._parse_doscar()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar._parse_doscar) - * [`Doscar.completedos`](pymatgen.io.lobster.md#id2) + * [`Doscar.completedos`](pymatgen.io.lobster.md#id0) - * [`Doscar.energies`](pymatgen.io.lobster.md#id3) + * [`Doscar.energies`](pymatgen.io.lobster.md#id1) - * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#id4) + * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#id2) - * [`Doscar.itdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.itdensities) + * [`Doscar.itdensities`](pymatgen.io.lobster.md#id3) - * [`Doscar.pdos`](pymatgen.io.lobster.md#id5) + * [`Doscar.pdos`](pymatgen.io.lobster.md#id4) - * [`Doscar.tdensities`](pymatgen.io.lobster.md#id6) + * [`Doscar.tdensities`](pymatgen.io.lobster.md#id5) - * [`Doscar.tdos`](pymatgen.io.lobster.md#id7) + * [`Doscar.tdos`](pymatgen.io.lobster.md#id6) * [`Fatband`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband) + * [`Fatband.efermi`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.efermi) + + + * [`Fatband.eigenvals`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.eigenvals) + + + * [`Fatband.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.is_spin_polarized) + + + * [`Fatband.kpoints_array`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.kpoints_array) + + + * [`Fatband.label_dict`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.label_dict) + + + * [`Fatband.lattice`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.lattice) + + + * [`Fatband.nbands`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.nbands) + + + * [`Fatband.p_eigenvals`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.p_eigenvals) + + + * [`Fatband.structure`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.structure) + + * [`Fatband.get_bandstructure()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.get_bandstructure) * [`Grosspop`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop) + * [`Grosspop.list_dict_grosspop`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop.list_dict_grosspop) + + * [`Grosspop.get_structure_with_total_grosspop()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop.get_structure_with_total_grosspop) * [`Icohplist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist) + * [`Icohplist.are_coops`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.are_coops) + + + * [`Icohplist.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.is_spin_polarized) + + + * [`Icohplist.Icohplist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.Icohplist) + + + * [`Icohplist.IcohpCollection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.IcohpCollection) + + * [`Icohplist.icohpcollection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.icohpcollection) @@ -3138,6 +3210,84 @@ nav_exclude: true * [`Lobsterout`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout) + * [`Lobsterout.basis_functions`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.basis_functions) + + + * [`Lobsterout.basis_type`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.basis_type) + + + * [`Lobsterout.charge_spilling`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.charge_spilling) + + + * [`Lobsterout.dft_program`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.dft_program) + + + * [`Lobsterout.elements`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.elements) + + + * [`Lobsterout.has_charge`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_charge) + + + * [`Lobsterout.has_cohpcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_cohpcar) + + + * [`Lobsterout.has_madelung`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_madelung) + + + * [`Lobsterout.has_coopcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_coopcar) + + + * [`Lobsterout.has_cobicar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_cobicar) + + + * [`Lobsterout.has_doscar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_doscar) + + + * [`Lobsterout.has_doscar_lso`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_doscar_lso) + + + * [`Lobsterout.has_projection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_projection) + + + * [`Lobsterout.has_bandoverlaps`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_bandoverlaps) + + + * [`Lobsterout.has_density_of_energies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_density_of_energies) + + + * [`Lobsterout.has_fatbands`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_fatbands) + + + * [`Lobsterout.has_grosspopulation`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_grosspopulation) + + + * [`Lobsterout.info_lines`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.info_lines) + + + * [`Lobsterout.info_orthonormalization`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.info_orthonormalization) + + + * [`Lobsterout.is_restart_from_projection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.is_restart_from_projection) + + + * [`Lobsterout.lobster_version`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.lobster_version) + + + * [`Lobsterout.number_of_spins`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.number_of_spins) + + + * [`Lobsterout.number_of_threads`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.number_of_threads) + + + * [`Lobsterout.timing`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.timing) + + + * [`Lobsterout.total_spilling`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.total_spilling) + + + * [`Lobsterout.warning_lines`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.warning_lines) + + * [`Lobsterout._get_all_info_lines()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout._get_all_info_lines) @@ -3177,15 +3327,63 @@ nav_exclude: true * [`MadelungEnergies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies) + * [`MadelungEnergies.madelungenergies_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.madelungenergies_Mulliken) + + + * [`MadelungEnergies.madelungenergies_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.madelungenergies_Loewdin) + + + * [`MadelungEnergies.ewald_splitting`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.ewald_splitting) + + * [`SitePotential`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential) + * [`SitePotential.atomlist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.atomlist) + + + * [`SitePotential.types`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.types) + + + * [`SitePotential.num_atoms`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.num_atoms) + + + * [`SitePotential.sitepotentials_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.sitepotentials_Mulliken) + + + * [`SitePotential.sitepotentials_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.sitepotentials_Loewdin) + + + * [`SitePotential.madelung_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.madelung_Mulliken) + + + * [`SitePotential.madelung_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.madelung_Loewdin) + + + * [`SitePotential.ewald_splitting`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.ewald_splitting) + + * [`SitePotential.get_structure_with_site_potentials()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.get_structure_with_site_potentials) * [`Wavefunction`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction) + * [`Wavefunction.grid`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.grid) + + + * [`Wavefunction.points`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.points) + + + * [`Wavefunction.real`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.real) + + + * [`Wavefunction.imaginary`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.imaginary) + + + * [`Wavefunction.distance`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.distance) + + * [`Wavefunction._parse_file()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction._parse_file) @@ -4078,6 +4276,9 @@ nav_exclude: true * [`Oszicar.electronic_steps`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.electronic_steps) + * [`Oszicar.ionic_steps`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.ionic_steps) + + * [`Oszicar.all_energies`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.all_energies) @@ -4126,6 +4327,15 @@ nav_exclude: true * [`Outcar.ngf`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.ngf) + * [`Outcar.sampling_radii`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.sampling_radii) + + + * [`Outcar.electrostatic_potential`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.electrostatic_potential) + + + * [`Outcar.final_energy_contribs`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.final_energy_contribs) + + * [`Outcar.efermi`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.efermi) @@ -4246,6 +4456,18 @@ nav_exclude: true * [`Procar.weights`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.weights) + * [`Procar.phase_factors`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.phase_factors) + + + * [`Procar.nbands`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nbands) + + + * [`Procar.nkpoints`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nkpoints) + + + * [`Procar.nions`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nions) + + * [`Procar.get_occupation()`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.get_occupation) @@ -4672,9 +4894,6 @@ nav_exclude: true * [`LobsterSet`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet) - * [`LobsterSet.CONFIG`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet.CONFIG) - - * [`LobsterSet._abc_impl`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet._abc_impl) @@ -4804,9 +5023,6 @@ nav_exclude: true * [`MPMetalRelaxSet`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet) - * [`MPMetalRelaxSet.CONFIG`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet.CONFIG) - - * [`MPMetalRelaxSet._abc_impl`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet._abc_impl) @@ -5882,8 +6098,7 @@ Structure format. OpenBabel interface module, which opens up access to the hundreds of file formats supported by OpenBabel. Requires openbabel with python bindings to be -installed. Please consult the -[openbabel documentation](http://openbabel.org/wiki/Main_Page). +installed. Please consult the openbabel docs [https://openbabel.org](https://openbabel.org). ### _class_ BabelMolAdaptor(mol: [Molecule](pymatgen.core.md#pymatgen.core.structure.Molecule) | openbabel.OBMol | pybel.Molecule) @@ -6374,7 +6589,12 @@ Use from_str instead #### get_bibtex_string() Get BibTeX reference from CIF file. :param data: -:returns: BibTeX string. + + +* **Returns** + + BibTeX string. + #### get_lattice(data, length_strings=('a', 'b', 'c'), angle_strings=('alpha', 'beta', 'gamma'), lattice_type=None) @@ -6543,27 +6763,57 @@ vasp as well as cube files produced by other codes. #### structure() -Structure associated with the Volumetric Data object +Structure associated with the Volumetric Data object. -..attribute:: is_spin_polarized -> True if run is spin polarized +* **Type** -..attribute:: dim + [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) -> Tuple of dimensions of volumetric grid in each direction (nx, ny, nz). -..attribute:: data -> Actual data as a dict of {string: np.array}. The string are β€œtotal” -> and β€œdiff”, in accordance to the output format of Vasp LOCPOT and -> CHGCAR files where the total spin density is written first, followed -> by the difference spin density. +#### is_spin_polarized() +True if run is spin polarized. + + +* **Type** + + bool + + + +#### dim() +Tuple of dimensions of volumetric grid in each direction (nx, ny, nz). + + +* **Type** + + tuple + + + +#### data() +Actual data as a dict of {string: np.array}. The string are β€œtotal” +and β€œdiff”, in accordance to the output format of Vasp LOCPOT and +CHGCAR files where the total spin density is written first, followed +by the difference spin density. + + +* **Type** + + dict + #### ngridpts() Total number of grid points in volumetric data. + +* **Type** + + int + + Typically, this constructor is not used directly and the static from_file constructor is used. This constructor is designed to allow summation and other operations between VolumetricData objects. @@ -6766,7 +7016,7 @@ VolumetricData.structure -> > f[β€œZ”]: Sequence of atomic numbers > f[β€œfcoords”]: Fractional coords -> f[β€œlattice”]: Lattice in the pymatgen.core.lattice.Lattice matrix +> f[β€œlattice”]: Lattice in the pymatgen.core.Lattice matrix > > format @@ -7559,44 +7809,85 @@ Bases: `object` Parser for Gaussian output files. -**NOTE**: Still in early beta. +Note: Still in early beta. -Attributes: -.. attribute:: structures -> All structures from the calculation in the standard orientation. If the -> symmetry is not considered, the standard orientation is not printed out -> and the input orientation is used instead. Check the standard_orientation -> attribute. +#### structures() +All structures from the calculation in the standard orientation. If the +symmetry is not considered, the standard orientation is not printed out +and the input orientation is used instead. Check the standard_orientation +attribute. + + +* **Type** + + list[[Structure](pymatgen.core.md#pymatgen.core.structure.Structure)] + #### structures_input_orientation() -All structures from the calculation in the input orientation or the -Z-matrix orientation (if an opt=z-matrix was requested). +All structures from the calculation in the input +orientation or the Z-matrix orientation (if an opt=z-matrix was requested). + + +* **Type** + + list + #### opt_structures() -All optimized structures from the calculation in the standard orientation, -if the attribute β€˜standard_orientation’ is True, otherwise in the input +All optimized structures from the calculation in the standard +orientation, if the attribute β€˜standard_orientation’ is True, otherwise in the input or the Z-matrix orientation. +* **Type** + + list + + + #### energies() All energies from the calculation. +* **Type** + + list + + + #### eigenvalues() -List of eigenvalues for the last geometry +List of eigenvalues for the last geometry. + + +* **Type** + + list + #### MO_coefficients() -Matrix of MO coefficients for the last geometry +Matrix of MO coefficients for the last geometry. + + +* **Type** + + list + #### cart_forces() All Cartesian forces from the calculation. +* **Type** + + list + + + #### frequencies() A list for each freq calculation and for each mode of a dict with { @@ -7613,104 +7904,231 @@ A list for each freq calculation and for each mode of a dict with The normal mode is a 1D vector of dx, dy dz of each atom. +* **Type** + + list + + + #### hessian() Matrix of second derivatives of the energy with respect to cartesian -coordinates in the **input orientation** frame. Need #P in the -route section in order to be in the output. +coordinates in the input orientation frame. Need #P in the route section in order to +be in the output. + + +* **Type** + + ndarray + #### properly_terminated() -True if run has properly terminated +True if run has properly terminated. + + +* **Type** + + bool + #### is_pcm() True if run is a PCM run. +* **Type** + + bool + + + #### is_spin() -True if it is an unrestricted run +True if it is an unrestricted run. + + +* **Type** + + bool + #### stationary_type() -If it is a relaxation run, indicates whether it is a minimum (Minimum) -or a saddle point (β€œSaddle”). +If it is a relaxation run, indicates whether it is a minimum +(Minimum) or a saddle point (β€œSaddle”). + + +* **Type** + + str + #### corrections() Thermochemical corrections if this run is a Freq run as a dict. Keys -are β€œZero-point”, β€œThermal”, β€œEnthalpy” and β€œGibbs Free Energy” +are β€œZero-point”, β€œThermal”, β€œEnthalpy” and β€œGibbs Free Energy”. + + +* **Type** + + dict + #### functional() Functional used in the run. +* **Type** + + str + + + #### basis_set() -Basis set used in the run +Basis set used in the run. + + +* **Type** + + str + #### route() Additional route parameters as a dict. For example, +{β€˜SP’:””, β€œSCF”:”Tight”}. + + +* **Type** + + dict - {β€˜SP’:””, β€œSCF”:”Tight”} #### dieze_tag() -# preceding the route line, e.g. β€œ#P” +# preceding the route line, e.g. β€œ#P”. + + +* **Type** + + str + #### link0() -Link0 parameters as a dict. E.g., {β€œ%mem”: β€œ1000MW”} +Link0 parameters as a dict. E.g., {β€œ%mem”: β€œ1000MW”}. + + +* **Type** + + dict + #### charge() -Charge for structure +Charge for structure. + + +* **Type** + + int + #### spin_multiplicity() -Spin multiplicity for structure +Spin multiplicity for structure. + + +* **Type** + + int + #### num_basis_func() Number of basis functions in the run. +* **Type** + + int + + + #### electrons() -number of alpha and beta electrons as (N alpha, N beta) +Number of alpha and beta electrons as (N alpha, N beta). + + +* **Type** + + tuple + #### pcm() PCM parameters and output if available. +* **Type** + + dict + + + #### errors() -error if not properly terminated (list to be completed in error_defs) +Error if not properly terminated (list to be completed in error_defs). + + +* **Type** + + list + #### Mulliken_charges() -Mulliken atomic charges +Mulliken atomic charges. + + +* **Type** + + list + #### eigenvectors() Matrix of shape (num_basis_func, num_basis_func). Each column is an eigenvectors and contains AO coefficients of an MO. +eigenvectors[Spin] = mat(num_basis_func, num_basis_func). + + +* **Type** + + dict -eigenvectors[Spin] = mat(num_basis_func, num_basis_func) #### molecular_orbital() MO development coefficients on AO in a more convenient array dict for each atom and basis set label. +mo[Spin][OM j][atom i] = {AO_k: coeff, AO_k: coeff … }. + + +* **Type** + + dict -mo[Spin][OM j][atom i] = {AO_k: coeff, AO_k: coeff … } #### atom_basis_labels() -Labels of AO for each atoms. These labels are those used in the output -of molecular orbital coefficients (POP=Full) and in the -molecular_orbital array dict. +Labels of AO for each atoms. These labels are those used in the +output of molecular orbital coefficients (POP=Full) and in the molecular_orbital array +dict. atom_basis_labels[iatom] = [AO_k, AO_k, …]. + + +* **Type** + + list -atom_basis_labels[iatom] = [AO_k, AO_k, …] #### resumes() @@ -7718,21 +8136,44 @@ List of gaussian data resume given at the end of the output file before the quotation. The resumes are given as string. +* **Type** + + list + + + #### title() Title of the gaussian run. +* **Type** + + str + + + #### standard_orientation() -If True, the geometries stored in the structures are in the standard -orientation. Else, the geometries are in the input orientation. +If True, the geometries stored in the structures are in the +standard orientation. Else, the geometries are in the input orientation. + + +* **Type** + + bool + #### bond_orders() Dict of bond order values read in the output file such as: -{(0, 1): 0.8709, (1, 6): 1.234, …} +{(0, 1): 0.8709, (1, 6): 1.234, …}. +The keys are the atom indexes and the values are the Wiberg bond indexes that are +printed using pop=NBOREAD and $nbo bndidx $end. + + +* **Type** + + dict -The keys are the atom indexes and the values are the Wiberg bond indexes -that are printed using pop=NBOREAD and $nbo bndidx $end. Methods: .. method:: to_input() @@ -7763,6 +8204,20 @@ Save a matplotlib plot of the potential energy surface to a file #### _parse(filename) +#### _parse_hessian(file, structure) +Parse the hessian matrix in the output file. + + +* **Parameters** + + + * **file** – file object + + + * **structure** – structure in the output file + + + #### as_dict() JSON-serializable dict representation. @@ -8058,7 +8513,7 @@ Subroutine to extract bond label, site indices, and length from a COPL header line. The site indices are zero-based, so they can be easily used with a Structure object. -Example header line: Fe-1/Fe-1-tr(-1,-1,-1) : 2.482 Ang. +Example header line: Fe-1/Fe-1-tr(-1,-1,-1) : 2.482 Ang. * **Parameters** @@ -8069,8 +8524,7 @@ Example header line: Fe-1/Fe-1-tr(-1,-1,-1) : 2.482 Ang. * **Returns** - The bond label, the bond length and a tuple of the site - indices. + The bond label, the bond length and a tuple of the site indices. @@ -8843,7 +9297,11 @@ the structure/structure_path is kept for compatibility. * **structure_path** – path to structure in a file (e.g., POSCAR) -Returns: GruneisenParameter object + +* **Returns** + + GruneisenParameter + ### get_gs_ph_bs_symm_line_from_dict(gruneisen_dict, structure=None, structure_path=None, labels_dict=None, fit=False) @@ -9059,7 +9517,7 @@ Convert a pymatgen Structure object to a PhonopyAtoms object. -### get_pmg_structure(phonopy_structure: None) +### get_pmg_structure(phonopy_structure: PhonopyAtoms) Convert a PhonopyAtoms object to pymatgen Structure object. @@ -9107,8 +9565,20 @@ This is designed for STEM image simulation. #### to_str() -Returns: Prismatic XYZ file. This is similar to XYZ format -but has specific requirements for extra fields, headers, etc. + +* **Returns** + + Prismatic XYZ file. This is similar to XYZ format + + but has specific requirements for extra fields, headers, etc. + + + + +* **Return type** + + str + #### to_string(\*\*kwds) @@ -9362,7 +9832,7 @@ REM entries. ### _class_ AirssProvider(res: Res, parse_rems: Literal['gentle', 'strict'] = 'gentle') Bases: `ResProvider` -Provides access to the res file as does `ResProvider`. This class additionally provides +Provides access to the res file as does ResProvider. This class additionally provides access to fields in the TITL entry and various other fields found in the REM entries that AIRSS puts in the file. Values in the TITL entry that AIRSS could not get end up as 0. If the TITL entry is malformed, empty, or missing then attempting to construct this class @@ -9375,7 +9845,7 @@ not used. The `parse_rems` attribute controls whether functions that fail to retrieve information from the REM entries should return `None`. If this is set to `"strict"`, -then a `ParseError` may be raised, but the return value will not be `None`. +then a ParseError may be raised, but the return value will not be `None`. If it is set to `"gentle"`, then `None` will be returned instead of raising an exception. This setting applies to all methods of this class that are typed to return an Optional type. Default is `"gentle"`. @@ -9786,16 +10256,11 @@ detailed description and default values of CONTROL arguments. * **\*\*kwargs** – Other ShengBTE parameters. Several parameters are required for ShengBTE to run - we have listed these parameters below: + - nelements (int): number of different elements in the compound + - natoms (int): number of atoms in the unit cell + - lattvec (size 3x3 array): real-space lattice vectors, in units - - * nelements (int): number of different elements in the compound - - - * natoms (int): number of atoms in the unit cell - - - * lattvec (size 3x3 array): real-space lattice vectors, in units - of lfactor + > of lfactor * lfactor (float): unit of measurement for lattice vectors (nm). @@ -9965,26 +10430,56 @@ Object representing the data in a UNK file. #### ik() -int index of kpoint for this file +Index of kpoint for this file. + + +* **Type** + + int + #### data() -numpy.ndarray that contains the wavefunction data for in the UNK file. -The shape should be (nbnd, ngx, ngy, ngz) for regular calculations and -(nbnd, 2, ngx, ngy, ngz) for noncollinear calculations. +Numpy array that contains the wavefunction data for in the UNK file. +The shape should be (nbnd, ngx, ngy, ngz) for regular calculations and (nbnd, 2, ngx, ngy, ngz) +for noncollinear calculations. + + +* **Type** + + numpy.ndarray + #### is_noncollinear() -bool that specifies if data is from a noncollinear calculation +Boolean that specifies if data is from a noncollinear calculation. + + +* **Type** + + bool + #### nbnd() -int number of bands in data +Number of bands in data. + + +* **Type** + + int + #### ng() -sequence of three integers that correspond to the grid size of the -given data. The definition is ng = (ngx, ngy, ngz). +Sequence of three integers that correspond to the grid size of the given data. +The definition is ng = (ngx, ngy, ngz). + + +* **Type** + + tuple + Initialize Unk class. diff --git a/docs/pymatgen.io.vasp.md b/docs/pymatgen.io.vasp.md index 3ffd1dc5e3d..64bdbaf00f2 100644 --- a/docs/pymatgen.io.vasp.md +++ b/docs/pymatgen.io.vasp.md @@ -742,7 +742,7 @@ i.e. a list of three 1x3 arrays for each site (typically read in from a MD CONTC #### predictor_corrector_preamble() Predictor corrector preamble contains the predictor-corrector key, -POTIM, and thermostat parameters that precede the site-specic predictor corrector data in MD CONTCAR. +POTIM, and thermostat parameters that precede the site-specific predictor corrector data in MD CONTCAR. #### temperature() @@ -1095,10 +1095,21 @@ the complete untouched data in β€œdata” as a string and a dict of keywords. POTCAR data as a string. +* **Type** + + str + + + #### keywords() Keywords parsed from the POTCAR as a dict. All keywords are also -accessible as attributes in themselves. E.g., potcar.enmax, -potcar.encut, etc. +accessible as attributes in themselves. E.g., potcar.enmax, potcar.encut, etc. + + +* **Type** + + dict + md5 hashes of the entire POTCAR file and the actual data are validated against a database of known good hashes. Appropriate warnings or errors @@ -1809,7 +1820,7 @@ Read a CHGCAR file. * **Parameters** - **filename** – Filename + **filename** (*str*) – Path to CHGCAR file. @@ -1830,7 +1841,7 @@ Object for reading a DYNMAT file. #### data() -A nested dict containing the DYNMAT data of the form:: +A nested dict containing the DYNMAT data of the form: [atom ][disp ][β€˜dispvec’] = > displacement vector (part of first line in dynmat block, e.g. β€œ0.01 0 0”) @@ -1839,6 +1850,12 @@ A nested dict containing the DYNMAT data of the form:: list of dynmat lines for this atom and this displacement + +* **Type** + + dict + + Authors: Patrick Huck @@ -1875,42 +1892,95 @@ Object for reading EIGENVAL file. #### filename() -string containing input filename +String containing input filename. + + +* **Type** + + str + #### occu_tol() -tolerance for determining occupation in band properties +Tolerance for determining occupation in band properties. + + +* **Type** + + float + #### ispin() -spin polarization tag (int) +Spin polarization tag. + + +* **Type** + + int + #### nelect() -number of electrons +Number of electrons. + + +* **Type** + + int + #### nkpt() -number of kpoints +Number of kpoints. + + +* **Type** + + int + #### nbands() -number of bands +Number of bands. + + +* **Type** + + int + #### kpoints() -list of kpoints +List of kpoints. + + +* **Type** + + list + #### kpoints_weights() -weights of each kpoint in the BZ, should sum to 1. +Weights of each kpoint in the BZ, should sum to 1. + + +* **Type** + + list + #### eigenvalues() Eigenvalues as a dict of {(spin): np.ndarray(shape=(nkpt, nbands, 2))}. -This representation is based on actual ordering in VASP and is meant as -an intermediate representation to be converted into proper objects. The -kpoint index is 0-based (unlike the 1-based indexing in VASP). +This representation is based on actual ordering in VASP and is meant as an intermediate representation +to be converted into proper objects. The kpoint index is 0-based (unlike the 1-based indexing in VASP). + + +* **Type** + + dict + Reads input from filename to construct Eigenval object. @@ -2003,12 +2073,12 @@ Simple object for reading a LOCPOT file. #### _classmethod_ from_file(filename, \*\*kwargs) -Reads a LOCPOT file. +Read a LOCPOT file. * **Parameters** - **filename** – Filename + **filename** (*str*) – Path to LOCPOT file. @@ -2029,21 +2099,30 @@ information about a run. #### electronic_steps() All electronic steps as a list of list of dict. e.g., -[[{β€œrms”: 160.0, β€œE”: 4507.24605593, β€œdE”: 4507.2, β€œN”: 1, -β€œdeps”: -17777.0, β€œncg”: 16576}, …], [….] -where electronic_steps[index] refers the list of electronic steps -in one ionic_step, electronic_steps[index][subindex] refers to a -particular electronic step at subindex in ionic step at index. The -dict of properties depends on the type of VASP run, but in general, -β€œE”, β€œdE” and β€œrms” should be present in almost all runs. +[[{β€œrms”: 160.0, β€œE”: 4507.24605593, β€œdE”: 4507.2, β€œN”: 1, β€œdeps”: -17777.0, β€œncg”: 16576}, …], [….] +where electronic_steps[index] refers the list of electronic steps in one ionic_step, +electronic_steps[index][subindex] refers to a particular electronic step at subindex in ionic step at +index. The dict of properties depends on the type of VASP run, but in general, β€œE”, β€œdE” and β€œrms” should +be present in almost all runs. + + +* **Type** + + list + -### ionic_steps:() +#### ionic_steps() All ionic_steps as a list of dict, e.g., -[{β€œdE”: -526.36, β€œE0”: -526.36024, β€œmag”: 0.0, β€œF”: -526.36024}, -…] -This is the typical output from VASP at the end of each ionic step. -The stored dict might be different depending on the type of VASP run. +[{β€œdE”: -526.36, β€œE0”: -526.36024, β€œmag”: 0.0, β€œF”: -526.36024}, …] +This is the typical output from VASP at the end of each ionic step. The stored dict might be different +depending on the type of VASP run. + + +* **Type** + + list + * **Parameters** @@ -2080,31 +2159,43 @@ are always present. #### magnetization() Magnetization on each ion as a tuple of dict, e.g., ({β€œd”: 0.0, β€œp”: 0.003, β€œs”: 0.002, β€œtot”: 0.005}, … ) -Note that this data is not always present. LORBIT must be set to some -other value than the default. + + +* **Type** + + tuple + #### chemical_shielding() -chemical shielding on each ion as a dictionary with core and valence contributions +Chemical shielding on each ion as a dictionary with core and valence contributions. + + +* **Type** + + dict + #### unsym_cs_tensor() Unsymmetrized chemical shielding tensor matrixes on each ion as a list. -e.g., -[[[sigma11, sigma12, sigma13], +e.g., [[[sigma11, sigma12, sigma13], [sigma21, sigma22, sigma23], [sigma31, sigma32, sigma33]], …] -> > [sigma21, sigma22, sigma23], -> > [sigma31, sigma32, sigma33]], -> > … -> [[sigma11, sigma12, sigma13], +* **Type** + + list -> [sigma21, sigma22, sigma23], -> [sigma31, sigma32, sigma33]]] #### cs_g0_contribution() -G=0 contribution to chemical shielding. 2D rank 3 matrix +G=0 contribution to chemical shielding. 2D rank 3 matrix. + + +* **Type** + + numpy.ndarray + #### cs_core_contribution() @@ -2112,104 +2203,230 @@ Core contribution to chemical shielding. dict. e.g., {β€˜Mg’: -412.8, β€˜C’: -200.5, β€˜O’: -271.1} +* **Type** + + dict + + + #### efg() Electric Field Gradient (EFG) tensor on each ion as a tuple of dict, e.g., -({β€œcq”: 0.1, β€œeta”, 0.2, β€œnuclear_quadrupole_moment”: 0.3}, +({β€œcq”: 0.1, β€œeta”, 0.2, β€œnuclear_quadrupole_moment”: 0.3}, {β€œcq”: 0.7, β€œeta”, 0.8, +β€œnuclear_quadrupole_moment”: 0.9}, …) + + +* **Type** + + tuple -> {β€œcq”: 0.7, β€œeta”, 0.8, β€œnuclear_quadrupole_moment”: 0.9}, -> …) #### charge() Charge on each ion as a tuple of dict, e.g., ({β€œp”: 0.154, β€œs”: 0.078, β€œd”: 0.0, β€œtot”: 0.232}, …) -Note that this data is not always present. LORBIT must be set to some -other value than the default. + + +* **Type** + + tuple + #### is_stopped() True if OUTCAR is from a stopped run (using STOPCAR, see VASP Manual). +* **Type** + + bool + + + #### run_stats() -Various useful run stats as a dict including β€œSystem time (sec)”, -β€œTotal CPU time used (sec)”, β€œElapsed time (sec)”, -β€œMaximum memory used (kb)”, β€œAverage memory used (kb)”, -β€œUser time (sec)”, β€œcores” +Various useful run stats as a dict including β€œSystem time (sec)”, β€œTotal CPU time used (sec)”, +β€œElapsed time (sec)”, β€œMaximum memory used (kb)”, β€œAverage memory used (kb)”, β€œUser time (sec)”, β€œcores”. + + +* **Type** + + dict + #### elastic_tensor() Total elastic moduli (Kbar) is given in a 6x6 array matrix. +* **Type** + + numpy.ndarray + + + #### drift() -Total drift for each step in eV/Atom +Total drift for each step in eV/Atom. + + +* **Type** + + numpy.ndarray + #### ngf() -Dimensions for the Augementation grid +Dimensions for the Augmentation grid. + + +* **Type** + + tuple + + + +#### sampling_radii() +Size of the sampling radii in VASP for the test charges for the electrostatic +potential at each atom. Total array size is the number of elements present in the calculation. + + +* **Type** + + numpy.ndarray - - -..attribute: final_energy_contribs +#### electrostatic_potential() +Average electrostatic potential at each atomic position in order of +the atoms in POSCAR. + + +* **Type** + + numpy.ndarray + + + +#### final_energy_contribs() +Individual contributions to the total final energy as a dictionary. +Include contributions from keys, e.g.: +{β€˜DENC’: -505778.5184347, β€˜EATOM’: 15561.06492564, β€˜EBANDS’: -804.53201231, β€˜EENTRO’: -0.08932659, +β€˜EXHF’: 0.0, β€˜Ediel_sol’: 0.0, β€˜PAW double counting’: 664.6726974100002, β€˜PSCENC’: 742.48691646, +β€˜TEWEN’: 489742.86847338, β€˜XCENC’: -169.64189814} + + +* **Type** + + dict -> Individual contributions to the total final energy as a dictionary. -> Include contirbutions from keys, e.g.: -> {β€˜DENC’: -505778.5184347, β€˜EATOM’: 15561.06492564, β€˜EBANDS’: -804.53201231, -> β€˜EENTRO’: -0.08932659, β€˜EXHF’: 0.0, β€˜Ediel_sol’: 0.0, -> β€˜PAW double counting’: 664.6726974100002, β€˜PSCENC’: 742.48691646, -> β€˜TEWEN’: 489742.86847338, β€˜XCENC’: -169.64189814} #### efermi() -Fermi energy +Fermi energy. + + +* **Type** + + float + #### filename() -> Filename +Filename. + + +* **Type** + + str + #### final_energy() Final energy after extrapolation of sigma back to 0, i.e. energy(sigma->0). +* **Type** + + float + + + #### final_energy_wo_entrp() Final energy before extrapolation of sigma, i.e. energy without entropy. +* **Type** + + float + + + #### final_fr_energy() -Final β€œfree energy”, i.e. free energy TOTEN +Final β€œfree energy”, i.e. free energy TOTEN. + + +* **Type** + + float + #### has_onsite_density_matrices() -Boolean for if onsite density matrices have been set +Boolean for if onsite density matrices have been set. + + +* **Type** + + bool + #### lcalcpol() -If LCALCPOL has been set +If LCALCPOL has been set. + + +* **Type** + + bool + #### lepsilon() -If LEPSILON has been set +If LEPSILON has been set. + + +* **Type** + + bool + #### nelect() -Returns the number of electrons in the calculation +Returns the number of electrons in the calculation. + + +* **Type** + + float + #### spin() -If spin-polarization was enabled via ISPIN +If spin-polarization was enabled via ISPIN. + + +* **Type** + + bool + #### total_mag() -Total magnetization (in terms of the number of unpaired electrons) +Total magnetization (in terms of the number of unpaired electrons). + + +* **Type** + + float + One can then call a specific reader depending on the type of run being performed. These are currently: read_igpar(), read_lepsilon() and @@ -2312,18 +2529,27 @@ Outcar.data[β€œdipol_quadrupol_correction”]. * **Parameters** - * **reverse** – Whether to start from end of OUTCAR. + * **reverse** (*bool*) – Whether to start from end of OUTCAR. Defaults to True. - * **terminate_on_match** – Whether to terminate once match is found. + * **terminate_on_match** (*bool*) – Whether to terminate once match is found. Defaults to True. #### read_cs_core_contribution() Parse the core contribution of NMR chemical shielding. -Returns: -G0 contribution matrix as list of list. + +* **Returns** + + G0 contribution matrix. + + + +* **Return type** + + list[list] + #### read_cs_g0_contribution() @@ -2579,40 +2805,65 @@ Object for reading a PROCAR file. #### data() The PROCAR data of the form below. It should VASP uses 1-based indexing, -but all indices are converted to 0-based here.: +but all indices are converted to 0-based here. +{ spin: nd.array accessed with (k-point index, band index, ion index, orbital index) } + + +* **Type** + + dict -```default -{ - spin: nd.array accessed with (k-point index, band index, - ion index, orbital index) -} -``` #### weights() -The weights associated with each k-point as an nd.array of length -nkpoints. +The weights associated with each k-point as an nd.array of length nkpoints. + + +* **Type** + + numpy.ndarray + + + +#### phase_factors() +Phase factors, where present (e.g. LORBIT = 12). A dict of the form: +{ spin: complex nd.array accessed with (k-point index, band index, ion index, orbital index) } + + +* **Type** + + dict + + + +#### nbands() +Number of bands. + + +* **Type** + + int + -..attribute:: phase_factors -> Phase factors, where present (e.g. LORBIT = 12). A dict of the form: -> { +#### nkpoints() +Number of k-points. + + +* **Type** -> > spin: complex nd.array accessed with (k-point index, band index, ion index, orbital index) + int -> } -..attribute:: nbands -> Number of bands +#### nions() +Number of ions. -..attribute:: nkpoints -> Number of k-points +* **Type** -..attribute:: nions + int -> Number of ions * **Parameters** @@ -2694,70 +2945,117 @@ magnitude for larger files (~10Mb). #### ionic_steps() -All ionic steps in the run as a list of -{β€œstructure”: structure at end of run, -β€œelectronic_steps”: {All electronic step data in vasprun file}, -β€œstresses”: stress matrix} +All ionic steps in the run as a list of {β€œstructure”: structure at end of run, +β€œelectronic_steps”: {All electronic step data in vasprun file}, β€œstresses”: stress matrix}. + + +* **Type** + + list + #### tdos() Total dos calculated at the end of run. +* **Type** + + [Dos](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos) + + + #### idos() Integrated dos calculated at the end of run. +* **Type** + + [Dos](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos) + + + #### pdos() -List of list of PDos objects. Access as pdos[atomindex][orbitalindex] +List of list of PDos objects. Access as pdos[atomindex][orbitalindex]. + + +* **Type** + + list + #### efermi() -Fermi energy +Fermi energy. + + +* **Type** + + float + #### eigenvalues() -Available only if parse_eigen=True. Final eigenvalues as a dict of -{(spin, kpoint index):[[eigenvalue, occu]]}. -This representation is based on actual ordering in VASP and is meant as -an intermediate representation to be converted into proper objects. The -kpoint index is 0-based (unlike the 1-based indexing in VASP). +Final eigenvalues as a dict of {(spin, kpoint index):[[eigenvalue, occu]]}. +The kpoint index is 0-based (unlike the 1-based indexing in VASP). + + +* **Type** + + dict + #### projected_eigenvalues() -Final projected eigenvalues as a dict of {spin: nd-array}. To access -a particular value, you need to do -Vasprun.projected_eigenvalues[spin][kpoint index][band index][atom index][orbital_index] -This representation is based on actual ordering in VASP and is meant as -an intermediate representation to be converted into proper objects. The -kpoint, band and atom indices are 0-based (unlike the 1-based indexing -in VASP). +Final projected eigenvalues as a dict of {spin: nd-array}. +To access a particular value, you need to do +Vasprun.projected_eigenvalues[spin][kpoint index][band index][atom index][orbital_index]. +The kpoint, band and atom indices are 0-based (unlike the 1-based indexing in VASP). + + +* **Type** + + dict + #### projected_magnetisation() -Final projected magnetisation as a numpy array with the shape (nkpoints, nbands, -natoms, norbitals, 3). Where the last axis is the contribution in the 3 -Cartesian directions. This attribute is only set if spin-orbit coupling -(LSORBIT = True) or non-collinear magnetism (LNONCOLLINEAR = True) is turned -on in the INCAR. +Final projected magnetization as a numpy array with the +shape (nkpoints, nbands, natoms, norbitals, 3). Where the last axis is the contribution in the +3 Cartesian directions. This attribute is only set if spin-orbit coupling (LSORBIT = True) or +non-collinear magnetism (LNONCOLLINEAR = True) is turned on in the INCAR. + + +* **Type** + + numpy.ndarray + #### other_dielectric() Dictionary, with the tag comment as key, containing other variants of -the real and imaginary part of the dielectric constant (e.g., computed -by RPA) in function of the energy (frequency). Optical properties (e.g. -absorption coefficient) can be obtained through this. -The data is given as a tuple of 3 values containing each of them -the energy, the real part tensor, and the imaginary part tensor -([energies],[[real_partxx,real_partyy,real_partzz,real_partxy, -real_partyz,real_partxz]],[[imag_partxx,imag_partyy,imag_partzz, -imag_partxy, imag_partyz, imag_partxz]]) +the real and imaginary part of the dielectric constant (e.g., computed by RPA) in function of +the energy (frequency). Optical properties (e.g. absorption coefficient) can be obtained through this. +The data is given as a tuple of 3 values containing each of them the energy, the real part tensor, +and the imaginary part tensor ([energies],[[real_partxx,real_partyy,real_partzz,real_partxy, +real_partyz,real_partxz]],[[imag_partxx,imag_partyy,imag_partzz,imag_partxy, imag_partyz, imag_partxz]]). + + +* **Type** + + dict + #### nionic_steps() -The total number of ionic steps. This number is always equal -to the total number of steps in the actual run even if -ionic_step_skip is used. +The total number of ionic steps. This number is always equal to the total number +of steps in the actual run even if ionic_step_skip is used. + + +* **Type** + + int + #### force_constants() @@ -2765,77 +3063,116 @@ Force constants computed in phonon DFPT run(IBRION = 8). The data is a 4D numpy array of shape (natoms, natoms, 3, 3). +* **Type** + + numpy.ndarray + + + #### normalmode_eigenvals() -Normal mode frequencies. -1D numpy array of size 3\*natoms. +Normal mode frequencies. 1D numpy array of size 3\*natoms. + + +* **Type** + + numpy.ndarray + #### normalmode_eigenvecs() -Normal mode eigen vectors. -3D numpy array of shape (3\*natoms, natoms, 3). +Normal mode eigen vectors. 3D numpy array of shape (3\*natoms, natoms, 3). -#### md_data() -Available only for ML MD runs, i.e., INCAR with ML_LMLFF = .TRUE. -md_data is a list of dict with the following format: +* **Type** -[ + numpy.ndarray - { - β€˜energy’: { - β€˜e_0_energy’: -525.07195568, - β€˜e_fr_energy’: -525.07195568, - β€˜e_wo_entrp’: -525.07195568, - β€˜kinetic’: 3.17809233, - β€˜lattice kinetic’: 0.0, - β€˜nosekinetic’: 1.323e-5, - β€˜nosepot’: 0.0, - β€˜total’: -521.89385012 - }, +#### md_data() +Available only for ML MD runs, i.e., INCAR with ML_LMLFF = .TRUE. md_data is a list of +dict with the following format: [{β€˜energy’: {β€˜e_0_energy’: -525.07195568, β€˜e_fr_energy’: -525.07195568, +β€˜e_wo_entrp’: -525.07195568, β€˜kinetic’: 3.17809233, β€˜lattice kinetic’: 0.0, β€˜nosekinetic’: 1.323e-5, +β€˜nosepot’: 0.0, β€˜total’: -521.89385012}, β€˜forces’: [[0.17677989, 0.48309874, 1.85806696], …], +β€˜structure’: Structure object}]. - β€˜forces’: [[0.17677989, 0.48309874, 1.85806696], …], - β€˜structure’: Structure object - } +* **Type** -] + list -**VASP inputs** #### incar() Incar object for parameters specified in INCAR file. +* **Type** + + Incar + + + #### parameters() -Incar object with parameters that vasp actually used, including all -defaults. +Incar object with parameters that vasp actually used, including all defaults. + + +* **Type** + + Incar + #### kpoints() Kpoints object for KPOINTS specified in run. +* **Type** + + [Kpoints](pymatgen.io.cp2k.md#pymatgen.io.cp2k.inputs.Kpoints) + + + #### actual_kpoints() -List of actual kpoints, e.g., -[[0.25, 0.125, 0.08333333], [-0.25, 0.125, 0.08333333], -[0.25, 0.375, 0.08333333], ….] +List of actual kpoints, e.g., [[0.25, 0.125, 0.08333333], [-0.25, 0.125, 0.08333333], +[0.25, 0.375, 0.08333333], ….]. + + +* **Type** + + list + #### actual_kpoints_weights() -List of kpoint weights, E.g., -[0.04166667, 0.04166667, 0.04166667, 0.04166667, 0.04166667, ….] +List of kpoint weights, E.g., [0.04166667, 0.04166667, 0.04166667, 0.04166667, +0.04166667, ….]. + + +* **Type** + + list + #### atomic_symbols() -List of atomic symbols, e.g., [β€œLi”, β€œFe”, β€œFe”, β€œP”, β€œP”, β€œP”] +List of atomic symbols, e.g., [β€œLi”, β€œFe”, β€œFe”, β€œP”, β€œP”, β€œP”]. + + +* **Type** + + list + #### potcar_symbols() -List of POTCAR symbols. e.g., -[β€œPAW_PBE Li 17Jan2003”, β€œPAW_PBE Fe 06Sep2000”, ..] +List of POTCAR symbols. e.g., [β€œPAW_PBE Li 17Jan2003”, β€œPAW_PBE Fe 06Sep2000”, ..]. + + +* **Type** + + list + Author: Shyue Ping Ong @@ -2875,8 +3212,8 @@ Author: Shyue Ping Ong * **parse_projected_eigen** (*bool*) – Whether to parse the projected - eigenvalues and magnetisation. Defaults to False. Set to True to obtain - projected eigenvalues and magnetisation. **Note that this can take an + eigenvalues and magnetization. Defaults to False. Set to True to obtain + projected eigenvalues and magnetization. **Note that this can take an extreme amount of time and memory.** So use this wisely. @@ -2962,20 +3299,19 @@ units of states/eV/unit cell volume. #### _property_ converged() Returns: -True if a relaxation run is converged both ionically and -electronically. +bool: True if a relaxation run is both ionically and electronically converged. #### _property_ converged_electronic() Returns: -True if electronic step convergence has been reached in the final -ionic step. +bool: True if electronic step convergence has been reached in the final ionic step. #### _property_ converged_ionic() Returns: -True if ionic step convergence has been reached, i.e. that vasp -exited before reaching the max ionic steps for a relaxation run. +bool: True if ionic step convergence has been reached, i.e. that vasp + +> exited before reaching the max ionic steps for a relaxation run. #### _property_ dielectric() @@ -3116,17 +3452,25 @@ Returns a ComputedEntry or ComputedStructureEntry from the Vasprun. -#### get_potcars(path) +#### get_potcars(path: str | Path) +Returns the POTCAR from the specified path. + * **Parameters** - **path** – Path to search for POTCARs + **path** (*str*) – The path to search for POTCARs. * **Returns** - Potcar from path. + The POTCAR from the specified path. + + + +* **Return type** + + Potcar | None @@ -3135,7 +3479,17 @@ This method returns a Trajectory object, which is an alternative representation of self.structures into a single object. Forces are added to the Trajectory as site properties. -Returns: a Trajectory + +* **Returns** + + from pymatgen.core.trajectory + + + +* **Return type** + + [Trajectory](pymatgen.core.md#pymatgen.core.trajectory.Trajectory) + #### _property_ hubbards() @@ -3389,50 +3743,115 @@ be seen in the work of Shen et al. 2017 #### filename() -String of the input file (usually WAVECAR) +String of the input file (usually WAVECAR). + + +* **Type** + + str + #### vasp_type() -String that determines VASP type the WAVECAR was generated with (either -β€˜std’, β€˜gam’, or β€˜ncl’) +String that determines VASP type the WAVECAR was generated with. +One of β€˜std’, β€˜gam’, β€˜ncl’. + + +* **Type** + + str + #### nk() -Number of k-points from the WAVECAR +Number of k-points from the WAVECAR. + + +* **Type** + + int + #### nb() -Number of bands per k-point +Number of bands per k-point. + + +* **Type** + + int + #### encut() -Energy cutoff (used to define G_{cut}) +Energy cutoff (used to define G_{cut}). + + +* **Type** + + float + #### efermi() -Fermi energy +Fermi energy. + + +* **Type** + + float + #### a() -Primitive lattice vectors of the cell (e.g. a_1 = self.a[0, :]) +Primitive lattice vectors of the cell (e.g. a_1 = self.a[0, :]). + + +* **Type** + + numpy.ndarray + #### b() -Reciprocal lattice vectors of the cell (e.g. b_1 = self.b[0, :]) +Reciprocal lattice vectors of the cell (e.g. b_1 = self.b[0, :]). + + +* **Type** + + numpy.ndarray + #### vol() -The volume of the unit cell in real space +The volume of the unit cell in real space. + + +* **Type** + + float + #### kpoints() -The list of k-points read from the WAVECAR file +The list of k-points read from the WAVECAR file. + + +* **Type** + + numpy.ndarray + #### band_energy() -The list of band eigenenergies (and corresponding occupancies) for -each kpoint, where the first index corresponds to the index of the -k-point (e.g. self.band_energy[kp]) +The list of band eigenenergies (and corresponding occupancies) for each kpoint, +where the first index corresponds to the index of the k-point (e.g. self.band_energy[kp]). + + +* **Type** + + list + #### Gpoints() @@ -3446,15 +3865,25 @@ Gpoints[kp][n] == [n_1, n_2, n_3], then G_n = n_1\*b_1 + n_2\*b_2 + n_3\*b_3) +* **Type** + + list + + + #### coeffs() -The list of coefficients for each k-point and band for reconstructing -the wavefunction. For non-spin-polarized, the first index corresponds -to the kpoint and the second corresponds to the band (e.g. -self.coeffs[kp][b] corresponds to k-point kp and band b). For -spin-polarized calculations, the first index is for the spin. -If the calculation was non-collinear, then self.coeffs[kp][b] will have +The list of coefficients for each k-point and band for reconstructing the wavefunction. +For non-spin-polarized, the first index corresponds to the kpoint and the second corresponds to the band +(e.g. self.coeffs[kp][b] corresponds to k-point kp and band b). For spin-polarized calculations, +the first index is for the spin. If the calculation was non-collinear, then self.coeffs[kp][b] will have two columns (one for each component of the spinor). + +* **Type** + + list + + Acknowledgments: This code is based upon the Fortran program, WaveTrans, written by @@ -3481,8 +3910,7 @@ Information is extracted from the given WAVECAR. * **vasp_type** (*str*) – determines the VASP type that is used, allowed - values are [β€˜std’, β€˜gam’, β€˜ncl’] - (only first letter is required) + values are [β€˜std’, β€˜gam’, β€˜ncl’] (only first letter is required) @@ -3541,12 +3969,10 @@ preferred method of evaluation (see Wavecar.fft_mesh). * **Parameters** - * **kpoint** (*int*) – the index of the kpoint where the wavefunction - will be evaluated + * **kpoint** (*int*) – the index of the kpoint where the wavefunction will be evaluated - * **band** (*int*) – the index of the band where the wavefunction will be - evaluated + * **band** (*int*) – the index of the band where the wavefunction will be evaluated * **r** (*np.array*) – the position where the wavefunction will be evaluated @@ -3582,12 +4008,10 @@ evals = np.fft.ifftn(mesh) * **Parameters** - * **kpoint** (*int*) – the index of the kpoint where the wavefunction - will be evaluated + * **kpoint** (*int*) – the index of the kpoint where the wavefunction will be evaluated - * **band** (*int*) – the index of the band where the wavefunction will be - evaluated + * **band** (*int*) – the index of the band where the wavefunction will be evaluated * **spin** (*int*) – the spin of the wavefunction for the desired @@ -3836,9 +4260,21 @@ Class representing an XDATCAR file. Only tested with VASP 5.x files. List of structures parsed from XDATCAR. +* **Type** + + list + + + #### comment() Optional comment string. + +* **Type** + + str + + Authors: Ram Balachandran Init a Xdatcar. @@ -3876,10 +4312,9 @@ Concatenate structures in file to Xdatcar. * **ionicstep_end** (*int*) – Ending number of ionic step. -TODO(rambalachandran): +TODO (rambalachandran): Requires a check to ensure if the new concatenating file - Requires a check to ensure if the new concatenating file has the - same lattice structure and atoms as the Xdatcar class. + has the same lattice structure and atoms as the Xdatcar class. #### get_str(ionicstep_start: int = 1, ionicstep_end: int | None = None, significant_figures: int = 8) @@ -4068,20 +4503,21 @@ Read the following carefully before implementing new input sets: 1. 99% of what needs to be done can be done by specifying user_incar_settings to override some of the defaults of -various input sets. Unless there is an extremely good reason to add a new set, DO NOT add one. E.g., if you want +various input sets. Unless there is an extremely good reason to add a new set, **do not** add one. E.g., if you want to turn the Hubbard U off, just set β€œLDAU”: False as a user_incar_setting. -2. All derivative input sets should inherit from one of the usual MPRelaxSet or MITRelaxSet, and proper superclass -delegation should be used where possible. In particular, you are not supposed to implement your own as_dict or -from_dict for derivative sets unless you know what you are doing. Improper overriding the as_dict and from_dict -protocols is the major cause of implementation headaches. If you need an example, look at how the MPStaticSet or -MPNonSCFSets are constructed. +2. All derivative input sets should inherit appropriate configurations (e.g., from MPRelaxSet), and more often than +not, DictSet should be the superclass. Proper superclass delegation should be used where possible. In particular, +you are not supposed to implement your own as_dict or from_dict for derivative sets unless you know what you are +doing. Improper overriding the as_dict and from_dict protocols is the major cause of implementation headaches. If +you need an example, look at how the MPStaticSet is initialized. -The above are recommendations. The following are UNBREAKABLE rules: +The above are recommendations. The following are **UNBREAKABLE** rules: -1. All input sets must take in a structure or list of structures as the first argument. +1. All input sets must take in a structure, list of structures or None as the first argument. If None, the input set +should perform a stateless initialization and before any output can be written, a structure must be set. 2. user_incar_settings, user_kpoints_settings and user__settings are ABSOLUTE. Any new sets you implement @@ -4089,17 +4525,17 @@ must obey this. If a user wants to override your settings, you assume he knows w magically override user supplied settings. You can issue a warning if you think the user is wrong. -3. All input sets must save all supplied args and kwargs as instance variables. E.g., self.my_arg = my_arg and +3. All input sets must save all supplied args and kwargs as instance variables. E.g., self.arg = arg and self.kwargs = kwargs in the __init__. This ensures the as_dict and from_dict work correctly. ### _exception_ BadInputSetWarning() Bases: `UserWarning` -Warning class for bad but legal inputs. +Warning class for bad but legal VASP inputs. -### _class_ DictSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) = None, config_dict: dict[str, Any] | None = None, files_to_transfer=None, user_incar_settings=None, user_kpoints_settings=None, user_potcar_settings=None, constrain_total_magmom: bool = False, sort_structure: bool = True, user_potcar_functional: UserPotcarFunctional | None = None, force_gamma: bool = False, reduce_structure=None, vdw=None, use_structure_charge: bool = False, standardize: bool = False, sym_prec=0.1, international_monoclinic: bool = True, validate_magmom: bool = True) +### _class_ DictSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, config_dict: dict[str, Any] | None = None, files_to_transfer=None, user_incar_settings=None, user_kpoints_settings=None, user_potcar_settings=None, constrain_total_magmom: bool = False, sort_structure: bool = True, user_potcar_functional: UserPotcarFunctional | None = None, force_gamma: bool = False, reduce_structure=None, vdw=None, use_structure_charge: bool = False, standardize: bool = False, sym_prec=0.1, international_monoclinic: bool = True, validate_magmom: bool = True) Bases: `VaspInputSet` Concrete implementation of VaspInputSet that is initialized from a dict @@ -4217,7 +4653,7 @@ there are no settings, a default value of 0.6 is used. #### _abc_impl(_ = <_abc._abc_data object_ ) -#### calculate_ng(max_prime_factor: int = 7, must_inc_2: bool = True) +#### calculate_ng(max_prime_factor: int = 7, must_inc_2: bool = True, custom_encut: float | None = None, custom_prec: str | None = None) Calculates the NGX, NGY, and NGZ values using the information available in the INCAR and POTCAR This is meant to help with making initial guess for the FFT grid so we can interact with the Charge density API. @@ -4233,6 +4669,16 @@ This is meant to help with making initial guess for the FFT grid so we can inter * **must_inc_2** (*bool*) – Whether 2 must be a prime factor of the result. Defaults to True. + * **custom_encut** (*float** | **None*) – Calculates the FFT grid parameters using a custom + ENCUT that may be different from what is generated by the input set. Defaults to None. + Do *not* use this unless you know what you are doing. + + + * **custom_prec** (*str** | **None*) – Calculates the FFT grid parameters using a custom prec + that may be different from what is generated by the input set. Defaults to None. + Do *not* use this unless you know what you are doing. + + #### estimate_nbands() Estimate the number of bands that VASP will initialize a @@ -4307,7 +4753,7 @@ Writes out all input to a directory. ### _class_ LobsterSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, isym: int = 0, ismear: int = -5, reciprocal_density: int | None = None, address_basis_file: str | None = None, user_supplied_basis: dict | None = None, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Input set to prepare VASP runs that can be digested by Lobster (See cohp.de). @@ -4339,12 +4785,10 @@ Input set to prepare VASP runs that can be digested by Lobster (See cohp.de). e.g. {β€œFe”: β€œFe_pv”, β€œO”: β€œO”}; if not supplied, a standard basis is used. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. -#### CONFIG(_ = {'INCAR': {'ALGO': 'FAST', 'EDIFF_PER_ATOM': 5e-05, 'ENCUT': 520, 'IBRION': 2, 'ISIF': 3, 'ISMEAR': -5, 'ISPIN': 2, 'LASPH': True, 'LDAU': True, 'LDAUJ': {'F': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}, 'O': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}}, 'LDAUL': {'F': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}, 'O': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}}, 'LDAUPRINT': 1, 'LDAUTYPE': 2, 'LDAUU': {'F': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}, 'O': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}}, 'LORBIT': 11, 'LREAL': 'AUTO', 'LWAVE': False, 'MAGMOM': {'Ce': 5, 'Ce3+': 1, 'Co': 0.6, 'Co3+': 0.6, 'Co4+': 1, 'Cr': 5, 'Dy3+': 5, 'Er3+': 3, 'Eu': 10, 'Eu2+': 7, 'Eu3+': 6, 'Fe': 5, 'Gd3+': 7, 'Ho3+': 4, 'La3+': 0.6, 'Lu3+': 0.6, 'Mn': 5, 'Mn3+': 4, 'Mn4+': 3, 'Mo': 5, 'Nd3+': 3, 'Ni': 5, 'Pm3+': 4, 'Pr3+': 2, 'Sm3+': 5, 'Tb3+': 6, 'Tm3+': 2, 'V': 5, 'W': 5, 'Yb3+': 1}, 'NELM': 100, 'NSW': 99, 'PREC': 'Accurate', 'SIGMA': 0.05}, 'KPOINTS': {'reciprocal_density': 64}, 'PARENT': 'VASPIncarBase', 'POTCAR': {'Ac': 'Ac', 'Ag': 'Ag', 'Al': 'Al', 'Ar': 'Ar', 'As': 'As', 'Au': 'Au', 'B': 'B', 'Ba': 'Ba_sv', 'Be': 'Be_sv', 'Bi': 'Bi', 'Br': 'Br', 'C': 'C', 'Ca': 'Ca_sv', 'Cd': 'Cd', 'Ce': 'Ce', 'Cl': 'Cl', 'Co': 'Co', 'Cr': 'Cr_pv', 'Cs': 'Cs_sv', 'Cu': 'Cu_pv', 'Dy': 'Dy_3', 'Er': 'Er_3', 'Eu': 'Eu', 'F': 'F', 'Fe': 'Fe_pv', 'Ga': 'Ga_d', 'Gd': 'Gd', 'Ge': 'Ge_d', 'H': 'H', 'He': 'He', 'Hf': 'Hf_pv', 'Hg': 'Hg', 'Ho': 'Ho_3', 'I': 'I', 'In': 'In_d', 'Ir': 'Ir', 'K': 'K_sv', 'Kr': 'Kr', 'La': 'La', 'Li': 'Li_sv', 'Lu': 'Lu_3', 'Mg': 'Mg_pv', 'Mn': 'Mn_pv', 'Mo': 'Mo_pv', 'N': 'N', 'Na': 'Na_pv', 'Nb': 'Nb_pv', 'Nd': 'Nd_3', 'Ne': 'Ne', 'Ni': 'Ni_pv', 'Np': 'Np', 'O': 'O', 'Os': 'Os_pv', 'P': 'P', 'Pa': 'Pa', 'Pb': 'Pb_d', 'Pd': 'Pd', 'Pm': 'Pm_3', 'Pr': 'Pr_3', 'Pt': 'Pt', 'Pu': 'Pu', 'Rb': 'Rb_sv', 'Re': 'Re_pv', 'Rh': 'Rh_pv', 'Ru': 'Ru_pv', 'S': 'S', 'Sb': 'Sb', 'Sc': 'Sc_sv', 'Se': 'Se', 'Si': 'Si', 'Sm': 'Sm_3', 'Sn': 'Sn_d', 'Sr': 'Sr_sv', 'Ta': 'Ta_pv', 'Tb': 'Tb_3', 'Tc': 'Tc_pv', 'Te': 'Te', 'Th': 'Th', 'Ti': 'Ti_pv', 'Tl': 'Tl_d', 'Tm': 'Tm_3', 'U': 'U', 'V': 'V_pv', 'W': 'W_pv', 'Xe': 'Xe', 'Y': 'Y_sv', 'Yb': 'Yb_2', 'Zn': 'Zn', 'Zr': 'Zr_sv'}, 'POTCAR_FUNCTIONAL': 'PBE'_ ) - #### _abc_impl(_ = <_abc._abc_data object_ ) #### _valid_potcars(_: Sequence[str] | Non_ _ = ('PBE_52', 'PBE_54'_ ) @@ -4356,7 +4800,7 @@ Incar #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MITMDSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, start_temp: float = 0.0, end_temp: float = 300.0, nsteps: int = 1000, time_step: float = 2, spin_polarized=False, \*\*kwargs) -Bases: `MITRelaxSet` +Bases: `DictSet` Class for writing a vasp md run. This DOES NOT do multiple stage runs. @@ -4385,7 +4829,7 @@ runs. The ISPIN parameter. Defaults to False. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -4398,7 +4842,7 @@ Kpoints #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MITNEBSet(structures, unset_encut=False, \*\*kwargs) -Bases: `MITRelaxSet` +Bases: `DictSet` Class for writing NEB inputs. Note that EDIFF is not on a per atom basis for this input set. @@ -4413,7 +4857,7 @@ basis for this input set. * **unset_encut** (*bool*) – Whether to unset ENCUT. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -4553,14 +4997,15 @@ the series. It is important to ensure Gamma centred kpoints for the RPA step. #### _classmethod_ from_prev_calc(prev_calc_dir, mode, \*\*kwargs) Generate a set of VASP input files for absorption calculation -:param prev_calc_dir: The directory contains the outputs( - -> vasprun.xml of previous vasp run. * **Parameters** + * **prev_calc_dir** (*str*) – The directory contains the outputs( + vasprun.xml of previous vasp run. + + * **mode** (*str*) – Supported modes are β€œIPA”, β€œRPA” (default) @@ -4717,7 +5162,7 @@ Same as the MPRelaxSet, but with HSE parameters. #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MPMDSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, start_temp: float = 0.0, end_temp: float = 300.0, nsteps: int = 1000, time_step: float = 2, spin_polarized=False, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` This a modified version of the old MITMDSet pre 2018/03/12. @@ -4755,7 +5200,7 @@ Precision remains normal, to increase accuracy of stress tensor. The ISPIN parameter. Defaults to False. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -4772,7 +5217,7 @@ Kpoints #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MPMetalRelaxSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Implementation of VaspInputSet utilizing parameters in the public Materials Project, but with tuning for metals. Key things are a denser @@ -4790,8 +5235,6 @@ k point density, and a. -#### CONFIG(_ = {'INCAR': {'ALGO': 'FAST', 'EDIFF_PER_ATOM': 5e-05, 'ENCUT': 520, 'IBRION': 2, 'ISIF': 3, 'ISMEAR': -5, 'ISPIN': 2, 'LASPH': True, 'LDAU': True, 'LDAUJ': {'F': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}, 'O': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}}, 'LDAUL': {'F': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}, 'O': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}}, 'LDAUPRINT': 1, 'LDAUTYPE': 2, 'LDAUU': {'F': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}, 'O': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}}, 'LORBIT': 11, 'LREAL': 'AUTO', 'LWAVE': False, 'MAGMOM': {'Ce': 5, 'Ce3+': 1, 'Co': 0.6, 'Co3+': 0.6, 'Co4+': 1, 'Cr': 5, 'Dy3+': 5, 'Er3+': 3, 'Eu': 10, 'Eu2+': 7, 'Eu3+': 6, 'Fe': 5, 'Gd3+': 7, 'Ho3+': 4, 'La3+': 0.6, 'Lu3+': 0.6, 'Mn': 5, 'Mn3+': 4, 'Mn4+': 3, 'Mo': 5, 'Nd3+': 3, 'Ni': 5, 'Pm3+': 4, 'Pr3+': 2, 'Sm3+': 5, 'Tb3+': 6, 'Tm3+': 2, 'V': 5, 'W': 5, 'Yb3+': 1}, 'NELM': 100, 'NSW': 99, 'PREC': 'Accurate', 'SIGMA': 0.05}, 'KPOINTS': {'reciprocal_density': 64}, 'PARENT': 'VASPIncarBase', 'POTCAR': {'Ac': 'Ac', 'Ag': 'Ag', 'Al': 'Al', 'Ar': 'Ar', 'As': 'As', 'Au': 'Au', 'B': 'B', 'Ba': 'Ba_sv', 'Be': 'Be_sv', 'Bi': 'Bi', 'Br': 'Br', 'C': 'C', 'Ca': 'Ca_sv', 'Cd': 'Cd', 'Ce': 'Ce', 'Cl': 'Cl', 'Co': 'Co', 'Cr': 'Cr_pv', 'Cs': 'Cs_sv', 'Cu': 'Cu_pv', 'Dy': 'Dy_3', 'Er': 'Er_3', 'Eu': 'Eu', 'F': 'F', 'Fe': 'Fe_pv', 'Ga': 'Ga_d', 'Gd': 'Gd', 'Ge': 'Ge_d', 'H': 'H', 'He': 'He', 'Hf': 'Hf_pv', 'Hg': 'Hg', 'Ho': 'Ho_3', 'I': 'I', 'In': 'In_d', 'Ir': 'Ir', 'K': 'K_sv', 'Kr': 'Kr', 'La': 'La', 'Li': 'Li_sv', 'Lu': 'Lu_3', 'Mg': 'Mg_pv', 'Mn': 'Mn_pv', 'Mo': 'Mo_pv', 'N': 'N', 'Na': 'Na_pv', 'Nb': 'Nb_pv', 'Nd': 'Nd_3', 'Ne': 'Ne', 'Ni': 'Ni_pv', 'Np': 'Np', 'O': 'O', 'Os': 'Os_pv', 'P': 'P', 'Pa': 'Pa', 'Pb': 'Pb_d', 'Pd': 'Pd', 'Pm': 'Pm_3', 'Pr': 'Pr_3', 'Pt': 'Pt', 'Pu': 'Pu', 'Rb': 'Rb_sv', 'Re': 'Re_pv', 'Rh': 'Rh_pv', 'Ru': 'Ru_pv', 'S': 'S', 'Sb': 'Sb', 'Sc': 'Sc_sv', 'Se': 'Se', 'Si': 'Si', 'Sm': 'Sm_3', 'Sn': 'Sn_d', 'Sr': 'Sr_sv', 'Ta': 'Ta_pv', 'Tb': 'Tb_3', 'Tc': 'Tc_pv', 'Te': 'Te', 'Th': 'Th', 'Ti': 'Ti_pv', 'Tl': 'Tl_d', 'Tm': 'Tm_3', 'U': 'U', 'V': 'V_pv', 'W': 'W_pv', 'Xe': 'Xe', 'Y': 'Y_sv', 'Yb': 'Yb_2', 'Zn': 'Zn', 'Zr': 'Zr_sv'}, 'POTCAR_FUNCTIONAL': 'PBE'_ ) - #### _abc_impl(_ = <_abc._abc_data object_ ) #### user_potcar_functional(_: UserPotcarFunctiona_ ) @@ -4835,7 +5278,7 @@ Incar #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MPNonSCFSet(structure, prev_incar=None, mode='line', nedos=2001, dedos=0.005, reciprocal_density=100, sym_prec=0.1, kpoints_line_density=20, optics=False, copy_chgcar=True, nbands_factor=1.2, small_gap_multiply=None, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Init a MPNonSCFSet. Typically, you would use the classmethod from_prev_calc to initialize from a previous SCF run. @@ -4966,7 +5409,7 @@ which result in different fitted values. #### user_potcar_functional(_: UserPotcarFunctiona_ ) -### _class_ MPSOCSet(structure, saxis=(0, 0, 1), copy_chgcar=True, nbands_factor=1.2, reciprocal_density=100, small_gap_multiply=None, magmom=None, \*\*kwargs) +### _class_ MPSOCSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, saxis: tuple[int, int, int] = (0, 0, 1), copy_chgcar=True, nbands_factor=1.2, reciprocal_density=100, small_gap_multiply=None, magmom=None, \*\*kwargs) Bases: `MPStaticSet` An input set for running spin-orbit coupling (SOC) calculations. @@ -5207,8 +5650,8 @@ Update the input set to include settings from a previous calculation. #### user_potcar_functional(_: UserPotcarFunctiona_ ) -### _class_ MPStaticSet(structure, prev_incar=None, prev_kpoints=None, lepsilon=False, lcalcpol=False, reciprocal_density=100, small_gap_multiply=None, \*\*kwargs) -Bases: `MPRelaxSet` +### _class_ MPStaticSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, prev_incar=None, prev_kpoints=None, lepsilon=False, lcalcpol=False, reciprocal_density=100, small_gap_multiply=None, \*\*kwargs) +Bases: `DictSet` Creates input files for a static calculation. @@ -5295,7 +5738,7 @@ Update the input set to include settings from a previous calculation. #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MVLElasticSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, potim: float = 0.015, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` MVL denotes VASP input sets that are implemented by the Materials Virtual Lab ([http://materialsvirtuallab.org](http://materialsvirtuallab.org)) for various research. @@ -5333,7 +5776,7 @@ elastic constants. #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MVLGBSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, k_product=40, slab_mode=False, is_metal=True, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Class for writing a vasp input files for grain boundary calculations, slab or bulk. @@ -5361,7 +5804,7 @@ or bulk. which can be set by the user to be anything desired. - * **\*\*kwargs** – Other kwargs supported by `MPRelaxSet`. + * **\*\*kwargs** – Other kwargs supported by MPRelaxSet. @@ -5529,7 +5972,7 @@ value of ENCUT, which is 1.5 \* ENMAX. The ISPIN parameter. Defaults to False. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -5574,7 +6017,7 @@ Keynotes from VASP manual: * **user_potcar_functional** (*str*) – choose from β€œPBE_52” and β€œPBE_54”. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -5587,7 +6030,7 @@ Keynotes from VASP manual: #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MVLScanRelaxSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Class for writing a relax input set using Strongly Constrained and Appropriately Normed (SCAN) semilocal density functional. @@ -5619,7 +6062,7 @@ following lines (see VASP wiki for more details): with the rVV10 non-local correlation functional. - * **\*\*kwargs** – Other kwargs supported by `DictSet`. + * **\*\*kwargs** – Other kwargs supported by DictSet. @@ -5630,7 +6073,7 @@ following lines (see VASP wiki for more details): #### user_potcar_functional(_: UserPotcarFunctiona_ ) ### _class_ MVLSlabSet(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure) | None = None, k_product=50, bulk=False, auto_dipole=False, set_mix=True, sort_structure=True, \*\*kwargs) -Bases: `MPRelaxSet` +Bases: `DictSet` Class for writing a set of slab vasp runs, including both slabs (along the c direction) and orient unit cells (bulk), @@ -5659,7 +6102,7 @@ to ensure the same KPOINTS, POTCAR and INCAR criterion. * **sort_structure** – - * **kwargs** – Other kwargs supported by `DictSet`. + * **kwargs** – Other kwargs supported by DictSet. @@ -5727,7 +6170,7 @@ functional still applies. -#### CONFIG(_ = {'INCAR': {'ALGO': 'Normal', 'EDIFF': 1e-05, 'ENAUG': 1360, 'ENCUT': 680, 'GGA': 'PE', 'ISMEAR': 0, 'ISPIN': 2, 'KSPACING': 0.22, 'LAECHG': True, 'LASPH': True, 'LCHARG': True, 'LDAU': False, 'LDAUJ': {'F': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}, 'O': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}}, 'LDAUL': {'F': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}, 'O': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}}, 'LDAUTYPE': 2, 'LDAUU': {'F': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}, 'O': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}}, 'LMIXTAU': True, 'LORBIT': 11, 'LREAL': 'Auto', 'LWAVE': False, 'MAGMOM': {'Ce': 5, 'Ce3+': 1, 'Co': 0.6, 'Co3+': 0.6, 'Co4+': 1, 'Cr': 5, 'Dy3+': 5, 'Er3+': 3, 'Eu': 10, 'Eu2+': 7, 'Eu3+': 6, 'Fe': 5, 'Gd3+': 7, 'Ho3+': 4, 'La3+': 0.6, 'Lu3+': 0.6, 'Mn': 5, 'Mn3+': 4, 'Mn4+': 3, 'Mo': 5, 'Nd3+': 3, 'Ni': 5, 'Pm3+': 4, 'Pr3+': 2, 'Sm3+': 5, 'Tb3+': 6, 'Tm3+': 2, 'V': 5, 'W': 5, 'Yb3+': 1}, 'NELM': 200, 'NSW': 0, 'PREC': 'Accurate', 'SIGMA': 0.05}, 'PARENT': 'PBE54Base', 'POTCAR': {'Ac': 'Ac', 'Ag': 'Ag', 'Al': 'Al', 'Am': 'Am', 'Ar': 'Ar', 'As': 'As', 'At': 'At', 'Au': 'Au', 'B': 'B', 'Ba': 'Ba_sv', 'Be': 'Be_sv', 'Bi': 'Bi', 'Br': 'Br', 'C': 'C', 'Ca': 'Ca_sv', 'Cd': 'Cd', 'Ce': 'Ce', 'Cf': 'Cf', 'Cl': 'Cl', 'Cm': 'Cm', 'Co': 'Co', 'Cr': 'Cr_pv', 'Cs': 'Cs_sv', 'Cu': 'Cu_pv', 'Dy': 'Dy_3', 'Er': 'Er_3', 'Eu': 'Eu', 'F': 'F', 'Fe': 'Fe_pv', 'Fr': 'Fr_sv', 'Ga': 'Ga_d', 'Gd': 'Gd', 'Ge': 'Ge_d', 'H': 'H', 'He': 'He', 'Hf': 'Hf_pv', 'Hg': 'Hg', 'Ho': 'Ho_3', 'I': 'I', 'In': 'In_d', 'Ir': 'Ir', 'K': 'K_sv', 'Kr': 'Kr', 'La': 'La', 'Li': 'Li_sv', 'Lu': 'Lu_3', 'Mg': 'Mg_pv', 'Mn': 'Mn_pv', 'Mo': 'Mo_pv', 'N': 'N', 'Na': 'Na_pv', 'Nb': 'Nb_pv', 'Nd': 'Nd_3', 'Ne': 'Ne', 'Ni': 'Ni_pv', 'Np': 'Np', 'O': 'O', 'Os': 'Os_pv', 'P': 'P', 'Pa': 'Pa', 'Pb': 'Pb_d', 'Pd': 'Pd', 'Pm': 'Pm_3', 'Po': 'Po_d', 'Pr': 'Pr_3', 'Pt': 'Pt', 'Pu': 'Pu', 'Ra': 'Ra_sv', 'Rb': 'Rb_sv', 'Re': 'Re_pv', 'Rh': 'Rh_pv', 'Rn': 'Rn', 'Ru': 'Ru_pv', 'S': 'S', 'Sb': 'Sb', 'Sc': 'Sc_sv', 'Se': 'Se', 'Si': 'Si', 'Sm': 'Sm_3', 'Sn': 'Sn_d', 'Sr': 'Sr_sv', 'Ta': 'Ta_pv', 'Tb': 'Tb_3', 'Tc': 'Tc_pv', 'Te': 'Te', 'Th': 'Th', 'Ti': 'Ti_pv', 'Tl': 'Tl_d', 'Tm': 'Tm_3', 'U': 'U', 'V': 'V_pv', 'W': 'W_sv', 'Xe': 'Xe', 'Y': 'Y_sv', 'Yb': 'Yb_3', 'Zn': 'Zn', 'Zr': 'Zr_sv'}, 'POTCAR_FUNCTIONAL': 'PBE_54'_ ) +#### CONFIG(_ = {'INCAR': {'ALGO': 'Normal', 'EDIFF': 1e-05, 'ENAUG': 1360, 'ENCUT': 680, 'GGA': 'PE', 'ISMEAR': 0, 'ISPIN': 2, 'KSPACING': 0.22, 'LAECHG': True, 'LASPH': True, 'LCHARG': True, 'LDAU': False, 'LDAUJ': {'F': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}, 'O': {'Co': 0, 'Cr': 0, 'Fe': 0, 'Mn': 0, 'Mo': 0, 'Ni': 0, 'V': 0, 'W': 0}}, 'LDAUL': {'F': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}, 'O': {'Co': 2, 'Cr': 2, 'Fe': 2, 'Mn': 2, 'Mo': 2, 'Ni': 2, 'V': 2, 'W': 2}}, 'LDAUTYPE': 2, 'LDAUU': {'F': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}, 'O': {'Co': 3.32, 'Cr': 3.7, 'Fe': 5.3, 'Mn': 3.9, 'Mo': 4.38, 'Ni': 6.2, 'V': 3.25, 'W': 6.2}}, 'LMIXTAU': True, 'LORBIT': 11, 'LREAL': False, 'LWAVE': False, 'MAGMOM': {'Ce': 5, 'Ce3+': 1, 'Co': 0.6, 'Co3+': 0.6, 'Co4+': 1, 'Cr': 5, 'Dy3+': 5, 'Er3+': 3, 'Eu': 10, 'Eu2+': 7, 'Eu3+': 6, 'Fe': 5, 'Gd3+': 7, 'Ho3+': 4, 'La3+': 0.6, 'Lu3+': 0.6, 'Mn': 5, 'Mn3+': 4, 'Mn4+': 3, 'Mo': 5, 'Nd3+': 3, 'Ni': 5, 'Pm3+': 4, 'Pr3+': 2, 'Sm3+': 5, 'Tb3+': 6, 'Tm3+': 2, 'V': 5, 'W': 5, 'Yb3+': 1}, 'NELM': 200, 'NSW': 0, 'PREC': 'Accurate', 'SIGMA': 0.05}, 'PARENT': 'PBE54Base', 'POTCAR': {'Ac': 'Ac', 'Ag': 'Ag', 'Al': 'Al', 'Am': 'Am', 'Ar': 'Ar', 'As': 'As', 'At': 'At', 'Au': 'Au', 'B': 'B', 'Ba': 'Ba_sv', 'Be': 'Be_sv', 'Bi': 'Bi', 'Br': 'Br', 'C': 'C', 'Ca': 'Ca_sv', 'Cd': 'Cd', 'Ce': 'Ce', 'Cf': 'Cf', 'Cl': 'Cl', 'Cm': 'Cm', 'Co': 'Co', 'Cr': 'Cr_pv', 'Cs': 'Cs_sv', 'Cu': 'Cu_pv', 'Dy': 'Dy_3', 'Er': 'Er_3', 'Eu': 'Eu', 'F': 'F', 'Fe': 'Fe_pv', 'Fr': 'Fr_sv', 'Ga': 'Ga_d', 'Gd': 'Gd', 'Ge': 'Ge_d', 'H': 'H', 'He': 'He', 'Hf': 'Hf_pv', 'Hg': 'Hg', 'Ho': 'Ho_3', 'I': 'I', 'In': 'In_d', 'Ir': 'Ir', 'K': 'K_sv', 'Kr': 'Kr', 'La': 'La', 'Li': 'Li_sv', 'Lu': 'Lu_3', 'Mg': 'Mg_pv', 'Mn': 'Mn_pv', 'Mo': 'Mo_pv', 'N': 'N', 'Na': 'Na_pv', 'Nb': 'Nb_pv', 'Nd': 'Nd_3', 'Ne': 'Ne', 'Ni': 'Ni_pv', 'Np': 'Np', 'O': 'O', 'Os': 'Os_pv', 'P': 'P', 'Pa': 'Pa', 'Pb': 'Pb_d', 'Pd': 'Pd', 'Pm': 'Pm_3', 'Po': 'Po_d', 'Pr': 'Pr_3', 'Pt': 'Pt', 'Pu': 'Pu', 'Ra': 'Ra_sv', 'Rb': 'Rb_sv', 'Re': 'Re_pv', 'Rh': 'Rh_pv', 'Rn': 'Rn', 'Ru': 'Ru_pv', 'S': 'S', 'Sb': 'Sb', 'Sc': 'Sc_sv', 'Se': 'Se', 'Si': 'Si', 'Sm': 'Sm_3', 'Sn': 'Sn_d', 'Sr': 'Sr_sv', 'Ta': 'Ta_pv', 'Tb': 'Tb_3', 'Tc': 'Tc_pv', 'Te': 'Te', 'Th': 'Th', 'Ti': 'Ti_pv', 'Tl': 'Tl_d', 'Tm': 'Tm_3', 'U': 'U', 'V': 'V_pv', 'W': 'W_sv', 'Xe': 'Xe', 'Y': 'Y_sv', 'Yb': 'Yb_3', 'Zn': 'Zn', 'Zr': 'Zr_sv'}, 'POTCAR_FUNCTIONAL': 'PBE_54'_ ) #### INHERITED_INCAR_PARAMS(_ = ('LPEAD', 'NGX', 'NGY', 'NGZ', 'SYMPREC', 'IMIX', 'LMAXMIX', 'KGAMMA', 'ISYM', 'NCORE', 'NPAR', 'NELMIN', 'IOPT', 'NBANDS', 'KPAR', 'AMIN', 'NELMDL', 'BMIX', 'AMIX_MAG', 'BMIX_MAG'_ ) diff --git a/docs/pymatgen.io.xtb.md b/docs/pymatgen.io.xtb.md index 29133303526..d0e9da1ee28 100644 --- a/docs/pymatgen.io.xtb.md +++ b/docs/pymatgen.io.xtb.md @@ -56,10 +56,7 @@ and writing external files. * **constraints** – Dictionary of common editable parameters for .constrains file. - - {β€œatoms”: [List of 1-indexed atoms to fix], β€œforce_constant”: - float] - + {β€œatoms”: [List of 1-indexed atoms to fix], β€œforce_constant”: float] diff --git a/docs/pymatgen.md b/docs/pymatgen.md index 1705bb46f56..a81e17cc8ce 100644 --- a/docs/pymatgen.md +++ b/docs/pymatgen.md @@ -173,6 +173,9 @@ nav_order: 6 * [`StandardTransmuter`](pymatgen.alchemy.md#pymatgen.alchemy.transmuters.StandardTransmuter) + * [`StandardTransmuter.transformed_structures`](pymatgen.alchemy.md#pymatgen.alchemy.transmuters.StandardTransmuter.transformed_structures) + + * [`StandardTransmuter.add_tags()`](pymatgen.alchemy.md#pymatgen.alchemy.transmuters.StandardTransmuter.add_tags) @@ -945,7 +948,7 @@ nav_order: 6 * [`get_symbol_list()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.get_symbol_list) - * [`raise_error_if_unphysical()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.raise_error_if_unphysical) + * [`raise_if_unphysical()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.raise_if_unphysical) * [`subs()`](pymatgen.analysis.elasticity.md#pymatgen.analysis.elasticity.elastic.subs) @@ -1088,10 +1091,10 @@ nav_order: 6 * [`PolarizationLattice._abc_impl`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice._abc_impl) - * [`PolarizationLattice.get_nearest_site()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.get_nearest_site) + * [`PolarizationLattice._properties`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice._properties) - * [`PolarizationLattice.properties`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.properties) + * [`PolarizationLattice.get_nearest_site()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.PolarizationLattice.get_nearest_site) * [`calc_ionic()`](pymatgen.analysis.ferroelectricity.md#pymatgen.analysis.ferroelectricity.polarization.calc_ionic) @@ -1117,6 +1120,9 @@ nav_order: 6 * [`GrainBoundary._abc_impl`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary._abc_impl) + * [`GrainBoundary._properties`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary._properties) + + * [`GrainBoundary.as_dict()`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.as_dict) @@ -1135,9 +1141,6 @@ nav_order: 6 * [`GrainBoundary.get_sorted_structure()`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.get_sorted_structure) - * [`GrainBoundary.properties`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.properties) - - * [`GrainBoundary.sigma`](pymatgen.analysis.gb.md#pymatgen.analysis.gb.grain.GrainBoundary.sigma) @@ -1717,6 +1720,24 @@ nav_order: 6 * [`XAS`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS) + * [`XAS.x`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.x) + + + * [`XAS.y`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.y) + + + * [`XAS.absorbing_element`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.absorbing_element) + + + * [`XAS.edge`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.edge) + + + * [`XAS.spectrum_type`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.spectrum_type) + + + * [`XAS.absorbing_index`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.absorbing_index) + + * [`XAS.XLABEL`](pymatgen.analysis.xas.md#pymatgen.analysis.xas.spectrum.XAS.XLABEL) @@ -2322,6 +2343,12 @@ nav_order: 6 * [`ExcitationSpectrum`](pymatgen.analysis.md#pymatgen.analysis.excitation.ExcitationSpectrum) + * [`ExcitationSpectrum.x`](pymatgen.analysis.md#pymatgen.analysis.excitation.ExcitationSpectrum.x) + + + * [`ExcitationSpectrum.y`](pymatgen.analysis.md#pymatgen.analysis.excitation.ExcitationSpectrum.y) + + * [`ExcitationSpectrum.XLABEL`](pymatgen.analysis.md#pymatgen.analysis.excitation.ExcitationSpectrum.XLABEL) @@ -4491,6 +4518,12 @@ nav_order: 6 * [`SlabEntry.adsorbates`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SlabEntry.adsorbates) + * [`SlabEntry.clean_entry`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SlabEntry.clean_entry) + + + * [`SlabEntry.ads_entries_dict`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SlabEntry.ads_entries_dict) + + * [`SlabEntry.Nads_in_slab`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SlabEntry.Nads_in_slab) @@ -4536,13 +4569,16 @@ nav_order: 6 * [`SurfaceEnergyPlotter.all_slab_entries`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.all_slab_entries) + * [`SurfaceEnergyPlotter.color_dict`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.color_dict) + + * [`SurfaceEnergyPlotter.ucell_entry`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.ucell_entry) * [`SurfaceEnergyPlotter.ref_entries`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.ref_entries) - * [`SurfaceEnergyPlotter.color_dict`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.color_dict) + * [`SurfaceEnergyPlotter.facet_color_dict`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.facet_color_dict) * [`SurfaceEnergyPlotter.BE_vs_clean_SE()`](pymatgen.analysis.md#pymatgen.analysis.surface_analysis.SurfaceEnergyPlotter.BE_vs_clean_SE) @@ -4686,9 +4722,6 @@ nav_order: 6 * [`WulffShape.alpha`](pymatgen.analysis.md#pymatgen.analysis.wulff.WulffShape.alpha) - * [`WulffShape.transparency`](pymatgen.analysis.md#pymatgen.analysis.wulff.WulffShape.transparency) - - * [`WulffShape.color_set`](pymatgen.analysis.md#pymatgen.analysis.wulff.WulffShape.color_set) @@ -5944,10 +5977,13 @@ nav_order: 6 * [`Interface`](pymatgen.core.md#pymatgen.core.interface.Interface) - * [`Interface.__update_c()`](pymatgen.core.md#pymatgen.core.interface.Interface.__update_c) + * [`Interface._abc_impl`](pymatgen.core.md#pymatgen.core.interface.Interface._abc_impl) - * [`Interface._abc_impl`](pymatgen.core.md#pymatgen.core.interface.Interface._abc_impl) + * [`Interface._properties`](pymatgen.core.md#pymatgen.core.interface.Interface._properties) + + + * [`Interface._update_c()`](pymatgen.core.md#pymatgen.core.interface.Interface._update_c) * [`Interface.as_dict()`](pymatgen.core.md#pymatgen.core.interface.Interface.as_dict) @@ -5989,9 +6025,6 @@ nav_order: 6 * [`Interface.in_plane_offset`](pymatgen.core.md#pymatgen.core.interface.Interface.in_plane_offset) - * [`Interface.properties`](pymatgen.core.md#pymatgen.core.interface.Interface.properties) - - * [`Interface.substrate`](pymatgen.core.md#pymatgen.core.interface.Interface.substrate) @@ -7441,6 +7474,9 @@ nav_order: 6 * [`MagSymmOp.as_dict()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.as_dict) + * [`MagSymmOp.as_xyzt_str()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.as_xyzt_str) + + * [`MagSymmOp.as_xyzt_string()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.as_xyzt_string) @@ -7453,6 +7489,9 @@ nav_order: 6 * [`MagSymmOp.from_symmop()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.from_symmop) + * [`MagSymmOp.from_xyzt_str()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.from_xyzt_str) + + * [`MagSymmOp.from_xyzt_string()`](pymatgen.core.md#pymatgen.core.operations.MagSymmOp.from_xyzt_string) @@ -8221,9 +8260,6 @@ nav_order: 6 * [`ElementBase.max_oxidation_state`](pymatgen.core.md#pymatgen.core.periodic_table.ElementBase.max_oxidation_state) - * [`ElementBase.metallic_radius`](pymatgen.core.md#pymatgen.core.periodic_table.ElementBase.metallic_radius) - - * [`ElementBase.min_oxidation_state`](pymatgen.core.md#pymatgen.core.periodic_table.ElementBase.min_oxidation_state) @@ -8437,6 +8473,9 @@ nav_order: 6 * [`IMolecule._find_nn_pos_before_site()`](pymatgen.core.md#pymatgen.core.structure.IMolecule._find_nn_pos_before_site) + * [`IMolecule._properties`](pymatgen.core.md#pymatgen.core.structure.IMolecule._properties) + + * [`IMolecule.as_dict()`](pymatgen.core.md#pymatgen.core.structure.IMolecule.as_dict) @@ -8491,9 +8530,6 @@ nav_order: 6 * [`IMolecule.nelectrons`](pymatgen.core.md#pymatgen.core.structure.IMolecule.nelectrons) - * [`IMolecule.properties`](pymatgen.core.md#pymatgen.core.structure.IMolecule.properties) - - * [`IMolecule.spin_multiplicity`](pymatgen.core.md#pymatgen.core.structure.IMolecule.spin_multiplicity) @@ -8509,6 +8545,9 @@ nav_order: 6 * [`IStructure._get_neighbor_list_py()`](pymatgen.core.md#pymatgen.core.structure.IStructure._get_neighbor_list_py) + * [`IStructure._properties`](pymatgen.core.md#pymatgen.core.structure.IStructure._properties) + + * [`IStructure.as_dataframe()`](pymatgen.core.md#pymatgen.core.structure.IStructure.as_dataframe) @@ -8629,6 +8668,9 @@ nav_order: 6 * [`Molecule._abc_impl`](pymatgen.core.md#pymatgen.core.structure.Molecule._abc_impl) + * [`Molecule._properties`](pymatgen.core.md#pymatgen.core.structure.Molecule._properties) + + * [`Molecule.append()`](pymatgen.core.md#pymatgen.core.structure.Molecule.append) @@ -8644,9 +8686,6 @@ nav_order: 6 * [`Molecule.perturb()`](pymatgen.core.md#pymatgen.core.structure.Molecule.perturb) - * [`Molecule.properties`](pymatgen.core.md#pymatgen.core.structure.Molecule.properties) - - * [`Molecule.relax()`](pymatgen.core.md#pymatgen.core.structure.Molecule.relax) @@ -8734,6 +8773,9 @@ nav_order: 6 * [`SiteCollection._prep_calculator()`](pymatgen.core.md#pymatgen.core.structure.SiteCollection._prep_calculator) + * [`SiteCollection._properties`](pymatgen.core.md#pymatgen.core.structure.SiteCollection._properties) + + * [`SiteCollection._relax()`](pymatgen.core.md#pymatgen.core.structure.SiteCollection._relax) @@ -8818,9 +8860,6 @@ nav_order: 6 * [`SiteCollection.num_sites`](pymatgen.core.md#pymatgen.core.structure.SiteCollection.num_sites) - * [`SiteCollection.properties`](pymatgen.core.md#pymatgen.core.structure.SiteCollection.properties) - - * [`SiteCollection.remove_oxidation_states()`](pymatgen.core.md#pymatgen.core.structure.SiteCollection.remove_oxidation_states) @@ -8863,6 +8902,9 @@ nav_order: 6 * [`Structure._abc_impl`](pymatgen.core.md#pymatgen.core.structure.Structure._abc_impl) + * [`Structure._properties`](pymatgen.core.md#pymatgen.core.structure.Structure._properties) + + * [`Structure._sites`](pymatgen.core.md#pymatgen.core.structure.Structure._sites) @@ -8896,9 +8938,6 @@ nav_order: 6 * [`Structure.perturb()`](pymatgen.core.md#pymatgen.core.structure.Structure.perturb) - * [`Structure.properties`](pymatgen.core.md#pymatgen.core.structure.Structure.properties) - - * [`Structure.relax()`](pymatgen.core.md#pymatgen.core.structure.Structure.relax) @@ -8941,6 +8980,15 @@ nav_order: 6 * [`ReconstructionGenerator.slabgen_params`](pymatgen.core.md#pymatgen.core.surface.ReconstructionGenerator.slabgen_params) + * [`ReconstructionGenerator.trans_matrix`](pymatgen.core.md#pymatgen.core.surface.ReconstructionGenerator.trans_matrix) + + + * [`ReconstructionGenerator.reconstruction_json`](pymatgen.core.md#pymatgen.core.surface.ReconstructionGenerator.reconstruction_json) + + + * [`ReconstructionGenerator.termination`](pymatgen.core.md#pymatgen.core.surface.ReconstructionGenerator.termination) + + * [`ReconstructionGenerator.build_slabs()`](pymatgen.core.md#pymatgen.core.surface.ReconstructionGenerator.build_slabs) @@ -8962,6 +9010,9 @@ nav_order: 6 * [`Slab._abc_impl`](pymatgen.core.md#pymatgen.core.surface.Slab._abc_impl) + * [`Slab._properties`](pymatgen.core.md#pymatgen.core.surface.Slab._properties) + + * [`Slab._sites`](pymatgen.core.md#pymatgen.core.surface.Slab._sites) @@ -9007,9 +9058,6 @@ nav_order: 6 * [`Slab.normal`](pymatgen.core.md#pymatgen.core.surface.Slab.normal) - * [`Slab.properties`](pymatgen.core.md#pymatgen.core.surface.Slab.properties) - - * [`Slab.surface_area`](pymatgen.core.md#pymatgen.core.surface.Slab.surface_area) @@ -9498,6 +9546,9 @@ nav_order: 6 * [`BandStructure`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.bandstructure.BandStructure) + * [`BandStructure.kpoints`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.bandstructure.BandStructure.kpoints) + + * [`BandStructure.lattice_rec`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.bandstructure.BandStructure.lattice_rec) @@ -9879,6 +9930,33 @@ nav_order: 6 * [`CompleteCohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp) + * [`CompleteCohp.are_coops`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.are_coops) + + + * [`CompleteCohp.are_cobis`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.are_cobis) + + + * [`CompleteCohp.efermi`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.efermi) + + + * [`CompleteCohp.energies`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.energies) + + + * [`CompleteCohp.structure`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.structure) + + + * [`CompleteCohp.cohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.cohp) + + + * [`CompleteCohp.icohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.icohp) + + + * [`CompleteCohp.all_cohps`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.all_cohps) + + + * [`CompleteCohp.orb_res_cohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.orb_res_cohp) + + * [`CompleteCohp.as_dict()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.CompleteCohp.as_dict) @@ -9939,7 +10017,13 @@ nav_order: 6 * [`IcohpValue`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue) - * [`IcohpValue.num_bonds`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.num_bonds) + * [`IcohpValue.energies`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.energies) + + + * [`IcohpValue.densities`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.densities) + + + * [`IcohpValue.energies_are_cartesian`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.energies_are_cartesian) * [`IcohpValue.are_coops`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.are_coops) @@ -9951,6 +10035,12 @@ nav_order: 6 * [`IcohpValue.icohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.icohp) + * [`IcohpValue.summed_icohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.summed_icohp) + + + * [`IcohpValue.num_bonds`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.num_bonds) + + * [`IcohpValue.are_cobis`](pymatgen.electronic_structure.md#id3) @@ -9972,7 +10062,7 @@ nav_order: 6 * [`IcohpValue.num_bonds`](pymatgen.electronic_structure.md#id6) - * [`IcohpValue.summed_icohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.summed_icohp) + * [`IcohpValue.summed_icohp`](pymatgen.electronic_structure.md#id7) * [`IcohpValue.summed_orbital_icohp`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.cohp.IcohpValue.summed_orbital_icohp) @@ -10188,6 +10278,15 @@ nav_order: 6 * [`DOS`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.DOS) + * [`DOS.energies`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.DOS.energies) + + + * [`DOS.densities`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.DOS.densities) + + + * [`DOS.efermi`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.DOS.efermi) + + * [`DOS.XLABEL`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.DOS.XLABEL) @@ -10206,6 +10305,15 @@ nav_order: 6 * [`Dos`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos) + * [`Dos.energies`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos.energies) + + + * [`Dos.densities`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos.densities) + + + * [`Dos.efermi`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos.efermi) + + * [`Dos.as_dict()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.dos.Dos.as_dict) @@ -10317,7 +10425,7 @@ nav_order: 6 * [`BSPlotter._interpolate_bands()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotter._interpolate_bands) - * [`BSPlotter._maketicks()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotter._maketicks) + * [`BSPlotter._make_ticks()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotter._make_ticks) * [`BSPlotter._rescale_distances()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotter._rescale_distances) @@ -10362,7 +10470,7 @@ nav_order: 6 * [`BSPlotterProjected._get_projections_by_branches_patom_pmorb()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotterProjected._get_projections_by_branches_patom_pmorb) - * [`BSPlotterProjected._maketicks_selected()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotterProjected._maketicks_selected) + * [`BSPlotterProjected._make_ticks_selected()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotterProjected._make_ticks_selected) * [`BSPlotterProjected._number_of_subfigures()`](pymatgen.electronic_structure.md#pymatgen.electronic_structure.plotter.BSPlotterProjected._number_of_subfigures) @@ -10978,6 +11086,9 @@ nav_order: 6 * [`COD.query()`](pymatgen.ext.md#pymatgen.ext.cod.COD.query) + * [`COD.url`](pymatgen.ext.md#pymatgen.ext.cod.COD.url) + + * [pymatgen.ext.matproj module](pymatgen.ext.md#module-pymatgen.ext.matproj) @@ -11173,6 +11284,45 @@ nav_order: 6 * [`_MPResterLegacy.supported_task_properties`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterLegacy.supported_task_properties) + * [`_MPResterNewBasic`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic) + + + * [`_MPResterNewBasic.get_doc()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_doc) + + + * [`_MPResterNewBasic.get_entries()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_entries) + + + * [`_MPResterNewBasic.get_entries_in_chemsys()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_entries_in_chemsys) + + + * [`_MPResterNewBasic.get_entry_by_material_id()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_entry_by_material_id) + + + * [`_MPResterNewBasic.get_initial_structures_by_material_id()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_initial_structures_by_material_id) + + + * [`_MPResterNewBasic.get_material_ids()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_material_ids) + + + * [`_MPResterNewBasic.get_materials_ids()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_materials_ids) + + + * [`_MPResterNewBasic.get_structure_by_material_id()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_structure_by_material_id) + + + * [`_MPResterNewBasic.get_structures()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_structures) + + + * [`_MPResterNewBasic.get_summary()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_summary) + + + * [`_MPResterNewBasic.get_summary_by_material_id()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.get_summary_by_material_id) + + + * [`_MPResterNewBasic.request()`](pymatgen.ext.md#pymatgen.ext.matproj._MPResterNewBasic.request) + + * [`get_chunks()`](pymatgen.ext.md#pymatgen.ext.matproj.get_chunks) @@ -14293,6 +14443,9 @@ nav_order: 6 * [`Bandoverlaps`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps) + * [`Bandoverlaps.maxDeviation`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps.maxDeviation) + + * [`Bandoverlaps._read()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Bandoverlaps._read) @@ -14305,12 +14458,42 @@ nav_order: 6 * [`Charge`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge) + * [`Charge.atomlist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.atomlist) + + + * [`Charge.types`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.types) + + + * [`Charge.Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.Mulliken) + + + * [`Charge.Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.Loewdin) + + + * [`Charge.num_atoms`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.num_atoms) + + * [`Charge.get_structure_with_charges()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Charge.get_structure_with_charges) * [`Cohpcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar) + * [`Cohpcar.cohp_data`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.cohp_data) + + + * [`Cohpcar.efermi`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.efermi) + + + * [`Cohpcar.energies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.energies) + + + * [`Cohpcar.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.is_spin_polarized) + + + * [`Cohpcar.orb_cohp`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar.orb_cohp) + + * [`Cohpcar._get_bond_data()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Cohpcar._get_bond_data) @@ -14332,10 +14515,7 @@ nav_order: 6 * [`Doscar.tdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.tdensities) - * [`Doscar.energies`](pymatgen.io.lobster.md#id0) - - - * [`Doscar.energies`](pymatgen.io.lobster.md#id1) + * [`Doscar.itdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.itdensities) * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.is_spin_polarized) @@ -14344,42 +14524,84 @@ nav_order: 6 * [`Doscar._parse_doscar()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar._parse_doscar) - * [`Doscar.completedos`](pymatgen.io.lobster.md#id2) + * [`Doscar.completedos`](pymatgen.io.lobster.md#id0) - * [`Doscar.energies`](pymatgen.io.lobster.md#id3) + * [`Doscar.energies`](pymatgen.io.lobster.md#id1) - * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#id4) + * [`Doscar.is_spin_polarized`](pymatgen.io.lobster.md#id2) - * [`Doscar.itdensities`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Doscar.itdensities) + * [`Doscar.itdensities`](pymatgen.io.lobster.md#id3) - * [`Doscar.pdos`](pymatgen.io.lobster.md#id5) + * [`Doscar.pdos`](pymatgen.io.lobster.md#id4) - * [`Doscar.tdensities`](pymatgen.io.lobster.md#id6) + * [`Doscar.tdensities`](pymatgen.io.lobster.md#id5) - * [`Doscar.tdos`](pymatgen.io.lobster.md#id7) + * [`Doscar.tdos`](pymatgen.io.lobster.md#id6) * [`Fatband`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband) + * [`Fatband.efermi`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.efermi) + + + * [`Fatband.eigenvals`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.eigenvals) + + + * [`Fatband.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.is_spin_polarized) + + + * [`Fatband.kpoints_array`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.kpoints_array) + + + * [`Fatband.label_dict`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.label_dict) + + + * [`Fatband.lattice`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.lattice) + + + * [`Fatband.nbands`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.nbands) + + + * [`Fatband.p_eigenvals`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.p_eigenvals) + + + * [`Fatband.structure`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.structure) + + * [`Fatband.get_bandstructure()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Fatband.get_bandstructure) * [`Grosspop`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop) + * [`Grosspop.list_dict_grosspop`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop.list_dict_grosspop) + + * [`Grosspop.get_structure_with_total_grosspop()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Grosspop.get_structure_with_total_grosspop) * [`Icohplist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist) + * [`Icohplist.are_coops`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.are_coops) + + + * [`Icohplist.is_spin_polarized`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.is_spin_polarized) + + + * [`Icohplist.Icohplist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.Icohplist) + + + * [`Icohplist.IcohpCollection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.IcohpCollection) + + * [`Icohplist.icohpcollection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Icohplist.icohpcollection) @@ -14389,6 +14611,84 @@ nav_order: 6 * [`Lobsterout`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout) + * [`Lobsterout.basis_functions`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.basis_functions) + + + * [`Lobsterout.basis_type`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.basis_type) + + + * [`Lobsterout.charge_spilling`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.charge_spilling) + + + * [`Lobsterout.dft_program`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.dft_program) + + + * [`Lobsterout.elements`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.elements) + + + * [`Lobsterout.has_charge`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_charge) + + + * [`Lobsterout.has_cohpcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_cohpcar) + + + * [`Lobsterout.has_madelung`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_madelung) + + + * [`Lobsterout.has_coopcar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_coopcar) + + + * [`Lobsterout.has_cobicar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_cobicar) + + + * [`Lobsterout.has_doscar`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_doscar) + + + * [`Lobsterout.has_doscar_lso`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_doscar_lso) + + + * [`Lobsterout.has_projection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_projection) + + + * [`Lobsterout.has_bandoverlaps`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_bandoverlaps) + + + * [`Lobsterout.has_density_of_energies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_density_of_energies) + + + * [`Lobsterout.has_fatbands`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_fatbands) + + + * [`Lobsterout.has_grosspopulation`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.has_grosspopulation) + + + * [`Lobsterout.info_lines`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.info_lines) + + + * [`Lobsterout.info_orthonormalization`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.info_orthonormalization) + + + * [`Lobsterout.is_restart_from_projection`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.is_restart_from_projection) + + + * [`Lobsterout.lobster_version`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.lobster_version) + + + * [`Lobsterout.number_of_spins`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.number_of_spins) + + + * [`Lobsterout.number_of_threads`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.number_of_threads) + + + * [`Lobsterout.timing`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.timing) + + + * [`Lobsterout.total_spilling`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.total_spilling) + + + * [`Lobsterout.warning_lines`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout.warning_lines) + + * [`Lobsterout._get_all_info_lines()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Lobsterout._get_all_info_lines) @@ -14428,15 +14728,63 @@ nav_order: 6 * [`MadelungEnergies`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies) + * [`MadelungEnergies.madelungenergies_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.madelungenergies_Mulliken) + + + * [`MadelungEnergies.madelungenergies_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.madelungenergies_Loewdin) + + + * [`MadelungEnergies.ewald_splitting`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.MadelungEnergies.ewald_splitting) + + * [`SitePotential`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential) + * [`SitePotential.atomlist`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.atomlist) + + + * [`SitePotential.types`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.types) + + + * [`SitePotential.num_atoms`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.num_atoms) + + + * [`SitePotential.sitepotentials_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.sitepotentials_Mulliken) + + + * [`SitePotential.sitepotentials_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.sitepotentials_Loewdin) + + + * [`SitePotential.madelung_Mulliken`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.madelung_Mulliken) + + + * [`SitePotential.madelung_Loewdin`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.madelung_Loewdin) + + + * [`SitePotential.ewald_splitting`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.ewald_splitting) + + * [`SitePotential.get_structure_with_site_potentials()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.SitePotential.get_structure_with_site_potentials) * [`Wavefunction`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction) + * [`Wavefunction.grid`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.grid) + + + * [`Wavefunction.points`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.points) + + + * [`Wavefunction.real`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.real) + + + * [`Wavefunction.imaginary`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.imaginary) + + + * [`Wavefunction.distance`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction.distance) + + * [`Wavefunction._parse_file()`](pymatgen.io.lobster.md#pymatgen.io.lobster.outputs.Wavefunction._parse_file) @@ -15329,6 +15677,9 @@ nav_order: 6 * [`Oszicar.electronic_steps`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.electronic_steps) + * [`Oszicar.ionic_steps`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.ionic_steps) + + * [`Oszicar.all_energies`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Oszicar.all_energies) @@ -15377,6 +15728,15 @@ nav_order: 6 * [`Outcar.ngf`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.ngf) + * [`Outcar.sampling_radii`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.sampling_radii) + + + * [`Outcar.electrostatic_potential`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.electrostatic_potential) + + + * [`Outcar.final_energy_contribs`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.final_energy_contribs) + + * [`Outcar.efermi`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Outcar.efermi) @@ -15497,6 +15857,18 @@ nav_order: 6 * [`Procar.weights`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.weights) + * [`Procar.phase_factors`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.phase_factors) + + + * [`Procar.nbands`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nbands) + + + * [`Procar.nkpoints`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nkpoints) + + + * [`Procar.nions`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.nions) + + * [`Procar.get_occupation()`](pymatgen.io.vasp.md#pymatgen.io.vasp.outputs.Procar.get_occupation) @@ -15923,9 +16295,6 @@ nav_order: 6 * [`LobsterSet`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet) - * [`LobsterSet.CONFIG`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet.CONFIG) - - * [`LobsterSet._abc_impl`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.LobsterSet._abc_impl) @@ -16055,9 +16424,6 @@ nav_order: 6 * [`MPMetalRelaxSet`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet) - * [`MPMetalRelaxSet.CONFIG`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet.CONFIG) - - * [`MPMetalRelaxSet._abc_impl`](pymatgen.io.vasp.md#pymatgen.io.vasp.sets.MPMetalRelaxSet._abc_impl) @@ -16704,6 +17070,15 @@ nav_order: 6 * [`VolumetricData.structure`](pymatgen.io.md#pymatgen.io.common.VolumetricData.structure) + * [`VolumetricData.is_spin_polarized`](pymatgen.io.md#pymatgen.io.common.VolumetricData.is_spin_polarized) + + + * [`VolumetricData.dim`](pymatgen.io.md#pymatgen.io.common.VolumetricData.dim) + + + * [`VolumetricData.data`](pymatgen.io.md#pymatgen.io.common.VolumetricData.data) + + * [`VolumetricData.ngridpts`](pymatgen.io.md#pymatgen.io.common.VolumetricData.ngridpts) @@ -16962,6 +17337,9 @@ nav_order: 6 * [`GaussianOutput`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput) + * [`GaussianOutput.structures`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput.structures) + + * [`GaussianOutput.structures_input_orientation`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput.structures_input_orientation) @@ -17073,6 +17451,9 @@ nav_order: 6 * [`GaussianOutput._parse()`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput._parse) + * [`GaussianOutput._parse_hessian()`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput._parse_hessian) + + * [`GaussianOutput.as_dict()`](pymatgen.io.md#pymatgen.io.gaussian.GaussianOutput.as_dict) @@ -18148,7 +18529,7 @@ nav_order: 6 * [`PhononBSPlotter._make_color()`](pymatgen.phonon.md#pymatgen.phonon.plotter.PhononBSPlotter._make_color) - * [`PhononBSPlotter._maketicks()`](pymatgen.phonon.md#pymatgen.phonon.plotter.PhononBSPlotter._maketicks) + * [`PhononBSPlotter._make_ticks()`](pymatgen.phonon.md#pymatgen.phonon.plotter.PhononBSPlotter._make_ticks) * [`PhononBSPlotter.bs_plot_data()`](pymatgen.phonon.md#pymatgen.phonon.plotter.PhononBSPlotter.bs_plot_data) @@ -18816,9 +19197,15 @@ nav_order: 6 * [`SymmetrizedStructure`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure) + * [`SymmetrizedStructure.equivalent_indices`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure.equivalent_indices) + + * [`SymmetrizedStructure._abc_impl`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure._abc_impl) + * [`SymmetrizedStructure._properties`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure._properties) + + * [`SymmetrizedStructure._sites`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure._sites) @@ -18834,9 +19221,6 @@ nav_order: 6 * [`SymmetrizedStructure.from_dict()`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure.from_dict) - * [`SymmetrizedStructure.properties`](pymatgen.symmetry.md#pymatgen.symmetry.structure.SymmetrizedStructure.properties) - - * [pymatgen.transformations package](pymatgen.transformations.md) @@ -19636,6 +20020,12 @@ nav_order: 6 * [`Simplex`](pymatgen.util.md#pymatgen.util.coord.Simplex) + * [`Simplex.space_dim`](pymatgen.util.md#pymatgen.util.coord.Simplex.space_dim) + + + * [`Simplex.simplex_dim`](pymatgen.util.md#pymatgen.util.coord.Simplex.simplex_dim) + + * [`Simplex.bary_coords()`](pymatgen.util.md#pymatgen.util.coord.Simplex.bary_coords) @@ -19786,30 +20176,12 @@ nav_order: 6 * [pymatgen.util.num module](pymatgen.util.md#module-pymatgen.util.num) - * [`abs_cap()`](pymatgen.util.md#pymatgen.util.num.abs_cap) - - * [`make_symmetric_matrix_from_upper_tri()`](pymatgen.util.md#pymatgen.util.num.make_symmetric_matrix_from_upper_tri) - * [`maxloc()`](pymatgen.util.md#pymatgen.util.num.maxloc) - - - * [`min_max_indexes()`](pymatgen.util.md#pymatgen.util.num.min_max_indexes) - - - * [`minloc()`](pymatgen.util.md#pymatgen.util.num.minloc) - - * [`round_to_sigfigs()`](pymatgen.util.md#pymatgen.util.num.round_to_sigfigs) - * [`strictly_decreasing()`](pymatgen.util.md#pymatgen.util.num.strictly_decreasing) - - - * [`strictly_increasing()`](pymatgen.util.md#pymatgen.util.num.strictly_increasing) - - * [pymatgen.util.numba module](pymatgen.util.md#module-pymatgen.util.numba) @@ -19831,10 +20203,10 @@ nav_order: 6 * [`format_formula()`](pymatgen.util.md#pymatgen.util.plotting.format_formula) - * [`get_ax3d_fig_plt()`](pymatgen.util.md#pymatgen.util.plotting.get_ax3d_fig_plt) + * [`get_ax3d_fig()`](pymatgen.util.md#pymatgen.util.plotting.get_ax3d_fig) - * [`get_ax_fig_plt()`](pymatgen.util.md#pymatgen.util.plotting.get_ax_fig_plt) + * [`get_ax_fig()`](pymatgen.util.md#pymatgen.util.plotting.get_ax_fig) * [`get_axarray_fig_plt()`](pymatgen.util.md#pymatgen.util.plotting.get_axarray_fig_plt) diff --git a/docs/pymatgen.phonon.md b/docs/pymatgen.phonon.md index 4b53cf0eb06..3073b042357 100644 --- a/docs/pymatgen.phonon.md +++ b/docs/pymatgen.phonon.md @@ -230,7 +230,11 @@ Re-order the eigenvalues according to the similarity of the eigenvectors. **dct** – Dict representation. -Returns: PhononBandStructureSymmLine + +* **Returns** + + PhononBandStructureSymmLine + #### get_branch(index) @@ -295,14 +299,22 @@ according to the number of atoms in the system. This module defines classes to represent the phonon density of states, etc. -### _class_ CompletePhononDos(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), total_dos, pdoss) +### _class_ CompletePhononDos(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), total_dos, pdoses) Bases: `PhononDos` This wrapper class defines a total dos, and also provides a list of PDos. #### pdos() -Dict of partial densities of the form {Site:Densities} +Dict of partial densities of the form {Site:Densities}. +Densities are a dict of {Orbital:Values} where Values are a list of floats. +Site is a pymatgen.core.sites.Site object. + + +* **Type** + + dict + * **Parameters** @@ -314,7 +326,7 @@ Dict of partial densities of the form {Site:Densities} * **total_dos** – total Dos for structure - * **pdoss** – The pdoss are supplied as an {Site: Densities}. + * **pdoses** – The pdoses are supplied as a dict of {Site: Densities}. @@ -836,7 +848,11 @@ for every frequency. **dct** – Dict representation. -Returns: GruneisenPhononBandStructureSymmLine + +* **Returns** + + GruneisenPhononBandStructureSymmLine + ## pymatgen.phonon.ir_spectra module @@ -1193,31 +1209,69 @@ Bases: `object` Class to plot Gruneisenparameter Object. -Class to plot information from Gruneisenparameter Object -:param gruneisen: GruneisenParameter Object. +Class to plot information from Gruneisenparameter Object. + + +* **Parameters** + + **gruneisen** – GruneisenParameter Object. + #### get_plot(marker='o', markersize=None, units='thz') -Will produce a plot -:param marker: marker for the depiction -:param markersize: size of the marker -:param units: unit for the plots, accepted units: thz, ev, mev, ha, cm-1, cm^-1. +Will produce a plot. + + +* **Parameters** + + + * **marker** – marker for the depiction + + + * **markersize** – size of the marker + + + * **units** – unit for the plots, accepted units: thz, ev, mev, ha, cm-1, cm^-1. + + + +* **Returns** + + matplotlib axes object + + + +* **Return type** + + plt.Axes -Returns: plot #### save_plot(filename, img_format='pdf', units='thz') -Will save the plot to a file -:param filename: name of the filename -:param img_format: format of the saved plot -:param units: accepted units: thz, ev, mev, ha, cm-1, cm^-1. +Will save the plot to a file. + + +* **Parameters** + + + * **filename** – name of the filename + + + * **img_format** – format of the saved plot + + + * **units** – accepted units: thz, ev, mev, ha, cm-1, cm^-1. + #### show(units='thz') -Will show the plot -:param units: units for the plot, accepted units: thz, ev, mev, ha, cm-1, cm^-1. +Will show the plot. + + +* **Parameters** + + **units** – units for the plot, accepted units: thz, ev, mev, ha, cm-1, cm^-1. -Returns: plot ### _class_ PhononBSPlotter(bs) @@ -1241,7 +1295,7 @@ eigenvector. Convert the eigendisplacements to rgb colors. -#### _maketicks(ax: Axes) +#### _make_ticks(ax: Axes) Utility private method to add ticks to a band structure. @@ -1585,7 +1639,7 @@ Plots a thermodynamic property for a generic function from a PhononDos instance. the units. - * **ax** – matplotlib `Axes` or None if a new figure should be created. + * **ax** – matplotlib Axes or None if a new figure should be created. * **ylabel** – label for the y axis @@ -2096,29 +2150,84 @@ An earlier implementation based on Matlab can be found here: #### _property_ B() Computation as described in R. W. Grosse-Kunstleve, P. D. Adams, J Appl Cryst 2002, 35, 477-480. -Returns: B as a numpy array, first dimension are the atoms in the structure. + + +* **Returns** + + First dimension are the atoms in the structure. + + + +* **Return type** + + np.array + #### _property_ U1U2U3() Computation as described in R. W. Grosse-Kunstleve, P. D. Adams, J Appl Cryst 2002, 35, 477-480. -Returns: numpy array of eigenvalues of Ucart, first dimension are the atoms in the structure. + + +* **Returns** + + eigenvalues of Ucart. First dimension are the atoms in the structure. + + + +* **Return type** + + np.array + #### _property_ Ucif() Computation as described in R. W. Grosse-Kunstleve, P. D. Adams, J Appl Cryst 2002, 35, 477-480. -Returns: Ucif as a numpy array, first dimension are the atoms in the structure. + + +* **Returns** + + Ucif as array. First dimension are the atoms in the structure. + + + +* **Return type** + + np.array + #### _property_ Ustar() Computation as described in R. W. Grosse-Kunstleve, P. D. Adams, J Appl Cryst 2002, 35, 477-480. -Returns: Ustar as a numpy array, first dimension are the atoms in the structure. + + +* **Returns** + + Ustar as array. First dimension are the atoms in the structure. + + + +* **Return type** + + np.array + #### _static_ _angle_dot(a, b) #### _property_ beta() Computation as described in R. W. Grosse-Kunstleve, P. D. Adams, J Appl Cryst 2002, 35, 477-480. -Returns: beta as a numpy array, first dimension are the atoms in the structure. + + +* **Returns** + + First dimension are the atoms in the structure. + + + +* **Return type** + + np.array + #### compute_directionality_quality_criterion(other) @@ -2184,10 +2293,19 @@ Starting from a numpy array, it will convert Ucif values into Ucart values and i #### _static_ from_cif_P1(filename: str) Reads a cif with P1 symmetry including positions and ADPs. -Currently, no check of symmetry is performed as CifParser methods cannot be easily reused -:param filename: Filename of the cif. +Currently, no check of symmetry is performed as CifParser methods cannot be easily reused. + + +* **Parameters** + + **filename** – Filename of the CIF. + + + +* **Returns** + + ThermalDisplacementMatrices -Returns: ThermalDisplacementMatrices Object. #### _static_ from_structure_with_site_properties_Ucif(structure: [Structure](pymatgen.core.md#pymatgen.core.structure.Structure), temperature: float | None = None) @@ -2206,7 +2324,11 @@ Will create this object with the help of a structure with site properties. * **temperature** – temperature for Ucif data -Returns: ThermalDisplacementMatrices Object. + +* **Returns** + + ThermalDisplacementMatrices + #### _static_ get_full_matrix(thermal_displacement) @@ -2255,7 +2377,11 @@ def sort_order(site): new_structure0 = Structure.from_sites(sorted(structure0, key=sort_order)). -Returns: Structure object. + +* **Returns** + + Structure + #### visualize_directionality_quality_criterion(other, filename: str = 'visualization.vesta', which_structure: int = 0) diff --git a/docs/pymatgen.symmetry.md b/docs/pymatgen.symmetry.md index d166b855ff1..0ecc918ecb3 100644 --- a/docs/pymatgen.symmetry.md +++ b/docs/pymatgen.symmetry.md @@ -292,7 +292,7 @@ symmops. -#### inversion_op(_ = Rot: [[-1. -0. -0.] [-0. -1. -0.] [-0. -0. -1.]] tau [0. 0. 0._ ) +#### inversion_op(_ = SymmOp(affine_matrix=array([[-1., -0., -0., 0.], [-0., -1., -0., 0.], [-0., -0., -1., 0.], [-0., -0., -0., 1.]])_ ) #### is_valid_op(symmop) Check if a particular symmetry operation is a valid symmetry operation for a @@ -371,6 +371,12 @@ Defines a point group, which is essentially a sequence of symmetry operations. Schoenflies symbol of the point group. +* **Type** + + str + + + * **Parameters** @@ -803,7 +809,7 @@ have been grouped into symmetrically equivalent groups. * **Returns** - `pymatgen.symmetry.structure.SymmetrizedStructure` object. + pymatgen.symmetry.structure.SymmetrizedStructure object. @@ -1002,7 +1008,7 @@ symmetrized molecule * **tolerance** (*float*) – Tolerance for detecting symmetry. Gets passed as Argument into - `PointGroupAnalyzer`. + ~pymatgen.analyzer.symmetry.PointGroupAnalyzer. * **epsilon** (*float*) – If the elementwise absolute difference of two @@ -1216,14 +1222,31 @@ Class representing a Point Group, with generators and symmetry operations. Full International or Hermann-Mauguin Symbol. +* **Type** + + str + + + #### generators() -List of generator matrices. Note that 3x3 matrices are used for Point -Groups. +List of generator matrices. Note that 3x3 matrices are used for Point Groups. + + +* **Type** + + list + #### symmetry_ops() Full set of symmetry operations as matrices. + +* **Type** + + list + + Initializes a Point Group from its international symbol. @@ -1245,17 +1268,40 @@ Class representing a SpaceGroup. Full International or Hermann-Mauguin Symbol. +* **Type** + + str + + + #### int_number() -International number +International number. + + +* **Type** + + int + #### generators() -List of generator matrices. Note that 4x4 matrices are used for Space -Groups. +List of generator matrices. Note that 4x4 matrices are used for Space Groups. + + +* **Type** + + list + #### order() -Order of Space Group +Order of Space Group. + + +* **Type** + + int + Initializes a Space Group from its full or abbreviated international symbol. Only standard settings are supported. @@ -1302,6 +1348,12 @@ True if this group is a subgroup of the supplied group. +* **Return type** + + bool + + + #### is_supergroup(subgroup: SymmetryGroup) True if this group is a supergroup of the supplied group. @@ -1318,6 +1370,12 @@ True if this group is a supergroup of the supplied group. +* **Return type** + + bool + + + #### _abstract property_ symmetry_ops(_: set[[SymmOp](pymatgen.core.md#pymatgen.core.operations.SymmOp)_ ) Returns: List of symmetry operations associated with the group. @@ -1393,28 +1451,28 @@ Bases: `object` This is the base class for classes used to generate high-symmetry paths in reciprocal space (k-paths) for band structure calculations. -Args: -structure (Structure): Structure object. -symprec (float): Tolerance for symmetry finding. -angle_tolerance (float): Angle tolerance for symmetry finding. -atol (float): Absolute tolerance used to compare structures -> and determine symmetric equivalence of points and lines in the BZ. +* **Parameters** + + + * **structure** ([*Structure*](pymatgen.core.md#pymatgen.core.structure.Structure)) – Structure object. + + + * **symprec** (*float*) – Tolerance for symmetry finding. + * **angle_tolerance** (*float*) – Angle tolerance for symmetry finding. + -``` -* -``` + * **atol** (*float*) – Absolute tolerance used to compare structures + and determine symmetric equivalence of points and lines in the BZ. -args: Other arguments supported by subclasses. + * **\*args** – Other arguments supported by subclasses. -``` -** -``` -kwargs: Other keyword arguments supported by subclasses. + * **\*\*kwargs** – Other keyword arguments supported by subclasses. + #### _abc_impl(_ = <_abc._abc_data object_ ) @@ -2043,9 +2101,17 @@ where the spacegroup and symmetry operations are defined. This class is typically not called but instead is typically obtained by calling pymatgen.symmetry.analyzer.SpacegroupAnalyzer.get_symmetrized_structure. - +#### equivalent_indices() +A list of lists of indices of the sites in the structure that are +considered equivalent based on the symmetry operations of the space group. + + +* **Type** + + list[List[int]] + + * **Parameters** @@ -2065,6 +2131,8 @@ indices of structure grouped by equivalency --> #### _abc_impl(_ = <_abc._abc_data object_ ) +#### _properties(_: dic_ ) + #### _sites(_: tuple[[PeriodicSite](pymatgen.core.md#pymatgen.core.sites.PeriodicSite), ..._ ) #### as_dict() @@ -2113,8 +2181,4 @@ Finds all symmetrically equivalent sites for a particular site. * **Returns** - SymmetrizedStructure - - - -#### properties(_: dic_ ) \ No newline at end of file + SymmetrizedStructure \ No newline at end of file diff --git a/docs/pymatgen.transformations.md b/docs/pymatgen.transformations.md index b906af77392..345fcf1a0ce 100644 --- a/docs/pymatgen.transformations.md +++ b/docs/pymatgen.transformations.md @@ -81,7 +81,17 @@ Use AdsorbateSiteFinder to add an absorbate to a slab. -Returns: Slab with adsorbate + +* **Returns** + + with adsorbate + + + +* **Return type** + + [Slab](pymatgen.core.md#pymatgen.core.surface.Slab) + #### _property_ inverse() @@ -349,7 +359,7 @@ A transformation that performs doping of a structure. any sites which are not - * **\*\*kwargs** – Same keyword args as `EnumerateStructureTransformation`, + * **\*\*kwargs** – Same keyword args as EnumerateStructureTransformation, i.e., min_cell_size, etc. @@ -633,12 +643,10 @@ Applies the transformation. * **return_ranked_list** (*bool** | **int**, **optional*) – If return_ranked_list is int, that number of structures - is returned. If False, only the single lowest energy structure is returned. Defaults to False. - * **Returns** Grain boundary Structures. @@ -719,7 +727,7 @@ approximation first. global order parameter and can take values from 0.0 to 1.0 (e.g. 0.5 for antiferromagnetic or 1.0 for ferromagnetic), if list has to be a list of - `pymatgen.transformations.advanced_transformations.MagOrderParameterConstraint` + pymatgen.transformations.advanced_transformations.MagOrderParameterConstraint to specify more complicated orderings, see documentation for MagOrderParameterConstraint more details on usage @@ -734,7 +742,7 @@ approximation first. * **kwargs** – Additional kwargs that are passed to -`EnumerateStructureTransformation` such as min_cell_size etc. +EnumerateStructureTransformation such as min_cell_size etc. #### _abc_impl(_ = <_abc._abc_data object_ ) @@ -939,9 +947,8 @@ structure for each substitution. Ordering is done using a dummy element so only one ordering must be done per substitution oxidation state. Charge balancing of the structure is optionally performed. -**NOTE**: There are no checks to make sure that removal fractions are possible -and rounding may occur. Currently charge balancing only works for -removal of species. +**NOTE**: There are no checks to make sure that removal fractions are possible and rounding +may occur. Currently charge balancing only works for removal of species. Performs multiple fractional substitutions on a transmuter. @@ -1086,8 +1093,13 @@ A transformation that creates a special quasirandom structure (SQS) from a struc #### _abc_impl(_ = <_abc._abc_data object_ ) #### _static_ _get_disordered_substructure(struc_disordered) -Converts disordered structure into a substructure consisting of only disordered sites -:param struc_disordered: pymatgen disordered Structure object. +Converts disordered structure into a substructure consisting of only disordered sites. + + +* **Parameters** + + **struc_disordered** – pymatgen disordered Structure object. + * **Returns** @@ -1097,11 +1109,18 @@ Converts disordered structure into a substructure consisting of only disordered #### _static_ _get_max_neighbor_distance(struct, shell) -Calculate maximum nearest neighbor distance -:param struct: pymatgen Structure object -:param shell: nearest neighbor shell, such that shell=1 is the first nearest +Calculate maximum nearest neighbor distance. + + +* **Parameters** + + + * **struct** – pymatgen Structure object + + + * **shell** – nearest neighbor shell, such that shell=1 is the first nearest + neighbor, etc. -> neighbor, etc. * **Returns** @@ -1113,7 +1132,7 @@ Calculate maximum nearest neighbor distance #### _static_ _get_unique_bestsqs_strucs(sqs, best_only, return_ranked_list, remove_duplicate_structures, reduction_algo) Gets unique sqs structures with lowest objective function. Requires an mcsqs output that has been run - in parallel, otherwise returns Sqs.bestsqs + in parallel, otherwise returns Sqs.bestsqs. * **Parameters** @@ -1156,9 +1175,17 @@ Gets unique sqs structures with lowest objective function. Requires an mcsqs out #### _static_ _sqs_cluster_estimate(struc_disordered, cluster_size_and_shell: dict[int, int] | None = None) -Set up an ATAT cluster.out file for a given structure and set of constraints -:param struc_disordered: disordered pymatgen Structure object -:param cluster_size_and_shell: dict of integers {cluster: shell}. +Set up an ATAT cluster.out file for a given structure and set of constraints. + + +* **Parameters** + + + * **struc_disordered** – disordered pymatgen Structure object + + + * **cluster_size_and_shell** – dict of integers {cluster: shell}. + * **Returns** @@ -1362,7 +1389,17 @@ per surface. Can substitute one surface or both. -Returns: Slab with sites substituted + +* **Returns** + + each dict has key β€˜structure’ which is a Slab with sites substituted + + + +* **Return type** + + list[dict] + #### _property_ inverse() @@ -2587,7 +2624,7 @@ computed. Given that the solution to selecting the right removals is NP-hard, there are several algorithms provided with varying degrees of accuracy and speed. Please see -`pymatgen.transformations.site_transformations.PartialRemoveSitesTransformation`. +pymatgen.transformations.site_transformations.PartialRemoveSitesTransformation. * **Parameters** diff --git a/docs/pymatgen.util.md b/docs/pymatgen.util.md index 2f2417c8542..1271743d8e4 100644 --- a/docs/pymatgen.util.md +++ b/docs/pymatgen.util.md @@ -365,12 +365,26 @@ Bases: `MSONable` A generalized simplex object. See [http://en.wikipedia.org/wiki/Simplex](http://en.wikipedia.org/wiki/Simplex). - - Initializes a Simplex from vertex coordinates. @@ -422,11 +436,20 @@ is in the facet. #### line_intersection(point1, point2, tolerance=1e-08) -Computes the intersection points of a line with a simplex -:param point1: Points that determine the line. -:type point1: [float] -:param point2: Points that determine the line. -:type point2: [float] +Computes the intersection points of a line with a simplex. + + +* **Parameters** + + + * **point1** (*Sequence**[**float**]*) – 1st point to determine the line. + + + * **point2** (*Sequence**[**float**]*) – 2nd point to determine the line. + + + * **tolerance** (*float*) – Tolerance for checking if an intersection is in the simplex. Defaults to 1e-8. + * **Returns** @@ -673,6 +696,12 @@ Tests if a particular coord is within a coord_list. +* **Return type** + + bool + + + ### in_coord_list_pbc(fcoord_list, fcoord, atol=1e-08, pbc=(True, True, True)) Tests if a particular fractional coord is within a fractional coord_list. @@ -700,6 +729,12 @@ Tests if a particular fractional coord is within a fractional coord_list. +* **Return type** + + bool + + + ### is_coord_subset(subset: ArrayLike, superset: ArrayLike, atol: float = 1e-08) Tests if all coords in subset are contained in superset. Doesn’t use periodic boundary conditions. @@ -724,6 +759,12 @@ Doesn’t use periodic boundary conditions. +* **Return type** + + bool + + + ### is_coord_subset_pbc(subset, superset, atol=1e-08, mask=None, pbc=(True, True, True)) Tests if all fractional coords in subset are contained in superset. @@ -756,6 +797,12 @@ Tests if all fractional coords in subset are contained in superset. +* **Return type** + + bool + + + ### lattice_points_in_supercell(supercell_matrix) Returns the list of points on the original lattice contained in the supercell in fractional coordinates (with the supercell basis). @@ -1327,28 +1374,6 @@ Author: Rickard Armiento, Ioannis Petousis This module provides utilities for basic math operations. -### abs_cap(val, max_abs_val=1) -Returns the value with its absolute value capped at max_abs_val. -Particularly useful in passing values to trigonometric functions where -numerical errors may result in an argument > 1 being passed in. - - -* **Parameters** - - - * **val** (*float*) – Input value. - - - * **max_abs_val** (*float*) – The maximum absolute value for val. Defaults to 1. - - - -* **Returns** - - val if abs(val) < 1 else sign of val \* max_abs_val. - - - ### make_symmetric_matrix_from_upper_tri(val) Given a symmetric matrix in upper triangular matrix form as flat array indexes as: [A_xx,A_yy,A_zz,A_xy,A_xz,A_yz] @@ -1356,45 +1381,10 @@ This will generate the full matrix: [[A_xx,A_xy,A_xz],[A_xy,A_yy,A_yz],[A_xz,A_yz,A_zz]. -### maxloc(seq) -Return the index of the (first) maximum in seq. - -```python ->>> assert maxloc([1,3,2,3]) == 1 -``` - - -### min_max_indexes(seq) -Uses enumerate, max, and min to return the indices of the values -in a list with the maximum and minimum value. - - -* **Parameters** - - **seq** – A sequence of numbers. - - - -### minloc(seq) -Return the index of the (first) minimum in seq. - -```python ->>> assert minloc(range(3)) == 0 -``` - - ### round_to_sigfigs(num, sig_figs) Rounds a number rounded to a specific number of significant figures instead of to a specific precision. - -### strictly_decreasing(values) -True if values are strictly decreasing. - - -### strictly_increasing(values) -True if values are strictly increasing. - ## pymatgen.util.numba module This module provides a wrapper for numba such that no functionality @@ -1437,7 +1427,7 @@ latex format for labelling purposes. -### get_ax3d_fig_plt(ax: Axes | None = None, \*\*kwargs) +### get_ax3d_fig(ax: plt.Axes = None, \*\*kwargs) Helper function used in plot functions supporting an optional Axes3D argument. If ax is None, we build the matplotlib figure and create the Axes3D else we return the current active figure. @@ -1455,19 +1445,17 @@ Axes3D else we return the current active figure. * **Returns** - `Axes` object - figure: matplotlib figure - plt: matplotlib pyplot module. + matplotlib Axes3D and corresponding figure objects * **Return type** - ax + tuple[Axes3D, Figure] -### get_ax_fig_plt(ax: Axes | None = None, \*\*kwargs) +### get_ax_fig(ax: Axes | None = None, \*\*kwargs) Helper function used in plot functions supporting an optional Axes argument. If ax is None, we build the matplotlib figure and create the Axes else we return the current active figure. @@ -1485,15 +1473,13 @@ we return the current active figure. * **Returns** - `Axes` object - figure: matplotlib figure - plt: matplotlib pyplot module. + matplotlib Axes object and Figure objects * **Return type** - ax + tuple[plt.Axes, plt.Figure] @@ -1506,7 +1492,7 @@ current active figure. * **Returns** - Array of `Axes` objects + Array of Axes objects figure: matplotlib figure plt: matplotlib pyplot module. @@ -1799,17 +1785,33 @@ A HistoryNode contains three fields: #### name() -The name of a code or resource that this Structure encountered in -its history (String) +The name of a code or resource that this Structure encountered in its history. + + +* **Type** + + str + #### url() -The URL of that code/resource (String) +The URL of that code/resource. + + +* **Type** + + str + #### description() -A free-form description of how the code/resource is related to the -Structure (dict). +A free-form description of how the code/resource is related to the Structure. + + +* **Type** + + dict + Create new instance of HistoryNode(name, url, description) @@ -2205,12 +2207,27 @@ True if stream supports colors. Python cookbook, #475186. ### transformation_to_string(matrix, translation_vec=(0, 0, 0), components=('x', 'y', 'z'), c='', delim=',') -Convenience method. Given matrix returns string, e.g. x+2y+1/4 -:param matrix -:param translation_vec -:param components: either (β€˜x’, β€˜y’, β€˜z’) or (β€˜a’, β€˜b’, β€˜c’) -:param c: optional additional character to print (used for magmoms) -:param delim: delimiter. +Convenience method. Given matrix returns string, e.g. x+2y+1/4. + + +* **Parameters** + + + * **matrix** – A 3x3 matrix. + + + * **translation_vec** – A 3-element tuple representing the translation vector. Defaults to (0, 0, 0). + + + * **components** – A tuple of 3 strings representing the components. Either (β€˜x’, β€˜y’, β€˜z’) or (β€˜a’, β€˜b’, β€˜c’). + Defaults to (β€˜x’, β€˜y’, β€˜z’). + + + * **c** – An optional additional character to print (used for magmoms). Defaults to β€œβ€. + + + * **delim** – A delimiter. Defaults to β€œ,”. + * **Returns** diff --git a/pymatgen/core/__init__.py b/pymatgen/core/__init__.py index dcc6f4a8503..50157046248 100644 --- a/pymatgen/core/__init__.py +++ b/pymatgen/core/__init__.py @@ -32,7 +32,7 @@ __email__ = "pymatgen@googlegroups.com" __maintainer__ = "Shyue Ping Ong, Matthew Horton, Janosh Riebesell" __maintainer_email__ = "shyuep@gmail.com" -__version__ = "2023.9.2" +__version__ = "2023.9.25" SETTINGS_FILE = os.path.join(os.path.expanduser("~"), ".config", ".pmgrc.yaml") diff --git a/setup.py b/setup.py index 99a4b4da798..fedb4c12d83 100644 --- a/setup.py +++ b/setup.py @@ -28,7 +28,7 @@ include=["pymatgen.*", "pymatgen.analysis.*", "pymatgen.io.*", "pymatgen.ext.*", "cmd_line"], exclude=["pymatgen.*.tests", "pymatgen.*.*.tests", "pymatgen.*.*.*.tests"], ), - version="2023.9.10", + version="2023.9.25", python_requires=">=3.9", install_requires=[ "matplotlib>=1.5",