# {py:mod}`airsspy.ranking` ```{py:module} airsspy.ranking ``` ```{autodoc2-docstring} airsspy.ranking :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`StructureRecord ` - ```{autodoc2-docstring} airsspy.ranking.StructureRecord :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`apply_external_pressure ` - ```{autodoc2-docstring} airsspy.ranking.apply_external_pressure :summary: ``` * - {py:obj}`filter_by_name ` - ```{autodoc2-docstring} airsspy.ranking.filter_by_name :summary: ``` * - {py:obj}`filter_by_formula ` - ```{autodoc2-docstring} airsspy.ranking.filter_by_formula :summary: ``` * - {py:obj}`filter_by_formula_units ` - ```{autodoc2-docstring} airsspy.ranking.filter_by_formula_units :summary: ``` * - {py:obj}`filter_by_species_number ` - ```{autodoc2-docstring} airsspy.ranking.filter_by_species_number :summary: ``` * - {py:obj}`filter_by_ions_number ` - ```{autodoc2-docstring} airsspy.ranking.filter_by_ions_number :summary: ``` * - {py:obj}`fill_missing_spacegroups ` - ```{autodoc2-docstring} airsspy.ranking.fill_missing_spacegroups :summary: ``` * - {py:obj}`fill_dict_symm ` - ```{autodoc2-docstring} airsspy.ranking.fill_dict_symm :summary: ``` * - {py:obj}`read_res_stream ` - ```{autodoc2-docstring} airsspy.ranking.read_res_stream :summary: ``` * - {py:obj}`read_res_file ` - ```{autodoc2-docstring} airsspy.ranking.read_res_file :summary: ``` * - {py:obj}`read_extxyz_file ` - ```{autodoc2-docstring} airsspy.ranking.read_extxyz_file :summary: ``` * - {py:obj}`eliminate_similar ` - ```{autodoc2-docstring} airsspy.ranking.eliminate_similar :summary: ``` * - {py:obj}`infer_elements ` - ```{autodoc2-docstring} airsspy.ranking.infer_elements :summary: ``` * - {py:obj}`check_elemental_references ` - ```{autodoc2-docstring} airsspy.ranking.check_elemental_references :summary: ``` * - {py:obj}`records_to_pd_entries ` - ```{autodoc2-docstring} airsspy.ranking.records_to_pd_entries :summary: ``` * - {py:obj}`maxwell_construction ` - ```{autodoc2-docstring} airsspy.ranking.maxwell_construction :summary: ``` * - {py:obj}`prefilter_records ` - ```{autodoc2-docstring} airsspy.ranking.prefilter_records :summary: ``` * - {py:obj}`prune_pathological_records ` - ```{autodoc2-docstring} airsspy.ranking.prune_pathological_records :summary: ``` * - {py:obj}`rank_structures ` - ```{autodoc2-docstring} airsspy.ranking.rank_structures :summary: ``` * - {py:obj}`summary_structures ` - ```{autodoc2-docstring} airsspy.ranking.summary_structures :summary: ``` * - {py:obj}`format_header ` - ```{autodoc2-docstring} airsspy.ranking.format_header :summary: ``` * - {py:obj}`format_rank_line ` - ```{autodoc2-docstring} airsspy.ranking.format_rank_line :summary: ``` * - {py:obj}`plot_maxwell ` - ```{autodoc2-docstring} airsspy.ranking.plot_maxwell :summary: ``` * - {py:obj}`format_maxwell_header ` - ```{autodoc2-docstring} airsspy.ranking.format_maxwell_header :summary: ``` * - {py:obj}`format_maxwell_line ` - ```{autodoc2-docstring} airsspy.ranking.format_maxwell_line :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`logger ` - ```{autodoc2-docstring} airsspy.ranking.logger :summary: ``` ```` ### API ````{py:data} logger :canonical: airsspy.ranking.logger :value: > 'getLogger(...)' ```{autodoc2-docstring} airsspy.ranking.logger ``` ```` `````{py:class} StructureRecord :canonical: airsspy.ranking.StructureRecord ```{autodoc2-docstring} airsspy.ranking.StructureRecord ``` ````{py:attribute} label :canonical: airsspy.ranking.StructureRecord.label :type: str :value: > None ```{autodoc2-docstring} airsspy.ranking.StructureRecord.label ``` ```` ````{py:attribute} pressure :canonical: airsspy.ranking.StructureRecord.pressure :type: float :value: > None ```{autodoc2-docstring} airsspy.ranking.StructureRecord.pressure ``` ```` ````{py:attribute} volume :canonical: airsspy.ranking.StructureRecord.volume :type: float :value: > None ```{autodoc2-docstring} airsspy.ranking.StructureRecord.volume ``` ```` ````{py:attribute} enthalpy :canonical: airsspy.ranking.StructureRecord.enthalpy :type: float :value: > None ```{autodoc2-docstring} airsspy.ranking.StructureRecord.enthalpy ``` ```` ````{py:attribute} spin :canonical: airsspy.ranking.StructureRecord.spin :type: float :value: > 0.0 ```{autodoc2-docstring} airsspy.ranking.StructureRecord.spin ``` ```` ````{py:attribute} spin_abs :canonical: airsspy.ranking.StructureRecord.spin_abs :type: float :value: > 0.0 ```{autodoc2-docstring} airsspy.ranking.StructureRecord.spin_abs ``` ```` ````{py:attribute} natoms :canonical: airsspy.ranking.StructureRecord.natoms :type: int :value: > 0 ```{autodoc2-docstring} airsspy.ranking.StructureRecord.natoms ``` ```` ````{py:attribute} symm :canonical: airsspy.ranking.StructureRecord.symm :type: str :value: ```{autodoc2-docstring} airsspy.ranking.StructureRecord.symm ``` ```` ````{py:attribute} species_counts :canonical: airsspy.ranking.StructureRecord.species_counts :type: dict[str, int] :value: > 'field(...)' ```{autodoc2-docstring} airsspy.ranking.StructureRecord.species_counts ``` ```` ````{py:attribute} copies :canonical: airsspy.ranking.StructureRecord.copies :type: int :value: > 1 ```{autodoc2-docstring} airsspy.ranking.StructureRecord.copies ``` ```` ````{py:attribute} source :canonical: airsspy.ranking.StructureRecord.source :type: str :value: ```{autodoc2-docstring} airsspy.ranking.StructureRecord.source ``` ```` ````{py:property} reduced_formula :canonical: airsspy.ranking.StructureRecord.reduced_formula :type: str ```{autodoc2-docstring} airsspy.ranking.StructureRecord.reduced_formula ``` ```` ````{py:property} n_formula_units :canonical: airsspy.ranking.StructureRecord.n_formula_units :type: int ```{autodoc2-docstring} airsspy.ranking.StructureRecord.n_formula_units ``` ```` ````{py:property} enthalpy_per_fu :canonical: airsspy.ranking.StructureRecord.enthalpy_per_fu :type: float ```{autodoc2-docstring} airsspy.ranking.StructureRecord.enthalpy_per_fu ``` ```` ````{py:property} volume_per_fu :canonical: airsspy.ranking.StructureRecord.volume_per_fu :type: float ```{autodoc2-docstring} airsspy.ranking.StructureRecord.volume_per_fu ``` ```` ````` ````{py:function} apply_external_pressure(records: list[airsspy.ranking.StructureRecord], pressure_gpa: float) -> None :canonical: airsspy.ranking.apply_external_pressure ```{autodoc2-docstring} airsspy.ranking.apply_external_pressure ``` ```` ````{py:function} filter_by_name(records: list[airsspy.ranking.StructureRecord], pattern: str) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.filter_by_name ```{autodoc2-docstring} airsspy.ranking.filter_by_name ``` ```` ````{py:function} filter_by_formula(records: list[airsspy.ranking.StructureRecord], formula: str) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.filter_by_formula ```{autodoc2-docstring} airsspy.ranking.filter_by_formula ``` ```` ````{py:function} filter_by_formula_units(records: list[airsspy.ranking.StructureRecord], n_formula_units: int) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.filter_by_formula_units ```{autodoc2-docstring} airsspy.ranking.filter_by_formula_units ``` ```` ````{py:function} filter_by_species_number(records: list[airsspy.ranking.StructureRecord], species_number: int) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.filter_by_species_number ```{autodoc2-docstring} airsspy.ranking.filter_by_species_number ``` ```` ````{py:function} filter_by_ions_number(records: list[airsspy.ranking.StructureRecord], ions_number: int) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.filter_by_ions_number ```{autodoc2-docstring} airsspy.ranking.filter_by_ions_number ``` ```` ````{py:function} fill_missing_spacegroups(records: list[airsspy.ranking.StructureRecord], symprec: float = 0.01) -> None :canonical: airsspy.ranking.fill_missing_spacegroups ```{autodoc2-docstring} airsspy.ranking.fill_missing_spacegroups ``` ```` ````{py:function} fill_dict_symm(dicts: list[dict], symprec: float = 0.01) -> None :canonical: airsspy.ranking.fill_dict_symm ```{autodoc2-docstring} airsspy.ranking.fill_dict_symm ``` ```` ````{py:function} read_res_stream(stream: typing.TextIO) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.read_res_stream ```{autodoc2-docstring} airsspy.ranking.read_res_stream ``` ```` ````{py:function} read_res_file(path: str) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.read_res_file ```{autodoc2-docstring} airsspy.ranking.read_res_file ``` ```` ````{py:function} read_extxyz_file(path: str, energy_field: str | None = None, label_field: str | None = None, pressure_field: str | None = None) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.read_extxyz_file ```{autodoc2-docstring} airsspy.ranking.read_extxyz_file ``` ```` ````{py:function} eliminate_similar(records: list[airsspy.ranking.StructureRecord], threshold: float, cutoff: float = 4.0, zweight: bool = False) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.eliminate_similar ```{autodoc2-docstring} airsspy.ranking.eliminate_similar ``` ```` ````{py:function} infer_elements(records: list[airsspy.ranking.StructureRecord]) -> list[str] :canonical: airsspy.ranking.infer_elements ```{autodoc2-docstring} airsspy.ranking.infer_elements ``` ```` ````{py:function} check_elemental_references(records: list[airsspy.ranking.StructureRecord], elements: list[str]) -> list[str] :canonical: airsspy.ranking.check_elemental_references ```{autodoc2-docstring} airsspy.ranking.check_elemental_references ``` ```` ````{py:function} records_to_pd_entries(records: list[airsspy.ranking.StructureRecord]) -> list :canonical: airsspy.ranking.records_to_pd_entries ```{autodoc2-docstring} airsspy.ranking.records_to_pd_entries ``` ```` ````{py:function} maxwell_construction(records: list[airsspy.ranking.StructureRecord], elements: list[str] | None = None, delta_e: float | None = None, verbose: bool = True) -> tuple[list[dict], object] :canonical: airsspy.ranking.maxwell_construction ```{autodoc2-docstring} airsspy.ranking.maxwell_construction ``` ```` ````{py:function} prefilter_records(records: list[airsspy.ranking.StructureRecord], ethresh: float = 0.1) -> list[airsspy.ranking.StructureRecord] :canonical: airsspy.ranking.prefilter_records ```{autodoc2-docstring} airsspy.ranking.prefilter_records ``` ```` ````{py:function} prune_pathological_records(records: list[airsspy.ranking.StructureRecord], tail_fraction: float = 0.1, sigma_factor: float = 3.0, trim_count: int = 1, min_tail_size: int = 5) -> tuple[list[airsspy.ranking.StructureRecord], list[airsspy.ranking.StructureRecord], list[dict]] :canonical: airsspy.ranking.prune_pathological_records ```{autodoc2-docstring} airsspy.ranking.prune_pathological_records ``` ```` ````{py:function} rank_structures(records: list[airsspy.ranking.StructureRecord], delta_e: float | None = None, top_n: int | None = None, absolute: bool = False) -> list[dict] :canonical: airsspy.ranking.rank_structures ```{autodoc2-docstring} airsspy.ranking.rank_structures ``` ```` ````{py:function} summary_structures(records: list[airsspy.ranking.StructureRecord], delta_e: float | None = None) -> list[dict] :canonical: airsspy.ranking.summary_structures ```{autodoc2-docstring} airsspy.ranking.summary_structures ``` ```` ````{py:function} format_header(show_spin: bool = False, summary_mode: bool = False, long_labels: bool = False) -> str :canonical: airsspy.ranking.format_header ```{autodoc2-docstring} airsspy.ranking.format_header ``` ```` ````{py:function} format_rank_line(rec: dict, long_labels: bool = False, show_spin: bool = False, summary_mode: bool = False) -> str :canonical: airsspy.ranking.format_rank_line ```{autodoc2-docstring} airsspy.ranking.format_rank_line ``` ```` ````{py:function} plot_maxwell(ranked: list[dict], elements: list[str]) -> object :canonical: airsspy.ranking.plot_maxwell ```{autodoc2-docstring} airsspy.ranking.plot_maxwell ``` ```` ````{py:function} format_maxwell_header(show_spin: bool = False, long_labels: bool = False) -> str :canonical: airsspy.ranking.format_maxwell_header ```{autodoc2-docstring} airsspy.ranking.format_maxwell_header ``` ```` ````{py:function} format_maxwell_line(rec: dict, long_labels: bool = False, show_spin: bool = False) -> str :canonical: airsspy.ranking.format_maxwell_line ```{autodoc2-docstring} airsspy.ranking.format_maxwell_line ``` ````