:py:mod:`aiida_vasp.workchains.v2.relax` ======================================== .. py:module:: aiida_vasp.workchains.v2.relax .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax :allowtitles: Module Contents --------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`VaspRelaxWorkChain ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain :summary: * - :py:obj:`VaspMultiStageRelaxWorkChain ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain :summary: Functions ~~~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`compare_structures ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.compare_structures :summary: * - :py:obj:`get_step_structure ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.get_step_structure :summary: * - :py:obj:`detect_tetrahedral_method ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.detect_tetrahedral_method :summary: * - :py:obj:`get_maximum_force ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.get_maximum_force :summary: Data ~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`__version__ ` - .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.__version__ :summary: API ~~~ .. py:data:: __version__ :canonical: aiida_vasp.workchains.v2.relax.__version__ :value: '0.5.0' .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.__version__ .. py:class:: VaspRelaxWorkChain(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True) :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain Bases: :py:obj:`aiida.engine.WorkChain`, :py:obj:`aiida_vasp.workchains.v2.mixins.WithBuilderUpdater`, :py:obj:`aiida_vasp.protocols.ProtocolMixin` .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain .. rubric:: Initialization .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.__init__ .. py:attribute:: _verbose :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._verbose :type: bool :value: True .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._verbose .. py:attribute:: _base_workchain_string :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._base_workchain_string :type: str :value: 'vasp.v2.vasp' .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._base_workchain_string .. py:attribute:: _base_workchain :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._base_workchain :value: 'WorkflowFactory(...)' .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._base_workchain .. py:attribute:: option_class :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.option_class :value: None .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.option_class .. py:attribute:: _protocol_tag :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._protocol_tag :type: str :value: 'relax' .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._protocol_tag .. py:method:: define(spec: aiida.engine.ProcessSpec) -> None :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.define :classmethod: .. py:method:: get_builder_from_protocol(code: aiida.orm.AbstractCode, structure: aiida.orm.StructureData, protocol=None, overrides=None, options=None, relax_settings=None, **kwargs) :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.get_builder_from_protocol :classmethod: .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.get_builder_from_protocol .. py:method:: initialize() -> None :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.initialize .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.initialize .. py:method:: _check_input_parameters() -> None :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._check_input_parameters .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._check_input_parameters .. py:method:: _init_relax_input_additions() -> aiida.common.extendeddicts.AttributeDict :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._init_relax_input_additions .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain._init_relax_input_additions .. py:method:: run_next_relax() -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_next_relax .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_next_relax .. py:method:: run_relax() -> aiida.engine.ToContext :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_relax .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_relax .. py:method:: run_static_calculation() -> aiida.engine.ToContext :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_static_calculation .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.run_static_calculation .. py:method:: verify_next_workchain() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.verify_next_workchain .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.verify_next_workchain .. py:method:: verify_last_relax() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.verify_last_relax .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.verify_last_relax .. py:method:: analyze_convergence() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.analyze_convergence .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.analyze_convergence .. py:method:: check_shape_convergence(delta: aiida.common.extendeddicts.AttributeDict) -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_shape_convergence .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_shape_convergence .. py:method:: check_volume_convergence(delta: aiida.common.extendeddicts.AttributeDict) -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_volume_convergence .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_volume_convergence .. py:method:: check_positions_convergence(delta: aiida.common.extendeddicts.AttributeDict) -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_positions_convergence .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.check_positions_convergence .. py:method:: store_relaxed() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.store_relaxed .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.store_relaxed .. py:method:: results() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.results .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.results .. py:method:: finalize() -> None :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.finalize .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.finalize .. py:method:: perform_relaxation() -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.perform_relaxation .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.perform_relaxation .. py:method:: should_run_static_calculation() -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.should_run_static_calculation .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.should_run_static_calculation .. py:method:: is_verbose() -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.is_verbose .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.is_verbose .. py:method:: relax_option_class() -> aiida_vasp.utils.opthold.RelaxOptions :canonical: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.relax_option_class .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspRelaxWorkChain.relax_option_class .. py:function:: compare_structures(structure_a: aiida.orm.StructureData, structure_b: aiida.orm.StructureData) -> aiida.common.extendeddicts.AttributeDict :canonical: aiida_vasp.workchains.v2.relax.compare_structures .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.compare_structures .. py:function:: get_step_structure(traj: aiida.orm.TrajectoryData, step: int) -> aiida.orm.StructureData :canonical: aiida_vasp.workchains.v2.relax.get_step_structure .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.get_step_structure .. py:function:: detect_tetrahedral_method(input_dict: dict) -> bool :canonical: aiida_vasp.workchains.v2.relax.detect_tetrahedral_method .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.detect_tetrahedral_method .. py:class:: VaspMultiStageRelaxWorkChain(inputs: dict | None = None, logger: logging.Logger | None = None, runner: aiida.engine.runners.Runner | None = None, enable_persistence: bool = True) :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain Bases: :py:obj:`aiida.engine.WorkChain`, :py:obj:`aiida_vasp.workchains.v2.mixins.WithBuilderUpdater` .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain .. rubric:: Initialization .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.__init__ .. py:attribute:: _base_workchain :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain._base_workchain :value: None .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain._base_workchain .. py:method:: define(spec: aiida.engine.ProcessSpec) -> None :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.define :classmethod: .. py:method:: setup() -> None :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.setup .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.setup .. py:method:: should_run_stage() -> bool :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.should_run_stage .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.should_run_stage .. py:method:: run_stage() -> aiida.engine.ToContext :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.run_stage .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.run_stage .. py:method:: inspect_stage() -> None | aiida.engine.ExitCode :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.inspect_stage .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.inspect_stage .. py:method:: results() -> None :canonical: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.results .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.VaspMultiStageRelaxWorkChain.results .. py:function:: get_maximum_force(forces: numpy.ndarray, dof=None) -> float :canonical: aiida_vasp.workchains.v2.relax.get_maximum_force .. autodoc2-docstring:: aiida_vasp.workchains.v2.relax.get_maximum_force