Source code for irksome.constant

import numpy as np
from .backend import get_backend, Backend
import ufl


[docs] def MeshConstant(msh, backend: str = "firedrake"): mc_backend = get_backend(backend) return mc_backend.MeshConstant(msh)
[docs] def ConstantOrZero( x: float | complex, MC: Backend.MeshConstant | None = None, backend: str = "firedrake", ) -> ufl.core.expr.Expr: backend_impl = get_backend(backend) const = backend_impl.get_mesh_constant(MC) return ufl.zero() if abs(complex(x)) < 1.0e-10 else const(x)
vecconst = np.vectorize(ConstantOrZero)