I don't use the SCAN functional, so I don't know what all the input settings look like. However, I believe this is because StaticFW use a
WriteVaspStaticFromPrev. Even though you are passing your own input set, that function is hardcoded to use MPStaticSet.from_prev_calc if a previous (relaxation) calculation exists.
A possible workaround is to pass vasp_input_set_params to StaticFW instead of vasp_input_set, but even this only gives you control only the user_incar_settings and control over the keyword arguments over MPStaticSet.from_prev_calc. Maybe those are enough for you to control (again, I don't use SCAN)?
https://github.com/hackingmaterials/atomate/issues/238 is tracking this issue
On Monday, August 13, 2018 at 1:11:07 PM UTC-4, Steven Hartman wrote:
What is the best way to do a static calculation with SCAN? I can use wf_scan_opt for the relaxation, or else directly call pymatgen's MVLScanRelaxSet, but I am not sure how to make the static calculation use the appropriate POTCARs. Setting PMG_VASP_PSP_DIR to the POTPAW_54 directory works fine for the optimization, but for the static calculation it gives the error "You do not have the right POTCAR with functional PBE and label Ce in your VASP_PSP_DIR". I tried passing vasp_input_set=MVLScanRelaxSet(structure, potcar_functional='PBE_54') to OptimizeFW but this didn't make a difference, it still gave the same error.