Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 

README.md

piezod

Modeling and optimization of piezoresistive and piezoelectric sensors and actuators.

Installation

pip install piezod

For development:

git clone https://github.com/MicrosystemsLab/PiezoD.git
cd PiezoD/python
uv sync

Usage

from piezod import CantileverEpitaxy

# Create cantilever and set geometry
c = CantileverEpitaxy()
c.l = 300e-6  # length: 300 um
c.w = 44e-6   # width: 44 um
c.t = 89e-9   # thickness: 89 nm
c.fluid = "water"

# Calculate properties
print(f"Stiffness: {c.stiffness() * 1e3:.3f} mN/m")
print(f"Resonant frequency: {c.omega_vacuum_hz() / 1e3:.1f} kHz")
freq_hz, Q = c.omega_damped_hz_and_Q()
print(f"Damped frequency: {freq_hz / 1e3:.1f} kHz, Q = {Q:.1f}")

Run the example:

uv run python examples/quickstart.py

Development

Install dependencies:

uv sync

Run tests:

uv run pytest

Lint and format:

uvx ruff check src tests --fix && uvx ruff format src tests

Type check:

uvx ty check src

Documentation

See the main project documentation at github.com/MicrosystemsLab/PiezoD.

Citation

If you use piezod in your research, please cite:

Joseph C. Doll, Sung-Jin Park and Beth L. Pruitt Design optimization of piezoresistive cantilevers for force sensing in air and water Journal of Applied Physics 106.6 (2009): 064310-064310.

License

GPL-3.0-or-later