All plugins

aiida-QECpWorkChain

Car-Parrinello Work Chain with Quantum Espresso. This workchain does a full CP simulation, from the choice of the electronic mass and the timestep, to the choice of the best parallelization options, and then it does the NPT equilibration and a final NVE simulation at the prescribed P and T. Automates as much as possible.

status beta AiiDA >=2.0.0,<3.0.0

General information

Install pip install git+https://github.com/rikigigi/aiida-QECpWorkChain
Documentation No documentation provided by the package author.
Author(s) Riccardo Bertossa
Python import import aiida_QECpWorkChain
Latest version 0.2.0a0

Registry checks

W006: 'development_status' key is deprecated. Use PyPI Trove classifiers in the plugin repository instead.
Click any code (W001, E001…) to jump to troubleshooting instructions .

Plugins provided

Workflows 1

Entry points

WorkChains and work functions aiida.workflows
  • qecpworkchain.cp

    class: aiida_QECpWorkChain.workflow:CpWorkChain

    No description available

    InputRequiredValid typesDescription
    cp_code true Code
    cp_resources_cg_list true List Same as cp_resources_cp_list but when doing a CG. The CG uses a different amount of resource and can use no band or task group parallelization.
    cp_resources_cp_list true List List of dictionary like the following: { 'resources' : { 'num_machines' : 2, 'num_mpiprocs_per_machine' : 48, }, 'wallclock' : 3600, 'queue' : 'queue_name', 'account': 'account_name', } c,porturrently only the first element of the list is used. 'wallclock' is the maximum time that can be requested to the scheduler. This code can decide to ask for less.
    ecutwfc true Float wavefunction cutoff (Ry), like in the QE input
    pseudo_family true Str pseudopotential family to use, as in usual aiida operations
    pw_code true Code input pw code (used to calculate force ratio)
    pw_resources_list true List Same as cp_resources_cp_list but for pw.x code.
    structure true StructureData, TrajectoryData Input structure. If a trajectory is given, the workchain will use its last step to start the CG. If velocities are present, they will be used to initialize the simulation. Note that if you use a trajectory, usually kind information (like mass) are not included, so default values will be used. If you want to include kind information or override those provided with the input structure, use the input structure_kinds
    thermobarostat_points true List List of dicts, each with the format [ { "temperature_K": 1000, "pressure_KBar": 10 , "equilibration_time_ps": 5.0, "thermostat_time_ps": 5.0} ]. The simulation will loop over this list of dictionaries, in the same order, equilibrating for the specified time at the given P,T point. Every point is repeated if the average T and P are not within the specified ranges
    additional_parameters_cp false Dict parameters that will be included in the settings input of the QE CP plugin. These settings will be added on top of the default one. Same format as plugin input
    adjust_ionic_mass false Bool Multiply the mass of the ions by the corresponding force ration between the cp forces and pw forces -- that is less than 1. Note that averages of static properties do not depend on the ionic masses.
    benchmark_emass_dt_walltime_s false Float same as benchmark_parallel_walltime_s but for dermining the best electronic mass and timestep.
    benchmark_parallel_walltime_s false Float time requested to the scheduler during the test for finding the best parallelization parameters.
    cmdline_cp false List, NoneType additional command line parameters of the cp verlet caclulations only (for example parallelization options)
    default_nose_frequency false Float default nose frequency when a frequency cannot be estimated from the vibrational spectrum
    dt false Float, NoneType timestep in atomic units, if not automatically chosen.
    dt_start_stop_step false List list of timesteps to try. Timesteps are changed to better integrate the equation of motion. When a new electronic mass is selected by this workchain timesteps are automatically adjusted.
    emass false Float, NoneType electronic mass, atomic mass units, if not automatically chosen
    emass_list false List list of electronic masses to try. The emass is selected in order to satisfy the requested CP/DFT force ratio.
    initial_atomic_velocities_A_ps false ArrayData, NoneType optional input initial velocities in angstrom over picoseconds
    max_slope_const false Float max slope in K/ps of the constant of motion linear fit.
    max_slope_ekinc false Float max slope in K/ps of the ekinc linear fit. If not satisfied try to change emass
    max_slope_min_emass false Float minimum possible value of electronic mass that can be set by the max_slope correction routine. Will not go lower than that.
    max_slope_min_ps false Float minimum required lenght in ps of the last trajectory to do the linear fit on ekinc and const of motion
    metadata false
    min_traj_steps_vdos false Int minimum number of steps to consider the calculated vibrational spectrum maximum valid, to set the thermostat frequency
    minimum_nose_frequency false Float minimum nose frequency: if the frequency estimated from the vibrational spectrum is lower than this value, this value is used
    nstep_initial_cg false Int At the beginning of the simulation the CP algorithm is not used. This is the number of steps to do using Born-Oppenheimer molecular dynamics algorithm with a conjugate gradient minimization of the electronic ground state.
    nstep_parallel_test false Int the benchmark simulations will be that long, if performed
    number_of_pw_per_trajectory false Int Number of pw submitted for every trajectory during calculation of force ratio.
    nve_required_picoseconds false Float The equilibrated NVE simulation will last at least this number of picoseconds. How much picoseconds do you want?
    pressure_tolerance false Float Pressure tolerance in kBar used to say if the npt is equilibrated. If not setted, use the standard deviation of the P time series
    skip_emass_dt_test false Bool
    skip_parallel_test false Bool do not run run benchmarks to discover a good internal Quantum Espresso parallelization scheme for the current system
    skip_thermobarostat false Bool
    structure_kinds false List, NoneType These kinds will be used to override or set the masses of the various atomic types. Note that the workflow, if skip_emass_dt_test is True, will calculate the ratio between cp forces and pw forces and adjust the provided masses automatically according to this ratio. So if you provide this input, make sure to set skip_emass_dt_test to True and set also the inputs emass and dt, or "bad things can happen"
    target_force_ratio false Float The forces calculated by the Car-Parrinello method are affected by two types of error: one is due to the oscillations of the electrons around the DFT energy minimum, and the second is due to the finite mass of the electronic fluid that produces a _sistematic_ error in the forces, as if the electrons add mass to the ionic core. This second kind of error is can be controlled by this parameter, that tries to adjust the electronic mass to obtain the desidered ratio between CP forces and true DFT forces. Then you may want to modify the ionic mass to correct the leading factor of this error.
    temperature_tolerance false Float Temperature tolerance in K used to say if the npt is equilibrated. If not setted, use the standard deviation of the T time series
    tempw_initial_random false Float, NoneType If provided, sets the initial temperature when randomly initializing the starting velocities.
    OutputRequiredValid typesDescription
    dt true Float The best integration timestep found
    emass true Float The best electronic mass found
    full_traj true TrajectoryData The full merged trajectory of all the simulations
    nve_prod_traj true TrajectoryData The trajectory of the last NVE simulation
    cmdline_cp false List The best command line parameters for the cp code
    kinds false List The kinds for the structure with the modified ionic masses
    Exit statusMessage
    1 The process has failed with an unspecified error.
    2 The process failed with legacy failure mode.
    10 The process returned an invalid output.
    11 The process did not register a required output.
    401 The initial cg steps failed. I cannot start to work.
    402 Nose-Hoover thermostat failed.
    403 Final cg after Nose-Hoover failed.
    404 Error in the NVE simulation
    405 The simulations are calculating very expensive random numbers. There is something wrong (cutoff? metal? boo?)
    406 Wrong input parameters
    407 Parallel test was not succesful, maybe there is something more wrong.
    408 Multiple errors in the simulation that cannot fix.
    409 This is a bug in the workchain.
    410 The initial simulation failed. I cannot start to work. Probably the configuration is not suitable for a molecular dynamics run or the trial integration timestep is too big