Hi all,
I am running aiida-vibroscopy and in its PwCalculation I ran into this error.
2024-03-26 09:01:09 [1327 | REPORT]: [2794|IRamanSpectraWorkChain|run_spectra]: submitting `HarmonicWorkChain` <PK=2796>
2024-03-26 09:01:12 [1328 | REPORT]: [2796|HarmonicWorkChain|run_phonon]: submitting `PhononWorkChain` <PK=2799>
2024-03-26 09:01:13 [1329 | REPORT]: [2796|HarmonicWorkChain|run_dielectric]: submitting `DielectricWorkChain` <PK=2801>
2024-03-26 09:01:13 [1330 | REPORT]: [2799|PhononWorkChain|run_base_supercell]: launching base supercell scf PwBaseWorkChain<2806>
2024-03-26 09:01:14 [1331 | REPORT]: [2801|DielectricWorkChain|run_base_scf]: launching base scf PwBaseWorkChain<2809>
2024-03-26 09:01:14 [1332 | REPORT]: [2806|PwBaseWorkChain|run_process]: launching PwCalculation<2812> iteration #1
2024-03-26 09:01:14 [1333 | REPORT]: [2809|PwBaseWorkChain|run_process]: launching PwCalculation<2815> iteration #1
2024-03-26 13:04:30 [1338 | REPORT]: [2806|PwBaseWorkChain|report_error_handled]: PwCalculation<2812> failed with exit status 305: Both the stdout and XML output files could not be read or parsed.
2024-03-26 13:04:30 [1339 | REPORT]: [2806|PwBaseWorkChain|report_error_handled]: Action taken: unrecoverable error, aborting...
2024-03-26 13:04:30 [1340 | REPORT]: [2806|PwBaseWorkChain|inspect_process]: PwCalculation<2812> failed but a handler detected an unrecoverable problem, aborting
2024-03-26 13:04:30 [1341 | REPORT]: [2806|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
2024-03-26 13:04:30 [1342 | REPORT]: [2799|PhononWorkChain|inspect_base_supercell]: base supercell scf failed with exit status 300
2024-03-26 13:04:30 [1343 | REPORT]: [2799|PhononWorkChain|on_terminated]: remote folders will not be cleaned
2024-03-26 13:06:05 [1348 | REPORT]: [2809|PwBaseWorkChain|report_error_handled]: PwCalculation<2815> failed with exit status 305: Both the stdout and XML output files could not be read or parsed.
2024-03-26 13:06:05 [1349 | REPORT]: [2809|PwBaseWorkChain|report_error_handled]: Action taken: unrecoverable error, aborting...
2024-03-26 13:06:05 [1350 | REPORT]: [2809|PwBaseWorkChain|inspect_process]: PwCalculation<2815> failed but a handler detected an unrecoverable problem, aborting
2024-03-26 13:06:05 [1351 | REPORT]: [2809|PwBaseWorkChain|on_terminated]: remote folders will not be cleaned
2024-03-26 13:06:05 [1352 | REPORT]: [2801|DielectricWorkChain|inspect_base_scf]: base scf failed with exit status 300
2024-03-26 13:06:05 [1353 | REPORT]: [2801|DielectricWorkChain|on_terminated]: remote folders will not be cleaned
2024-03-26 13:06:06 [1354 | REPORT]: [2796|HarmonicWorkChain|inspect_processes]: the child `PhononWorkChain` with <PK=2799> failed
2024-03-26 13:06:06 [1355 | REPORT]: [2796|HarmonicWorkChain|on_terminated]: remote folders will not be cleaned
2024-03-26 13:06:06 [1356 | REPORT]: [2794|IRamanSpectraWorkChain|inspect_process]: `HarmonicWorkChain` failed with exit status 400
Then I went to one of the folder 2812, to inspect the input and output
The aiida.in is :
&CONTROL
calculation = 'scf'
etot_conv_thr = 1.2000000000d-03
forc_conv_thr = 1.0000000000d-03
max_seconds = 5.4720000000d+04
outdir = './out/'
prefix = 'aiida'
pseudo_dir = './pseudo/'
tprnfor = .true.
tstress = .true.
verbosity = 'high'
/
&SYSTEM
ecutfock = 80
ecutrho = 3.2000000000d+02
ecutwfc = 8.0000000000d+01
exxdiv_treatment = 'g-b'
ibrav = 0
input_dft = 'pbe0'
nat = 12
nosym = .false.
nqx1 = 2
nqx2 = 2
nqx3 = 1
ntyp = 2
occupations = 'fixed'
vdw_corr = 'Grimme-D2'
x_gamma_extrapolation = .true.
/
&ELECTRONS
adaptive_thr = .true.
conv_thr = 2.0000000000d-10
conv_thr_init = '1e-6'
diagonalization = 'cg'
electron_maxstep = 100
mixing_beta = 2.0000000000d-01
/
ATOMIC_SPECIES
Hf 178.49 Hf.upf
Te 127.6 Te.upf
ATOMIC_POSITIONS angstrom
Hf -0.0000001809 4.5772522878 10.0825094535
Hf -0.0000003561 9.6658568414 3.3608362380
Te -0.0000002404 9.5044609522 10.0825094535
Te -0.0000001179 4.7386491171 3.3608362380
Te -0.0000004826 13.3579272912 11.4543891487
Te -0.0000000266 0.8851818380 4.7327166592
Te -0.0000004826 13.3579272912 8.7106287904
Te -0.0000000266 0.8851818380 1.9889560589
Te -0.0000003581 11.2458219473 5.8453808820
Te -0.0000000895 2.9972874170 12.5670528876
Te -0.0000003581 11.2458219473 0.8762920243
Te -0.0000000895 2.9972874170 7.5979645635
K_POINTS automatic
4 4 2 1 1 1
CELL_PARAMETERS angstrom
1.9851991610 7.1215563120 0.0000000000
-1.9851995570 7.1215562000 0.0000000000
0.0000000000 0.0000000000 13.4433468880
And aiida.out is:
Program PWSCF v.7.3 starts on 26Mar2024 at 13: 4: 3
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 & OpenMP), running on 256 processor cores
Number of MPI processes: 256
Threads/MPI process: 1
MPI processes distributed on 1 nodes
494876 MiB available memory on the printing compute node when the environment starts
Reading input from aiida.in
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine read_namelists (1):
bad line in namelist &electrons: " electron_maxstep = 100" (error could be in the previous line)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
stopping ...
It is complaining about electron_maxstep but it is on the right namelist. I dont know why I am getting this error.
My overall input for aiida run is (with overrides.yaml:
clean_workdir: false # whether to clean the working directiories
dielectric:
clean_workdir: false
kpoints_parallel_distance: 0.2 # kpoints distance in Angstrom^-1 to sample the BZ parallel to the electric field. If used, it should help in converging faster the final results
property: raman
# central_difference: # if you know what you are doing, custom numerical derivatives with respect to electric field
# accuracy: 2
# electric_field_step: 0.0005
scf:
pseudo_family: PBE_PSP_new
kpoints_distance: 0.4 # kpoints distance in Angstrom^-1 to sample the BZ
kpoints_force_parity: false
max_iterations: 15
pw:
metadata:
options:
max_wallclock_seconds: 57600
resources:
num_machines: 1
num_mpiprocs_per_machine: 256
#queue_name: standard # for SLURM
# account: account_name # for SLURM, also for project etc
withmpi: true
settings:
cmdline: ['-pd', '.true.']
parameters:
ELECTRONS:
conv_thr: 2.0e-10
electron_maxstep: 100
mixing_beta: 0.2
diagonalization: cg
conv_thr_init: 1e-6
adaptive_thr: true
SYSTEM:
ecutrho: 320.0
ecutwfc: 80.0
vdw_corr: Grimme-D2
input_dft: pbe0
nqx1: 2
nqx2: 2
nqx3: 1
exxdiv_treatment: g-b
x_gamma_extrapolation: true
ecutfock: 80
settings:
sleep_submission_time: 1.0
phonon:
clean_workdir: false
displacement_generator:
distance: 0.005 # atomic displacements for phonon calculation, in Angstrom
scf:
pseudo_family: PBE_PSP_new
kpoints_distance: 0.15 # kpoints distance in Angstrom^-1 to sample the BZ
kpoints_force_parity: false
max_iterations: 15
pw:
metadata:
options:
max_wallclock_seconds: 57600
resources:
num_machines: 1
num_mpiprocs_per_machine: 256
# queue_name: partition_name # for SLURM
# account: account_name # for SLURM, also for project etc
withmpi: true
settings:
cmdline: ['-pd', '.true.']
# gamma_only: True # to use only if KpointsData has only a mesh 1 1 1 0 0 0 (i.e. Gamma not shifted)
parameters:
ELECTRONS:
conv_thr: 2.0e-10
electron_maxstep: 100
mixing_beta: 0.2
diagonalization: cg
conv_thr_init: 1e-6
adaptive_thr: true
SYSTEM:
ecutrho: 320.0
ecutwfc: 80.0
vdw_corr: Grimme-D2
input_dft: pbe0
nqx1: 2
nqx2: 2
nqx3: 1
exxdiv_treatment: g-b
x_gamma_extrapolation: true
ecutfock: 80
settings:
sleep_submission_time: 1.0 # waiting time in seconds between different submission of SCF calculation. Recommended to be at least 1 second, to not overload.
settings:
run_parallel: true
use_primitive_cell: false
symmetry:
distinguish_kinds: false
is_symmetry: true
symprec: 1.0e-05
from pathlib import Path
from aiida import load_profile
from aiida.engine import submit
from aiida.orm import *
from aiida_quantumespresso.common.types import ElectronicType
from aiida_vibroscopy.workflows.spectra.iraman import IRamanSpectraWorkChain
load_profile()
# =============================== INPUTS =============================== #
# Please, change the following inputs.
mesh = [[4, 4, 2], [0.5, 0.5, 0.5]]
pseudo_family_name='PBE_PSP_new'
pw_code_label = 'qe-7.3@newhpc'
structure_id = 2725 # PK or UUID of your AiiDA StructureData
protocol = 'fast' # also 'moderate' and 'precise'; 'moderate' should be good enough in general
overrides_filepath = './overrides_hybrid.yaml' # should be a path, e.g. /path/to/overrides.yaml. Format is YAML
# Consult the documentation for HOW-TO for how to use properly the overrides.
# !!!!! FOR FULL INPUT NESTED STRUCTURE: https://aiida-vibroscopy.readthedocs.io/en/latest/topics/workflows/spectra/iraman.html
# You can follow the input structure provided on the website to fill further the overrides.
# ====================================================================== #
# If you don't have a StructureData, but you have a CIF or XYZ, or similar, file
# you can import your structure uncommenting the following:
# from ase.io import read
# atoms = read('/path/to/file.cif')
# structure = StructureData(ase=atoms)
# structure.store()
# structure_id = structure.pk
# print(f"Your structure has been stored in the database with PK={structure_id}")
def main():
"""Submit an IRamanSpectraWorkChain calculation."""
code = load_code(pw_code_label)
structure = load_node(structure_id)
kwargs = {'electronic_type': ElectronicType.INSULATOR}
kpoints = KpointsData()
kpoints.set_kpoints_mesh(mesh[0], mesh[1])
#pseudo_family = load_group(pseudo_family_name)
#pseudos = pseudo_family.get_pseudos(structure=structure)
builder = IRamanSpectraWorkChain.get_builder_from_protocol(
code=code,
structure=structure,
protocol=protocol,
overrides=Path(overrides_filepath),
**kwargs,
)
builder.dielectric.scf.kpoints = kpoints
builder.dielectric.pop('kpoints_parallel_distance', None)
builder.dielectric.scf.pop('kpoints_distance', None)
builder.phonon.scf.kpoints = kpoints
#builder.dielectric.scf.pw.pseudos = pseudos
#builder.phonon.scf.pw.pseudos = pseudos
calc=submit(builder)
print(f'Submitted IRamanSpectraWorkChain with PK={calc.pk} and UUID={calc.uuid}')
if __name__ == '__main__':
"""Run script."""
main()