← ClaudeAtlas

jax-modal-analysislisted

3D tetrahedral FEM modal analysis of a membrane STL. Takes a binary STL (mm units) + material properties JSON, repairs surface mesh, generates tetrahedral volume mesh via TetGen, assembles 3D stiffness/mass matrices with jax-fem, solves the generalised eigenvalue problem, and reports eigenfrequencies + mode shapes. Returns artifact JSON with eigenfrequencies_hz, eigenfrequencies_khz, modes_in_range, target_range_pass, and paths to summary PNG and CSV.
lamm-mit/scienceclaw · ★ 218 · Data & Documents · score 79
Install: claude install-skill lamm-mit/scienceclaw
# JAX 3D Modal Analysis Full 3D tetrahedral FEM eigenvalue solver for ribbed membrane resonators. Complements `fem-analysis` (2D Kirchhoff plate approximation) by accounting for 3D volumetric effects, frame stiffness, and out-of-plane deformation. ## Usage ```bash python3 {baseDir}/scripts/jax_modal_analysis.py \ --stl /path/to/membrane.stl \ --material '{"E_Pa":3e9,"nu":0.35,"rho_kg_m3":1500}' \ --num-modes 12 \ --solver-backend jax-iterative \ --stl-length-scale 1e-3 \ --target-freq-min 2000 \ --target-freq-max 8000 \ --output-dir /tmp/jax_modal_results ``` ## Arguments | Flag | Type | Default | Description | |------|------|---------|-------------| | `--stl` | path | required | Binary STL file (mm units assumed) | | `--material` | JSON str | required | `{"E_Pa":3e9,"nu":0.35,"rho_kg_m3":1500}` | | `--num-modes` | int | 12 | Number of modes to compute | | `--solver-backend` | str | `jax-iterative` | `arpack`, `jax-iterative`, or `jax-xla` | | `--stl-length-scale` | float | `1e-3` | Scale factor to convert STL units → metres | | `--target-freq-min` | float | 2000 | Lower bound of target frequency band (Hz) | | `--target-freq-max` | float | 8000 | Upper bound of target frequency band (Hz) | | `--output-dir` | path | auto | Directory for all output files | ## Output JSON ```json { "stl_path": "/path/to/membrane.stl", "topology": "v1_cricket_fine", "num_modes_computed": 12, "eigenfrequencies_hz": [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2153.0, 2388.1, ...]