Lightweight MEMS structural analysis tools (pre-FEM)
mems-ana is a lightweight toolkit for pre-FEM shape sanity checks of MEMS structures,
focused on d33-dominant piezoelectric (PZT) actuation.
This page is a visual entry point.
For design intent and assumptions, see the repository README.
| Language | GitHub Pages 🌐 | GitHub 💻 |
|---|---|---|
| 🇺🇸 English |
- 📈 Out-of-plane displacement
uz(x, y) - ⚡ d33-dominant actuation with simplified ferroelectric hysteresis
- 🔌 Voltage-driven analysis only
- Current I is NOT modeled
- 📐 Absolute displacement visualization
(offset at 0 V is allowed)
This is not FEM.
It is used before FEM to check shape, symmetry, and trend consistency.
d33-dominant uz(x, y), 10 voltage cycles
- ➕ positive-only
uz - 🎨 color / z-range fixed: 0–500 nm
- 📏 geometric aspect ratio preserved
- 🔁 rising / falling branches included
Representative static results from the same model assumptions.
- Constitutive relation (simplified):
S(E) = d33 * (P/Pm) * Ez + Q * P(Ez)^2uz ≈ S(E) * t_pzt
- 🔄 P(E) includes up/down branches (hysteresis)
- 📐 Absolute displacement is used (no zero-shift correction)
- 🎯 This model prioritizes shape consistency, not material accuracy
All figures and animations shown here come from:
mems-ana_demo/
This directory is intentionally frozen:
- 🔒 no refactor
- 🔒 no dependency update
- 📌 used as a reproducible reference snapshot
🔗 GitHub Pages
/mems-ana_demo/
🔗 GitHub (source)
/mems-ana_demo
For design-oriented analysis (not visualization),
this project provides a calibrated Reduced Order Model (ROM).
- 🧱 Plate + piezo unimorph ROM
- 📊 Pre-FEM frequency response and displacement analysis
- 🧪 Shape factor K_W calibrated and contract-tested with pytest
🔗 GitHub Pages
/mems-ana_core/
🔗 GitHub (source)
/mems-ana_core
| 📌 Item | License | Description |
|---|---|---|
| Source Code | MIT License | Free to use, modify, and redistribute |
| Text Materials | CC BY 4.0 or CC BY-SA 4.0 | Attribution required; share-alike applies for BY-SA |
| Figures & Diagrams | CC BY-NC 4.0 | Non-commercial use only |
| External References | Follow the original license | Cite the original source properly |
Suggestions, improvements, and discussions are welcome via GitHub Discussions.