Skip to main content

EddSimulation

Trait EddSimulation 

Source
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 foundation
  • FalsifiableSimulation: Active falsification search
  • Reproducible: Deterministic seeding
  • YamlConfigurable: Declarative configuration

§EDD Compliance

Implementing this trait ensures the simulation complies with all four pillars of EDD:

  1. Prove It: Via GoverningEquation (EMC reference)
  2. Fail It: Via FalsifiableSimulation (falsification criteria)
  3. Seed It: Via Reproducible (deterministic RNG)
  4. 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§

Source

fn emc(&self) -> &EquationModelCard

Get the associated Equation Model Card.

Source

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§

Source

fn simulation_name(&self) -> &str

Get simulation name from EMC.

Source

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".

Implementors§