csx
A pure Rust library for continuous-structure geometry and material modeling, compatible with CSXCAD and openEMS.
- Clean-room implementation (no CSXCAD/openEMS code was consulted), MIT licensed.
- Zero runtime dependencies; XML support is an optional (default) feature.
- Edition 2024, MSRV 1.95.
Status: early development — see PLAN.md.
Overview
- Geometric primitives: box, multi-box, sphere, spherical shell, cylinder, cylindrical shell, polygon, extruded polygon, revolved polygon, curve, wire, point, polyhedron (inline or STL/PLY file) and expression-defined regions, with transformations and Cartesian/cylindrical coordinates.
- Properties: materials (anisotropic, position-weighted), Drude/Lorentz and Debye dispersive materials, metals, conducting sheets, excitations, probes, field dumps, lumped elements.
- Parametric models: every value may be an expression over named parameters.
- Priority-based point queries (
property_at,medium_at) and spatial index. - Rectilinear grids with graded smoothing.
Features
| feature | default | description |
|---|---|---|
xml |
yes | read/write CSXCAD & openEMS XML files |
License
MIT — see LICENSE.