1. 개요 (Overview)
본 문서는 Mach-Zehnder Interferometer (MZI) 전기광학 변조기 시뮬레이터(main.js)의 핵심 광학 물리 엔진과 UI 연동 로직을 정의합니다.
시뮬레이터 내부의 모든 재질 presets(LiNbO3, Polymer, Si/SiN 등)은 단일 포켈스 효과(Pockels Effect) 모델을 공유하며, 단위계 표준화 및 동적 $V_\pi$ 역산 로직을 통해 3D 웹 환경에서 정밀한 노드 간 위상 응답을 실시간으로 계산합니다.
2. 물리 모델 및 수식 (Physical Model & Formulas)
2.1 단위 정규화 (SI Unit Normalization)
연산 시작 전, 사용자가 UI 슬라이더로 입력한 제반 변수들을 SI 기본 단위로 통합 환산합니다.
- 광학 파장 ($\lambda$): $\text{nm} \to \text{m} \quad (\times 10^{-9})$
- 도파로 및 전극 길이 ($L_{\text{arm}}, L_{\text{elec}}$): $\text{cm} \to \text{m} \quad (\times 10^{-2})$
- 코어 폭, 높이, 전극 간격 ($w, h, g$): $\mu\text{m} \to \text{m} \quad (\times 10^{-6})$
2.2 1V 당 위상 변위 연산 엔진 (Common Phase Engine)
단일 포켈스 일차 광전 효과(Linear Electro-Optic Effect) 수식을 이용해 $1\text{V}$ 인가 시 도파로 코어에 발생하는 굴절률 변화량($\Delta n_{1\text{V}}$)과 단위 위상 변화량($\Delta\Phi_{1\text{V}}$)을 도출합니다.
ΔΦ1V = (2π / λ) × Δn1V × Lelec
g(전극 유효 간격): $g = (w_{\text{core}} + w_{\text{elec}}) \times 10^{-6} \, [\text{m}]$γ(모드-전계 오버랩 계수): $\gamma = 0.85 \times \left(1 - \exp\left(-\frac{t_{\text{elec}}}{h_{\text{core}}}\right)\right)$L_elec(유효 전극 길이): $L_{\text{elec}} = L_{\text{arm}} \times \text{elecLengthRatio} \, [\text{m}]$
2.3 $V_\pi$ 동적 역산 (Dynamic $V_\pi$ Calculation)
별도의 예외 수식을 적용하지 않고, 두 Arm 간의 위상차가 정확히 $\pi \, [\text{rad}]$가 되기 위해 필요한 스위칭 전압 $V_\pi$를 1V당 위상 변화 엔진으로부터 역산합니다.
2.4 Push-Pull 위상 누적 및 간섭 (Phase Accumulation & Interference)
상/하단 Arm에 인가된 동적 전압($V_1, V_2$)에 따른 위상 변위를 양의 부호($+$)로 통합 적용하여, $V_2$ 전압 상승 시 전체 위상차($\Delta\Phi$)가 차감(감소)되도록 설계되었습니다.
dΦlower = + (V2 × ΔΦ1V)
ΔΦ = |dΦupper - dΦlower|
Pout = I0 × cos2(ΔΦ / 2)
3. 재질 프리셋 파라미터 (Material Presets)
| 재질 Preset | 코어 굴절률 ($n_{\text{core}}$) | Pockels 계수 ($r_{33}$) | 특징 |
|---|---|---|---|
| LiNbO3 | 2.21 | $30 \times 10^{-12} \, \text{m/V}$ | 전형적인 리튬나이오베이트 광변조기 특성 |
| Polymer | 1.55 | $70 \times 10^{-12} \, \text{m/V}$ | 유기 고분자 기반, 높은 Electro-Optic 계수 적용 |
| Silicon / SiN | 3.45 | $30 \times 10^{-12} \, \text{m/V}$ | 실리콘 포토닉스 통합 굴절률 체계 적용 |
4. 주요 모듈 및 Canvas 렌더링 로직 (Module Architecture)
4.1 calculateSupermodePhases(time)
입력 전압 신호와 도파로 결합(Coupling) 상수를 조합하여 기수/우수(Supermode) 유효 굴절률과 상/하단 Arm의 최종 위상 상태를 실시간 업데이트합니다.
4.2 drawCrossSectionField(time)
출력 포트의 TE00 모드 단면 출력 강도($P_{\text{out}}$)를 2D Canvas상에 가우시안 프로파일 형태의 픽셀 배율 매핑으로 visualizing 합니다.
4.3 drawScopeWaveform(time)
3D 오실로스코프 화면에 인가 전압 파형을 렌더링합니다. $V_1 = V_2 = 0\text{V}$ 일 때 진폭 $amp = 0$이 엄격 보장되어 완벽한 $0\text{V}$ 평면(Flatline)을 출력합니다.
4.4 drawTimePeakGraph()
광학 시간 스케일($T_0 = \lambda / c \approx 5.16 \, \text{fs}$) 단위 기반으로 출력 광파워 Peak 피드백 데이터를 100 step 히스토리 버퍼로 표시합니다.