Mundy: Multibody Nonlocal Dynamics Version of the Day
Loading...
Searching...
No Matches
solver_backends.hpp File Reference

Classes

struct  mundy::KokkosBackend< ExecSpace >
 Backend for Kokkos single process execution. More...
struct  mundy::MundyMathBackend
 Backend for Mundy math within a kernel. More...

Namespaces

namespace  mundy

Concepts

concept  mundy::VectorBackend
 Concept for a backend's vector-level operations: size, axpby, a plain inner product, and deep_copy.
concept  mundy::LinearOperator
 Concept for a linear operator's shape/apply contract under a given backend: domain_size, range_size, and apply(x, y). An operator may additionally provide apply(x, y, workspace) and/or a scaled-apply apply(alpha, x, beta, y) member, but neither is required by this concept – both degrade gracefully (see impl::make_workspace and HasScaledApplyMember below).
concept  mundy::HasScaledApplyMember
 Concept for an operator that provides its own fused scaled-apply: y := alpha * op(x) + beta * y. Backend::apply(alpha, op, x, beta, y) dispatches here when available, and falls back to a plain apply-then-axpby otherwise – so an operator need not implement this to be used with a scaled apply, but gets a faster fused path when it does (e.g. to skip recomputing an expensive per-element coefficient when alpha == 0).