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

"""base class -  generic flux modifier"""
from typing import Tuple, TYPE_CHECKING
from numpy import ndarray

import os

if os.environ.get('__USE_CUDA', '0') == '1':
    import cupy as np
else:
    import numpy as np

from g3d.gas import Gas
from g3d.flow.geo import Mesh
from g3d.flow.domain import Domain
from g3d.flow.placeholders import ConsField

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


[docs] class FluxModifier: """ """ def __init__(self) -> None: self._gas = Gas() self._domain = Domain() self._mesh = Mesh() self._dt = np.zeros(0) self._voli = self._mesh.get_inverse_volume() self._vol = self._mesh.get_volume() self._dcons = ConsField() self.__first = self._dcons.first self.__last = self._dcons.last self._n_var = self._dcons.n_var self._pointers = []
[docs] def associate(self, flux: 'Flux', dt: ndarray, dom: Domain) -> None: """ :param flux: :param dt: :param dom: """ self._domain = dom self._mesh = dom.mesh self._gas = dom.gas self._dt = dt self._voli = self._mesh.get_inverse_volume() self._vol = self._mesh.get_volume() self._dcons = flux self.__first = self._dcons.first self.__last = self._dcons.last self._n_var = self._dcons.n_var self._pointers = self._dcons.get_pointers()
def _get_range(self) -> Tuple[int, int]: return self.__first, self.__last
[docs] def evaluate(self) -> None: """ """ # base class FluxModifier does not have an associated evaluate function pass