Open
Description
There are some new inputs (like the kpoints mesh, smearing type, ...) where the default depends on the protocol and maybe on a few other options (e.g. ElectronicType).
For a user, or a GUI, it might be useful (given the protocol, and the basic inputs like the ElectronicType) to know which defaults the protocol will use for e.g. kpoints, smearing, ...
We need to define a way to get these - however, the question is how to do it, since it requires to get all the inputs that you would pass to the input generator in order to make that decision.
- Should we pass all inputs also to these functions to get the default?
- Should we change the behaviour of the InputGenerator Class, so you can set values (e.g. protocol, ElectronicType, ...) changing the state of the class, and only then either call
get_default_smearing_type
or directlyget_builder()
as a new call, without parameters? - Should we distinguish inputs in two kinds? The ones that are needed to provide the defaults (protocol, ElectronicType, ...) and the one that instead work as 'overrides' (kpoints-density, smearing-type, ...) for which we want to get the defaults? (See also Extended way of providing overrides #238)