This directory contains examples applying DeepCausality to Material Science and Metamaterials. These examples demonstrate advanced physics simulations using the framework's topology, multivector algebra, and causal intervention capabilities.
Run any example from the repository root:
cargo run -p material_examples --example <example_name>| Example | Domain | Description |
|---|---|---|
| hyperlens | Metamaterials | Super-resolution imaging using hyperbolic dispersion |
| topological_insulator | Quantum Materials | Chern number calculation for topological phase classification |
| structural_health_monitor | Smart Materials | Decentralized monitoring with autonomous causal interventions |
Different materials have different "signatures" that determine how waves propagate:
- Euclidean: Standard vacuum/dielectric
- Minkowski: Relativistic spacetime
- Generic(p, q, r): Anisotropic/Hyperbolic metamaterials
use deep_causality_multivector::Metric;
let vacuum = Metric::Euclidean(3); // (+++)
let hyperbolic = Metric::Generic { p: 1, q: 2, r: 0 }; // (+−−)- Manifold: Continuous surfaces with differential structure (hyperlens geometry).
- Graph: Discrete networks (structural lattices, molecular bonds).
Smart materials that can autonomously respond to stimuli use the Intervenable trait to formally separate:
- Observation (what is happening)
- Intervention (what we force to happen)
- Counterfactual (what would have happened otherwise)
| Example | Command |
|---|---|
| Hyperlens | cargo run -p material_examples --example hyperlens_example |
| Topological Insulator | cargo run -p material_examples --example topological_insulator_example |
| Structural Health Monitor | cargo run -p material_examples --example structural_health_monitor_example |
deep_causality_multivector: Geometric Algebra for anisotropic field representations.deep_causality_topology:Graph,Manifold,SimplicialComplexfor structural modeling.deep_causality_num: High-precision Complex number arithmetic for quantum calculations.deep_causality_core:PropagatingEffect,Intervenablefor monadic state and interventions.
- Create a new directory under
examples/:examples/<your_example>/ - Add
main.rsandREADME.md - Register in
Cargo.toml:[[example]] name = "your_example" path = "examples/<your_example>/main.rs"