:py:mod:`aiida_sssp_workflow.workflows.convergence.base` ======================================================== .. py:module:: aiida_sssp_workflow.workflows.convergence.base .. autoapi-nested-parse:: The base convergence WorkChain Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: aiida_sssp_workflow.workflows.convergence.base.BaseConvergenceWorkChain Attributes ~~~~~~~~~~ .. autoapisummary:: aiida_sssp_workflow.workflows.convergence.base.CreateEvaluateWorkChain aiida_sssp_workflow.workflows.convergence.base.OptimizationWorkChain aiida_sssp_workflow.workflows.convergence.base.UpfData aiida_sssp_workflow.workflows.convergence.base.PARA_ECUTWFC_LIST aiida_sssp_workflow.workflows.convergence.base.PARA_ECUTRHO_LIST .. py:data:: CreateEvaluateWorkChain .. py:data:: OptimizationWorkChain .. py:data:: UpfData .. py:data:: PARA_ECUTWFC_LIST .. py:data:: PARA_ECUTRHO_LIST .. py:class:: BaseConvergenceWorkChain(inputs: Optional[dict] = None, logger: Optional[logging.Logger] = None, runner: Optional[aiida.engine.runners.Runner] = None, enable_persistence: bool = True) Bases: :py:obj:`aiida.engine.WorkChain` Meta WorkChain to run convergence test .. py:attribute:: __metaclass__ .. py:attribute:: _TOLERANCE :annotation: = 0.1 .. py:attribute:: _CONV_THR_CONV :annotation: = 0.1 .. py:attribute:: _CONV_WINDOW :annotation: = 3 .. py:method:: define(cls, spec) :classmethod: Define the process specification. .. py:method:: _get_protocol(self) Load and read protocol from faml file to a verbose dict .. py:method:: setup_protocol(self) :abstractmethod: For different convergence sub-workflow implement only needed parameters from protocol. .. py:method:: get_create_process(self) :abstractmethod: the create process .. py:method:: get_evaluate_process(self) :abstractmethod: the evaluate process .. py:method:: get_parsed_results(self) -> Dict[str, str] :abstractmethod: Defined the return values will be recorded in output_parameters This method return a dict with keys as name of results and values as the unit of corresponding results. The results are read from the evaluate helper function defined in `get_evaluate_process`. .. py:method:: get_converge_y(self) -> Tuple[str, Tuple[str, str]] :abstractmethod: The name of value in the output of evaluate process, use in as the convergence value. The first element of tuple is the name of the value and the second is a tuple of (, ). .. py:method:: init_step(self) A empty initial step which customized by user .. py:method:: final_step(self) A empty final step which customized by user .. py:method:: setup(self) setup .. py:method:: validate_structure(self) validate structure .. py:method:: run_ref(self) Running the calculation for the reference point hard code to 200Ry at the moment .. py:method:: get_create_process_inputs(self) -> Dict[str, Any] :abstractmethod: The inputs used to running the create workflow Normally the corresponding property evaluation workflow. .. py:method:: get_evaluate_process_inputs(self) -> Dict[str, Any] :abstractmethod: The inputs used to running the evaluate workflow Including inputs not passed from the previous create workflow Normally the reference value of `run_ref` step. .. py:method:: get_output_input_mapping(self) -> aiida.orm.Dict :abstractmethod: return output_input_mapping from create workflow to evaluate workflow .. py:method:: run_all(self) Running the calculation for other points .. py:method:: results(self) doc