Hello,
I am a new user of atomate, I am trying to generate polarization workflows with the following codes:
import numpy as np
from atomate.vasp.workflows.base.ferroelectric import get_wf_ferroelectricfrom pymatgen import MPRester, Structure
with MPRester() as mp:
s = mp.get_structure_by_material_id(‘mp-19845’) # TiPbO3pert_coords =
for site in s.sites:
if site.specie.symbol == ‘Ti’:
pert_coords.append( site.coords + np.array( [0., 0., 0.25])) # add displacement on Ti
else:
pert_coords.append( site.coords)
pert_struct = Structure( s.lattice, s.species, pert_coords, coords_are_cartesian=True)wf = get_wf_ferroelectric(s, pert_struct, vasp_cmd=“>>vasp_cmd<<”, db_file=‘>>db_file<<’,
vasp_input_set_polar=“MPStaticSet”,
vasp_input_set_nonpolar=“MPStaticSet”,
vasp_relax_input_set_polar=“MPRelaxSet”,
vasp_relax_input_set_nonpolar=“MPRelaxSet”,
add_analysis_task=True)from fireworks.core.launchpad import LaunchPad
lpad_file_path = ‘path_to_my_launchpad.yaml’lp = LaunchPad().from_file(lpad_file_path)
lp.add_wf(wf)
However, I got the following error:
RuntimeError: Invalid keyword argument specified for: <class 'atomate.vasp.firetasks.parse_outputs.PolarizationToDb'>. You specified: name. Allowed values are: ['db_file'].
After I set add_analysis_task=True
in function get_wf_ferroelectric
, the error is gone, but interpolation workflows are FIZZLED and first two workflows COMPLETED (TiPbO3-_polar_polarization, TiPbO3-_nonpolar_polarization).
My question is why add_analysis_task=True
get me that error? Am I doing something wrong?
Many thanks!
Yichen