[docs]classMixCalculator(base.IPSNode):"""Combine multiple models or calculators into one. Attributes: calculators: list[NodeWithCalculator] List of calculators to combine. method: str choose from "mean" or "sum" to combine the calculators. """calculators:list[NodeWithCalculator]=zntrack.deps()method:str=zntrack.params("sum")
[docs]defget_calculator(self,**kwargs)->Calculator:"""Property to return a model specific ase calculator object. Returns ------- calc: ase calculator object """ifself.method=="mean":returnmixing.AverageCalculator([calc.get_calculator(**kwargs)forcalcinself.calculators])elifself.method=="sum":returnmixing.SumCalculator([calc.get_calculator(**kwargs)forcalcinself.calculators])else:raiseValueError(f"method {self.method} not supported")