# {py:mod}`airsspy.jf.documents` ```{py:module} airsspy.jf.documents ``` ```{autodoc2-docstring} airsspy.jf.documents :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`RelaxOutcome ` - ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome :summary: ``` * - {py:obj}`AirssResultDoc ` - ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc :summary: ``` * - {py:obj}`AirssJobDoc ` - ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc :summary: ``` ```` ### API `````{py:class} RelaxOutcome() :canonical: airsspy.jf.documents.RelaxOutcome Bases: {py:obj}`str`, {py:obj}`enum.Enum` ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.__init__ ``` ````{py:attribute} FINISHED :canonical: airsspy.jf.documents.RelaxOutcome.FINISHED :value: > 'finished' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.FINISHED ``` ```` ````{py:attribute} TIMEDOUT :canonical: airsspy.jf.documents.RelaxOutcome.TIMEDOUT :value: > 'timedout' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.TIMEDOUT ``` ```` ````{py:attribute} ERRORED :canonical: airsspy.jf.documents.RelaxOutcome.ERRORED :value: > 'errored' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.ERRORED ``` ```` ````{py:attribute} FAILED :canonical: airsspy.jf.documents.RelaxOutcome.FAILED :value: > 'failed' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.FAILED ``` ```` ````{py:attribute} UNDETERMINED :canonical: airsspy.jf.documents.RelaxOutcome.UNDETERMINED :value: > 'undetermined' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.UNDETERMINED ``` ```` ````{py:attribute} CYCLE_EXCEEDED :canonical: airsspy.jf.documents.RelaxOutcome.CYCLE_EXCEEDED :value: > 'cycle_exceeded' ```{autodoc2-docstring} airsspy.jf.documents.RelaxOutcome.CYCLE_EXCEEDED ``` ```` ````` `````{py:class} AirssResultDoc(/, **data: typing.Any) :canonical: airsspy.jf.documents.AirssResultDoc Bases: {py:obj}`pydantic.BaseModel` ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.__init__ ``` ````{py:attribute} struct_name :canonical: airsspy.jf.documents.AirssResultDoc.struct_name :type: str :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.struct_name ``` ```` ````{py:attribute} seed_name :canonical: airsspy.jf.documents.AirssResultDoc.seed_name :type: str :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.seed_name ``` ```` ````{py:attribute} project_name :canonical: airsspy.jf.documents.AirssResultDoc.project_name :type: str :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.project_name ``` ```` ````{py:attribute} structure :canonical: airsspy.jf.documents.AirssResultDoc.structure :type: typing.Optional[pymatgen.core.Structure] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.structure ``` ```` ````{py:attribute} initial_structure :canonical: airsspy.jf.documents.AirssResultDoc.initial_structure :type: typing.Optional[pymatgen.core.Structure] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.initial_structure ``` ```` ````{py:attribute} energy :canonical: airsspy.jf.documents.AirssResultDoc.energy :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.energy ``` ```` ````{py:attribute} energy_per_atom :canonical: airsspy.jf.documents.AirssResultDoc.energy_per_atom :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.energy_per_atom ``` ```` ````{py:attribute} volume :canonical: airsspy.jf.documents.AirssResultDoc.volume :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.volume ``` ```` ````{py:attribute} pressure :canonical: airsspy.jf.documents.AirssResultDoc.pressure :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.pressure ``` ```` ````{py:attribute} spin :canonical: airsspy.jf.documents.AirssResultDoc.spin :type: float :value: > 0.0 ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.spin ``` ```` ````{py:attribute} mod_spin :canonical: airsspy.jf.documents.AirssResultDoc.mod_spin :type: float :value: > 0.0 ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.mod_spin ``` ```` ````{py:attribute} symmetry :canonical: airsspy.jf.documents.AirssResultDoc.symmetry :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.symmetry ``` ```` ````{py:attribute} formula :canonical: airsspy.jf.documents.AirssResultDoc.formula :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.formula ``` ```` ````{py:attribute} reduced_formula :canonical: airsspy.jf.documents.AirssResultDoc.reduced_formula :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.reduced_formula ``` ```` ````{py:attribute} natoms :canonical: airsspy.jf.documents.AirssResultDoc.natoms :type: typing.Optional[int] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.natoms ``` ```` ````{py:attribute} res_content :canonical: airsspy.jf.documents.AirssResultDoc.res_content :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.res_content ``` ```` ````{py:attribute} parallel_efficiency :canonical: airsspy.jf.documents.AirssResultDoc.parallel_efficiency :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.parallel_efficiency ``` ```` ````{py:attribute} total_time :canonical: airsspy.jf.documents.AirssResultDoc.total_time :type: typing.Optional[float] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.total_time ``` ```` ````{py:attribute} relax_status :canonical: airsspy.jf.documents.AirssResultDoc.relax_status :type: airsspy.jf.documents.RelaxOutcome :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.relax_status ``` ```` ````{py:attribute} error_message :canonical: airsspy.jf.documents.AirssResultDoc.error_message :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.error_message ``` ```` ````{py:attribute} rem_lines :canonical: airsspy.jf.documents.AirssResultDoc.rem_lines :type: typing.Optional[list[str]] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssResultDoc.rem_lines ``` ```` ````` `````{py:class} AirssJobDoc(/, **data: typing.Any) :canonical: airsspy.jf.documents.AirssJobDoc Bases: {py:obj}`pydantic.BaseModel` ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.__init__ ``` ````{py:attribute} project_name :canonical: airsspy.jf.documents.AirssJobDoc.project_name :type: str :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.project_name ``` ```` ````{py:attribute} seed_name :canonical: airsspy.jf.documents.AirssJobDoc.seed_name :type: str :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.seed_name ``` ```` ````{py:attribute} job_type :canonical: airsspy.jf.documents.AirssJobDoc.job_type :type: str :value: > 'search' ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.job_type ``` ```` ````{py:attribute} seed_content :canonical: airsspy.jf.documents.AirssJobDoc.seed_content :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.seed_content ``` ```` ````{py:attribute} seed_hash :canonical: airsspy.jf.documents.AirssJobDoc.seed_hash :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.seed_hash ``` ```` ````{py:attribute} param_content :canonical: airsspy.jf.documents.AirssJobDoc.param_content :type: typing.Optional[str] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.param_content ``` ```` ````{py:attribute} results :canonical: airsspy.jf.documents.AirssJobDoc.results :type: list[airsspy.jf.documents.AirssResultDoc] :value: > 'Field(...)' ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.results ``` ```` ````{py:attribute} n_structures :canonical: airsspy.jf.documents.AirssJobDoc.n_structures :type: int :value: > 0 ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.n_structures ``` ```` ````{py:attribute} n_finished :canonical: airsspy.jf.documents.AirssJobDoc.n_finished :type: int :value: > 0 ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.n_finished ``` ```` ````{py:attribute} n_errored :canonical: airsspy.jf.documents.AirssJobDoc.n_errored :type: int :value: > 0 ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.n_errored ``` ```` ````{py:attribute} n_failed :canonical: airsspy.jf.documents.AirssJobDoc.n_failed :type: int :value: > 0 ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.n_failed ``` ```` ````{py:attribute} n_timedout :canonical: airsspy.jf.documents.AirssJobDoc.n_timedout :type: int :value: > 0 ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.n_timedout ``` ```` ````{py:attribute} created_on :canonical: airsspy.jf.documents.AirssJobDoc.created_on :type: typing.Optional[datetime.datetime] :value: > None ```{autodoc2-docstring} airsspy.jf.documents.AirssJobDoc.created_on ``` ```` `````