지난 글에서는 GMES의 오래된 예제를 다시 실행했습니다. 이번에는 논문에 나온 조건으로 계산하고 결과가 같은지 확인해 보았습니다. 대상은 R. W. Ziolkowski, J. M. Arnold, D. M. Gogny의 「Ultrafast pulse interactions with two-level atoms」, Physical Review A 52, 3082–3094 (1995)입니다.
이 논문은 아주 짧은 빛의 펄스(pulse)가 두 준위 원자(two-level atom)로 이루어진 물질을 통과할 때 전자기장과 원자의 상태가 어떻게 바뀌는지 다룹니다. 두 준위 원자는 에너지가 낮은 바닥상태와 높은 들뜬상태만 남긴 원자 모형입니다. 빛이 원자의 상태를 바꾸고 원자의 응답이 다시 빛의 전파에 영향을 줍니다.
GMES의 Dm2로 12개의 그림을 재현했습니다. 자기유도 투명성과 초단 펄스에 의한 반전은 논문의 형태를 잘 따라갔습니다. 그림 10에서는 출력이 일정한 값으로 수렴하는 응답을 얻었고, 수식을 직접 유도하면서 구현에 필요한 계수와 조건도 정리했습니다. 논문의 결과와 재현 계산을 나란히 살펴보며 각 그림의 물리적 의미를 짚어 보겠습니다.
전자기장과 원자의 상태를 함께 계산한다
시간영역 유한차분법(finite-difference time-domain, FDTD)은 공간을 작은 격자로 나누고 전기장과 자기장을 시간에 따라 갱신합니다. 여기에 원자의 상태를 나타내는 블로흐 방정식(Bloch equations)을 결합하면 빛과 물질이 서로 영향을 주는 과정을 함께 계산할 수 있습니다.
논문의 식 (11)–(12)는 z 방향으로 진행하는 전기장 $E_x$와 자기장 $H_y$, 원자 상태를 나타내는 세 변수 $\rho_1$, $\rho_2$, $\rho_3$를 사용합니다. $\rho_1$과 $\rho_2$는 원자의 분극(polarization)을 설명하는 성분이고 $\rho_3$는 두 에너지 준위에 있는 원자 수의 정규화된 차이입니다.
\[\rho_3=\frac{N_e-N_g}{N_e+N_g}\]$N_e$는 들뜬상태, $N_g$는 바닥상태의 원자 수입니다. 따라서 $\rho_3=-1$이면 모두 바닥상태, $\rho_3=+1$이면 모두 들뜬상태입니다. 아래 그림에서 원자가 빛에서 에너지를 받아 들뜨면 $\rho_3$가 올라가고 그 반대 과정에서는 다시 내려갑니다. 들뜬 원자가 전체에서 차지하는 비율은 $(1+\rho_3)/2$로 계산합니다.
반송파(carrier)는 옮길 반(搬), 보낼 송(送), 물결 파(波)를 써서 신호를 실어 운반하는 파동이라는 뜻입니다. 보통 광학 계산에서는 진폭이 천천히 변한다고 가정하고, 반송파의 빠른 진동은 평균적인 효과로 반영합니다. 이 논문은 회전파 근사(rotating-wave approximation, RWA)를 적용하지 않고 반송파의 진동까지 직접 계산합니다. 펄스가 한 주기 정도로 짧아지면 그 안의 전기장이 어떻게 변하는지도 원자의 응답에 영향을 주기 때문입니다.
GMES에서는 TEMzFDTD로 전자기장의 전파를 계산하고, 물질 모형인 Dm2로 두 준위 원자의 상태와 응답을 계산합니다. 계산 공간은 전파 축을 따라 1차원으로 구성합니다. 전기장과 원자 상태는 서로의 다음 시점 값에 의존하므로 Dm2의 예측자–수정자 방법(predictor–corrector method)으로 값을 반복 갱신합니다.
공통 계산 조건과 갱신식을 준비한다
논문은 국제단위계(SI)를 쓰지만 GMES의 내부 계산에서는 진공의 빛 속도를 1로 둡니다. 논문에 있는 원자 밀도와 쌍극자 모멘트(dipole moment)를 그대로 Dm2에 넣으면 전자기장과 원자 사이의 결합 크기가 달라질 수 있습니다.
공통 코드의 GmesUnits는 길이 기준을 $1\,\mu\mathrm{m}$, 전기장 기준을 $10^9\,\mathrm{V/m}$로 정하고 시간, 각주파수, 이완 시간과 결합 계수를 함께 변환합니다. n_atom은 GMES의 무차원 방정식에서 분극이 전기장에 미치는 크기까지 맞춘 계수입니다.
공통 물리 조건은 다음과 같습니다. $T_1$은 준위 점유 차이가 평형값으로 돌아가는 시간, $T_2$는 분극의 위상 관계가 사라지는 시간입니다.
| 항목 | 값 |
|---|---|
| 전이 주파수 $f_0$ | $2.0\times10^{14}\,\mathrm{Hz}$ |
| 진공 파장 $\lambda_0$ | $1.5\,\mu\mathrm{m}$ |
| 한 주기 $T_p=1/f_0$ | $5\,\mathrm{fs}$ |
| 원자 밀도 $N_{\mathrm{atom}}$ | $1.0\times10^{24}\,\mathrm{m^{-3}}$ |
| 쌍극자 결합 계수 $\gamma$ | $1.0\times10^{-29}\,\mathrm{C\,m}$ |
| 그림 1–9의 $T_1$, $T_2$ | 모두 $10^{-10}\,\mathrm{s}$ |
| 그림 10–12의 $T_1$, $T_2$ | $10^{-10}\,\mathrm{s}$, $5.0\times10^{-14}\,\mathrm{s}$ |
그림 1부터 그림 11까지는 공간 간격이 $\lambda_0/200=7.5\,\mathrm{nm}$이고 시간 간격은 $\Delta t=0.5\Delta z/c=0.0125\,\mathrm{fs}$입니다. 그림 12에서는 공간 간격을 $\lambda_0/400$으로 줄입니다. --quick 옵션은 격자 수를 10분의 1로 줄이므로 실행 확인에는 쓸 수 있지만 아래의 재현 결과와 비교할 때는 제외합니다.
원자 상태를 갱신하는 계수를 구한다
논문 부록에는 계산에 사용할 갱신식이 정리되어 있습니다. 원래 방정식과 대조해 보니 일부 계수와 부호, 변수 표기는 수정이 필요했습니다. 아래에서는 정정이 필요한 이유와 재현 계산에 사용한 수식을 함께 살펴보겠습니다.
이 조건으로 원자 상태를 갱신하기 위해 논문 부록의 변수 변환을 사용합니다. 부록 식 (A1)은 이완에 따른 지수함수를 떼어 내기 위해 다음 변수를 정의합니다.
\[\rho_1=e^{-t/T_2}u_1,\qquad \rho_2=e^{-t/T_2}u_2,\qquad \rho_3=\rho_{30}+e^{-t/T_1}u_3\]이를 식 (12b)에 대입하면 다음과 같습니다.
\[\frac{\partial u_2}{\partial t} =-\omega_0u_1 +\frac{2\gamma}{\hbar}e^{-t(1/T_1-1/T_2)}E_xu_3 +\frac{2\gamma\rho_{30}}{\hbar}e^{t/T_2}E_x\]따라서 식 (A2c)처럼 $D(t)E_x$를 따로 더하는 표기에서는 다음 계수가 필요합니다.
\[D(t)=\frac{2\gamma\rho_{30}}{\hbar}e^{t/T_2}\]인쇄된 식 (A3e)은 $D(t)=\rho_{30}e^{t/T_1}/T_1$입니다. 이 표기를 변환한 방정식에 사용하려면 앞의 계수와 지수함수의 이완 시간을 위에서 유도한 형태로 정리해야 전기장에 곱했을 때의 단위까지 일치합니다. Dm2는 직접 대입해서 얻은 계수를 사용합니다.
부록의 나머지 식도 원래 방정식과 대조하면 몇 군데 정정이 필요합니다. 아래에서는 $A$, $B$, $C_+$, $C_-$를 논문의 식 (A3a)–(A3d)와 같이 정의하고, $D$는 위에서 유도한 식을 사용합니다.
식 (A2a)는 물질 항의 부호를 $+Au_1-Bu_2$에서 $-Au_1+Bu_2$로 바꾸면 식 (11b)와 일치합니다.
\[\frac{\partial E_x}{\partial t} =-\frac{1}{\epsilon_0}\frac{\partial H_y}{\partial z} -Au_1+Bu_2\]식 (A2d)는 변수 변환을 마친 식이므로 오른쪽의 $\rho_2$를 $u_2$로 정정합니다.
\[\frac{\partial u_3}{\partial t}=-C_-E_xu_2\]시간 갱신식에서는 위첨자 $n$이 시각 $n\Delta t$를 뜻합니다. 식을 짧게 쓰기 위해 같은 위치에서 두 시점의 평균을 $\bar{u}_j=(u_j^{n+1}+u_j^n)/2$, $\bar{E}_x=(E_x^{n+1}+E_x^n)/2$로 표시하겠습니다. 계수의 위첨자 $n+1/2$는 두 시점 사이에서 평가한 값입니다.
식 (A4b)에서 물질이 전기장을 변화시키는 항에는 $\Delta t$를 곱해야 합니다. 공간 미분 항은 그대로 두고, 물질에 의한 전기장 변화량만 쓰면 다음과 같습니다.
\[\left.\Delta E_x\right|_{\mathrm{matter}} =\Delta t\left(-A^{n+1/2}\bar{u}_1+B^{n+1/2}\bar{u}_2\right)\]식 (A4d)는 $D$를 $C_+$가 곱해지는 괄호 밖으로 옮깁니다. 그러면 식 (A2c)의 $C_+E_xu_3+DE_x$와 같은 형태가 됩니다.
\[\begin{aligned} u_2^{n+1}=u_2^n &-\Delta t\,\omega_0\bar{u}_1\\ &+\Delta t\,\bar{E}_x \left(C_+^{n+1/2}\bar{u}_3+D^{n+1/2}\right) \end{aligned}\]이 표기에서는 앞서 구한 $D$의 정의를 그대로 유지할 수 있습니다.
펄스 면적에 따라 원자의 반전이 달라진다
자기유도 투명성(self-induced transparency, SIT)은 강한 펄스가 원자를 들뜨게 한 뒤 다시 바닥상태로 돌려놓으면서 물질을 통과하는 현상입니다. 이 현상을 설명할 때는 전기장 진폭의 시간 적분에 $\gamma/\hbar$를 곱한 펄스 면적(pulse area)을 사용합니다. 적분 대상은 진폭의 외곽선을 잇는 포락선(envelope)입니다. 빠르게 진동하는 전기장 자체를 적분하는 것과는 다릅니다.
논문은 쌍곡선 시컨트 모양의 포락선에 공명 주파수의 사인파를 곱합니다. 펄스의 전체 길이는 100 fs이고 $2\pi$ 펄스의 최대 전기장은 $4.2186\times10^9\,\mathrm{V/m}$입니다. $\pi$, $2\pi$, $4\pi$ 조건은 같은 파형에서 진폭만 바꿉니다.

그림 1에서는 $2\pi$ 펄스가 200, 300, 400 fs에 걸쳐 거의 같은 형태로 진행합니다. 계산 영역은 150 μm이고 원자 매질은 7.5–142.5 μm에 있습니다. 아래쪽의 파란 선은 매질 안의 초기 상태가 $\rho_3=-1$임을 표시합니다. 매질 바깥의 0은 매질의 위치를 구분하는 표시이며 원자 상태를 뜻하지 않습니다.

그림 2는 187.5 fs에서 펄스 주변을 확대합니다. 원자는 펄스의 앞부분에서 들뜨고 뒷부분에서 다시 바닥상태로 돌아갑니다. 펄스가 오른쪽으로 진행하므로 공간 그림의 왼쪽은 이미 펄스가 지나간 영역입니다. 한 위치에서 시간에 따른 변화를 생각할 때는 이 방향을 함께 봐야 합니다.

진폭을 절반으로 줄인 $\pi$ 펄스는 원자를 들뜨게 한 채 지나갑니다. 그림 3의 왼쪽에 $\rho_3\simeq+1$인 영역이 남는 이유입니다.

진폭을 두 배로 올린 $4\pi$ 펄스에서는 들뜸과 되돌아옴이 두 차례 나타납니다. 전기장을 직접 계산하므로 $\rho_3$ 곡선에는 작은 굴곡도 남습니다. 논문은 전기장이 0을 지나는 지점 부근의 이런 구조를 전기장의 시간 변화율과 연결해 설명합니다.
기존 전체 실행 기록에서 세 펄스 조건 각각의 $\rho_3$ 최댓값을 비교하면, 가장 작은 값은 0.9954이고 가장 큰 값은 0.9985였습니다. 완전 반전의 기준인 +1에 가깝지만 정확히 같지는 않습니다. 이 수치는 재현 계산에서 얻은 상태 변수의 범위입니다. 원래 그림의 표본 데이터를 직접 비교한 오차는 아닙니다.
한 주기 길이의 펄스로 원자의 상태를 바꾼다
다음은 길이를 5 fs로 줄인 초단 펄스(ultrafast pulse)입니다. 논문의 식 (28)은 다음 파형을 사용합니다.
\[E_x(0,t)=E_0f(t),\qquad f(t)=-4.201355\,x(1-x^2)^3,\qquad x=\frac{2t}{T_p}-1\]이 식은 $0\le t\le T_p$에서만 적용하고 그 밖에서는 0으로 둡니다. 양과 음의 부분이 상쇄되어 전기장의 시간 적분은 0입니다. 앞 절에서 정의한 SIT 포락선의 면적과는 적분 대상이 다릅니다. 그럼에도 이 짧은 펄스로 원자를 거의 완전히 들뜨게 할 수 있습니다.
그림을 그릴 계산 시각은 펄스의 공간 위치와 함께 살펴보았습니다. 논문은 그림 5부터 그림 8까지를 12.5 fs의 결과로 설명하고, 그림 속 전기장 펄스는 약 6.0 μm부터 7.5 μm까지의 구간을 차지합니다. z=0에서 0–5 fs 동안 발생한 펄스라면 진공의 빛 속도로 계산한 위치는 다음과 같습니다.
| 발생 이후 시간 | 펄스의 뒤끝 | 펄스의 앞끝 |
|---|---|---|
| 12.5 fs | 2.25 μm | 3.75 μm |
| 25 fs | 6.0 μm | 7.5 μm |
재현 코드는 12.5 fs를 더 진행한 25 fs의 분포를 사용합니다. 그림 5부터 그림 8까지 같은 조건을 적용합니다. 이는 논문의 공간 위치를 맞추기 위한 재현상의 가정입니다. 시각 표기의 수정, 시간 원점의 재설정, 별도의 초기 계산 등 여러 해석이 가능하므로 원래 계산에서 사용한 시간 기준은 추가 확인 사항으로 남겼습니다.

그림 5는 $E_0=8.205\times10^9\,\mathrm{V/m}$인 경우입니다. 펄스가 지나간 왼쪽의 원자는 거의 모두 들뜬상태이고 아직 도달하지 않은 오른쪽은 바닥상태입니다. 전기장이 0을 지나는 가운데에서는 $\rho_3$ 곡선이 잠시 평평해집니다.


그림 6과 7은 같은 계산의 $\rho_1$, $\rho_2$입니다. 펄스가 지나간 뒤에도 작은 진동이 남습니다. 원자의 상태를 $\rho_3$만으로 설명할 수 없는 이유가 여기에 있습니다. 원문의 그림 7은 세로축에 $10^{-3}$ 배율을 붙였고 재현 그림은 $\rho_2$ 값을 그대로 표시합니다.

그림 8에서는 같은 파형의 진폭을 $2.272\times10^{10}\,\mathrm{V/m}$로 올립니다. 상태가 두 번 올라갔다 내려오지만 $4\pi$ SIT 펄스처럼 두 번 모두 완전히 반전되지는 않습니다. 곡선의 봉우리는 $\rho_3\simeq0.7$ 부근입니다. 이는 들뜬 원자의 비율로는 약 85%에 해당하므로 $\rho_3$ 값과 원자 비율을 구분해서 읽어야 합니다.

그림 9에서는 펄스를 두 개 사용합니다. 입력은 $E_0[f(t)+0.96f(t-3T_p)]$이며 $E_0=8.235\times10^9\,\mathrm{V/m}$입니다. 먼저 지나가는 오른쪽 펄스가 원자를 들뜨게 하고 15 fs 뒤의 펄스가 바닥상태로 되돌립니다. 두 펄스 사이에는 들뜬 원자가 남고 둘 다 지나간 왼쪽은 다시 $\rho_3\simeq-1$이 됩니다. 이 그림의 계산 시각은 논문과 같은 62.5 fs입니다.
작은 신호가 증폭되어 일정한 세기에 도달한다
이번에는 원자를 처음부터 모두 들뜬상태로 놓고 작은 사인파를 통과시킵니다. 길이 9 μm의 매질에서 $\rho_{30}=+1$이고 입사 전기장 진폭은 $1\,\mathrm{V/m}$입니다. 앞에서 사용한 강한 펄스보다 훨씬 작습니다.
사인파의 진폭을 다섯 주기에 걸쳐 부드럽게 올린다
식 (29)은 사인파의 진폭을 다섯 주기 동안 부드럽게 올린 뒤 일정하게 유지한다고 설명합니다. 함께 적힌 $x=2T/T_p-1$에서 대문자 $T$를 시간 $t$로 읽으면 $t=5T_p$에서는 $x=9$가 됩니다. 이 값을 $(1-x^2)^4$에 넣으면 $80^4$이므로 진폭 1로 부드럽게 이어 주려면 시간 변수의 범위를 조정해야 합니다.
다섯 주기에 맞춘 $x=2t/(5T_p)-1$은 진폭이 올라갔다가 다시 0으로 내려오는 대칭 구간입니다. 이후 진폭 1인 구간과 연결하면 그 경계에서 값이 뜁니다. 재현 코드는 다음과 같이 반쪽 구간을 사용합니다.
\[x=\frac{t}{5T_p}-1,\qquad 0\le t<5T_p\]이때 $(1-x^2)^4$은 0에서 1로 단조롭게 올라가고 이후 일정한 진폭과 기울기 0으로 이어집니다. SmoothSine은 이 해석을 구현합니다. 논문의 문장과 그림 10의 입력 곡선에 맞춘 선택이지만 원래 소스 함수가 이것이었다고 확정할 수는 없습니다.
입력과 출력은 세기 포락선으로 비교합니다. 원문에는 포락선 추출 과정이 구체적으로 제시되어 있지 않아, 재현 코드에 평균 방법을 명시했습니다. 그림 10에서는 $2E_x^2$를 한 주기 동안 평균한 값을 정상상태 입력 진폭의 제곱으로 나눕니다. 이 평균 코드는 뒤의 펌프–탐침 계산에서도 사용합니다.
증폭된 세기와 전기장 진폭을 확인한다

입력의 정상상태 세기를 1로 정규화하면 GMES의 출력은 약 1.223으로 올라간 뒤 유지됩니다. 논문의 그림 10에서는 출력이 처음 약 1.483에 머무르다가 0.55 ps 부근에서 1.223으로 내려갑니다. 논문은 이를 포화 영역에서 이득 계수가 절반이 되는 과정으로 설명합니다. 이번 계산에서는 출력이 앞서 설명한 값으로 바로 수렴했습니다. 이 응답은 아래의 이득 계수 유도와 함께 비교해 보겠습니다.

그림 11의 마지막 전기장 진폭은 약 1.106으로 논문과 가깝습니다. 진폭과 세기는 제곱 관계이므로 $1.106^2\simeq1.223$입니다. 이 그림의 주황색 선은 초기 $\rho_3$ 분포입니다. 최종 원자 상태를 그린 선으로 읽으면 안 됩니다.
마지막 세기와 전기장 진폭을 블로흐 방정식에서 구한 이득과 비교해 보겠습니다.
블로흐 방정식에서 이득을 구해 결과와 비교한다
식 (17b)의 첫 등식은 원래 블로흐 방정식과 맞습니다. 재현에 사용할 공명 응답을 구할 때는 그다음 근사에서 생략한 $-(\omega_0/T_2)\rho_2$ 항도 함께 고려합니다. 식 (12a)를 이용해 $\rho_2$를 정확히 제거하면 다음 식을 얻습니다.
\[\frac{\partial^2\rho_1}{\partial t^2} +\frac{2}{T_2}\frac{\partial\rho_1}{\partial t} +\left(\omega_0^2+\frac{1}{T_2^2}\right)\rho_1 =\frac{2\gamma\omega_0}{\hbar}E_x\rho_3\]감쇠 항의 계수는 근사식의 $1/T_2$에서 $2/T_2$로 정리됩니다. 공명에서는 생략한 항과 남겨 둔 감쇠 항의 크기가 같은 차수이므로 둘을 함께 유지합니다. 작은 주파수 보정 $1/T_2^2$를 생략하는 것과는 구분해서 다룰 부분입니다. 이 차이 때문에 식 (18b)의 공명 응답이 원래 1차 방정식에서 얻는 값의 두 배가 됩니다.
식 (19)에서 식 (20)으로 제곱근을 전개할 때는 인쇄된 식에 $1/2$를 반영하면 계수를 일관되게 정리할 수 있습니다. 본문에 적힌 수치 $0.0225\,\mu\mathrm{m}^{-1}$는 인쇄된 식 (20)을 그대로 계산한 값과 다릅니다. 재현에서는 수식의 유도와 수치 예제를 각각 계산해 비교했습니다.
혼동을 피하려고 다음 양을 $G$로 두겠습니다.
\[G=\frac{N_{\mathrm{atom}}\gamma^2\omega_0T_2}{\hbar\epsilon_0c} \simeq0.02245\,\mu\mathrm{m}^{-1}\]원래 블로흐 방정식에서 작은 신호의 공명 응답을 구하면 완전히 반전된 매질의 전기장 진폭 이득 계수는 $G/2$입니다. 길이 $L=9\,\mu\mathrm{m}$를 통과한 세기 비는 $\exp(GL)\simeq1.224$입니다. 이 값은 GMES의 후기 세기 약 1.223과 가깝습니다.
이 유도로 후기 이득을 확인한 뒤, 그림 10의 초기 높은 출력과 이후 감소는 별도의 비교 대상으로 두었습니다. 원자 밀도만 두 배로 늘린 비교 실행에서는 세기가 약 1.497로 올라가 유지됐습니다. 논문에서 이후 도달하는 값인 1.223과 함께 비교할 수 있는 결과입니다. 이 비교는 원자 밀도에 따른 이득의 크기를 확인하는 데 도움이 됩니다. 시간에 따른 감소 과정까지 비교하려면 원래의 갱신식, 입력 함수, 관측 데이터와 포락선 처리 방법을 추가로 확인해야 합니다.
펌프로 들뜬 원자가 탐침 신호를 증폭한다
그림 12는 펌프–탐침(pump–probe) 구성입니다. 강한 펄스로 원자를 먼저 들뜨게 한 뒤 약한 탐침 신호를 보내 증폭되는지 살펴봅니다. 처음부터 반전 상태를 지정한 그림 10과 달리 앞선 펄스가 실제로 매질을 준비합니다.
입력 조건은 5 fs 펌프와 공명 주파수의 사인파 탐침입니다. 펌프 진폭은 $8.232\times10^9\,\mathrm{V/m}$이고 탐침 진폭은 그 $10^{-4}$배입니다. 지연 시간 $20T_p=100\,\mathrm{fs}$와 $40T_p=200\,\mathrm{fs}$를 각각 별도로 계산합니다.
탐침 사인파의 진폭은 앞서 그림 10에서 정한 방식으로 부드럽게 올립니다.
이 그림에서는 세기 포락선을 만드는 방법도 결과에 영향을 줍니다. 여기서는 세 주기 길이의 한 가중 창(Hann window)을 적용한 평균을 사용하고, 정상상태 탐침 진폭의 제곱으로 나눠 정규화합니다. 그림 10에서 사용한 평균 코드에 이 조건을 지정한 그림 12의 설정을 함께 남겼습니다.

100 fs 뒤에 탐침이 매질을 지날 때는 펌프에 의한 분극의 진동이 아직 남아 있습니다. 200 fs 뒤에는 그 진동이 더 줄어 있습니다. 두 곡선은 초기에 다르지만 시간이 충분히 지나면 비슷한 출력 세기에 도달합니다.
기존 전체 실행 기록에서 100 fs 지연의 출력 봉우리는 1.5185였고 두 지연 조건의 후기 세기는 각각 1.2093과 1.2086이었습니다. 논문은 봉우리를 약 1.52, 후기 세기를 1.2073으로 제시합니다. 재현된 후기 $\rho_3$는 약 0.938이고 논문의 비교값은 0.9317입니다. 전체 형태와 수치는 논문에 가깝고, 남은 수치 차이는 위의 값으로 비교할 수 있습니다.
100–140 fs 부근에서는 두 실행의 출력에 공통된 구조가 남습니다. 이 구조는 펌프 뒤에 분극이 계속 진동하며 빛을 내는 자유유도 감쇠(free-induction decay)와 관련됩니다. 200 fs 지연의 실행에 100 fs 지연의 탐침이 들어간 것은 아닙니다. 평균하는 구간과 가중치를 바꾸면 이런 짧은 구조의 모양이 달라집니다. 세 주기 평균은 재현에서 선택한 처리 방식이며 원 논문도 같은 방법을 썼다는 의미는 아닙니다.
코드와 영상으로 다시 확인하기
재현 코드는 GMES 저장소의 커밋 3e6cd3을 기준으로 설명했습니다. 아래 명령은 그 커밋에서 실행하는 예입니다. Python 3.14, C++23을 지원하는 컴파일러, SWIG와 uv가 필요합니다.
git clone https://github.com/ruddyscent/gmes.git
cd gmes
git checkout 3e6cd309c214cd51c0a00afc8e49cbb8a4865417
uv python install 3.14
uv sync --locked --extra plot --extra hdf5
uv run --no-sync python examples/ziolkowski1995.py \
--output-dir ../gmes-ziolkowski1995-results
전체 그림은 fig01.png부터 fig12.png까지 생성됩니다. ziolkowski1995.py는 요청한 그림 번호를 다음 네 예제로 나눠 실행합니다.
| 그림 | 파일 | 확인할 응답 |
|---|---|---|
| 1–4 | ziolkowski1995_sit.py |
$\pi$, $2\pi$, $4\pi$ 펄스의 반전 횟수와 통과 후 상태 |
| 5–9 | ziolkowski1995_ultrafast.py |
초단 펄스의 반전, 분극의 진동과 후속 펄스에 의한 바닥상태 복귀 |
| 10–11 | ziolkowski1995_gain.py |
작은 신호의 세기와 전기장 진폭 이득 |
| 12 | ziolkowski1995_pump_probe.py |
탐침 지연에 따른 과도 응답과 후기 이득 |
특정 그림만 확인하려면 --figures에 번호를 지정합니다.
uv run --no-sync python examples/ziolkowski1995.py \
--figures 5 6 7 8 9 --output-dir ../gmes-ziolkowski1995-results
uv run --no-sync python -m unittest discover \
-s tests -p 'test_ziolkowski1995_examples.py' -v
실행할 때는 격자 수와 시간 간격, 원자 상태의 최솟값·최댓값, 세기 요약이 터미널에 출력됩니다. 자세한 비교 조건은 examples/VERIFICATION.md에 있습니다. 본문의 수치 비교는 저장된 전체 실행 결과와 검증 기록을 기준으로 했으며 글을 작성하면서 모든 조건을 다시 계산한 것은 아닙니다.
시간에 따라 움직이는 결과는 아래 영상과 재생목록에도 올려 두었습니다. 영상에서는 펄스의 진행 방향과 원자 상태의 변화를 이어서 볼 수 있습니다. 정지 그림에서는 한 번에 보기 어려운 부분입니다.
이번 계산에서는 두 준위 원자의 들뜸과 되돌아옴, 초단 펄스 뒤에 남는 분극, 탐침 신호의 증폭까지 하나의 물질 모형으로 이어졌습니다. 각 그림에 사용한 수식과 입력 조건도 재현 코드에 함께 정리했습니다. 그림 10의 시간 응답은 추가로 살펴볼 대상으로 남겨 두고, 이후 입력 조건이나 수치 구현을 바꿀 때 비교할 기준으로 삼으려 합니다.