들뜬 상태 방법 — TDA · TD-DFT · CIS
ORCA는 들뜬 상태 방법을 여럿 지원한다. 아래는 단일참조(single-reference) 계열이다. 다중참조(CASSCF, NEVPT2, MRCI)는 매뉴얼의 별도 장을 참고하면 된다.
| 방법 | 키워드 · 블록 | 설명 |
|---|---|---|
| TDA (Tamm-Dancoff) | %tddft TDA true | TD-DFT의 단순화. 안정적이며 약간 더 빠름. |
| TD-DFT | %tddft (TDA false) | 표준 TD-DFT. 진동자 강도 정확도 양호. |
| CIS | HF 레퍼런스 + %cis | HF 기반 단일들뜸 CI. |
| CIS(D) | %mp2 RI true end + CIS | CIS에 섭동 보정. 정확도 향상. |
| SF-TDA | %tddft SF true | 스핀-플립 TDA. 디라디칼·교차점. |
| ROCIS | %rocis | 제한 열린 껍질 CIS. 전이금속 흡수. |
기본 사용법
가장 간단하게는 “들뜬 상태를 몇 개 구할지”만 지정하면 된다. 아래는 포름알데히드의 n → π* 전이를 포함해 첫 10개 들뜸 상태를 계산하는 예다.
! B3LYP D4 def2-SVP RIJCOSX def2/J
%tddft
NRoots 10 # 첫 10개 들뜸 상태
MaxDim 100 # Davidson 부분공간 크기
Triplets true # 삼중항도 함께 (닫힌 껍질 레퍼런스 한정)
end
* int 0 1
C 0 0 0 0.00 0.0 0.00
O 1 0 0 1.20 0.0 0.00
H 1 2 0 1.08 120.0 0.00
H 1 2 3 1.08 120.0 180.00
*
NRoots는 실험에서 관심 있는 영역까지 들어오도록 넉넉히 잡는 게 좋다.
진동자 강도가 작은 어두운 상태가 중간에 끼어 있을 수 있어서, 실험 흡수대에 맞는 상태를 놓치지 않으려면 여유가 필요하다.
출력 해석
TD-DFT 계산이 끝나면 이런 표가 나온다.
-----------------------------
TD-DFT/TDA EXCITED STATES (SINGLETS)
-----------------------------
STATE 1: E= 0.155436 au 4.230 eV 34121.5 cm**-1 <S**2> = 0.000000
8a -> 9a : 0.984123 (c= 0.99202)
...
STATE 2: E= 0.305212 au 8.305 eV 66987.2 cm**-1 <S**2> = 0.000000
...
-----------------------------------------------------------------------------
ABSORPTION SPECTRUM VIA TRANSITION ELECTRIC DIPOLE MOMENTS
-----------------------------------------------------------------------------
States Energy Wavelength fosc T2 TX TY TZ
(cm-1) (nm) (au**2) (au) (au) (au)
-----------------------------------------------------------------------------
0-1A 34121.5 293.1 0.00000123 0.00012 0.00000 0.00000 0.00345
0-2A 66987.2 149.3 0.45612345 2.21345 -1.48732 0.00000 0.00000
...
각 열의 뜻은 이렇다.
- STATE n: n번째 들뜬 상태의 에너지(au, eV, cm⁻¹).
- x → y: 주요 단일 들뜸 (예: HOMO → LUMO). 계수가 클수록 그 들뜸이 지배적.
- fosc: 진동자 강도(oscillator strength). 0.01 이상이면 흡수가 “보일” 만큼 크다.
- Wavelength: 대응하는 흡수 파장(nm). UV-Vis 비교의 핵심.
포름알데히드라면 첫 번째 상태(약 290 nm)는 n → π* 전이라 진동자 강도가 매우 작고(대칭 금지), 보통 실험에서 관측되는 흡수는 두 번째 상태다.
삼중항과 스핀-플립
닫힌 껍질 레퍼런스에서 삼중항도 같이 계산하려면 아래를 더한다.
%tddft
NRoots 10
Triplets true
end
삼중항 들뜸 에너지(T1, T2, ...)는 항간교차(intersystem crossing)·인광 분석에 꼭 필요하다. 한편 단일항 디라디칼이나 교차점을 제대로 다루려면 “스핀-플립” TDA(SF-TDA)를 쓴다. 이때 레퍼런스는 반드시 열린 껍질(High-spin)이어야 한다.
# 스핀-플립 TDA: 트리플렛 레퍼런스에서 시작
! UKS B3LYP D4 def2-SVP
%tddft
NRoots 5
SF true
end
* xyzfile 0 3 mol.xyz
들뜬 상태 최적화 — 형광 계산
형광(emission) 파장을 얻으려면 들뜬 상태에서 구조를 다시 최적화해야 한다. 그 구조에서 들뜬 상태 에너지를 다시 계산하면, 그 값이 형광의 0-0 전이 에너지에 가깝다.
# 1번 들뜬 상태(S1)의 구조 최적화
! B3LYP D4 def2-SVP Opt
%tddft
NRoots 3
IRoot 1 # 어느 들뜸 상태를 최적화할지
end
* xyzfile 0 1 ground_opt.xyz
IRoot n은 “n번째 들뜬 상태의 그래디언트를 계산해 그 상태를 최적화한다”는 뜻이다.
최적화 뒤에 !Freq를 붙이면 들뜬 상태의 진동수도 얻는다.
여기에 영점 보정까지 넣어 구한 0-0 전이 에너지가 발광 스펙트럼과 바로 비교되는 값이다.
비단열 결합과 ETF
광화학 동역학(surface hopping)에서는 두 들뜬 상태 사이의 비단열 결합(NACME, non-adiabatic coupling matrix element)이 필요하다. ORCA 6은 이걸 해석적으로 계산하고, 전자 병진 인자(ETF, Electronic Translational Factor) 보정도 지원한다.
%tddft
NRoots 5
IRoot 1
NACME true # NACME 계산 켜기
ETF true # ETF 보정
end
X-선 흡수 스펙트럼
K-edge X-선 흡수 스펙트럼의 pre-edge 영역은 TD-DFT로 정성적으로도, 정량적으로도 모사할 수 있다. 매뉴얼은 TiCl4의 Ti K-edge를 예로 든다.
! BP86 ZORA ZORA-def2-TZVP(-f) SARC/J TightSCF
%tddft
OrbWin[0] = 0, 0, -1, -1 # 0번 궤도(Ti 1s)만 도너로
NRoots 25
DoHigherMoments true # 사극자 강도 포함
DoFullSemiclassical true
end
* int 0 1
Ti 0 0 0 0.00 0.00 0.00
Cl 1 2 3 2.15 0.00 0.00
Cl 1 2 3 2.15 109.47 0.00
Cl 1 2 3 2.15 109.47 120.00
Cl 1 2 3 2.15 109.47 240.00
*
핵심은 OrbWin[0]으로 “이 분자에서는 0번 궤도(Ti의 1s)만 도너로 쓴다”는 제한을 거는 부분이다.
안 그러면 모든 occupied 궤도에서의 들뜸을 다 포함해야 해서 NRoots가 비현실적으로 커진다.
K-edge 모사에서는 이런 제한이 일반적이다.
함수 선택과 주의 사항
B3LYP, PBE0 같은 표준 하이브리드 DFT는 전하 이동(charge-transfer) 들뜸 상태의 에너지를 크게 과소평가한다.
전하 이동 성격이 있는 시스템(도너-억셉터 분자, 큰 컨주게이션계)에서는
CAM-B3LYP, ωB97X-V 같은 장범위 분리(range-separated) 하이브리드를 쓰는 게 좋다.
대략적인 함수 추천은 이렇다.
| 상황 | 권장 함수 |
|---|---|
| 로컬 들뜸(국소 π → π*) | B3LYP, PBE0, M06-2X |
| 전하 이동, 큰 컨주게이션 | CAM-B3LYP, ωB97X-V, ωB97M-V |
| 전이금속 d-d 전이 | TPSSh, B3LYP, BP86 |
| 리이드버그 상태 | 장범위 분리 + diffuse 함수 (def2-TZVPD 등) |
흡수 스펙트럼 플롯하기
orca_mapspc로 흡수 스펙트럼을 그린다.
예를 들어 4890–14915 cm⁻¹(약 670–2040 nm) 범위에 가우스 라인폭 1.3을 적용하는 명령은 이렇다.
# 표준 흡수 스펙트럼
orca_mapspc mol.out ABSQ -eV -x04890 -x14915 -w1.3
# 사극자·자기쌍극자 효과까지 포함한 확장 스펙트럼
orca_mapspc mol.out ABSOI -eV -x04890 -x14915 -w1.3
나온 .dat 파일을 gnuplot, matplotlib 같은 걸로 그리면 실험 스펙트럼과 바로 겹쳐 비교할 수 있다.