Now that VaspMultiStageWorkChain has reached to production run with good features in error handling, it's time to have higher level workchains that act as a wrapper and does the desired job. To do so, we basically use the resulting workchains as wrapper that prepares and submits VaspMultiStageWorkChain with specific purpose. We can expose inputs and outputs and does the logic within the spec.outline.
Currently, I have the followings in mind:
[x] VaspConvergenceWorkChain: It can be used to study ENCUT and kpoints mesh convergence. This will use S protocol to do the job. I will use to_context instead of ToContext to be able to submit all workchains in parallel. We will need two inputs as switch to trigger which parameter to converge. We can have pythonic way in post-processing of results to output the suggested values.
[x] VaspCatMatWorkChain: That would be a workchain that gets a fully lithiated or sodiated structure, optimizes it, removes all ions from the system, optimizes the structure, and at the end calculates the open circut voltage.
[x] VaspDdecWorkChain: This takes an an structures, runs single point calculation with generation of potential files, then submits a DdecCalculation, and outputs the structure in CIF format with DDEC charges and spin moments.
[ ] VaspMagOrderWorkChain: This would take structure, enumerates magnetic ordering, runs static/relaxation-static calculation on them and identifies magnetic ground state.
Now that
VaspMultiStageWorkChain
has reached to production run with good features in error handling, it's time to have higher level workchains that act as a wrapper and does the desired job. To do so, we basically use the resulting workchains as wrapper that prepares and submitsVaspMultiStageWorkChain
with specific purpose. We can expose inputs and outputs and does the logic within thespec.outline
. Currently, I have the followings in mind:VaspConvergenceWorkChain
: It can be used to studyENCUT
and kpoints mesh convergence. This will useS
protocol to do the job. I will useto_context
instead ofToContext
to be able to submit all workchains in parallel. We will need two inputs as switch to trigger which parameter to converge. We can have pythonic way in post-processing of results to output the suggested values.VaspCatMatWorkChain
: That would be a workchain that gets a fully lithiated or sodiated structure, optimizes it, removes all ions from the system, optimizes the structure, and at the end calculates theopen circut voltage
.VaspDdecWorkChain
: This takes an an structures, runs single point calculation with generation of potential files, then submits aDdecCalculation
, and outputs the structure inCIF
format withDDEC
charges and spin moments.VaspMagOrderWorkChain
: This would take structure, enumerates magnetic ordering, runs static/relaxation-static calculation on them and identifies magnetic ground state.