Source code for fluidsimfoam.info

"""Base class for ``Simul.InfoSolver``"""

from fluidsim_core.info import InfoSolverCore


[docs]class InfoSolver(InfoSolverCore): """Contains the information on which classes are used in a solver""" def _init_root(self): super()._init_root() self.classes._set_child( "Output", attribs={ "module_name": "fluidsimfoam.output", "class_name": "Output", }, ) self.classes._set_child( "Oper", attribs={ "module_name": "fluidsimfoam.operators", "class_name": "Operators", }, ) self.classes._set_child( "InitFields", attribs={ "module_name": "fluidsimfoam.init_fields", "class_name": "InitFields", }, ) self.classes._set_child( "Make", attribs={ "module_name": "fluidsimfoam.make", "class_name": "MakeInvoke", }, )
[docs] def complete_with_classes(self): """Populate info solver by executing ``_complete_info_solver`` class methods """ dict_classes = self.import_classes() for Class in list(dict_classes.values()): if hasattr(Class, "_complete_info_solver"): Class._complete_info_solver(self)