Source code for fluidsim.base.preprocess.base

"""Base preprocess (:mod:`fluidsim.base.preprocess.base`)
=========================================================

Provides:

.. autoclass:: PreprocessBase
   :members:
   :private-members:

"""

from fluidsim_core.params import iter_complete_params


[docs] class PreprocessBase: _tag = "preprocess"
[docs] @staticmethod def _complete_info_solver(info_solver, classes=None): """Complete the ParamContainer info_solver.""" classesXML = info_solver.classes.Preprocess._set_child("classes") if classes is not None: for cls in classes: classesXML._set_child( cls.tag, attribs={ "module_name": cls.__module__, "class_name": cls.__name__, }, )
[docs] @staticmethod def _complete_params_with_default(params, info_solver): """This static method is used to complete the *params* container.""" attribs = { "enable": False, "init_field_scale": "unity", "init_field_const": 1.0, "viscosity_type": "laplacian", "viscosity_scale": "enstrophy_forcing", "viscosity_const": 1.0, "forcing_scale": "unity", "forcing_const": 1.0, } params._set_child("preprocess", attribs=attribs) dict_classes = info_solver.classes.Preprocess.import_classes() iter_complete_params(params, info_solver, dict_classes.values())
def __init__(self, sim): self.params = sim.params.preprocess self.sim = sim self.oper = sim.oper self.output = sim.output # dict_classes = sim.info.solver.classes.Preprocess.import_classes() def __call__(self): if self.params.enable: self.output.print_stdout( "Preprocessing initial fields, and other parameters." )