Skip to main content

sim_lib_femm_function/
lib.rs

1#![forbid(unsafe_code)]
2#![deny(missing_docs)]
3#![allow(deprecated)]
4//! FEMM models as first-class callable runtime functions.
5//!
6//! The kernel defines the `Value`/`Expr`/`Shape`/codec protocol contracts and
7//! sim-numbers supplies the number domains, tensors, and linear algebra; this
8//! crate supplies the FEM behavior: it wraps a model as a callable that maps
9//! parameters to quantities, fields, or solutions, and registers those
10//! callables and the model value with the runtime.
11//!
12//! The [`quality`] surface returns a quantity value together with the
13//! [`sim_lib_femm_solve::SolveCertificate`] that proves solve fidelity. Passing
14//! `Some(params)` for `wrt` adds a total gradient and annotates the returned
15//! certificate with the corresponding `GradientTrust`; passing `None` returns
16//! the value and certificate without gradient work.
17
18mod exports;
19mod implementation;
20mod model_value;
21
22pub use exports::*;
23pub use implementation::*;
24pub use model_value::*;
25
26#[cfg(test)]
27mod tests;