Source code for g3d.flow.solver.rhs.fluxmodifiers.irsm

"""implicit residual smoothing (IRSM) flux modifier"""
from typing import TYPE_CHECKING
from numpy import ndarray
from g3d.flow.solver.rhs.fluxmodifiers import FluxModifier
from g3d.flow.domain import Domain

if TYPE_CHECKING:
    from g3d.flow.solver.rhs import Flux


[docs] class IRSM(FluxModifier): """ """ def __init__(self) -> None: super().__init__() self.__IRSM_operator = self._domain.get_IRSM_operator()
[docs] def associate(self, flux: 'Flux', dt: ndarray, dom: Domain) -> None: """ :param flux: :param dt: :param dom: """ super().associate(flux, dt, dom) self.__IRSM_operator = self._domain.get_IRSM_operator()
[docs] def evaluate(self) -> None: """ """ idx1, idx2 = self._get_range() for i in range(self._n_var): self.__IRSM_operator.smooth(self._pointers[i][idx1:idx2])