diff --git a/docs/source/topics/workflows/index.md b/docs/source/topics/workflows/index.md index 11edc4cd5..3f083fb0d 100644 --- a/docs/source/topics/workflows/index.md +++ b/docs/source/topics/workflows/index.md @@ -10,6 +10,7 @@ ph pw/base pw/relax pw/bands +neb q2r pdos ``` diff --git a/docs/source/topics/workflows/neb.md b/docs/source/topics/workflows/neb.md new file mode 100644 index 000000000..ed62bdf00 --- /dev/null +++ b/docs/source/topics/workflows/neb.md @@ -0,0 +1,8 @@ +(topics-workflows-neb)= + +# `NebBaseWorkChain` + +```{eval-rst} +.. aiida-workchain:: NebBaseWorkChain + :module: aiida_quantumespresso.workflows.neb.base +``` diff --git a/pyproject.toml b/pyproject.toml index c92fb6b50..104eae865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -121,6 +121,7 @@ aiida-quantumespresso = 'aiida_quantumespresso.cli:cmd_root' 'quantumespresso.matdyn.base' = 'aiida_quantumespresso.workflows.matdyn.base:MatdynBaseWorkChain' 'quantumespresso.pdos' = 'aiida_quantumespresso.workflows.pdos:PdosWorkChain' 'quantumespresso.bands.base' = 'aiida_quantumespresso.workflows.bands.base:BandsBaseWorkChain' +'quantumespresso.neb.base' = 'aiida_quantumespresso.workflows.neb.base:NebBaseWorkChain' [tool.flit.module] name = 'aiida_quantumespresso' diff --git a/src/aiida_quantumespresso/calculations/neb.py b/src/aiida_quantumespresso/calculations/neb.py index 6ce12d7dc..2d665eaf2 100644 --- a/src/aiida_quantumespresso/calculations/neb.py +++ b/src/aiida_quantumespresso/calculations/neb.py @@ -5,12 +5,14 @@ import warnings from aiida import orm -from aiida.common import CalcInfo, CodeInfo, InputValidationError +from aiida.common import AttributeDict, CalcInfo, CodeInfo, InputValidationError from aiida.common.lang import classproperty from aiida.common.warnings import AiidaDeprecationWarning +import numpy as np from aiida_quantumespresso.calculations import _lowercase_dict, _pop_parser_options, _uppercase_dict from aiida_quantumespresso.calculations.pw import PwCalculation +from aiida_quantumespresso.calculations import BasePwCpInputGenerator from aiida_quantumespresso.utils.convert import convert_input_to_namelist_entry from .base import CalcJob @@ -29,6 +31,7 @@ class NebCalculation(CalcJob): _DEFAULT_OUTPUT_FILE = 'aiida.out' _PSEUDO_SUBFOLDER = PwCalculation._PSEUDO_SUBFOLDER # pylint: disable=protected-access _OUTPUT_SUBFOLDER = PwCalculation._OUTPUT_SUBFOLDER # pylint: disable=protected-access + _ENABLED_PARALLELIZATION_FLAGS = ('npool', 'nband', 'ntg', 'ndiag', 'nimage') # Keywords that cannot be set (for the PW input) _blocked_keywords = [] @@ -62,15 +65,29 @@ def define(cls, spec): spec.input('metadata.options.input_filename', valid_type=str, default=cls._DEFAULT_INPUT_FILE) spec.input('metadata.options.output_filename', valid_type=str, default=cls._DEFAULT_OUTPUT_FILE) spec.input('metadata.options.parser_name', valid_type=str, default='quantumespresso.neb') - spec.input('first_structure', valid_type=orm.StructureData, help='Initial structure') - spec.input('last_structure', valid_type=orm.StructureData, help='Final structure') + spec.input('first_structure', valid_type=orm.StructureData, help='Initial structure', required=False) + spec.input('last_structure', valid_type=orm.StructureData, help='Final structure', required=False) + spec.input('images', valid_type=orm.TrajectoryData, required=False, + help='Ordered trajectory of all NEB images along the reaction path, including' + 'initial, intermediate, and final configurations.') spec.input('parameters', valid_type=orm.Dict, help='NEB-specific input parameters') spec.input('settings', valid_type=orm.Dict, required=False, help='Optional parameters to affect the way the calculation job and the parsing are performed.') spec.input('parent_folder', valid_type=orm.RemoteData, required=False, help='An optional working directory of a previously completed calculation to restart from.') + spec.input('parallelization', valid_type=orm.Dict, required=False, + validator=lambda value, _: BasePwCpInputGenerator.validate_parallelization.__func__(cls, value, _), + help=( + 'Parallelization options. The following flags are allowed:\n' + '\n'.join( + f'{flag_name:<7}: {BasePwCpInputGenerator._PARALLELIZATION_FLAGS[flag_name]}' + for flag_name in cls._ENABLED_PARALLELIZATION_FLAGS + ) + )) # We reuse some inputs from PwCalculation to construct the PW-specific parts of the input files spec.expose_inputs(PwCalculation, namespace='pw', include=('parameters', 'pseudos', 'kpoints', 'vdw_table')) + + spec.inputs.validator = cls.validate_inputs + spec.output('output_parameters', valid_type=orm.Dict, help='The output parameters dictionary of the NEB calculation') spec.output('output_trajectory', valid_type=orm.TrajectoryData) @@ -78,18 +95,114 @@ def define(cls, spec): spec.output('output_mep', valid_type=orm.ArrayData, help='The original and interpolated energy profiles along the minimum-energy path (mep)') spec.default_output_node = 'output_parameters' - spec.exit_code(303, 'ERROR_MISSING_XML_FILE', + + spec.exit_code(303, 'ERROR_OUTPUT_XML_MISSING', message='The required XML file is not present in the retrieved folder.') + spec.exit_code(304, 'ERROR_OUTPUT_XML_MULTIPLE', + message='The retrieved folder contained multiple XML files.') + spec.exit_code(305, 'ERROR_OUTPUT_FILES', + message='Both the stdout and XML output files could not be read or parsed.') + spec.exit_code(310, 'ERROR_OUTPUT_STDOUT_READ', + message='The stdout output file could not be read.') spec.exit_code(320, 'ERROR_OUTPUT_XML_READ', message='The XML output file could not be read.') spec.exit_code(321, 'ERROR_OUTPUT_XML_PARSE', message='The XML output file could not be parsed.') spec.exit_code(322, 'ERROR_OUTPUT_XML_FORMAT', message='The XML output file has an unsupported format.') + spec.exit_code(340, 'ERROR_NEB_INTERRUPTED_WITHOUT_PARTIAL_TRAJECTORY', + message='The calculation was interrupted during first NEB minimization steps,' + 'no partial trajectory can be parsed.') spec.exit_code(350, 'ERROR_UNEXPECTED_PARSER_EXCEPTION', message='The parser raised an unexpected exception: {exception}') + + spec.exit_code(400, 'ERROR_OUT_OF_WALLTIME', + message='The calculation stopped prematurely because it ran out of walltime.') + spec.exit_code(410, 'ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED', + message='The electronic minimization cycle did not reach self-consistency.') + + spec.exit_code(461, 'ERROR_DEXX_IS_NEGATIVE', + message='The code failed with negative dexx in the exchange calculation.') + spec.exit_code(462, 'ERROR_COMPUTING_CHOLESKY', + message='The code failed during the cholesky factorization.') + spec.exit_code(463, 'ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED', + message='Too many bands failed to converge during the diagonalization.') + spec.exit_code(464, 'ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE', + message='The S matrix was found to be not positive definite.') + spec.exit_code(465, 'ERROR_ZHEGVD_FAILED', + message='The `zhegvd` failed in the PPCG diagonalization.') + spec.exit_code(466, 'ERROR_QR_FAILED', + message='The `[Q, R] = qr(X, 0)` failed in the PPCG diagonalization.') + spec.exit_code(467, 'ERROR_EIGENVECTOR_CONVERGENCE', + message='The eigenvector failed to converge.') + spec.exit_code(468, 'ERROR_BROYDEN_FACTORIZATION', + message='The factorization in the Broyden routine failed.') + + spec.exit_code(481, 'ERROR_NPOOLS_TOO_HIGH', + message='The k-point parallelization "npools" is too high, given the number of available processes.') + spec.exit_code(482, 'ERROR_NIMAGE_HIGHER_THAN_NPROC', + message='The number of images "nimage" is higher than the number of available processes.') + spec.exit_code(483, 'ERROR_NIMAGE_HIGHER_THAN_IMAGES', + message='The number of images "nimage" is higher than the number of images in the NEB path.') + spec.exit_code(484, 'ERROR_NIMAGE_NOT_DIVISOR_OF_NPROC', + message='The number of images "nimage" is not a divisor of the total number of processes.') + + spec.exit_code(502, 'ERROR_NEB_CYCLE_EXCEEDED_NSTEP', + message='The NEB minimization cycle did not converge after the maximum number of steps.') + spec.exit_code(503, 'ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY', + message='The NEB minimization cycle did not finish because the calculation was interrupted but a partial ' + 'trajectory and output structure was successfully parsed which can be used for a restart.' + ) # yapf: enable + @classmethod + def validate_inputs(cls, inputs, _): + """Validate the top-level inputs.""" + if 'images' not in inputs: + if 'first_structure' not in inputs or 'last_structure' not in inputs: + return 'Either the `images` input or both `first_structure` and `last_structure` must be provided.' + warnings.warn( + 'The `first_structure` and `last_structure` inputs input are deprecated' + 'and will be removed in a future release. Use `images` instead.', AiidaDeprecationWarning + ) + inputs['images'] = orm.TrajectoryData([inputs['first_structure'], inputs['last_structure']]) + elif 'first_structure' in inputs or 'last_structure' in inputs: + return 'Specify either `images` or both `first_structure` and `last_structure`, but not both.' + + num_images = len(inputs['images'].get_stepids()) + structure_list = [inputs['images'].get_step_structure(i) for i in range(num_images)] + for image_idx, structure in enumerate(structure_list[1:]): + # Check that all images have the same cell + if abs(np.array(structure_list[0].cell) - np.array(structure.cell)).max() > 1.e-4: + return f'Different cell in the first and image {image_idx+1}' + + # Check that all images have the same number of sites + if len(structure_list[0].sites) != len(structure.sites): + return f'Different number of sites in the first and image {image_idx+1}' + + # Check that all images have the same kinds + if structure_list[0].get_site_kindnames() != structure.get_site_kindnames(): + return f'Mismatch between the kind names and/or order between the first and image {image_idx+1}' + + # Check that a pseudo potential was specified for each kind present in the `StructureData` + # self.inputs.pw.pseudos is a plumpy.utils.AttributesFrozendict + kindnames = [kind.name for kind in structure_list[0].kinds] + if set(kindnames) != set(inputs['pw']['pseudos'].keys()): + formatted_pseudos = ', '.join(list(inputs['pw']['pseudos'].keys())) + formatted_kinds = ', '.join(list(kindnames)) + return 'Mismatch between the defined pseudos and the list of kinds of the structure.\n' \ + f'Pseudos: {formatted_pseudos};\nKinds: {formatted_kinds}' + + #validate nimages + num_of_images = int(inputs['parameters']['PATH'].get('num_of_images', 3)) + ni = int(inputs.get('parallelization', {}).get('nimage', 1)) + first_last_opt = bool(inputs['parameters']['PATH'].get('first_last_opt', False)) + + max_ni = num_of_images if first_last_opt else num_of_images - 2 + if ni > max_ni: + return f'The specified nimage {ni} parallelization is higher than the number of images {max_ni}.' + cls.inputs = AttributeDict(inputs) + @classmethod def _generate_input_files(cls, neb_parameters, settings_dict): """Generate the input data for the NEB part of the calculation.""" @@ -158,7 +271,7 @@ def _generate_input_files(cls, neb_parameters, settings_dict): f'type of calculation: {",".join(list(input_params.keys()))}' ) - return input_data + return input_data, namelist def prepare_for_submission(self, folder): """Prepare the calculation job for submission by transforming input nodes into input files. @@ -171,7 +284,6 @@ def prepare_for_submission(self, folder): :return: :class:`~aiida.common.datastructures.CalcInfo` instance. """ # pylint: disable=too-many-branches,too-many-statements - import numpy as np local_copy_list = [] remote_copy_list = [] @@ -189,38 +301,8 @@ def prepare_for_submission(self, folder): else: settings_dict = {} - first_structure = self.inputs.first_structure - last_structure = self.inputs.last_structure - - # Check that the first and last image have the same cell - if abs(np.array(first_structure.cell) - np.array(last_structure.cell)).max() > 1.e-4: - raise InputValidationError('Different cell in the fist and last image') - - # Check that the first and last image have the same number of sites - if len(first_structure.sites) != len(last_structure.sites): - raise InputValidationError('Different number of sites in the fist and last image') - - # Check that sites in the initial and final structure have the same kinds - if first_structure.get_site_kindnames() != last_structure.get_site_kindnames(): - raise InputValidationError( - 'Mismatch between the kind names and/or order between ' - 'the first and final image' - ) - - # Check that a pseudo potential was specified for each kind present in the `StructureData` - # self.inputs.pw.pseudos is a plumpy.utils.AttributesFrozendict - kindnames = [kind.name for kind in first_structure.kinds] - if set(kindnames) != set(self.inputs.pw.pseudos.keys()): - formatted_pseudos = ', '.join(list(self.inputs.pw.pseudos.keys())) - formatted_kinds = ', '.join(list(kindnames)) - raise InputValidationError( - 'Mismatch between the defined pseudos and the list of kinds of the structure.\n' - f'Pseudos: {formatted_pseudos};\nKinds: {formatted_kinds}' - ) - - ############################## - # END OF INITIAL INPUT CHECK # - ############################## + num_images = len(self.inputs.images.get_stepids()) + structure_list = [self.inputs.images.get_step_structure(i) for i in range(num_images)] # Create the subfolder that will contain the pseudopotentials folder.get_subfolder(self._PSEUDO_SUBFOLDER, create=True) @@ -228,13 +310,13 @@ def prepare_for_submission(self, folder): folder.get_subfolder(self._OUTPUT_SUBFOLDER, create=True) # We first prepare the NEB-specific input file. - neb_input_filecontent = self._generate_input_files(self.inputs.parameters, settings_dict) + neb_input_filecontent, _ = self._generate_input_files(self.inputs.parameters, settings_dict) with folder.open(self.inputs.metadata.options.input_filename, 'w') as handle: handle.write(neb_input_filecontent) # We now generate the PW input files for each input structure local_copy_pseudo_list = [] - for i, structure in enumerate([first_structure, last_structure]): + for i, structure in enumerate(structure_list): # We need to a pass a copy of the settings_dict for each structure this_settings_dict = copy.deepcopy(settings_dict) pw_input_filecontent, this_local_copy_pseudo_list = PwCalculation._generate_PWCPinputdata( # pylint: disable=protected-access @@ -308,12 +390,17 @@ def prepare_for_submission(self, folder): codeinfo = CodeInfo() calcinfo.uuid = self.uuid - cmdline_params = settings_dict.pop('CMDLINE', []) + + inputs_parallelization = lambda: None + inputs_parallelization.inputs = AttributeDict({'parallelization':self.inputs.get('parallelization', orm.Dict({}))}) + inputs_parallelization._ENABLED_PARALLELIZATION_FLAGS = self._ENABLED_PARALLELIZATION_FLAGS + inputs_parallelization._PARALLELIZATION_FLAG_ALIASES = BasePwCpInputGenerator._PARALLELIZATION_FLAG_ALIASES + cmdline_params = BasePwCpInputGenerator._add_parallelization_flags_to_cmdline_params(inputs_parallelization, cmdline_params=settings_dict.pop('CMDLINE', [])) calcinfo.local_copy_list = local_copy_list calcinfo.remote_copy_list = remote_copy_list calcinfo.remote_symlink_list = remote_symlink_list # In neb calculations there is no input read from standard input!! - codeinfo.cmdline_params = (['-input_images', '2'] + list(cmdline_params)) + codeinfo.cmdline_params = (['-input_images', str(len(structure_list))] + list(cmdline_params)) codeinfo.stdout_name = self.inputs.metadata.options.output_filename codeinfo.code_uuid = self.inputs.code.uuid calcinfo.codes_info = [codeinfo] diff --git a/src/aiida_quantumespresso/parsers/neb.py b/src/aiida_quantumespresso/parsers/neb.py index eff77f28b..fba85aeb4 100644 --- a/src/aiida_quantumespresso/parsers/neb.py +++ b/src/aiida_quantumespresso/parsers/neb.py @@ -1,17 +1,18 @@ # -*- coding: utf-8 -*- import os +from sys import stdout from aiida.common import AttributeDict, NotExistent +from aiida.engine import ExitCode from aiida.orm import ArrayData, Dict, TrajectoryData import numpy +from aiida_quantumespresso.calculations.neb import NebCalculation from aiida_quantumespresso.calculations.pw import PwCalculation from aiida_quantumespresso.parsers.parse_raw import convert_qe_to_aiida_structure from aiida_quantumespresso.parsers.parse_raw.neb import parse_raw_output_neb from aiida_quantumespresso.parsers.parse_raw.pw import parse_stdout as parse_pw_stdout from aiida_quantumespresso.parsers.parse_raw.pw import reduce_symmetries -from aiida_quantumespresso.parsers.parse_xml.exceptions import XMLParseError, XMLUnsupportedFormatError -from aiida_quantumespresso.parsers.parse_xml.pw.parse import parse_xml as parse_pw_xml from aiida_quantumespresso.parsers.pw import PwParser from aiida_quantumespresso.utils.mapping import get_logging_container @@ -27,7 +28,8 @@ class NebParser(BaseParser): class_warning_map = { 'scf convergence NOT achieved on image': 'SCF did not converge for a given image', 'Maximum CPU time exceeded': 'Maximum CPU time exceeded', - 'reached the maximum number of steps': 'Maximum number of iterations reached in the image optimization', + # !! 'step' and not 'steps' is needed in order to be found by regex + 'reached the maximum number of step': 'Maximum number of iterations reached in the image optimization', } def parse(self, **kwargs): @@ -41,6 +43,8 @@ def parse(self, **kwargs): prefix = self.node.process_class._PREFIX + self.exit_code_xml = None + # Look for optional settings input node and potential 'parser_options' dictionary within it # Note that we look for both NEB and PW parser options under "inputs.settings.parser_options"; # we don't even have a namespace "inputs.pw.settings". @@ -60,50 +64,42 @@ def parse(self, **kwargs): if base_exit_code: return self.exit(base_exit_code, logs) - neb_out_dict, iteration_data = parse_raw_output_neb(stdout) - parsed_data.update(neb_out_dict) + try: + neb_out_dict, iteration_data = parse_raw_output_neb(stdout) + except: + return self.exit(self.exit_codes.ERROR_OUTPUT_STDOUT_READ) - num_images = parsed_data['num_of_images'] + if len(neb_out_dict['errors']) > 0: + return self.exit(self.exit_codes[neb_out_dict['errors'][0]]) + parsed_data.update(neb_out_dict) + + # If num_images is empty, it means that the calculation was interrupted before completing + # the first NEB minimization step, so we cannot retrieve any partial trajectory. + try: + num_images = parsed_data['num_of_images'] + except: + return self.exit(self.exit_codes.ERROR_NEB_INTERRUPTED_WITHOUT_PARTIAL_TRAJECTORY) + # Now parse the information from the individual pw calculations for the different images image_data = {} positions = [] cells = [] for i in range(num_images): - # check if any of the known XML output file names are present, and parse the first that we find + # check if any of the known XML output file names are present, and parse it relative_output_folder = os.path.join(f'{prefix}_{i + 1}', f'{prefix}.save') - retrieved_files = self.retrieved.base.repository.list_object_names(relative_output_folder) - - for xml_filename in PwCalculation.xml_filenames: - if xml_filename in retrieved_files: - xml_file_path = os.path.join(relative_output_folder, xml_filename) - try: - with self.retrieved.base.repository.open(xml_file_path) as xml_file: - parsed_data_xml, logs_xml = parse_pw_xml(xml_file, None) - except IOError: - return self.exit(self.exit_codes.ERROR_OUTPUT_XML_READ) - except XMLParseError: - return self.exit(self.exit_codes.ERROR_OUTPUT_XML_PARSE) - except XMLUnsupportedFormatError: - return self.exit(self.exit_codes.ERROR_OUTPUT_XML_FORMAT) - except Exception: - import traceback - traceback.print_exc() - return self.exit(self.exit_codes.ERROR_UNEXPECTED_PARSER_EXCEPTION) - # this image is dealt with, so break the inner loop and go to the next image - break - # otherwise, if none of the filenames we tried exists, exit with an error - else: - return self.exit(self.exit_codes.ERROR_MISSING_XML_FILE) + parsed_data_xml, logs_xml = self.parse_xml(relative_output_folder) # look for pw output and parse it pw_out_file = os.path.join(f'{prefix}_{i + 1}', 'PW.out') try: with self.retrieved.base.repository.open(pw_out_file, 'r') as f: pw_out_text = f.read() # Note: read() and not readlines() + # Output file can contain the output of many scf iterations, analyse only the last one + pw_out_text = ' coordinates at iteration' + pw_out_text.split('coordinates at iteration')[-1] except IOError: - return self.exit(self.exit_codes.ERROR_OUTPUT_STDOUT_READ) + logs_stdout = self.exit_codes.ERROR_OUTPUT_STDOUT_READ try: parsed_data_stdout, logs_stdout = parse_pw_stdout( @@ -112,9 +108,29 @@ def parse(self, **kwargs): except Exception as exc: return self.exit(self.exit_codes.ERROR_UNEXPECTED_PARSER_EXCEPTION.format(exception=exc)) + logs_stdout['error'].remove('ERROR_OUTPUT_STDOUT_INCOMPLETE') + + # Determine issues coming from electronic structure calculations + exit_code = self.validate_electronic(logs_stdout) + if exit_code: + return self.exit(exit_code) + + exit_code = self.validate_premature_exit(logs_stdout) + if exit_code: + return self.exit(exit_code) + + if logs_stdout.error and self.exit_code_xml: + return self.exit(self.exit_codes.ERROR_OUTPUT_FILES) + parsed_structure = parsed_data_stdout.pop('structure', {}) parsed_trajectory = parsed_data_xml.pop('trajectory', {}) parsed_parameters = parsed_data_xml + + if len(parsed_structure) == 0: + # Before exiting with xml parse error, check if scheduler already reported an exit code. + if self.node.exit_status is not None: + return ExitCode(self.node.exit_status, self.node.exit_message) + return self.exit(self.exit_codes.ERROR_OUTPUT_XML_PARSE) PwParser.backwards_compatibility_parameters(parsed_parameters, parsed_data_stdout) # Explicit information about k-points does not need to be queryable so we remove it from the parameters @@ -193,7 +209,96 @@ def parse(self, **kwargs): mep_arraydata.set_array('interpolated_mep', interp_mep) self.out('output_mep', mep_arraydata) - if 'ERROR_OUTPUT_STDOUT_INCOMPLETE'in logs.error: - return self.exit(self.exit_codes.ERROR_OUTPUT_STDOUT_INCOMPLETE, logs) + if logs.error: + # First check whether the scheduler already reported an exit code. + if self.node.exit_status is not None: + # The following scheduler errors should correspond to cases where we can simply restart the calculation + # and have a chance that the calculation will succeed as the error can be transient. + recoverable_scheduler_error = self.node.exit_status in [ + NebCalculation.exit_codes.ERROR_SCHEDULER_OUT_OF_WALLTIME.status, + NebCalculation.exit_codes.ERROR_SCHEDULER_NODE_FAILURE.status, + ] + if recoverable_scheduler_error: + return NebCalculation.exit_codes.ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY + elif 'Maximum number of iterations reached in the image optimization' in logs.warning: + return NebCalculation.exit_codes.ERROR_NEB_CYCLE_EXCEEDED_NSTEP + else: + # Calculation completed successfully shortly after exceeding walltime but before being terminated by the + # scheduler. In that case 'exit_status' can be reset. + self.node.set_exit_status(None) return self.exit(logs=logs) + + def parse_xml(self, relative_output_folder): + """Parse the XML output file for the specific image. + + :param relative_output_folder: relative path to the output folder of the image. + :return: tuple of two dictionaries, first with raw parsed data and second with log messages + """ + from aiida_quantumespresso.parsers.parse_xml.exceptions import XMLParseError, XMLUnsupportedFormatError + from aiida_quantumespresso.parsers.parse_xml.pw.parse import parse_xml as parse_pw_xml + + logs = get_logging_container() + parsed_data = {} + + try: + retrieved_files = self.retrieved.base.repository.list_object_names(relative_output_folder) + except: + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_MISSING + return parsed_data, logs + + xml_filenames = [os.path.join(relative_output_folder, xml_file) for xml_file in PwCalculation.xml_filenames if xml_file in retrieved_files] + if not xml_filenames: + if not self.node.get_option('without_xml'): + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_MISSING + return parsed_data, logs + + if len(xml_filenames) > 1: + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_MULTIPLE + return parsed_data, logs + + try: + with self.retrieved.base.repository.open(xml_filenames[0]) as xml_file: + parsed_data, logs = parse_pw_xml(xml_file, None) + except IOError: + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_READ + except XMLParseError: + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_PARSE + except XMLUnsupportedFormatError: + self.exit_code_xml = self.exit_codes.ERROR_OUTPUT_XML_FORMAT + except Exception: + import traceback + logs.critical.append(traceback.format_exc()) + self.exit_code_xml = self.exit_codes.ERROR_UNEXPECTED_PARSER_EXCEPTION + + return parsed_data, logs + + def validate_premature_exit(self, logs): + """Analyze problems that will cause a pre-mature termination of the calculation, controlled or not.""" + + for error_label in [ + 'ERROR_OUT_OF_WALLTIME', + 'ERROR_DEXX_IS_NEGATIVE', + 'ERROR_COMPUTING_CHOLESKY', + 'ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED', + 'ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE', + 'ERROR_ZHEGVD_FAILED', + 'ERROR_QR_FAILED', + 'ERROR_EIGENVECTOR_CONVERGENCE', + 'ERROR_BROYDEN_FACTORIZATION', + ]: + if error_label in logs['error']: + return self.exit_codes.get(error_label) + + def validate_electronic(self, logs): + """Analyze problems that are specific to `electronic` scf calculations.""" + + if 'ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED' in logs['error']: + scf_must_converge = self.node.inputs.pw.parameters.base.attributes.get('ELECTRONS', + {}).get('scf_must_converge', True) + electron_maxstep = self.node.inputs.pw.parameters.base.attributes.get('ELECTRONS', {}).get('electron_maxstep', 1) + + if electron_maxstep == 0 or not scf_must_converge: + return self.exit_codes.WARNING_ELECTRONIC_CONVERGENCE_NOT_REACHED + else: + return self.exit_codes.ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED \ No newline at end of file diff --git a/src/aiida_quantumespresso/parsers/parse_raw/neb.py b/src/aiida_quantumespresso/parsers/parse_raw/neb.py index c38cb776e..4ba25d352 100644 --- a/src/aiida_quantumespresso/parsers/parse_raw/neb.py +++ b/src/aiida_quantumespresso/parsers/parse_raw/neb.py @@ -7,7 +7,26 @@ """ from qe_tools import CONSTANTS - +def detect_important_message(logs, line): + message_map = { + 'error': {'invalid number of pools, out of range': 'ERROR_NPOOLS_TOO_HIGH', + 'invalid number of images, out of range': 'ERROR_NIMAGE_HIGHER_THAN_NPROC', + 'n. of images must be divisor of nproc': 'ERROR_NIMAGE_NOT_DIVISOR_OF_NPROC', + 'nimage is larger than the available number of images': 'ERROR_NIMAGE_HIGHER_THAN_IMAGES'}, + } + + for marker, message in message_map['error'].items(): + if hasattr(marker, 'search'): + if marker.match(line): + if message is None: + message = line + logs['errors'].append(message) + else: + if marker in line: + if message is None: + message = line + logs['errors'].append(message) + def parse_raw_output_neb(stdout): """Parses the output of a neb calculation Receives in input the paths to the output file. @@ -54,12 +73,15 @@ def parse_neb_text_output(data): parsed_data = {} parsed_data['warnings'] = [] + parsed_data['errors'] = [] iteration_data = defaultdict(list) # set by default the calculation as not converged. parsed_data['converged'] = [False, 0] for count, line in enumerate(data.split('\n')): + detect_important_message(parsed_data, line) + if 'initial path length' in line: initial_path_length = float(line.split('=')[1].split('bohr')[0]) parsed_data['initial_path_length'] = initial_path_length * CONSTANTS.bohr_to_ang @@ -99,7 +121,7 @@ def parse_neb_text_output(data): elif 'neb: convergence achieved in' in line: parsed_data['converged'] = [True, int(line.split('iteration')[0].split()[-1])] - num_images = parsed_data['num_of_images'] + num_images = parsed_data['num_of_images'] if 'num_of_images' in parsed_data else None iteration_lines = data.split('-- iteration')[1:] iteration_lines = [i.split('\n') for i in iteration_lines] @@ -107,10 +129,16 @@ def parse_neb_text_output(data): for iteration in iteration_lines: for count, line in enumerate(iteration): if 'activation energy (->)' in line: - activ_energy = float(line.split('=')[1].split('eV')[0]) + try: + activ_energy = float(line.split('=')[1].split('eV')[0]) + except Exception: + activ_energy = None iteration_data['forward_activation_energy'].append(activ_energy) elif 'activation energy (<-)' in line: - activ_energy = float(line.split('=')[1].split('eV')[0]) + try: + activ_energy = float(line.split('=')[1].split('eV')[0]) + except Exception: + activ_energy = None iteration_data['backward_activation_energy'].append(activ_energy) elif 'image energy (eV) error (eV/A) frozen' in line: energies = [] @@ -130,10 +158,16 @@ def parse_neb_text_output(data): elif 'climbing image' in line: iteration_data['climbing_image_auto'].append([int(_) for _ in line.split('=')[1].split(',')]) elif 'path length' in line: - path_length = float(line.split('=')[1].split('bohr')[0]) - iteration_data['path_length'].append(path_length * CONSTANTS.bohr_to_ang) + try: + path_length = float(line.split('=')[1].split('bohr')[0]) + iteration_data['path_length'].append(path_length * CONSTANTS.bohr_to_ang) + except Exception: + iteration_data['path_length'].append(None) elif 'inter-image distance' in line: - image_dist = float(line.split('=')[1].split('bohr')[0]) - iteration_data['image_dist'].append(image_dist * CONSTANTS.bohr_to_ang) + try: + image_dist = float(line.split('=')[1].split('bohr')[0]) + iteration_data['image_dist'].append(image_dist * CONSTANTS.bohr_to_ang) + except Exception: + iteration_data['image_dist'].append(None) return parsed_data, dict(iteration_data) diff --git a/src/aiida_quantumespresso/workflows/neb/__init__.py b/src/aiida_quantumespresso/workflows/neb/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/aiida_quantumespresso/workflows/neb/base.py b/src/aiida_quantumespresso/workflows/neb/base.py new file mode 100644 index 000000000..9e7af4743 --- /dev/null +++ b/src/aiida_quantumespresso/workflows/neb/base.py @@ -0,0 +1,331 @@ +# -*- coding: utf-8 -*- +"""Workchain to run a Quantum ESPRESSO neb.x calculation with automated error handling and restarts.""" +from aiida import orm +from aiida.common import AttributeDict, InputValidationError +from aiida.engine import BaseRestartWorkChain, ProcessHandlerReport, process_handler, while_ + +from aiida_quantumespresso.calculations.functions.create_kpoints_from_distance import create_kpoints_from_distance +from aiida_quantumespresso.common.types import ElectronicType, RestartType, SpinType +from aiida_quantumespresso.utils.defaults.calculation import pw as qe_defaults + +from ...calculations.neb import NebCalculation +from ...workflows.pw.base import PwBaseWorkChain +from ..protocols.utils import ProtocolMixin + + +class NebBaseWorkChain(ProtocolMixin, BaseRestartWorkChain): + """Workchain to run a Quantum ESPRESSO neb.x calculation with automated error handling and restarts.""" + + # pylint: disable=too-many-public-methods, too-many-statements + + _process_class = NebCalculation + + defaults = AttributeDict({ + 'qe': qe_defaults, + 'delta_factor_mixing_beta': 0.8, + }) + + @classmethod + def define(cls, spec): + """Define the process specification.""" + # yapf: disable + super().define(spec) + spec.expose_inputs(NebCalculation, namespace='neb', exclude=('pw.kpoints', 'first_structure', 'last_structure')) + spec.input('kpoints', valid_type=orm.KpointsData, required=False, + help='An explicit k-points list or mesh. Either this or `kpoints_distance` has to be provided.') + spec.input('kpoints_distance', valid_type=orm.Float, required=False, + help='The minimum desired distance in 1/Å between k-points in reciprocal space. The explicit k-points will ' + 'be generated automatically by a calculation function based on the input structure.') + spec.input('kpoints_force_parity', valid_type=orm.Bool, required=False, + help='Optional input when constructing the k-points based on a desired `kpoints_distance`. Setting this to ' + '`True` will force the k-point mesh to have an even number of points along each lattice vector except ' + 'for any non-periodic directions.') + + spec.outline( + cls.setup, + cls.validate_kpoints, + while_(cls.should_run_process)( + cls.run_process, + cls.inspect_process, + ), + cls.results, + ) + + spec.expose_outputs(NebCalculation) + + spec.exit_code(202, 'ERROR_INVALID_INPUT_KPOINTS', + message='Neither the `kpoints` nor the `kpoints_distance` input was specified.') + + spec.exit_code(300, 'ERROR_UNRECOVERABLE_FAILURE', + message='The calculation failed with an unidentified unrecoverable error.') + spec.exit_code(310, 'ERROR_KNOWN_UNRECOVERABLE_FAILURE', + message='The calculation failed with a known unrecoverable error.') + spec.exit_code(320, 'ERROR_PARALLELIZATION_SETTINGS', + message='The calculation failed due to wrong parallelization settings.') + # yapf: enable + + @classmethod + def get_protocol_filepath(cls): + """Return ``pathlib.Path`` to the ``.yaml`` file that defines the protocols.""" + from importlib_resources import files + + from ..protocols import pw as pw_protocols + return files(pw_protocols) / 'base.yaml' + + @classmethod + def get_builder_from_protocol( + cls, + code, + images, + protocol=None, + overrides=None, + electronic_type=ElectronicType.METAL, + spin_type=SpinType.NONE, + initial_magnetic_moments=None, + options=None, + **kargs + ): + """Return a builder prepopulated with inputs selected according to the chosen protocol. + + :param code: the ``Code`` instance configured for the ``quantumespresso.pw`` plugin. + :param images: the ``TrajectoryData`` instance to use for initial guess of NEB images. + :param protocol: protocol to use, if not specified, the default will be used. + :param overrides: optional dictionary of inputs to override the defaults of the protocol. + :param electronic_type: indicate the electronic character of the system through ``ElectronicType`` instance. + :param spin_type: indicate the spin polarization type to use through a ``SpinType`` instance. + :param initial_magnetic_moments: optional dictionary that maps the initial magnetic moment of each kind to a + desired value for a spin polarized calculation. Note that in case the ``starting_magnetization`` is also + provided in the ``overrides``, this takes precedence over the values provided here. In case neither is + provided and ``spin_type == SpinType.COLLINEAR``, an initial guess for the magnetic moments is used. + :param options: A dictionary of options that will be recursively set for the ``metadata.options`` input of all + the ``CalcJobs`` that are nested in this work chain. + :return: a process builder instance with all inputs defined ready for launch. + """ + + pw_base = PwBaseWorkChain.get_builder_from_protocol( + code, + images.get_step_structure(-1), + protocol=protocol, + overrides=overrides, + electronic_type=electronic_type, + spin_type=spin_type, + initial_magnetic_moments=initial_magnetic_moments, + options=options, + **kargs + ) + #pylint: disable=no-member + builder = cls.get_builder() + builder.neb.code = code + builder.neb.images = images + builder.neb.pw.pseudos = pw_base.pw.pseudos + builder.neb.pw.parameters = pw_base.pw.parameters + builder.neb.metadata.options = pw_base.pw.metadata.options + + if 'kpoints' in pw_base: + builder.kpoints = pw_base['kpoints'] + else: + builder.kpoints_distance = orm.Float(pw_base['kpoints_distance']) + builder.kpoints_force_parity = orm.Bool(pw_base['kpoints_force_parity']) + builder.max_iterations = orm.Int(pw_base['max_iterations']) + # pylint: enable=no-member + return builder + + def setup(self): + """Call the ``setup`` of the ``BaseRestartWorkChain`` and create the inputs dictionary in ``self.ctx.inputs``. + + This ``self.ctx.inputs`` dictionary will be used by the ``BaseRestartWorkChain`` to submit the calculations + in the internal loop. + + The ``parameters`` and ``settings`` input ``Dict`` nodes are converted into a regular dictionary and the + default namelists for the ``parameters`` are set to empty dictionaries if not specified. + """ + super().setup() + + if 'images' not in self.inputs.neb: + raise InputValidationError('Input `images` are required.') + + self.ctx.inputs = AttributeDict(self.exposed_inputs(NebCalculation, 'neb')) + + self.ctx.inputs.parameters = self.ctx.inputs.parameters.get_dict() + self.ctx.inputs.pw.parameters = self.ctx.inputs.pw.parameters.get_dict() + self.ctx.inputs.pw.parameters.setdefault('CONTROL', {}) + self.ctx.inputs.pw.parameters.setdefault('ELECTRONS', {}) + self.ctx.inputs.pw.parameters.setdefault('SYSTEM', {}) + + self.ctx.inputs.pw.parameters['CONTROL'].setdefault('calculation', 'scf') + + def validate_kpoints(self): + """Validate the inputs related to k-points. + + Either an explicit `KpointsData` with given mesh/path, or a desired k-points distance should be specified. In + the case of the latter, the `KpointsData` will be constructed for the input `StructureData` using the + `create_kpoints_from_distance` calculation function. + """ + if all(key not in self.inputs for key in ['kpoints', 'kpoints_distance']): + return self.exit_codes.ERROR_INVALID_INPUT_KPOINTS + + try: + kpoints = self.inputs.kpoints + except AttributeError: + inputs = { + 'structure': self.inputs.neb.images.get_step_structure(-1), + 'distance': self.inputs.kpoints_distance, + 'force_parity': self.inputs.get('kpoints_force_parity', orm.Bool(False)), + 'metadata': { + 'call_link_label': 'create_kpoints_from_distance' + } + } + kpoints = create_kpoints_from_distance(**inputs) # pylint: disable=unexpected-keyword-arg + + self.ctx.inputs.pw.kpoints = kpoints + + def set_restart_type(self, restart_type, parent_folder=None): + """Set the restart type for the next iteration.""" + + if parent_folder is None and restart_type != RestartType.FROM_SCRATCH: + raise ValueError('When not restarting from scratch, a `parent_folder` must be provided.') + + if restart_type == RestartType.FROM_SCRATCH: + self.ctx.inputs.parameters['PATH']['restart_mode'] = 'from_scratch' + self.ctx.inputs.pop('parent_folder', None) + + elif restart_type == RestartType.FULL: + self.ctx.inputs.parameters['PATH']['restart_mode'] = 'restart' + self.ctx.inputs.parent_folder = parent_folder + + def report_error_handled(self, calculation, action): + """Report an action taken for a calculation that has failed. + + This should be called in a registered error handler if its condition is met and an action was taken. + + :param calculation: the failed calculation node + :param action: a string message with the action taken + """ + arguments = [calculation.process_label, calculation.pk, calculation.exit_status, calculation.exit_message] + self.report('{}<{}> failed with exit status {}: {}'.format(*arguments)) + self.report(f'Action taken: {action}') + + @process_handler( + priority=585, + exit_codes=[ + NebCalculation.exit_codes.ERROR_COMPUTING_CHOLESKY, + NebCalculation.exit_codes.ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED, + NebCalculation.exit_codes.ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE, + NebCalculation.exit_codes.ERROR_ZHEGVD_FAILED, + NebCalculation.exit_codes.ERROR_QR_FAILED, + NebCalculation.exit_codes.ERROR_EIGENVECTOR_CONVERGENCE, + NebCalculation.exit_codes.ERROR_BROYDEN_FACTORIZATION, + ] + ) + def handle_diagonalization_errors(self, calculation): + """Handle known issues related to the diagonalization. + + We use the following strategy. When a diagonalization algorithm fails, we try using an other one + still not used. Conjugate gradient (CG) is kept as last option, as it is the slowest among the + available ones, but on the contrary it is the most stable as well, thus kept as `last resort`. + + Once the error handler has tried all ``diagonalization`` options, abort. + """ + current = self.ctx.inputs.pw.parameters['ELECTRONS'].get('diagonalization', 'david') + + if 'diagonalizations' not in self.ctx: + # Initialize a list to track diagonalisations that haven't been tried in reverse order or preference + self.ctx.diagonalizations = [value for value in ['cg', 'paro', 'ppcg', 'david'] if value != current.lower()] + + try: + new = self.ctx.diagonalizations.pop() + self.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] = new + action = f'found diagonalization issues for ``{current}``, switching to ``{new}`` diagonalization.' + self.report_error_handled(calculation, action) + return ProcessHandlerReport(True) + except IndexError: + action = 'found diagonalization issues but already exploited all supported algorithms, aborting...' + self.report_error_handled(calculation, action) + return ProcessHandlerReport(True, self.exit_codes.ERROR_KNOWN_UNRECOVERABLE_FAILURE) + + @process_handler(priority=575, exit_codes=[ + NebCalculation.exit_codes.ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY, + ]) + def handle_neb_interrupted_partial_trajectory(self, calculation): + """Handle `ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY` and exit code. + + In this case the calculation shut down cleanly and we can do a full restart. + """ + + self.set_restart_type(RestartType.FULL, calculation.outputs.remote_folder) + self.report_error_handled(calculation, "restarting in full with `CONTROL.restart_mode` = 'restart'") + + return ProcessHandlerReport(True) + + @process_handler(priority=575, exit_codes=[ + NebCalculation.exit_codes.ERROR_NEB_CYCLE_EXCEEDED_NSTEP, + ]) + def handle_neb_cycle_exceeded_nstep(self, calculation): + """Handle `ERROR_NEB_CYCLE_EXCEEDED_NSTEP` and exit code. + + In this case the calculation shut down cleanly and we can do a full restart. + """ + self.ctx.inputs.parameters['PATH'].setdefault('nstep_path', 1) + input_nsteps = self.inputs.neb.parameters['PATH']['nstep_path'] if 'nstep_path' in self.inputs.neb.parameters[ + 'PATH'] else 1 + self.ctx.inputs.parameters['PATH']['nstep_path'] += input_nsteps + + self.set_restart_type(RestartType.FULL, calculation.outputs.remote_folder) + self.report_error_handled(calculation, "restarting in full with `CONTROL.restart_mode` = 'restart'") + + return ProcessHandlerReport(True) + + @process_handler(priority=410, exit_codes=[ + NebCalculation.exit_codes.ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED, + ]) + def handle_electronic_convergence_not_reached(self, calculation): + """Handle `ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED` error. + + Decrease the mixing beta and fully restart from the previous calculation. + """ + factor = self.defaults.delta_factor_mixing_beta + mixing_beta = self.ctx.inputs.pw.parameters.get('ELECTRONS', + {}).get('mixing_beta', self.defaults.qe.mixing_beta) + mixing_beta_new = mixing_beta * factor + + self.ctx.inputs.pw.parameters['ELECTRONS']['mixing_beta'] = mixing_beta_new + action = f'reduced beta mixing from {mixing_beta} to {mixing_beta_new} and restarting from the last calculation' + + self.set_restart_type(RestartType.FULL, calculation.outputs.remote_folder) + self.report_error_handled(calculation, action) + return ProcessHandlerReport(True) + + @process_handler( + priority=400, exit_codes=[ + NebCalculation.exit_codes.ERROR_NEB_INTERRUPTED_WITHOUT_PARTIAL_TRAJECTORY, + ] + ) + def handle_neb_interrupted_without_partial_trajectory(self, calculation): + """Handle `ERROR_NEB_INTERRUPTED_WITHOUT_PARTIAL_TRAJECTORY` error. + + In this case the calculation was interrupted before completing the first NEB minimization step, + so we cannot retrieve any partial trajectory, no way to restart the calculation. + Probably the walltime was too short. + """ + action = 'Calculation was interrupted before completing the first NEB minimization step.' + action += 'An increase of the walltime is probably needed. Aborting...' + self.report_error_handled(calculation, action) + return ProcessHandlerReport(True, self.exit_codes.ERROR_KNOWN_UNRECOVERABLE_FAILURE) + + + @process_handler( + priority=390, exit_codes=[ + NebCalculation.exit_codes.ERROR_NPOOLS_TOO_HIGH, + NebCalculation.exit_codes.ERROR_NIMAGE_HIGHER_THAN_NPROC, + NebCalculation.exit_codes.ERROR_NIMAGE_HIGHER_THAN_IMAGES, + NebCalculation.exit_codes.ERROR_NIMAGE_NOT_DIVISOR_OF_NPROC + ] + ) + def handle_neb_interrupted_for_parallelization(self, calculation): + """Handle parallelization errors. + + In this case the calculation was interrupted due to wrong parallelization settings. + """ + action = 'Calculation was interrupted due to wrong parallelization settings.' + self.report_error_handled(calculation, action) + return ProcessHandlerReport(True, self.exit_codes.ERROR_PARALLELIZATION_SETTINGS) diff --git a/src/aiida_quantumespresso/workflows/pw/base.py b/src/aiida_quantumespresso/workflows/pw/base.py index 667bb352c..fd6189e6c 100644 --- a/src/aiida_quantumespresso/workflows/pw/base.py +++ b/src/aiida_quantumespresso/workflows/pw/base.py @@ -16,6 +16,7 @@ SsspFamily = GroupFactory('pseudo.family.sssp') PseudoDojoFamily = GroupFactory('pseudo.family.pseudo_dojo') CutoffsPseudoPotentialFamily = GroupFactory('pseudo.family.cutoffs') +PseudoPotentialFamily = GroupFactory('pseudo.family') class PwBaseWorkChain(ProtocolMixin, BaseRestartWorkChain): @@ -176,8 +177,22 @@ def get_builder_from_protocol( else: try: - pseudo_set = (PseudoDojoFamily, SsspFamily, CutoffsPseudoPotentialFamily) - pseudo_family = orm.QueryBuilder().append(pseudo_set, filters={'label': pseudo_family}).one()[0] + try: + pseudo_has_cutoff = True + pseudo_set = (PseudoDojoFamily, SsspFamily, CutoffsPseudoPotentialFamily) + pseudo_family = orm.QueryBuilder().append(pseudo_set, filters={'label': pseudo_family}).one()[0] + except exceptions.NotExistent: + pseudo_has_cutoff = False + #try, as fallback, to load from the generic PseudoPotentialFamily and check that the cutoffs are defined + pseudo_family = orm.QueryBuilder().append(PseudoPotentialFamily, filters={'label': pseudo_family}).one()[0] + #check that cutoffs are defined in the overrides + system_overrides = overrides.get('pw', {}).get('parameters', {}).get('SYSTEM', {}) if overrides else {} + if not all(key in system_overrides for key in ('ecutwfc', 'ecutrho')): + raise ValueError( + 'When overriding the pseudo potentials from a generic `PseudoPotentialFamily`, both ' + '`ecutwfc` and `ecutrho` cutoffs should be provided in the `overrides`: ' + f'{overrides}' + ) except exceptions.NotExistent as exception: raise ValueError( f'required pseudo family `{pseudo_family}` is not installed. Please use `aiida-pseudo install` to' @@ -185,8 +200,9 @@ def get_builder_from_protocol( ) from exception try: - parameters['SYSTEM']['ecutwfc'], parameters['SYSTEM'][ - 'ecutrho'] = pseudo_family.get_recommended_cutoffs(structure=structure, unit='Ry') + if pseudo_has_cutoff: + parameters['SYSTEM']['ecutwfc'], parameters['SYSTEM'][ + 'ecutrho'] = pseudo_family.get_recommended_cutoffs(structure=structure, unit='Ry') pseudos = pseudo_family.get_pseudos(structure=structure) except ValueError as exception: raise ValueError( @@ -210,7 +226,7 @@ def get_builder_from_protocol( z_valences={kind.name: pseudos[kind.name].z_valence for kind in structure.kinds}, initial_magnetic_moments=initial_magnetic_moments, spin_type=spin_type, - ) + ) if spin_type != SpinType.NONE else {} if spin_type is SpinType.COLLINEAR: parameters['SYSTEM']['starting_magnetization'] = magnetization['starting_magnetization'] parameters['SYSTEM']['nspin'] = 2 diff --git a/tests/conftest.py b/tests/conftest.py index d4fc02cc1..714147063 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -413,6 +413,37 @@ def _generate_structure(structure_id='silicon'): return _generate_structure +@pytest.fixture +def generate_trajectory(): + """Return a ``TrajectoryData`` representing H2-H.""" + + def _generate_trajectory(trajectory_id='hydrogen'): + """Return a ``TrajectoryData`` representing H2-H. + + :param trajectory_id: identifies the ``TrajectoryData`` you want to generate. Accepted values are 'hydrogen'. + """ + from aiida.orm import StructureData, TrajectoryData + + if trajectory_id.startswith('hydrogen'): + cell = [[6, 0, 0], [0, 2.5, 0], [0, 0, 2.5]] + structure_1 = StructureData(cell=cell) + structure_1.append_atom(position=(-2.4166, 0., 0.), symbols='H', name='H') + structure_1.append_atom(position=(0, 0, 0), symbols='H', name='H') + structure_1.append_atom(position=(0.8243, 0, 0), symbols='H', name='H') + + structure_2 = StructureData(cell=cell) + structure_2.append_atom(position=(-0.8243, 0., 0.), symbols='H', name='H') + structure_2.append_atom(position=(0, 0, 0), symbols='H', name='H') + structure_2.append_atom(position=(2.4166, 0, 0), symbols='H', name='H') + + trajectory = TrajectoryData([structure_1, structure_2]) + else: + raise KeyError(f'Unknown trajectory_id="{trajectory_id}"') + return trajectory + + return _generate_trajectory + + @pytest.fixture def generate_structure_from_kinds(): """Return a dummy `StructureData` instance with the specified kind names.""" @@ -729,6 +760,44 @@ def _generate_inputs_pw(): return _generate_inputs_pw +@pytest.fixture +def generate_inputs_neb(fixture_code, generate_trajectory, generate_kpoints_mesh, generate_upf_data): + """Generate default inputs for a `NebCalculation.""" + + def _generate_inputs_neb(): + """Generate default inputs for a `NebCalculation.""" + from aiida.orm import Dict + + pw_parameters = Dict({ + 'CONTROL': { + 'calculation': 'scf' + }, + 'SYSTEM': { + 'ecutrho': 240.0, + 'ecutwfc': 30.0 + }, + 'ELECTRONS': { + 'electron_maxstep': 60, + } + }) + neb_parameters = Dict({'PATH': {'nstep_path': 50, 'num_of_images': 7}}) + trajectory = generate_trajectory() + inputs = { + 'code': fixture_code('quantumespresso.neb'), + 'images': trajectory, + 'parameters': neb_parameters, + 'kpoints': generate_kpoints_mesh(1), + 'pw': { + 'parameters': pw_parameters, + 'pseudos': + {kind: generate_upf_data(kind) for kind in trajectory.get_step_structure(-1).get_kind_names()}, + } + } + return inputs + + return _generate_inputs_neb + + @pytest.fixture def generate_inputs_cp(fixture_code, generate_structure, generate_upf_data): """Generate default inputs for a CpCalculation.""" @@ -823,6 +892,53 @@ def _generate_workchain_pw(exit_code=None, inputs=None, return_inputs=False, pw_ return _generate_workchain_pw +@pytest.fixture +def generate_workchain_neb(generate_workchain, generate_inputs_neb, generate_calc_job_node): + """Generate an instance of a ``NebBaseWorkChain``.""" + + def _generate_workchain_neb(exit_code=None, inputs=None, return_inputs=False, neb_outputs=None): + """Generate an instance of a ``NebBaseWorkChain``. + + :param exit_code: exit code for the ``NebCalculation``. + :param inputs: inputs for the ``NebBaseWorkChain``. + :param return_inputs: return the inputs of the ``NebBaseWorkChain``. + :param neb_outputs: ``dict`` of outputs for the ``NebCalculation``. The keys must correspond to the link labels + and the values to the output nodes. + """ + from aiida.common import LinkType + from aiida.orm import Dict + from plumpy import ProcessState + + entry_point = 'quantumespresso.neb.base' + + if inputs is None: + neb_inputs = generate_inputs_neb() + kpoints = neb_inputs.pop('kpoints') + inputs = {'neb': neb_inputs, 'kpoints': kpoints} + + if return_inputs: + return inputs + + process = generate_workchain(entry_point, inputs) + + neb_node = generate_calc_job_node(inputs={'parameters': Dict()}) + process.ctx.iteration = 1 + process.ctx.children = [neb_node] + + if neb_outputs is not None: + for link_label, output_node in neb_outputs.items(): + output_node.base.links.add_incoming(neb_node, link_type=LinkType.CREATE, link_label=link_label) + output_node.store() + + if exit_code is not None: + neb_node.set_process_state(ProcessState.FINISHED) + neb_node.set_exit_status(exit_code.status) + + return process + + return _generate_workchain_neb + + @pytest.fixture def generate_workchain_ph(generate_workchain, generate_inputs_ph, generate_calc_job_node): """Generate an instance of a `PhBaseWorkChain`.""" diff --git a/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida.out b/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida_1/PW.out new file mode 100644 index 000000000..9ad72c7ff --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_broyden_factorization/aiida_1/PW.out @@ -0,0 +1,6 @@ +# NOTE: lines of output removed + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine broyden (1): + factorization + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# NOTE: lines of output removed diff --git a/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida.out b/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida_1/PW.out new file mode 100644 index 000000000..d55984c80 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_computing_cholesky/aiida_1/PW.out @@ -0,0 +1,8 @@ +# NOTE: lines of output removed. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine cdiaghg (668): + problems computing cholesky + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# NOTE: lines of output removed. diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida.out b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida.out new file mode 100644 index 000000000..5ca881d10 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: reached the maximum number of steps + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..38cc762a6 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_1/aiida.save/data-file-schema.xml @@ -0,0 +1,489 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 3:58 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 9 + 2.251833940343682e-10 + + + false + 0 + 0.000000000000000e0 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 8 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 5.000000000000021e-1 + 5.057831966102975e-1 + false + + + -1.639911741543945e0 + -8.210583076470311e-1 + 5.449896033472501e-1 + -1.205822996705588e0 + -9.390231323249402e-1 + -5.406419069873609e-1 + -7.027020045835068e-90 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.794099481511934e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -3.559499864442982e-1 -2.807768395520258e-1 -2.668235453288007e-2 2.109896107383014e-1 2.785082838258826e-1 + 4.349045911272267e-1 -3.522918321552203e-1 -2.150775335211559e-1 -1.775961670972817e-2 2.360113562941134e-1 + 2.992686013711191e-1 4.588044743241808e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.931642407198526e-1 -2.066699137763700e-1 5.683126371970947e-2 1.086796156358250e-1 1.635347134906904e-1 + 2.371640787475987e-1 -2.915458850319906e-1 -1.222374903865807e-1 6.971336063745190e-2 1.160502130300290e-1 + 1.758933596174302e-1 2.469057160486919e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -2.443281788511607e-1 -1.463952862435669e-1 2.161120581446886e-1 2.163214097370847e-1 2.163215457047651e-1 + 2.970632409716087e-1 -2.434793395904609e-1 -4.861224178705646e-2 2.214537803703545e-1 2.318980495293997e-1 + 2.318982510906765e-1 3.048751922134203e-1 + + + 1.000000000000000e0 5.272045206808890e-213 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -3.516205145903888e-1 -2.911112146017303e-1 3.256007090902224e-2 8.756513697923152e-2 3.509244587329544e-1 + 4.190645503660799e-1 -3.504654925303605e-1 -2.254129298384740e-1 4.362531094807919e-2 1.083087319769732e-1 + 3.797010820046605e-1 4.405800385058004e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.912412996254348e-1 -2.112668012350490e-1 7.902309349824601e-2 1.032393388970288e-1 1.472910795445368e-1 + 2.502552461649238e-1 -2.906892415277952e-1 -1.273815426692634e-1 9.483652698376277e-2 1.116785627466151e-1 + 1.539407858433776e-1 2.767857713838184e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -2.445520314233560e-1 -1.496314771478793e-1 2.370123346187637e-1 2.370125851650657e-1 2.385666489353629e-1 + 2.619875889588166e-1 -2.442458042446330e-1 -5.217723283359605e-2 2.424676613664378e-1 2.520989587931267e-1 + 2.521064052172373e-1 2.797347339793517e-1 + + + 1.000000000000000e0 9.779981299945696e-174 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 3.463616616738912e-310 3.463616616738912e-310 0.000000000000000e0 + 1.383383808355492e-322 1.383383808355492e-322 3.476617212582100e-310 + 5.941588214702771e-313 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 7.039320000000000e-1 + 7.156929969787598e-1 + + + 5.901860000000001e-1 + 6.019501686096191e-1 + + + + diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/PW.out b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/PW.out new file mode 100644 index 000000000..2ac5fd328 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/PW.out @@ -0,0 +1,124 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + iteration # 12 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 1 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 2 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 3 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 4 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 5 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 6 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 7 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 8 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 9 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 10 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 11 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 12 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..571c0cc11 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_2/aiida.save/data-file-schema.xml @@ -0,0 +1,521 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 4: 8 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 6 + 2.987478357372217e-9 + + + false + 0 + 8.222749820632114e-3 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.781001759286239e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.781001759284574e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 16 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 4.999999999999995e-1 + 5.423121387882865e-1 + false + + + -1.650373698077203e0 + -9.392622213594638e-1 + 9.378367511975719e-1 + -1.241929490291398e0 + -9.655046009272102e-1 + -4.964849974169025e-2 + -9.301846534513714e-61 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.162776009008513e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -4.458515861965252e-1 -2.141774716636217e-1 -1.767661843232691e-2 2.676660605080837e-1 2.714494494052006e-1 + 3.302425404557732e-1 -4.265291792906014e-1 -1.725152573492461e-1 -5.076102397665264e-3 2.851850702267914e-1 + 2.911797154517722e-1 3.524463164988835e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.917019814975510e-1 -1.442514651056563e-1 3.919895080942317e-2 1.394380026640539e-1 1.918917369548542e-1 + 2.394608487870648e-1 -3.707985348175038e-1 -9.569368257123173e-2 5.022868781572148e-2 1.581028463348836e-1 + 2.101669153245467e-1 2.465318174969195e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 3.386736450861766e-84 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -3.473436178697815e-1 -8.895768564868206e-2 1.872311539993213e-1 1.872311539993213e-1 2.641585992302678e-1 + 2.934957246609585e-1 -3.252195429851549e-1 -3.563642398959929e-2 1.993904292491530e-1 1.993904292491533e-1 + 2.910691195985692e-1 3.023347990161993e-1 + + + 1.000000000000000e0 1.329503982402196e-146 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -4.456617205881046e-1 -2.215725725626742e-1 6.551739985210601e-2 7.522217434280493e-2 3.304974625673347e-1 + 4.924978214694020e-1 -4.263495408938337e-1 -1.820507921128737e-1 8.160686812482785e-2 9.246263848899792e-2 + 3.502809741744590e-1 5.156363710272533e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.914005890102032e-1 -1.470055448064099e-1 4.652287296866485e-2 1.410161020335758e-1 1.982548412758836e-1 + 2.402429819869411e-1 -3.705095540497454e-1 -9.923603091917499e-2 5.725944057292622e-2 1.554808946298324e-1 + 2.227432472014073e-1 2.561356368318331e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 2.174969613022579e-58 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -3.488109513874090e-1 -9.104962797006435e-2 1.918109274959190e-1 1.918109274959194e-1 2.924920481179293e-1 + 3.114601903834693e-1 -3.266801994017457e-1 -3.797197744134844e-2 2.036125770255061e-1 2.036125770255064e-1 + 3.234042198620719e-1 3.308818473756967e-1 + + + 1.000000000000000e0 2.378416430146295e-125 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + -2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 1.034973800000000e1 + 1.115338492393494e1 + + + 8.266386000000001e0 + 8.398051500320435e0 + + + + diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/PW.out b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..643e413bc --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_cycle_exceeded_nstep/aiida_3/aiida.save/data-file-schema.xml @@ -0,0 +1,489 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 4: 0 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 9 + 2.802459417333560e-10 + + + false + 0 + 1.268153988343472e-1 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 8 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 5.000000000000001e-1 + 5.057831998906718e-1 + false + + + -1.639911741546294e0 + -8.210564721985529e-1 + 5.449888521674953e-1 + -1.205822586646802e0 + -9.390228115615702e-1 + -5.406419069873609e-1 + -7.027020045835068e-90 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.794091735351536e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -3.559490914193536e-1 -2.807769320994993e-1 -2.668237668245047e-2 2.109893592596505e-1 2.785085145163730e-1 + 4.349046220315093e-1 -3.522910909533920e-1 -2.150774443577042e-1 -1.775934035492110e-2 2.360117740224591e-1 + 2.992688257917955e-1 4.588048189084177e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.931630815714572e-1 -2.066701292972803e-1 5.683108184176351e-2 1.086799700741929e-1 1.635348417989829e-1 + 2.371635536690519e-1 -2.915450629142229e-1 -1.222372664805963e-1 6.971349405707152e-2 1.160505548801111e-1 + 1.758933992359557e-1 2.469059097489662e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -2.443268842638946e-1 -1.463955806207085e-1 2.161127383366207e-1 2.163214284248397e-1 2.163214559418829e-1 + 2.970618157937372e-1 -2.434784605532482e-1 -4.861192207146663e-2 2.214542104652864e-1 2.318983107345441e-1 + 2.318984194694333e-1 3.048750387093320e-1 + + + 1.000000000000000e0 5.440229474744043e-213 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -3.516194996046128e-1 -2.911114475150964e-1 3.256021341532520e-2 8.756493178410613e-2 3.509243189556919e-1 + 4.190647067327669e-1 -3.504647300655896e-1 -2.254128668343891e-1 4.362568454234229e-2 1.083089247592750e-1 + 3.797014684289622e-1 4.405802661403338e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.912400917131171e-1 -2.112670687925708e-1 7.902285953589243e-2 1.032393174465311e-1 1.472916109052571e-1 + 2.502551263444964e-1 -2.906884130892320e-1 -1.273813306335954e-1 9.483673618802689e-2 1.116785820170263e-1 + 1.539411907716291e-1 2.767860079964009e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -2.445507126514100e-1 -1.496317941067331e-1 2.370123413143451e-1 2.370124648263880e-1 2.385674500168446e-1 + 2.619878160925502e-1 -2.442449225144721e-1 -5.217691769022061e-2 2.424681234073133e-1 2.520993478970608e-1 + 2.521100586005074e-1 2.797348715614159e-1 + + + 1.000000000000000e0 1.006704606805603e-173 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 4.483601423732173e-2 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + -4.483601423732174e-2 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 2.349583000000000e0 + 2.380792856216431e0 + + + 2.020140000000000e0 + 2.051357030868530e0 + + + + diff --git a/tests/parsers/fixtures/neb/failed_dexx_negative/aiida.out b/tests/parsers/fixtures/neb/failed_dexx_negative/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_dexx_negative/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_dexx_negative/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_dexx_negative/aiida_1/PW.out new file mode 100644 index 000000000..c29da6069 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_dexx_negative/aiida_1/PW.out @@ -0,0 +1,6 @@ +# NOTE: lines of output removed. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine electrons (1): + dexx is negative! Check that exxdiv_treatment is appropriate for the system, or ecutfock may be too low + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# NOTE: lines of output removed. diff --git a/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida.out b/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida_1/PW.out new file mode 100644 index 000000000..7b648766b --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_eigenvectors_convergence/aiida_1/PW.out @@ -0,0 +1,6 @@ +# NOTE: lines of output removed + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine cdiaghg (91): + eigenvectors failed to converge + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# NOTE: lines of output removed diff --git a/tests/parsers/fixtures/neb/failed_empty_stdout/aiida.out b/tests/parsers/fixtures/neb/failed_empty_stdout/aiida.out new file mode 100644 index 000000000..e69de29bb diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida.out b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida.out new file mode 100644 index 000000000..23b006d48 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida.out @@ -0,0 +1,46 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..38cc762a6 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_1/aiida.save/data-file-schema.xml @@ -0,0 +1,489 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 3:58 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 9 + 2.251833940343682e-10 + + + false + 0 + 0.000000000000000e0 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 8 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 5.000000000000021e-1 + 5.057831966102975e-1 + false + + + -1.639911741543945e0 + -8.210583076470311e-1 + 5.449896033472501e-1 + -1.205822996705588e0 + -9.390231323249402e-1 + -5.406419069873609e-1 + -7.027020045835068e-90 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.794099481511934e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -3.559499864442982e-1 -2.807768395520258e-1 -2.668235453288007e-2 2.109896107383014e-1 2.785082838258826e-1 + 4.349045911272267e-1 -3.522918321552203e-1 -2.150775335211559e-1 -1.775961670972817e-2 2.360113562941134e-1 + 2.992686013711191e-1 4.588044743241808e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.931642407198526e-1 -2.066699137763700e-1 5.683126371970947e-2 1.086796156358250e-1 1.635347134906904e-1 + 2.371640787475987e-1 -2.915458850319906e-1 -1.222374903865807e-1 6.971336063745190e-2 1.160502130300290e-1 + 1.758933596174302e-1 2.469057160486919e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -2.443281788511607e-1 -1.463952862435669e-1 2.161120581446886e-1 2.163214097370847e-1 2.163215457047651e-1 + 2.970632409716087e-1 -2.434793395904609e-1 -4.861224178705646e-2 2.214537803703545e-1 2.318980495293997e-1 + 2.318982510906765e-1 3.048751922134203e-1 + + + 1.000000000000000e0 5.272045206808890e-213 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -3.516205145903888e-1 -2.911112146017303e-1 3.256007090902224e-2 8.756513697923152e-2 3.509244587329544e-1 + 4.190645503660799e-1 -3.504654925303605e-1 -2.254129298384740e-1 4.362531094807919e-2 1.083087319769732e-1 + 3.797010820046605e-1 4.405800385058004e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.912412996254348e-1 -2.112668012350490e-1 7.902309349824601e-2 1.032393388970288e-1 1.472910795445368e-1 + 2.502552461649238e-1 -2.906892415277952e-1 -1.273815426692634e-1 9.483652698376277e-2 1.116785627466151e-1 + 1.539407858433776e-1 2.767857713838184e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -2.445520314233560e-1 -1.496314771478793e-1 2.370123346187637e-1 2.370125851650657e-1 2.385666489353629e-1 + 2.619875889588166e-1 -2.442458042446330e-1 -5.217723283359605e-2 2.424676613664378e-1 2.520989587931267e-1 + 2.521064052172373e-1 2.797347339793517e-1 + + + 1.000000000000000e0 9.779981299945696e-174 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 3.463616616738912e-310 3.463616616738912e-310 0.000000000000000e0 + 1.383383808355492e-322 1.383383808355492e-322 3.476617212582100e-310 + 5.941588214702771e-313 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 7.039320000000000e-1 + 7.156929969787598e-1 + + + 5.901860000000001e-1 + 6.019501686096191e-1 + + + + diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/PW.out b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/PW.out new file mode 100644 index 000000000..2ac5fd328 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/PW.out @@ -0,0 +1,124 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + iteration # 12 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 1 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 2 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 3 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 4 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 5 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 6 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 7 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 8 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 9 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 10 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 11 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 12 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..571c0cc11 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_2/aiida.save/data-file-schema.xml @@ -0,0 +1,521 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 4: 8 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 6 + 2.987478357372217e-9 + + + false + 0 + 8.222749820632114e-3 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.781001759286239e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.781001759284574e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 16 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 4.999999999999995e-1 + 5.423121387882865e-1 + false + + + -1.650373698077203e0 + -9.392622213594638e-1 + 9.378367511975719e-1 + -1.241929490291398e0 + -9.655046009272102e-1 + -4.964849974169025e-2 + -9.301846534513714e-61 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.162776009008513e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -4.458515861965252e-1 -2.141774716636217e-1 -1.767661843232691e-2 2.676660605080837e-1 2.714494494052006e-1 + 3.302425404557732e-1 -4.265291792906014e-1 -1.725152573492461e-1 -5.076102397665264e-3 2.851850702267914e-1 + 2.911797154517722e-1 3.524463164988835e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.917019814975510e-1 -1.442514651056563e-1 3.919895080942317e-2 1.394380026640539e-1 1.918917369548542e-1 + 2.394608487870648e-1 -3.707985348175038e-1 -9.569368257123173e-2 5.022868781572148e-2 1.581028463348836e-1 + 2.101669153245467e-1 2.465318174969195e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 3.386736450861766e-84 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -3.473436178697815e-1 -8.895768564868206e-2 1.872311539993213e-1 1.872311539993213e-1 2.641585992302678e-1 + 2.934957246609585e-1 -3.252195429851549e-1 -3.563642398959929e-2 1.993904292491530e-1 1.993904292491533e-1 + 2.910691195985692e-1 3.023347990161993e-1 + + + 1.000000000000000e0 1.329503982402196e-146 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -4.456617205881046e-1 -2.215725725626742e-1 6.551739985210601e-2 7.522217434280493e-2 3.304974625673347e-1 + 4.924978214694020e-1 -4.263495408938337e-1 -1.820507921128737e-1 8.160686812482785e-2 9.246263848899792e-2 + 3.502809741744590e-1 5.156363710272533e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.914005890102032e-1 -1.470055448064099e-1 4.652287296866485e-2 1.410161020335758e-1 1.982548412758836e-1 + 2.402429819869411e-1 -3.705095540497454e-1 -9.923603091917499e-2 5.725944057292622e-2 1.554808946298324e-1 + 2.227432472014073e-1 2.561356368318331e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 2.174969613022579e-58 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -3.488109513874090e-1 -9.104962797006435e-2 1.918109274959190e-1 1.918109274959194e-1 2.924920481179293e-1 + 3.114601903834693e-1 -3.266801994017457e-1 -3.797197744134844e-2 2.036125770255061e-1 2.036125770255064e-1 + 3.234042198620719e-1 3.308818473756967e-1 + + + 1.000000000000000e0 2.378416430146295e-125 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + -2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 1.034973800000000e1 + 1.115338492393494e1 + + + 8.266386000000001e0 + 8.398051500320435e0 + + + + diff --git a/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_3/PW.out b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_3/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_first_step_interrupted/aiida_3/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_images_not_divisor_of_nproc/aiida.out b/tests/parsers/fixtures/neb/failed_images_not_divisor_of_nproc/aiida.out new file mode 100644 index 000000000..025b2c4e2 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_images_not_divisor_of_nproc/aiida.out @@ -0,0 +1,7 @@ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine mp_start_images (1): + n. of images must be divisor of nproc + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + stopping ... diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida.dat b/tests/parsers/fixtures/neb/failed_interrupted/aiida.dat new file mode 100644 index 000000000..5494a7e9a --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida.dat @@ -0,0 +1,3 @@ + 0.0000000000 0.0000000000 2.4196735479 + 0.5000000000 -0.2846843152 0.0378546205 + 1.0000000000 -0.0000000001 2.1764156108 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida.int b/tests/parsers/fixtures/neb/failed_interrupted/aiida.int new file mode 100644 index 000000000..1f55e45b7 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida.int @@ -0,0 +1,11 @@ + 0.0000000000 0.0000000000 + 0.1000000000 -0.0296071688 + 0.2000000000 -0.1002088789 + 0.3000000000 -0.1844754362 + 0.4000000000 -0.2550771464 + 0.5000000000 -0.2846843152 + 0.6000000000 -0.2550771464 + 0.7000000000 -0.1844754362 + 0.8000000000 -0.1002088790 + 0.9000000000 -0.0296071688 + 1.0000000000 -0.0000000001 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida.out b/tests/parsers/fixtures/neb/failed_interrupted/aiida.out new file mode 100644 index 000000000..80ae3c4c2 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida.out @@ -0,0 +1,305 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida.path b/tests/parsers/fixtures/neb/failed_interrupted/aiida.path new file mode 100644 index 000000000..6b891b487 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida.path @@ -0,0 +1,22 @@ +RESTART INFORMATION + 13 + 20 + 0 +NUMBER OF IMAGES + 3 +ENERGIES, POSITIONS AND GRADIENTS +Image: 1 + -1.6399117415 + -4.566700090012 0.000000000000 0.000000000000 -0.000384669442 -0.000000000000 -0.000000000000 1 0 0 + 0.000000000000 0.000000000000 0.000000000000 -0.000000000000 -0.000000000000 -0.000000000000 0 0 0 + 1.557766760017 0.000000000000 0.000000000000 0.042324797747 -0.000000000000 -0.000000000000 1 0 0 +Image: 2 + -1.6503736981 + -1.781001759286 0.000000000000 0.000000000000 -0.000736155225 -0.000000000000 -0.000000000000 + 0.000000000000 0.000000000000 0.000000000000 -0.000000000000 -0.000000000000 -0.000000000000 + 1.781001759285 0.000000000000 0.000000000000 0.000736155225 -0.000000000000 -0.000000000000 +Image: 3 + -1.6399117415 + -1.557766760017 0.000000000000 0.000000000000 -0.042324548563 -0.000000000000 -0.000000000000 + 0.000000000000 0.000000000000 0.000000000000 0.000000000000 -0.000000000000 -0.000000000000 + 4.566700090012 0.000000000000 0.000000000000 0.000384670746 -0.000000000000 -0.000000000000 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..38cc762a6 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_1/aiida.save/data-file-schema.xml @@ -0,0 +1,489 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 3:58 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 9 + 2.251833940343682e-10 + + + false + 0 + 0.000000000000000e0 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 8 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 5.000000000000021e-1 + 5.057831966102975e-1 + false + + + -1.639911741543945e0 + -8.210583076470311e-1 + 5.449896033472501e-1 + -1.205822996705588e0 + -9.390231323249402e-1 + -5.406419069873609e-1 + -7.027020045835068e-90 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.794099481511934e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -3.559499864442982e-1 -2.807768395520258e-1 -2.668235453288007e-2 2.109896107383014e-1 2.785082838258826e-1 + 4.349045911272267e-1 -3.522918321552203e-1 -2.150775335211559e-1 -1.775961670972817e-2 2.360113562941134e-1 + 2.992686013711191e-1 4.588044743241808e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.931642407198526e-1 -2.066699137763700e-1 5.683126371970947e-2 1.086796156358250e-1 1.635347134906904e-1 + 2.371640787475987e-1 -2.915458850319906e-1 -1.222374903865807e-1 6.971336063745190e-2 1.160502130300290e-1 + 1.758933596174302e-1 2.469057160486919e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -2.443281788511607e-1 -1.463952862435669e-1 2.161120581446886e-1 2.163214097370847e-1 2.163215457047651e-1 + 2.970632409716087e-1 -2.434793395904609e-1 -4.861224178705646e-2 2.214537803703545e-1 2.318980495293997e-1 + 2.318982510906765e-1 3.048751922134203e-1 + + + 1.000000000000000e0 5.272045206808890e-213 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -3.516205145903888e-1 -2.911112146017303e-1 3.256007090902224e-2 8.756513697923152e-2 3.509244587329544e-1 + 4.190645503660799e-1 -3.504654925303605e-1 -2.254129298384740e-1 4.362531094807919e-2 1.083087319769732e-1 + 3.797010820046605e-1 4.405800385058004e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.912412996254348e-1 -2.112668012350490e-1 7.902309349824601e-2 1.032393388970288e-1 1.472910795445368e-1 + 2.502552461649238e-1 -2.906892415277952e-1 -1.273815426692634e-1 9.483652698376277e-2 1.116785627466151e-1 + 1.539407858433776e-1 2.767857713838184e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -2.445520314233560e-1 -1.496314771478793e-1 2.370123346187637e-1 2.370125851650657e-1 2.385666489353629e-1 + 2.619875889588166e-1 -2.442458042446330e-1 -5.217723283359605e-2 2.424676613664378e-1 2.520989587931267e-1 + 2.521064052172373e-1 2.797347339793517e-1 + + + 1.000000000000000e0 9.779981299945696e-174 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 3.463616616738912e-310 3.463616616738912e-310 0.000000000000000e0 + 1.383383808355492e-322 1.383383808355492e-322 3.476617212582100e-310 + 5.941588214702771e-313 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 7.039320000000000e-1 + 7.156929969787598e-1 + + + 5.901860000000001e-1 + 6.019501686096191e-1 + + + + diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/PW.out b/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/PW.out new file mode 100644 index 000000000..2ac5fd328 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/PW.out @@ -0,0 +1,124 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + iteration # 12 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 1 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 2 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 3 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + iteration # 11 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 4 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + iteration # 10 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 5 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 6 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 7 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 8 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 9 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 10 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 11 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + coordinates at iteration 12 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..571c0cc11 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_2/aiida.save/data-file-schema.xml @@ -0,0 +1,521 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 4: 8 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 6 + 2.987478357372217e-9 + + + false + 0 + 8.222749820632114e-3 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.781001759286239e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 1.781001759284574e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 16 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + crystal_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 3 2 1 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 4.999999999999995e-1 + 5.423121387882865e-1 + false + + + -1.650373698077203e0 + -9.392622213594638e-1 + 9.378367511975719e-1 + -1.241929490291398e0 + -9.655046009272102e-1 + -4.964849974169025e-2 + -9.301846534513714e-61 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.162776009008513e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -4.458515861965252e-1 -2.141774716636217e-1 -1.767661843232691e-2 2.676660605080837e-1 2.714494494052006e-1 + 3.302425404557732e-1 -4.265291792906014e-1 -1.725152573492461e-1 -5.076102397665264e-3 2.851850702267914e-1 + 2.911797154517722e-1 3.524463164988835e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.917019814975510e-1 -1.442514651056563e-1 3.919895080942317e-2 1.394380026640539e-1 1.918917369548542e-1 + 2.394608487870648e-1 -3.707985348175038e-1 -9.569368257123173e-2 5.022868781572148e-2 1.581028463348836e-1 + 2.101669153245467e-1 2.465318174969195e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 3.386736450861766e-84 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -3.473436178697815e-1 -8.895768564868206e-2 1.872311539993213e-1 1.872311539993213e-1 2.641585992302678e-1 + 2.934957246609585e-1 -3.252195429851549e-1 -3.563642398959929e-2 1.993904292491530e-1 1.993904292491533e-1 + 2.910691195985692e-1 3.023347990161993e-1 + + + 1.000000000000000e0 1.329503982402196e-146 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -4.456617205881046e-1 -2.215725725626742e-1 6.551739985210601e-2 7.522217434280493e-2 3.304974625673347e-1 + 4.924978214694020e-1 -4.263495408938337e-1 -1.820507921128737e-1 8.160686812482785e-2 9.246263848899792e-2 + 3.502809741744590e-1 5.156363710272533e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -3.914005890102032e-1 -1.470055448064099e-1 4.652287296866485e-2 1.410161020335758e-1 1.982548412758836e-1 + 2.402429819869411e-1 -3.705095540497454e-1 -9.923603091917499e-2 5.725944057292622e-2 1.554808946298324e-1 + 2.227432472014073e-1 2.561356368318331e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 2.174969613022579e-58 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -3.488109513874090e-1 -9.104962797006435e-2 1.918109274959190e-1 1.918109274959194e-1 2.924920481179293e-1 + 3.114601903834693e-1 -3.266801994017457e-1 -3.797197744134844e-2 2.036125770255061e-1 2.036125770255064e-1 + 3.234042198620719e-1 3.308818473756967e-1 + + + 1.000000000000000e0 2.378416430146295e-125 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + -2.907181079084718e-3 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 1.034973800000000e1 + 1.115338492393494e1 + + + 8.266386000000001e0 + 8.398051500320435e0 + + + + diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/PW.out b/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/PW.out new file mode 100644 index 000000000..414cb5ace --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/PW.out @@ -0,0 +1,11 @@ + + coordinates at iteration 0 + iteration # 1 ecut= 20.00 Ry beta= 0.30 + iteration # 2 ecut= 20.00 Ry beta= 0.30 + iteration # 3 ecut= 20.00 Ry beta= 0.30 + iteration # 4 ecut= 20.00 Ry beta= 0.30 + iteration # 5 ecut= 20.00 Ry beta= 0.30 + iteration # 6 ecut= 20.00 Ry beta= 0.30 + iteration # 7 ecut= 20.00 Ry beta= 0.30 + iteration # 8 ecut= 20.00 Ry beta= 0.30 + iteration # 9 ecut= 20.00 Ry beta= 0.30 diff --git a/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/aiida.save/data-file-schema.xml b/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/aiida.save/data-file-schema.xml new file mode 100644 index 000000000..643e413bc --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_interrupted/aiida_3/aiida.save/data-file-schema.xml @@ -0,0 +1,489 @@ + + + + + QEXSD_19.03 + XML file generated by PWSCF + This run was terminated on: 21: 4: 0 9 Sep 2019 + + + + 1 + 1 + 1 + 1 + 1 + 1 + + + + + relax + from_scratch + aiida + ./pseudo/ + ./out/ + false + false + true + low + 10000000 + 50 + 5.000000000000000e-5 + 5.000000000000000e-4 + 5.000000000000000e-1 + high + 100000 + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + PBE + + + true + false + false + + + gaussian + 0.000000000000000e0 + smearing + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + davidson + plain + 3.000000000000000e-1 + 5.000000000000000e-9 + 8 + 100 + false + false + false + false + 0.000000000000000e0 + false + 20 + 20 + + + Monkhorst-Pack + + + bfgs + 1.000000000000000e2 + false + false + + 1 + 1.000000000000000e-4 + 8.000000000000000e-1 + 5.000000000000000e-1 + 1.000000000000000e-2 + 5.000000000000000e-1 + + + + none + 0.000000000000000e0 + 2.756043328244409e3 + 0.000000000000000e0 + false + false + false + + + false + false + false + false + false + false + + + 1 0 0 + 0 0 0 + 1 0 0 + + + + + + true + 9 + 2.802459417333560e-10 + + + false + 0 + 1.268153988343472e-1 + + + + false + false + true + false + + + + 1.007940000000000e0 + H.pbe-rrkjus_psl.1.0.0.UPF + 5.000000000000000e-1 + + + + + -1.557766760016841e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 4.566700090011524e0 0.000000000000000e0 0.000000000000000e0 + + + 1.200000000003780e1 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 4.999999999905514e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 4.999999999905514e0 + + + + 8 + 16 + 0 + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + crystal_symmetry + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + + 1 2 3 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 -1.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 + + + + lattice_symmetry + + -1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 1.000000000000000e0 + 0.000000000000000e0 -1.000000000000000e0 0.000000000000000e0 + + + + + false + 1.000000000000000e1 + 5.000000000000000e1 + + + + 5031 + 3587 + 458 + + 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 2.400000000052913e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 2.400000000052913e0 + + + + PBE + + + true + false + false + 5.000000000000001e-1 + 5.057831998906718e-1 + false + + + -1.639911741546294e0 + -8.210564721985529e-1 + 5.449888521674953e-1 + -1.205822586646802e0 + -9.390228115615702e-1 + -5.406419069873609e-1 + -7.027020045835068e-90 + + + true + false + false + 6 + 6 + 3.000000000000000e0 + 3 + true + -1.794091735351536e-1 + + Monkhorst-Pack + + 6 + smearing + gaussian + + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 445 + + -3.559490914193536e-1 -2.807769320994993e-1 -2.668237668245047e-2 2.109893592596505e-1 2.785085145163730e-1 + 4.349046220315093e-1 -3.522910909533920e-1 -2.150774443577042e-1 -1.775934035492110e-2 2.360117740224591e-1 + 2.992688257917955e-1 4.588048189084177e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.931630815714572e-1 -2.066701292972803e-1 5.683108184176351e-2 1.086799700741929e-1 1.635348417989829e-1 + 2.371635536690519e-1 -2.915450629142229e-1 -1.222372664805963e-1 6.971349405707152e-2 1.160505548801111e-1 + 1.758933992359557e-1 2.469059097489662e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + 0.000000000000000e0 -1.200000000026456e0 -1.200000000026456e0 + 412 + + -2.443268842638946e-1 -1.463955806207085e-1 2.161127383366207e-1 2.163214284248397e-1 2.163214559418829e-1 + 2.970618157937372e-1 -2.434784605532482e-1 -4.861192207146663e-2 2.214542104652864e-1 2.318983107345441e-1 + 2.318984194694333e-1 3.048750387093320e-1 + + + 1.000000000000000e0 5.440229474744043e-213 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 0.000000000000000e0 + 458 + + -3.516194996046128e-1 -2.911114475150964e-1 3.256021341532520e-2 8.756493178410613e-2 3.509243189556919e-1 + 4.190647067327669e-1 -3.504647300655896e-1 -2.254128668343891e-1 4.362568454234229e-2 1.083089247592750e-1 + 3.797014684289622e-1 4.405802661403338e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 0.000000000000000e0 -1.200000000026456e0 + 456 + + -2.912400917131171e-1 -2.112670687925708e-1 7.902285953589243e-2 1.032393174465311e-1 1.472916109052571e-1 + 2.502551263444964e-1 -2.906884130892320e-1 -1.273813306335954e-1 9.483673618802689e-2 1.116785820170263e-1 + 1.539411907716291e-1 2.767860079964009e-1 + + + 1.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + -5.000000000000000e-1 -1.200000000026456e0 -1.200000000026456e0 + 448 + + -2.445507126514100e-1 -1.496317941067331e-1 2.370123413143451e-1 2.370124648263880e-1 2.385674500168446e-1 + 2.619878160925502e-1 -2.442449225144721e-1 -5.217691769022061e-2 2.424681234073133e-1 2.520993478970608e-1 + 2.521100586005074e-1 2.797348715614159e-1 + + + 1.000000000000000e0 1.006704606805603e-173 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 1.000000000000000e0 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 + + + + + 4.483601423732173e-2 0.000000000000000e0 0.000000000000000e0 + 0.000000000000000e0 0.000000000000000e0 0.000000000000000e0 + -4.483601423732174e-2 0.000000000000000e0 0.000000000000000e0 + + + 0 + + + 2.349583000000000e0 + 2.380792856216431e0 + + + 2.020140000000000e0 + 2.051357030868530e0 + + + + diff --git a/tests/parsers/fixtures/neb/failed_nimage_higher_than_images/aiida.out b/tests/parsers/fixtures/neb/failed_nimage_higher_than_images/aiida.out new file mode 100644 index 000000000..875b50faf --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_nimage_higher_than_images/aiida.out @@ -0,0 +1,7 @@ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine initialize_path (1): + nimage is larger than the available number of images + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + stopping ... \ No newline at end of file diff --git a/tests/parsers/fixtures/neb/failed_nimage_higher_than_nproc/aiida.out b/tests/parsers/fixtures/neb/failed_nimage_higher_than_nproc/aiida.out new file mode 100644 index 000000000..d34aa8310 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_nimage_higher_than_nproc/aiida.out @@ -0,0 +1,7 @@ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine mp_start_images (1): + invalid number of images, out of range + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + stopping ... diff --git a/tests/parsers/fixtures/neb/failed_nimage_not_divisor_of_nproc/aiida.out b/tests/parsers/fixtures/neb/failed_nimage_not_divisor_of_nproc/aiida.out new file mode 100644 index 000000000..b48eb8d81 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_nimage_not_divisor_of_nproc/aiida.out @@ -0,0 +1,7 @@ + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine mp_start_images (1): + n. of images must be divisor of nproc + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + stopping ... \ No newline at end of file diff --git a/tests/parsers/fixtures/neb/failed_npools_too_high/aiida.out b/tests/parsers/fixtures/neb/failed_npools_too_high/aiida.out new file mode 100644 index 000000000..06c0783f8 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_npools_too_high/aiida.out @@ -0,0 +1,57 @@ + + Program NEB v.7.4.1 starts on 17Oct2025 at 18:11:44 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + "P. Giannozzi et al., J. Chem. Phys. 152 154105 (2020); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + 13732 MiB available memory on the printing compute node when the environment starts + + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + File ./out/aiida_1/PW.out deleted, as requested + + File ./out/aiida_7/PW.out deleted, as requested + + initial path length = 4.2553 bohr + initial inter-image distance = 0.7092 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 7 + nstep_path = 100 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.1000 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.0 self-consistency for image 1 + Message from routine setup: + using ibrav=0 with symmetry is DISCOURAGED, use correct ibrav instead + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine mp_start_pools (1): + invalid number of pools, out of range + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + stopping ... diff --git a/tests/parsers/fixtures/neb/failed_qr_failed/aiida.out b/tests/parsers/fixtures/neb/failed_qr_failed/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_qr_failed/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_qr_failed/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_qr_failed/aiida_1/PW.out new file mode 100644 index 000000000..569c5991a --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_qr_failed/aiida_1/PW.out @@ -0,0 +1,3 @@ +# NOTE: lines of output removed + [Q, R] = qr(X, 0) failed +# NOTE: lines of output removed diff --git a/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida.out b/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida_1/PW.out new file mode 100644 index 000000000..3f01d0d56 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_s_matrix_not_positive_definite/aiida_1/PW.out @@ -0,0 +1,6 @@ +# NOTE: lines of output removed + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine cdiaghg (286): + S matrix not positive definite + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# NOTE: lines of output removed diff --git a/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida.out b/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida_1/PW.out new file mode 100644 index 000000000..54dfb3b72 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_too_many_bands_not_converged/aiida_1/PW.out @@ -0,0 +1,8 @@ +# NOTE: lines of output removed. + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine c_bands (1): + too many bands are not converged + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +# NOTE: lines of output removed. diff --git a/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida.out b/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida.out new file mode 100644 index 000000000..e9ee33d58 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida.out @@ -0,0 +1,317 @@ + + Program NEB v.6.4.1 starts on 9Sep2019 at 21: 3:57 + + This program is part of the open-source Quantum ESPRESSO suite + for quantum simulation of materials; please cite + "P. Giannozzi et al., J. Phys.:Condens. Matter 21 395502 (2009); + "P. Giannozzi et al., J. Phys.:Condens. Matter 29 465901 (2017); + URL http://www.quantum-espresso.org", + in publications or presentations arising from this work. More details at + http://www.quantum-espresso.org/quote + + Parallel version (MPI), running on 1 processors + + MPI processes distributed on 1 nodes + + No input file found, assuming nothing to parse + Searching argument -input_images or --input_images + Reading input from pw_1.in + Reading input from pw_2.in + + initial path length = 4.2553 bohr + initial inter-image distance = 2.1276 bohr + + string_method = neb + restart_mode = from_scratch + opt_scheme = broyden + num_of_images = 3 + nstep_path = 20 + CI_scheme = auto + first_last_opt = F + use_freezing = F + ds = 2.0000 a.u. + k_max = 0.3000 a.u. + k_min = 0.2000 a.u. + suggested k_max = 0.1542 a.u. + suggested k_min = 0.1028 a.u. + path_thr = 0.0500 eV / A + + ------------------------------ iteration 1 ------------------------------ + + tcpu = 0.2 self-consistency for image 1 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 0.9 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + tcpu = 1.8 self-consistency for image 3 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.487921 eV + activation energy (<-) = 2.487921 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.1363465 2.305560 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.255 bohr + inter-image distance = 2.128 bohr + + ------------------------------ iteration 2 ------------------------------ + + tcpu = 2.6 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 2.035025 eV + activation energy (<-) = 2.035025 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -42.5892425 2.460480 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.285 bohr + inter-image distance = 2.143 bohr + + ------------------------------ iteration 3 ------------------------------ + + tcpu = 3.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 1.525016 eV + activation energy (<-) = 1.525016 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -43.0992523 2.556790 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.383 bohr + inter-image distance = 2.191 bohr + + ------------------------------ iteration 4 ------------------------------ + + tcpu = 4.5 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.447076 eV + activation energy (<-) = 0.447076 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.1771919 2.253546 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 4.796 bohr + inter-image distance = 2.398 bohr + + ------------------------------ iteration 5 ------------------------------ + + tcpu = 5.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 3.249031 T + 2 -44.8839649 0.577080 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.454 bohr + inter-image distance = 2.727 bohr + + ------------------------------ iteration 6 ------------------------------ + + tcpu = 6.1 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.396607 eV + activation energy (<-) = 0.396607 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.176428 T + 2 -44.2276605 4.438232 F + 3 -44.6242679 2.176416 T + + climbing image = 2 + + path length = 6.275 bohr + inter-image distance = 3.137 bohr + + ------------------------------ iteration 7 ------------------------------ + + tcpu = 7.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.844563 T + 2 -44.9016945 0.317440 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.520 bohr + inter-image distance = 2.760 bohr + + ------------------------------ iteration 8 ------------------------------ + + tcpu = 7.7 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.749293 T + 2 -44.9043340 0.258570 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.536 bohr + inter-image distance = 2.768 bohr + + ------------------------------ iteration 9 ------------------------------ + + tcpu = 8.3 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.685185 T + 2 -44.9057771 0.215664 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.546 bohr + inter-image distance = 2.773 bohr + + ------------------------------ iteration 10 ------------------------------ + + tcpu = 8.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.639147 T + 2 -44.9066490 0.185069 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.554 bohr + inter-image distance = 2.777 bohr + + ------------------------------ iteration 11 ------------------------------ + + tcpu = 9.4 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.180484 T + 2 -44.9079701 0.126805 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.628 bohr + inter-image distance = 2.814 bohr + + ------------------------------ iteration 12 ------------------------------ + + tcpu = 10.0 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.586315 T + 2 -44.9074826 0.149493 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.562 bohr + inter-image distance = 2.781 bohr + + ------------------------------ iteration 13 ------------------------------ + + tcpu = 10.8 self-consistency for image 2 + Message from routine setup: + DEPRECATED: symmetry with ibrav=0, use correct ibrav instead + + activation energy (->) = 0.000000 eV + activation energy (<-) = 0.000000 eV + + image energy (eV) error (eV/A) frozen + + 1 -44.6242679 2.419674 T + 2 -44.9089522 0.037855 F + 3 -44.6242679 2.176416 T + + climbing image = 1 + + path length = 5.589 bohr + inter-image distance = 2.795 bohr + + --------------------------------------------------------------------------- + + + neb: convergence achieved in 13 iterations + + NEB : 10.54s CPU 11.44s WALL + + + This run was terminated on: 21: 4: 8 9Sep2019 + +=------------------------------------------------------------------------------= + JOB DONE. +=------------------------------------------------------------------------------= diff --git a/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida_1/PW.out b/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida_1/PW.out new file mode 100644 index 000000000..d4a67a751 --- /dev/null +++ b/tests/parsers/fixtures/neb/failed_zhegvd_failed/aiida_1/PW.out @@ -0,0 +1,6 @@ +# NOTE: lines of output removed + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + Error in routine ppcg (13): + zhegvd failed + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +# NOTE: lines of output removed diff --git a/tests/parsers/test_neb.py b/tests/parsers/test_neb.py index e8e6698bf..b313f6669 100644 --- a/tests/parsers/test_neb.py +++ b/tests/parsers/test_neb.py @@ -1,22 +1,33 @@ # -*- coding: utf-8 -*- +# pylint: disable=invalid-name,redefined-outer-name, too-many-lines """Tests for the `NebParser`.""" from aiida import orm from aiida.common import AttributeDict import numpy as np +import pytest +from aiida_quantumespresso.calculations.neb import NebCalculation -def generate_inputs(parser_options=None): - """Return only those inputs that the parser will expect to be there.""" - inputs = { - 'parameters': orm.Dict({'PATH': { - 'num_of_images': 3 - }}), - 'pw': { - 'parameters': orm.Dict() - }, - 'settings': orm.Dict({'parser_options': parser_options}) - } - return AttributeDict(inputs) + +@pytest.fixture +def generate_inputs(generate_trajectory): + """Generate the inputs for the NEB parser.""" + + def _generate_inputs(parser_options=None): + """Return only those inputs that the parser will expect to be there.""" + inputs = { + 'images': generate_trajectory(), + 'parameters': orm.Dict({'PATH': { + 'num_of_images': 3 + }}), + 'pw': { + 'parameters': orm.Dict() + }, + 'settings': orm.Dict({'parser_options': parser_options}) + } + return AttributeDict(inputs) + + return _generate_inputs def build_num_regression_dictionary(arrays, array_names): @@ -44,7 +55,9 @@ def build_num_regression_dictionary(arrays, array_names): return result -def test_neb_default(fixture_localhost, generate_calc_job_node, generate_parser, data_regression, num_regression): +def test_neb_default( + fixture_localhost, generate_calc_job_node, generate_parser, generate_inputs, data_regression, num_regression +): """Test a NEB calculation with symmetric images and automatic climbing image.""" name = 'default' entry_point_calc_job = 'quantumespresso.neb' @@ -79,7 +92,7 @@ def test_neb_default(fixture_localhost, generate_calc_job_node, generate_parser, def test_neb_all_iterations( - fixture_localhost, generate_calc_job_node, generate_parser, data_regression, num_regression + fixture_localhost, generate_calc_job_node, generate_parser, data_regression, num_regression, generate_inputs ): """Test a NEB calculation with the parser option `all_iterations=True`.""" name = 'default' @@ -104,3 +117,159 @@ def test_neb_all_iterations( data = build_num_regression_dictionary([results['iteration_array']], [results['iteration_array'].get_arraynames()]) num_regression.check(data, default_tolerance=dict(atol=0, rtol=1e-18)) + + +@pytest.mark.parametrize( + 'filename, exception', [ + ('failed_computing_cholesky', 'ERROR_COMPUTING_CHOLESKY'), + ('failed_too_many_bands_not_converged', 'ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED'), + ('failed_s_matrix_not_positive_definite', 'ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE'), + ('failed_zhegvd_failed', 'ERROR_ZHEGVD_FAILED'), + ('failed_qr_failed', 'ERROR_QR_FAILED'), + ('failed_eigenvectors_convergence', 'ERROR_EIGENVECTOR_CONVERGENCE'), + ('failed_broyden_factorization', 'ERROR_BROYDEN_FACTORIZATION'), + ('failed_dexx_negative', 'ERROR_DEXX_IS_NEGATIVE'), + ] +) +def test_failed_diagonalization( + fixture_localhost, generate_calc_job_node, generate_parser, generate_inputs, filename, exception +): + """Test the parsing of a calculation that failed with diagonalization exceptions. + + In this test the stdout is incomplete, and the XML is missing completely. The stdout contains + the relevant error message. + """ + + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, filename, generate_inputs()) + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + assert calcfunction.is_finished, calcfunction.exception + assert calcfunction.is_failed, calcfunction.exit_status + assert calcfunction.exit_status == node.process_class.exit_codes.get(exception).status + + +@pytest.mark.parametrize( + 'test_case, expected_exit_code', ( + ('default', None), + ('failed_interrupted', NebCalculation.exit_codes.ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY), + ) +) +def test_failed_interrupted_scheduler( + fixture_localhost, generate_calc_job_node, generate_parser, generate_inputs, test_case, expected_exit_code +): + """Test that an exit code set by the scheduler is not overridden unless a more specific error is parsed. + + The test is run twice, once for the ``default`` test case and once for ``failed_interrupted``, which correspond to a + successful run and a run that got interrupted (usually due to scheduler killing the job). Before calling the parser + the ``ERROR_SCHEDULER_OUT_OF_WALLTIME`` is set on the node. In the case of the ``default`` test case, this should be + ignored and the parser should return ``ExitCode(0)``. For the interrupted case, the exit code of the scheduler + should not be overridden so the parser should return ``ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY``. + """ + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + # Generate the node and set an exit status as if it would have been set by the scheduler parser + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, test_case, generate_inputs()) + node.set_exit_status(NebCalculation.exit_codes.ERROR_SCHEDULER_OUT_OF_WALLTIME.status) + + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + if expected_exit_code is None: + assert calcfunction.is_finished_ok, (calcfunction.exit_status, calcfunction.exception) + else: + assert not calcfunction.is_finished_ok, calcfunction.exception + assert calcfunction.exit_status == expected_exit_code.status + + +def test_failed_cycle_exceeded_nstep( + fixture_localhost, + generate_calc_job_node, + generate_parser, + generate_inputs, +): + """Test the parsing of a calculation that stopped due to exceeding the maximum number of steps.""" + name = 'failed_cycle_exceeded_nstep' + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, name, generate_inputs()) + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + assert calcfunction.is_finished, calcfunction.exception + assert calcfunction.is_failed, calcfunction.exit_status + assert calcfunction.exit_status == node.process_class.exit_codes.ERROR_NEB_CYCLE_EXCEEDED_NSTEP.status + + +def test_failed_empty_stdout( + fixture_localhost, + generate_calc_job_node, + generate_parser, + generate_inputs, +): + """Test the parsing of a calculation that stopped producing an empty stdout.""" + name = 'failed_empty_stdout' + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, name, generate_inputs()) + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + assert calcfunction.is_finished, calcfunction.exception + assert calcfunction.is_failed, calcfunction.exit_status + assert calcfunction.exit_status == node.process_class.exit_codes.ERROR_OUTPUT_STDOUT_READ.status + + +def test_failed_first_step_interrupted( + fixture_localhost, + generate_calc_job_node, + generate_parser, + generate_inputs, +): + """Test the parsing of a calculation that stopped because it was interrupted during the first step.""" + name = 'failed_first_step_interrupted' + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, name, generate_inputs()) + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + exit_status = node.process_class.exit_codes.ERROR_NEB_INTERRUPTED_WITHOUT_PARTIAL_TRAJECTORY.status + assert calcfunction.is_finished, calcfunction.exception + assert calcfunction.is_failed, calcfunction.exit_status + assert calcfunction.exit_status == exit_status + +@pytest.mark.parametrize( + 'filename, exception', [ + ('failed_npools_too_high', 'ERROR_NPOOLS_TOO_HIGH'), + ('failed_nimage_higher_than_nproc', 'ERROR_NIMAGE_HIGHER_THAN_NPROC'), + ('failed_nimage_higher_than_images', 'ERROR_NIMAGE_HIGHER_THAN_IMAGES'), + ('failed_nimage_not_divisor_of_nproc', 'ERROR_NIMAGE_NOT_DIVISOR_OF_NPROC') + ] +) +def test_failed_parallelization( + fixture_localhost, generate_calc_job_node, generate_parser, generate_inputs, filename, exception +): + """Test the parsing of a calculation that failed with parallelization exceptions. + + In this test the stdout is incomplete, and the XML is missing completely. The stdout contains + the relevant error message. + """ + + entry_point_calc_job = 'quantumespresso.neb' + entry_point_parser = 'quantumespresso.neb' + + node = generate_calc_job_node(entry_point_calc_job, fixture_localhost, filename, generate_inputs()) + parser = generate_parser(entry_point_parser) + _, calcfunction = parser.parse_from_node(node, store_provenance=False) + + assert calcfunction.is_finished, calcfunction.exception + assert calcfunction.is_failed, calcfunction.exit_status + assert calcfunction.exit_status == node.process_class.exit_codes.get(exception).status \ No newline at end of file diff --git a/tests/parsers/test_neb/test_neb_default.yml b/tests/parsers/test_neb/test_neb_default.yml index f22768407..777505958 100644 --- a/tests/parsers/test_neb/test_neb_default.yml +++ b/tests/parsers/test_neb/test_neb_default.yml @@ -417,5 +417,4 @@ parameters: suggested_k_min_au: 0.1028 use_freezing: false wall_time_seconds: 11.44 - warnings: - - 'error: ERROR_OUTPUT_STDOUT_INCOMPLETE' + warnings: [] diff --git a/tests/workflows/neb/__init__.py b/tests/workflows/neb/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/workflows/neb/test_base.py b/tests/workflows/neb/test_base.py new file mode 100644 index 000000000..35eaed7fd --- /dev/null +++ b/tests/workflows/neb/test_base.py @@ -0,0 +1,153 @@ +# -*- coding: utf-8 -*- +# pylint: disable=no-member,redefined-outer-name +"""Tests for the `PwBaseWorkChain` class.""" +from aiida.common import AttributeDict +from aiida.engine import ProcessHandlerReport +import pytest + +from aiida_quantumespresso.calculations.neb import NebCalculation +from aiida_quantumespresso.workflows.neb.base import NebBaseWorkChain + + +def test_setup(generate_workchain_neb): + """Test `NebBaseWorkChain.setup`.""" + process = generate_workchain_neb() + process.setup() + + assert isinstance(process.ctx.inputs, AttributeDict) + + +def test_handle_electronic_convergence_not_reached(generate_workchain_neb, fixture_localhost, generate_remote_data): + """Test `NebBaseWorkChain.handle_electronic_convergence_not_reached`.""" + remote_data = generate_remote_data(computer=fixture_localhost, remote_path='/path/to/remote') + + process = generate_workchain_neb( + exit_code=NebCalculation.exit_codes.ERROR_ELECTRONIC_CONVERGENCE_NOT_REACHED, + neb_outputs={'remote_folder': remote_data} + ) + process.setup() + + process.ctx.inputs.pw.parameters['ELECTRONS']['mixing_beta'] = 0.5 + + result = process.handle_electronic_convergence_not_reached(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['mixing_beta'] == \ + process.defaults.delta_factor_mixing_beta * 0.5 + assert process.ctx.inputs.parameters['PATH']['restart_mode'] == 'restart' + assert result.do_break + + result = process.inspect_process() + assert result.status == 0 + + +@pytest.mark.parametrize( + 'exit_code', ( + NebCalculation.exit_codes.ERROR_COMPUTING_CHOLESKY, + NebCalculation.exit_codes.ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED, + NebCalculation.exit_codes.ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE, + NebCalculation.exit_codes.ERROR_ZHEGVD_FAILED, + NebCalculation.exit_codes.ERROR_QR_FAILED, + NebCalculation.exit_codes.ERROR_EIGENVECTOR_CONVERGENCE, + NebCalculation.exit_codes.ERROR_BROYDEN_FACTORIZATION, + ) +) +def test_handle_diagonalization_errors(generate_workchain_neb, exit_code): + """Test `NebBaseWorkChain.handle_diagonalization_errors`.""" + process = generate_workchain_neb(exit_code=exit_code) + process.setup() + + process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] = 'david' + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'ppcg' + assert result.do_break + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'paro' + assert result.do_break + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'cg' + assert result.do_break + + result = process.inspect_process() + assert result == NebBaseWorkChain.exit_codes.ERROR_KNOWN_UNRECOVERABLE_FAILURE + + +@pytest.mark.parametrize( + 'exit_code', ( + NebCalculation.exit_codes.ERROR_COMPUTING_CHOLESKY, + NebCalculation.exit_codes.ERROR_DIAGONALIZATION_TOO_MANY_BANDS_NOT_CONVERGED, + NebCalculation.exit_codes.ERROR_S_MATRIX_NOT_POSITIVE_DEFINITE, + NebCalculation.exit_codes.ERROR_ZHEGVD_FAILED, + NebCalculation.exit_codes.ERROR_QR_FAILED, + NebCalculation.exit_codes.ERROR_EIGENVECTOR_CONVERGENCE, + NebCalculation.exit_codes.ERROR_BROYDEN_FACTORIZATION, + ) +) +def test_handle_diagonalization_errors_not_from_david(generate_workchain_neb, exit_code): + """Test `NebBaseWorkChain.handle_diagonalization_errors` starting from a different diagonalization.""" + process = generate_workchain_neb(exit_code=exit_code) + process.setup() + + process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] = 'ppcg' + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'david' + assert result.do_break + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'paro' + assert result.do_break + + result = process.handle_diagonalization_errors(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert process.ctx.inputs.pw.parameters['ELECTRONS']['diagonalization'] == 'cg' + assert result.do_break + + result = process.inspect_process() + assert result == NebBaseWorkChain.exit_codes.ERROR_KNOWN_UNRECOVERABLE_FAILURE + + +@pytest.mark.parametrize('exit_code', (NebCalculation.exit_codes.ERROR_NEB_INTERRUPTED_PARTIAL_TRAJECTORY,)) +def test_handle_neb_interrupted_partial_trajectory( + generate_workchain_neb, generate_remote_data, fixture_localhost, exit_code +): + """Test `NebBaseWorkChain.handle_neb_interrupted_partial_trajectory`.""" + remote_data = generate_remote_data(computer=fixture_localhost, remote_path='/path/to/remote') + process = generate_workchain_neb(neb_outputs={'remote_folder': remote_data}, exit_code=exit_code) + process.setup() + + result = process.handle_neb_interrupted_partial_trajectory(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert result.do_break + assert result.exit_code.status == 0 + assert process.ctx.inputs.parameters['PATH']['restart_mode'] == 'restart' + + result = process.inspect_process() + assert result.status == 0 + + +@pytest.mark.parametrize('exit_code', (NebCalculation.exit_codes.ERROR_NEB_CYCLE_EXCEEDED_NSTEP,)) +def test_handle_neb_cycle_exceeded_nstep_error( + generate_workchain_neb, generate_remote_data, fixture_localhost, exit_code +): + """Test `NebBaseWorkChain.handle_neb_cycle_exceeded_nstep`.""" + remote_data = generate_remote_data(computer=fixture_localhost, remote_path='/path/to/remote') + process = generate_workchain_neb(neb_outputs={'remote_folder': remote_data}, exit_code=exit_code) + process.setup() + input_nsteps = process.ctx.inputs.parameters['PATH']['nstep_path'] if 'nstep_path' in process.ctx.inputs.parameters[ + 'PATH'] else 1 + result = process.handle_neb_cycle_exceeded_nstep(process.ctx.children[-1]) + assert isinstance(result, ProcessHandlerReport) + assert result.do_break + assert result.exit_code.status == 0 + assert process.ctx.inputs.parameters['PATH']['restart_mode'] == 'restart' + assert process.ctx.inputs.parameters['PATH']['nstep_path'] == input_nsteps * 2 + result = process.inspect_process() + assert result.status == 0