Skip to content

Releases: MicrosystemsLab/PiezoD

v0.8.3

01 Feb 23:12

Choose a tag to compare

What's Changed

  • Fix: Bundled lookup table now included in wheel: The ionImplantLookupTable.h5 file was missing from the 0.8.2 release due to a timing issue with the release process

v0.8.2

01 Feb 23:06

Choose a tag to compare

What's Changed

  • Ion implantation lookup table now bundled: CantileverImplantation automatically loads the lookup table data - no more manual load_lookup_table() calls required
  • Added h5py dependency: Lookup tables stored as compressed HDF5 for efficient bundling
  • MATLAB lookup table renamed: lookupTable.mationImplantLookupTable.mat for clarity

v0.8.1

01 Feb 20:30

Choose a tag to compare

Major modernization updates

Python

New Features

  • Moved from python2 to python3
  • Complete implementation of CantileverPiezoelectric class (AlN/PZT sensors, voltage/charge mode)
  • Complete implementation of CantileverPoly class (polysilicon and metal thin-film piezoresistors)
  • New examples: piezoelectric_cantilever.py, poly_cantilever.py, phosphorus_diffusion.py
  • Added matplotlib style defaults

Testing

  • Added test suites for CantileverPiezoelectric (649 lines)
  • Added test suites for CantileverPoly (779 lines)
  • 276 tests total, all passing

MATLAB

Testing

  • Added unit test suite using matlab.unittest framework
  • Test coverage for cantileverEpitaxy, cantileverDiffusion, cantileverImplantation
  • Optimization tests included
  • 47 tests total, all passing

Documentation

  • Added matlab/README.md with usage and testing instructions

Repository

Documentation

  • Modernized docs: removed jemdoc, converted to markdown
  • Added docs/tutorial.md
  • Updated root README.md with implementation table

Releases

  • Migrated historical releases (v0.1.0 - v0.7.1) to GitHub Releases
  • Removed Releases/ and Docs/ folders

CI/CD

  • Configured CI
  • Separated release and publish workflows
  • Release auto-bumps version in pyproject.toml
  • Setup PyPI publish

v0.7.1

01 Feb 06:54

Choose a tag to compare

  • Added helper scripts for ion implantation table generation (accidentally omitted from v0.6.0)
  • Fixed minor units bug in cantileverImplantation.m affecting dopant concentration profile plotting

v0.7.0

01 Feb 06:54

Choose a tag to compare

  • Switched from interior point method to SQP for optimization. SQP works much better with ion implanted devices and has better warm start behavior.
  • Fixed sheet resistance calculation for ion implantation (now uses tabulated values instead of recomputing from interpolated profile)
  • Several small bug fixes and speed improvements

v0.6.0

01 Feb 06:54

Choose a tag to compare

  • Added ion implanted cantilever class using lookup table from TSuprem simulations
  • Covers boron, phosphorus and arsenic doping across wide range of conditions
  • Reintegrated piezoelectric, polysilicon and metal strain gauge classes
  • Code cleanup and refactoring

v0.5.0

01 Feb 06:54

Choose a tag to compare

  • Temperature dependent modeling of piezoresistor self-heating
  • Improved mechanics modeling for segmented cantilevers
  • Rayleigh-Ritz method for resonant frequency
  • Added Simulink model for time-domain response
  • Code cleanup (stable release)

v0.4.2

01 Feb 06:54

Choose a tag to compare

  • Added thermal and piezoelectric actuation modeling
  • Added optional features: actuation, tip mass, number of piezoresistors in bridge
  • Bug fixes from previous release

v0.4.0

01 Feb 06:54

Choose a tag to compare

  • Added piezoelectric sensor class
  • Added 1D temperature profile modeling using finite differences
  • Changed fluid handling to use 'vacuum', 'air', 'water' variable
  • Performance improvements

v0.3.1

01 Feb 06:54

Choose a tag to compare

  • Added amplifier current noise (Johnson and 1/f)
  • Added number_of_piezoresistors parameter
  • Changed default gamma from 0.5 to 0.9
  • Added resolution_tradeoff_plot()
  • Added default L/W and W/T ratio constraints