pub trait EddSimulation:
GoverningEquation
+ FalsifiableSimulation
+ Reproducible
+ YamlConfigurable {
// Required methods
fn emc(&self) -> &EquationModelCard;
fn verify_against_emc(&self) -> VerificationResult;
// Provided methods
fn simulation_name(&self) -> &str { ... }
fn simulation_version(&self) -> &str { ... }
}Expand description
Core EDD trait bundle.
Every simulation in simular MUST implement this trait, which combines:
GoverningEquation: Mathematical foundationFalsifiableSimulation: Active falsification searchReproducible: Deterministic seedingYamlConfigurable: Declarative configuration
§EDD Compliance
Implementing this trait ensures the simulation complies with all four pillars of EDD:
- Prove It: Via
GoverningEquation(EMC reference) - Fail It: Via
FalsifiableSimulation(falsification criteria) - Seed It: Via
Reproducible(deterministic RNG) - Falsify It: Via
verify_against_emc()(active testing)
§Example
ⓘ
pub struct HarmonicOscillator {
omega: f64,
emc: EquationModelCard,
seed: u64,
}
impl EddSimulation for HarmonicOscillator {
fn emc(&self) -> &EquationModelCard {
&self.emc
}
fn verify_against_emc(&self) -> VerificationResult {
// Run EMC verification tests
}
}Required Methods§
Sourcefn emc(&self) -> &EquationModelCard
fn emc(&self) -> &EquationModelCard
Get the associated Equation Model Card.
Sourcefn verify_against_emc(&self) -> VerificationResult
fn verify_against_emc(&self) -> VerificationResult
Verify implementation against EMC test cases.
Runs all verification tests defined in the EMC and returns a detailed result showing which tests passed or failed.
Provided Methods§
Sourcefn simulation_name(&self) -> &str
fn simulation_name(&self) -> &str
Get simulation name from EMC.
Sourcefn simulation_version(&self) -> &str
fn simulation_version(&self) -> &str
Get simulation version from EMC.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".