Skip to main content

femm_as_func

Function femm_as_func 

Source
pub fn femm_as_func(
    model: FemmModel,
    vars: Vec<Symbol>,
    query: OutputQuery,
) -> Func
Expand description

Wraps a model as a sim-numbers Func of the named variables.

The returned function solves the model on call and reduces it to query; its metadata carries a FemmFuncPayload and an adjoint differentiator hint so sensitivity analysis can recover the model.

ยงExamples

use sim_kernel::Symbol;
use sim_lib_femm_fixtures::parallel_plate_capacitor;
use sim_lib_femm_function::{femm_as_func, OutputQuery};
use sim_lib_femm_post::QuantitySpec;

let vars = vec![Symbol::new("gap-mm")];
let func = femm_as_func(
    parallel_plate_capacitor(),
    vars.clone(),
    OutputQuery::Quantity(QuantitySpec::Energy { region: None }),
);
assert_eq!(func.vars, vars);