Source code for snek5000.info

"""Information classes
======================

Store information regarding modules and class names of simulation class and
dependent objects.

"""

from fluidsim_core.info import InfoSolverCore


[docs]class InfoSolverNek(InfoSolverCore): """Contain the information on a :class:`snek5000.solvers.base.Simul` instance. """
[docs] def _init_root(self): """Defines class hierarchy (via :attr:`classes`) and some attributes - :attr:`module_name` - module of the Simul class - :attr:`class_name` - Simul class name - :attr:`short_name` - short name of the solver (and name used in the source code usr, par, re2, ma2 etc.) - :attr:`par_sections` - sections in the .par file - :attr:`par_sections_disabled` - sections to be disabled (i.e. removed while generating) in the .par file """ self._set_attribs( { "module_name": "snek5000.solvers.base", "class_name": "SimulNek", "short_name": "nek", "loader": "snek5000.load", "par_sections": ( "general", "problemtype", "velocity", "pressure", "mesh", "temperature", "scalar01", "cvode", ), "par_sections_disabled": { "mesh", "temperature", "scalar01", "cvode", }, } ) self._set_child("classes") self.classes._set_child( "Oper", attribs={ "module_name": "snek5000.operators", "class_name": "Operators", }, )
[docs]class InfoSolverMake(InfoSolverNek): """Contain the information on a solver which uses Snakemake.""" def _init_root(self): super()._init_root() self.classes._set_child( "Output", attribs={ "module_name": "snek5000.output.base", "class_name": "Output", }, ) self.classes._set_child( "Make", attribs={"module_name": "snek5000.make", "class_name": "Make"} )