Shyue Ping Ong
Shyue Ping Ong
Ok, I guess we just have to agree to disagree. I think CircleCI is precisely a relevant example because their target customer could have tolerated programming complexity but still they...
@computron I understand what you are saying. But let's use two examples: i. A power user just wants to run StaticFW on some strange set of N deformations for his...
Perhaps let me offer a simple compromise: 1. Implement everything in Python first. 2. I have no comments on the specifics of organization and will leave it to the actual...
Well, there are ways to allow specification of input sets to the YAML spec, e.g., by passing a string and then selecting the input set accordingly. That said, I think...
What's the problem with: ``` class MasterFirework: def __init__(self, structure, functional="PBE", input_set_kwargs=None): if functional == "HSE": self.input_set = MPHSESet(structure, **input_set_kwargs) elif functional == "PBEsol": ... ``` That would serialize properly...
@computron I am only using "MasterFireWork" as a dummy name, merely to illustrate what is being done. More generally (to address some of @bocklund points), the point of having an...
Also, checking for input is unpythonic. If you do something like `if isinstance(myobject, MPRelaxSet)`, that is much worse than the if-else statement I wrote. Checking for NSW, etc. does not...
@bocklund I think it is easier if you provide a specific use case that is not covered by current solutions. I just looked at atomate code. Most of the core...
I should add that the ISIF=2 -> ISIF=4 -> Static is even possible just from Custodian's simpler yaml spec, much less atomate's much more powerful yaml spec.
I would suggest: i. Fix OptimizeFW to allow specification of prev_calc. ii. Do not allow vasp_input_set in StaticFW. iii. Add user_incar_settings for both classes. In fact, the argument signature for...