📖 입문자 친화적
처음부터 시작하세요 — 시뮬레이션에 들어가기 전에 이미지 센서 광학 기초를 배우세요
하나의 YAML 설정으로 여러 EM 솔버를 사용하여 CMOS 이미지 센서 픽셀을 시뮬레이션합니다
COMPASS는 전자기 이론과 실용적인 CMOS 이미지 센서 설계 사이의 간극을 해소합니다. 픽셀 스택을 한 번 정의하고, 모든 솔버로 실행하고, 결과를 비교하세요 -- 모두 Python에서 가능합니다.
Run the same pixel structure through RCWA (torcwa, grcwa, meent, fmmax) and FDTD (flaport, Meep, fdtdz) solvers from a single YAML config. Compare results head-to-head.
Leverage PyTorch and JAX GPU backends for massively parallel wavelength sweeps. Achieve 10-100x speedup over CPU-only solvers on large parameter spaces.
Automatic differentiation through the solver enables gradient-based inverse design. Optimize microlens profiles, BARL stacks, and color filter thicknesses directly.
Built-in solver comparison framework ensures physics accuracy. Compare energy balance (R+T+A=1), QE spectra, and field distributions across solver backends.
Compute QE per pixel per wavelength, crosstalk matrices, energy balance, and field distributions. Plot results with built-in matplotlib and 3D PyVista viewers.
MIT licensed. Fully documented with theory guides, cookbooks, and API references. Built on established open-source EM solver ecosystems.
깔끔한 5단계 파이프라인이 YAML 설정에서 출판 가능한 결과까지 안내합니다. 각 단계를 클릭하면 자세히 알아볼 수 있습니다.
COMPASS는 세 가지 전자기 방법에 걸쳐 8개 솔버 백엔드에 대한 통합 인터페이스를 제공합니다. 솔버를 클릭하면 세부 정보를 확인할 수 있습니다.
하나의 YAML 설정으로 시뮬레이션을 정의하고 세 줄의 Python으로 실행하세요:
# config.yaml
pixel:
pitch: 1.0 # um
unit_cell: [2, 2] # 2x2 베이어 패턴
solver:
name: torcwa
type: rcwa
fourier_order: 9
source:
wavelength:
mode: sweep
sweep: { start: 0.4, stop: 0.7, step: 0.01 }
polarization: unpolarizedfrom compass.runners.single_run import SingleRunner
result = SingleRunner.run("config.yaml")
for pixel, qe in result.qe_per_pixel.items():
print(f"{pixel}: peak QE = {qe.max():.2%}")