Skip to main content

中文 · English

SawSim

声表面波(SAW)谐振器周期单元的压电耦合有限元求解器 Piezoelectric coupled FEM for SAW resonator unit cells · Q9 / Hex27 · PML · Bloch periodicity

CI DOI v2.0.0 Python License

项目名 SawSim;Python 包名与命令名 sawsim。


安装与使用

pip install sawsim
pip install "sawsim[fast]"     # 可选:MKL PARDISO 直接求解器
from sawsim import Model, sweep

r = sweep(Model("sp_double_layer", pitch_um=1.085, points=101), "out/dbl")
r.frequency_ghz, r.admittance, r.peak_frequency_ghz
sawsim templates
sawsim run config.json -o out/dbl

无图形界面的 Linux 上 Gmsh 需要 libglu1-mesa libopengl0。详见 快速开始。

能力

模型 9 种周期单元模板:5 种 2D(Q9,含 TC-SAW)与 4 种 2.5D 周期薄片(Hex27),单层至四层叠层
物理 位移–电势全耦合;ME0 平面应变或 ME1 面外位移扩展;各向异性单晶按内禀 ZXZ 欧拉角旋转
边界 左右 Bloch 周期边界,底部复坐标拉伸 PML
网格 Gmsh Python API 参数化建模,二次等参单元
求解 复数稀疏系统实分块,MKL PARDISO 或 SciPy SuperLU,频点多进程并行
输出 Y11 导纳(CSV / NPZ / JSON)、网格、位移场与电势场图、材料快照与源码哈希,任务可完整复现
材料 内置 LiNbO₃(文献)、Si、SiO₂、poly-Si、Si₃N₄、Al、Cu;自定义 JSON 导入

验证

每个模板与独立的参考有限元解逐点比对;主谐振与反谐振频率全部一致,主谐振区误差 0.1 – 2 %,2D 多层模板在 2.4 GHz 以上高阶模态区存在偏差。完整误差表、图和说明见 验证。pytest 在 5 – 6 个频点上复现该比对。


2.5D SP 双层(LiNbO₃ 0.6 µm / Si 6.51 µm),251 频点。虚线 sawsim,实线参考解,幅值相对 L2 误差 0.15 %。

文档

  • 快速开始 — 安装、第一个算例、输出文件、单位
  • 模型库 — 九种模板、参数、位移模型、边界与已知限制
  • 材料库与晶体取向 — 内置材料、记录格式、自定义导入、ZXZ 欧拉角
  • 验证 — 与参考解的逐点比对及解读

项目结构

src/sawsim/        Python 包(api、cli、config、models、solver、saw2d、sp_meshes、sp_hex_meshes、material_library)
tests/             回归与 API 测试,tests/data 为参考曲线
docs/              文档与图
matlab/            v0.x 的 MATLAB + Gmsh 实现(历史版本,MIT)
tools/             维护脚本

许可

Python 包 sawsim 以 AGPL-3.0-or-later 发布(它通过 Python API 链接 GPL 许可的 Gmsh)。matlab/ 下的历史 MATLAB 实现保持 MIT。其他授权方式请联系作者。

引用

引用具体版本请用版本 DOI(v2.0.0:10.5281/zenodo.22728471);引用项目整体请用概念 DOI 10.5281/zenodo.20362278,它始终指向最新版本。格式见 CITATION.cff。

Metadata

Release files for sawsim 2.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sawsim 2.0.2
File Size Uploaded
sawsim-2.0.2.tar.gz 99.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sawsim 2.0.2
File Interpreter ABI Platform
sawsim-2.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 222.1 kB

Release files / sawsim-2.0.2.tar.gz

Download URL sawsim-2.0.2.tar.gz
Size 99.1 kB
Tags Source
SHA-256 checksum
How to use checksums
b544ad25e3f50f52963642c1028d69b1d99ab414aa4e6746b247a28b2812b1be
BLAKE2b-256 checksum
How to use checksums
3b89a3eaebdf342e52562f68b00332664035232faca90b2e55b58b300704414f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release files / sawsim-2.0.2-py3-none-any.whl

Download URL sawsim-2.0.2-py3-none-any.whl
Size 123.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
59e56f401a6a60219ec181edfcaf7ff8c1d8e1099f8d8046287df26c10894b9f
BLAKE2b-256 checksum
How to use checksums
46e92cdfcb26426dd87c588da6aa806c9dc1c98a86cd8b9b7fbe2aead66ed2d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

2.0.2 This release

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page