본문 바로가기
Solution/Optic TCAD

Oblique Incident Plane Wave

by 이센 2025. 3. 29.

EMW 에서 사선으로 들어오는 평면파의 구현

  • 사선 평면파의 방향은 구조체의 Coordinate 와 공간 각 을 고려 아래와 같이 표현됩니다.
  • 이 경우 EMW Script 예제는 아래와 같습니다.

 

PlaneWaveExcitation{   
	## Exciatation distance from device is 0.3 um (60 cells).
	## Area of box does not affect the results. (Always full to domain size)
     BoxCorner1 = (@<@DEPTH@+BARL+2>@, 0.0, 0.0) 							  # um   
     BoxCorner2 = (@<@DEPTH@+BARL+2>@, @WIDTH@, @WIDTH@)  # um

	## The wave with Theta=90 & Phi=180 is perpendicular to device, from X- to X+ direction.
	## <Z+ means wave propagates to the Z=A -> Z=B direction (A < B) with constant Y
	## Theta -> 80 & Phi=180 has incident angle <Z+ = 10 degree
	## Theta -> 100 & Phi=180 has incident angle <Z- = 10 degree
	## Theta=90 & Phi -> 170 has incident angle <Y+ = 10 degree
	## Theta=90 & Phi -> 190 has incident angle <Y- = 10 degree
  Signal = harmonic
  Theta      = @theta@
  Phi      	 = @phi@
  Psi        = 0                                 
  Wavelength = @<1000.*wavelength>@ # nm
  Intensity  = 0.00002 # W/cm2 & 1 lux = 0.0079 W/m2 & bright sunlight = 120000 lux = 948 W/m2
		       # Global solar spectrum sunlight => 109880 lux = 1000 W/m2
  Nrise      =  5   # number of signal periodeds until full power
  Delay	     = 0	
}

Plot {                                          
  Name      = "n@node@_Eabs"
  Quantity  = {AbsElectricField,AbsMagneticField, realelectricfieldx, realelectricfieldy, realelectricfieldz, Region}
  FinalPlot = yes
}

 

Abs(Electric Field): 전기장의 크기(진폭) 표현

  • 전기장을 복소수로 표현할 경우, E = E₀·exp(i(k·r - ωt))와 같이 시간과 공간에 따라 진동하는 파동 형태로 나타납니다.
  • Abs(E)는 이 복소수 전기장의 절댓값, 즉 크기를 의미하며 다음과 같이 계산됩니다:
    |E| = sqrt(Re(E)² + Im(E)²)
  • 특징:
    • 위상 정보가 제거됩니다.
    • 시간과 관계없는 상수 진폭 분포만 남습니다.
    • 파동이 기울어졌는지 여부는 크기 분포만으로는 잘 드러나지 않음.
    • 간섭, 위상 차 같은 정보도 표현되지 않음.

Real(Electric Field): 전기장의 실수부 표현

  • Re(E) = Re[E₀·exp(i(k·r - ωt))] = E₀·cos(k·r - ωt)
  • 실시간 전기장의 진동 형태를 보여줍니다.
  • 특징:
    • 위상 정보가 보존됨.
    • 파동이 진행되는 방향에 따라 기울어진 파면이 명확히 보임.
    • 사광 입사 시, 파면이 일정 각도로 기울어져 있는 형태가 나타남.
    • 시간 t에 따라 변화하므로, 애니메이션으로 보면 파가 어디서 어디로 진행하는지 시각적으로 파악 가능.

⚠️ 주의사항

  • Abs(E)만 보면 빛의 방향성, 간섭, 위상차 등 파동의 중요한 특성을 놓칠 수 있음.
  • 사광 입사나 간섭 패턴, 회절 분석 등에서는 항상 Real(E) 또는 복소수 표현 자체를 함께 고려해야 함.

 

import numpy as np
import matplotlib.pyplot as plt

# 공간 격자 설정
x = np.linspace(-10, 10, 400)
z = np.linspace(-10, 10, 400)
X, Z = np.meshgrid(x, z)

# 파동 파라미터
wavelength = 2.0       # 파장
k = 2 * np.pi / wavelength  # 파수
theta_deg = 30         # 입사각 (도)
theta = np.radians(theta_deg)  # 라디안으로 변환

# 파벡터 성분 (사광 입사)
kx = k * np.sin(theta)
kz = k * np.cos(theta)

# 시간 설정 (정적 시간 스냅샷)
t = 0

# 복소 전기장 (시간 고정)
E_complex = np.exp(1j * (kx * X + kz * Z - t))

# 크기와 실수부 계산
E_abs = np.abs(E_complex)
E_real = np.real(E_complex)

# 시각화
fig1, ax1 = plt.subplots()
c1 = ax1.pcolormesh(X, Z, E_abs, shading='auto', cmap='inferno')
ax1.set_title("Abs(E): 전기장 크기")
ax1.set_xlabel("x")
ax1.set_ylabel("z")
fig1.colorbar(c1, ax=ax1)

fig2, ax2 = plt.subplots()
c2 = ax2.pcolormesh(X, Z, E_real, shading='auto', cmap='RdBu')
ax2.set_title("Real(E): 전기장 실수부")
ax2.set_xlabel("x")
ax2.set_ylabel("z")
fig2.colorbar(c2, ax=ax2)

plt.tight_layout()
plt.show()

'Solution > Optic TCAD' 카테고리의 다른 글

PMI model  (0) 2025.04.02
Optic 구조2  (0) 2024.05.18
0.8 um QE test  (0) 2024.01.29
Optic Color Filter n, k Information  (1) 2023.12.19