"""Defines the anharmonicity quantification workflows for FHI-aims."""from__future__importannotationsfromdataclassesimportdataclassfromtypingimportTYPE_CHECKINGfromatomate2.common.flows.anharmonicityimportBaseAnharmonicityMakerifTYPE_CHECKING:fromatomate2.aims.flows.phononsimportPhononMaker
[docs]@dataclassclassAnharmonicityMaker(BaseAnharmonicityMaker):""" Maker to calculate the anharmonicity score of a material. Calculate sigma^A as defined in doi.org/10.1103/PhysRevMaterials.4.083809, by first calculating the phonons for a material and then generating the one-shot sample and calculating the DFT and harmonic forces. Parameters ---------- name : str Name of the flows produced by this maker. phonon_maker: BasePhononMaker The maker to generate the phonon model """name:str="anharmonicity"phonon_maker:PhononMaker=None@propertydefprev_calc_dir_argname(self)->str:"""Name of argument informing static maker of previous calculation directory. As this differs between different DFT codes (e.g., VASP, CP2K), it has been left as a property to be implemented by the inheriting class. Note: this is only applicable if a relax_maker is specified; i.e., two calculations are performed for each ordering (relax -> static) """return"prev_dir"