FDTD 仿真驱动的金三八面体纳米颗粒参数化建模与光学特性研究
1 引言——金三八面体纳米颗粒
形状工程是贵金属纳米晶体设计中的核心策略。与传统的凸面、低折射率刻面(如球体、立方体、双锥体)纳米晶体相比,由高折射率刻面包围的凹面和树枝状纳米晶体,因其独特的光学和催化性能而受到广泛关注。
金三角化八面体纳米颗粒(Au-TOH NPs),作为一类具有高对称性的复杂多面体,正是在这一背景下脱颖而出。
Au-TOH NPs 由24个三角形高折射率刻面包围 。这种结构具有以下显著优势:
强烈的等离激元效应: 大量的尖端和边缘充当电场增强的“热点”(Hotspots),使得 Au-TOH NPs 具有极强的表面增强拉曼散射(SERS)活性,是痕量检测应用的绝佳候选者。
高催化性能: 高折射率晶面富含低配位原子、台阶、边缘和扭结,这些位点赋予纳米结构优异的催化性能。
本文旨在为 Au-TOH NPs 的 FDTD 仿真提供一个精确的几何和数学模型蓝本,特别是探究其几何参数的可变调整对模型形态的影响,为后续的仿真优化奠定基础。
1.1 研究背景:高指数晶面纳米结构的重要性
金(Au)纳米颗粒因其优异的 局域表面等离激元共振 (LSPR) 特性,在 SERS 和催化等领域具有核心价值。高效的 SERS 增强依赖于尖锐结构产生的 热点(Hotspots) 。本研究聚焦于 高指数晶面(HIFs) 结构,它们具有高表面能,包含原子尺度的台阶和拐角,是增强电场集中的理想位点。
1.2 模型选择:三八面体 (Trisoctahedron) 的优势与目标设定
本研究选择 Trisoctahedron (TOH) 作为金纳米颗粒的模型对象,它精确暴露了 { h h l } \{hhl\} { hh l } 类型的高指数晶面(如 { 331 } \{331\} { 331 } 晶面)。通过建立参数化 的 TOH 模型,系统地探索模型的尖锐度 (由表面三角形的顶角 θ \theta θ 控制)对 LSPR 模式和热点分布的影响。
2 三角化八面体的晶体学描述
三角化八面体(Trisoctahedron,TOH )是一种高对称性的凸多面体,其晶体学特征为理解其物理性能提供了基础。
2.1 晶面类型与米勒指数的对应关系
TOH 是一个标准的 24 面体 结构,由 24 个全等的等腰三角形 面组成。这些面在晶体学中被定义为 高折射率刻面 。
TOH晶面米勒指数族 :{ h h l } \{hhl\} { hh l } ,其中 h >l >0
米勒指数定义: {hh l } 族通过晶体系统的对称操作,表示一组晶体学上等价的晶面族,这些晶面族通过对单个晶面应用晶体系统的所有对称操作而生成。
TOH 由 { h h l } \{hhl\} { hh l } 晶面族限定,其中 { h h l } \{hhl\} { hh l } 代表具有高表面能的台阶状晶面,下图是不同晶面指数的TOH 。
确定晶面的米勒指数对于 TOH 纳米结构,有两种方法可以确定晶面的米勒指数。一种方法是沿<110> 方向投影 TOH 结构时测量投影角度。米勒指数与投影角度之间的关系遵循下表中的方程 。
2.2 高折射率刻面的物理与化学意义
高折射率刻面({hhl} 晶面)具有高表面能。其结构特点包括:
原子排列: 晶面具有高密度的低配位原子、台阶、边缘和扭结 。
催化活性: 这些高能位点使其成为极具吸引力的催化活性位点。
2.3 晶体形态与几何体的精确映射
几何名称
英文名称
面数
晶面族
纳米合成对应
三轴八面体
Trisoctahedron (TOH)
24
{ h h l } \{hhl\} { hh l }
最直接对应{ 331 } \{331\} { 331 } 晶面的纳米结构
三角化十二面体
Disdyakis Dodecahedron (DDO)
48
{ h k l } \{hkl\} { hk l }
对应更复杂的高指数面,常与 TOH 混
2.4 形态控制与合成基础
Au-TOH NPs 可通过种子介导生长法 合成 ,并能实现对尺寸(例如 60 nm 到 255 nm)和暴露刻面的精确控制。控制 A u 3 + Au^{3+} A u 3 + /抗坏血酸 (AA ) 的摩尔比,以及表面活性剂如 CTAC 的浓度,是形成特定高指数 {hh l } 晶面的关键因素。
3 三角化八面体的几何构造与拓扑表示
TOH 的构造建立在正八面体之上,在其 8 个三角形面上加盖一个等腰三角形金字塔(Kleetope 操作 )。金字塔的高度(由参数 k k k 控制)决定了模型的尖锐度。TOH 的几何和拓扑结构与其对偶体 截角立方体 (tC )紧密相关。
3.1 拓扑结构与对偶关系
TOH 属于卡塔兰立体,是 截角立方体 (tC )的 对偶多面体 。
元素
TOH (三角化八面体)
截角立方体 (tC )
拓扑对应关系
顶点 (V )
14
24
TOH 顶点↔tC面
棱 (E )
36
36
TOH 棱↔tC棱
面 (F )
24
14 (8 ×三角形+6 ×八边形)
TOH 面↔tC顶点
TOH 的欧拉示性数 (χ ) 满足:
χ = V − E + F = 14 − 36 + 24 = 2 χ=V−E+F=14−36+24=2
χ = V − E + F = 14 − 36 + 24 = 2
3.2 顶点分类与几何构造
TOH 的构造可以视为对正八面体的 8 个面各添加一个三角锥。其 14 个顶点可分为两组:
6个8阶顶点: 对应于原始正八面体的顶点,每个顶点汇聚 8 条棱和 8 个面。
8个3阶顶点: 对应于新增的锥顶点,每个顶点汇聚 3 条棱和 3 个面。
3.3 其他三角化八面体
4 三角化八面体的数学描述初探
精确的数学公式是 FDTD 仿真建模的基础,它确定了纳米颗粒的尺寸、形状和方向。我们以模型的 14 个顶点坐标(λ 和 k )和顶θ 为蓝本,构建所有几何参数的公式。
前提符号定义:
V λ V_{\lambda} V λ : 原始八面体顶点,坐标 ( λ , 0 , 0 ) (\lambda, 0, 0) ( λ , 0 , 0 ) 。
V k V_{k} V k : 新增金字塔顶点,坐标 ( k , k , k ) (k, k, k) ( k , k , k ) 。
s s s : 原始八面体的棱长,是等腰三角形的底边长。
λ \lambda λ : V λ V_{\lambda} V λ 的轴向坐标。
k k k : V k V_{k} V k 的坐标参数。
s 2 s_2 s 2 (或 a a a ):等腰三角形的腰长(TOH 的长棱)。
s 1 s_1 s 1 : 等腰三角形的底边长(TOH 的短棱)。
4.1 顶点坐标的规范化与结构
Trisoctahedron 的 14 个顶点坐标可归纳为八面体型 ( ± λ , 0 , 0 ) (\pm \lambda, 0, 0) ( ± λ , 0 , 0 ) 和立方体型 ( ± k , ± k , ± k ) (\pm k, \pm k, \pm k) ( ± k , ± k , ± k ) 两种形式。
【Canonical 坐标集】 截角立方体棱长为 1 时,TOH 顶点坐标为:
6个8阶顶点 (八面体型): ( ± ( 1 + 2 ) , 0 , 0 ) \left(\pm (1+\sqrt{2}), 0, 0\right) ( ± ( 1 + 2 ) , 0 , 0 ) 及其排列
8个3阶顶点 (锥/立方体型): ( ± 1 , ± 1 , ± 1 ) \left(\pm 1, \pm 1, \pm 1\right) ( ± 1 , ± 1 , ± 1 )
4.2 棱长(Edge Lengths)与比例
模型的几何形状由几条关键棱长决定:原始八面体的棱长 s s s ,短棱 s 1 s_1 s 1 (等腰三角形的底边)和长棱 s 2 s_2 s 2 (等腰三角形的腰)。
棱长 (s s s ):原始八面体的棱长:
s 2 = λ 2 + λ 2 s^2 = \lambda^2 + \lambda^2
s 2 = λ 2 + λ 2
s = λ 2 \mathbf{s = \lambda\sqrt{2}}
s = λ 2
短棱 (s 1 s_1 s 1 ):短棱 s 1 s_1 s 1 连接两个相邻的新增顶点 V k 1 = ( k , k , k ) V_{k1}=(k, k, k) V k 1 = ( k , k , k ) 和 V k 2 = ( k , k , − k ) V_{k2}=(k, k, -k) V k 2 = ( k , k , − k ) ,根据空间两点距离公式:
s 1 2 = ( k − k ) 2 + ( k − k ) 2 + ( k − ( − k ) ) 2 s_1^2 = (k-k)^2 + (k-k)^2 + (k-(-k))^2
s 1 2 = ( k − k ) 2 + ( k − k ) 2 + ( k − ( − k ) ) 2
s 1 2 = 0 + 0 + ( 2 k ) 2 s_1^2 = 0 + 0 + (2k)^2
s 1 2 = 0 + 0 + ( 2 k ) 2
s 1 = 2 k \mathbf{s_1 = 2k}
s 1 = 2k
长棱 (s 2 s_2 s 2 ):长棱 s 2 s_2 s 2 连接八面体顶点 V λ = ( λ , 0 , 0 ) V_{\lambda} = (\lambda, 0, 0) V λ = ( λ , 0 , 0 ) 与新增顶点 V k = ( k , k , k ) V_{k} = (k, k, k) V k = ( k , k , k ) 。根据空间距离公式,其平方 s 2 2 s_2^2 s 2 2 建立了 λ \lambda λ 和 k k k 之间的核心约束关系:
s 2 2 = ( λ − k ) 2 + ( 0 − k ) 2 + ( 0 − k ) 2 s_2^2 = (\lambda-k)^2 + (0-k)^2 + (0-k)^2
s 2 2 = ( λ − k ) 2 + ( 0 − k ) 2 + ( 0 − k ) 2
s 2 2 = 3 k 2 − 2 λ k + λ 2 \mathbf{s_2^2 = 3k^2 - 2\lambda k + \lambda^2}
s 2 2 = 3 k 2 − 2 λ k + λ 2
4.3 面内角和二面角
TOH 的 24 个面是全等的等腰三角形,面内角完全由棱长 s 1 s_1 s 1 和 s 2 s_2 s 2 决定,因此它们也是 λ \lambda λ 和 k k k 的函数。
顶角 θ o b t u s e \theta_{obtuse} θ o b t u se 位于 V λ V_{\lambda} V λ 处,夹在两条长棱 s 2 s_2 s 2 之间。由余弦定理:
s 1 2 = s 2 2 + s 2 2 − 2 s 2 2 cos ( θ o b t u s e ) s_1^2 = s_2^2 + s_2^2 - 2s_2^2 \cos(\theta_{obtuse})
s 1 2 = s 2 2 + s 2 2 − 2 s 2 2 cos ( θ o b t u se )
cos ( θ o b t u s e ) = 2 s 2 2 − s 1 2 2 s 2 2 \cos(\theta_{obtuse}) = \frac{2s_2^2 - s_1^2}{2s_2^2}
cos ( θ o b t u se ) = 2 s 2 2 2 s 2 2 − s 1 2
cos ( θ o b t u s e ) = 1 − s 1 2 2 s 2 2 \mathbf{\cos(\theta_{obtuse}) = 1 - \frac{s_1^2}{2s_2^2}}
cos ( θ obtuse ) = 1 − 2 s 2 2 s 1 2
底角 ϕ a c u t e \phi_{acute} ϕ a c u t e 位于 V k V_k V k 处,夹在长棱 s 2 s_2 s 2 和短棱 s 1 s_1 s 1 之间。其角度 cos ( ϕ a c u t e ) \cos(\phi_{acute}) cos ( ϕ a c u t e ) 同样由余弦定理确定:
s 2 2 = s 1 2 + s 2 2 − 2 s 1 s 2 cos ( ϕ a c u t e ) s_2^2 = s_1^2 + s_2^2 - 2s_1 s_2 \cos(\phi_{acute})
s 2 2 = s 1 2 + s 2 2 − 2 s 1 s 2 cos ( ϕ a c u t e )
0 = s 1 2 − 2 s 1 s 2 cos ( ϕ a c u t e ) 0 = s_1^2 - 2s_1 s_2 \cos(\phi_{acute})
0 = s 1 2 − 2 s 1 s 2 cos ( ϕ a c u t e )
2 s 1 s 2 cos ( ϕ a c u t e ) = s 1 2 2s_1 s_2 \cos(\phi_{acute}) = s_1^2
2 s 1 s 2 cos ( ϕ a c u t e ) = s 1 2
cos ( ϕ a c u t e ) = s 1 2 s 2 \mathbf{\cos(\phi_{acute}) = \frac{s_1}{2s_2}}
cos ( ϕ acute ) = 2 s 2 s 1
二面角 δ \delta δ 的计算必须依赖于两个相邻面 F 1 F_1 F 1 和 F 2 F_2 F 2 的法向量 N ⃗ 1 \vec{N}_1 N 1 和 N ⃗ 2 \vec{N}_2 N 2 。
I. 确定相邻面的法向量
我们考虑 TOH 上共享一条长棱 V λ V k V_{\lambda}V_{k} V λ V k 的两个相邻面 F 1 F_1 F 1 和 F 2 F_2 F 2 。
确定面 F 1 F_1 F 1 的顶点 :
λ = ( λ , 0 , 0 ) _{\lambda} = (\lambda, 0, 0)
λ = ( λ , 0 , 0 )
k 1 = ( k , k , k ) _{k1} = (k, k, k)
k 1 = ( k , k , k )
k 2 = ( k , − k , k ) _{k2} = (k, -k, k)
k 2 = ( k , − k , k )
确定面 F 2 F_2 F 2 的顶点 :
λ = ( λ , 0 , 0 ) _{\lambda} = (\lambda, 0, 0)
λ = ( λ , 0 , 0 )
k 1 = ( k , k , k ) _{k1} = (k, k, k)
k 1 = ( k , k , k )
k 3 = ( k , k , − k ) _{k3} = (k, k, -k)
k 3 = ( k , k , − k )
计算 F 1 F_1 F 1 上的两个向量 u ⃗ 1 \vec{u}_1 u 1 和 v ⃗ 1 \vec{v}_1 v 1 :
v e c u 1 = V λ V k 1 ⃗ = ( k − λ , k , k ) vec{u}_1 = \vec{V_{\lambda}V_{k1}} = (k-\lambda, k, k)
v ec u 1 = V λ V k 1 = ( k − λ , k , k )
v e c v 1 = V λ V k 2 ⃗ = ( k − λ , − k , k ) vec{v}_1 = \vec{V_{\lambda}V_{k2}} = (k-\lambda, -k, k)
v ec v 1 = V λ V k 2 = ( k − λ , − k , k )
计算 F 1 F_1 F 1 的法向量 N ⃗ 1 \vec{N}_1 N 1 :
v e c N 1 = u ⃗ 1 × v ⃗ 1 = ( ( k ) ( k ) − ( k ) ( − k ) , ( k ) ( k − λ ) − ( k ) ( k − λ ) , ( k − λ ) ( − k ) − ( k ) ( k − λ ) ) vec{N}_1 = \vec{u}_1 \times \vec{v}_1 = \left( (k)(k) - (k)(-k), \quad (k)(k-\lambda) - (k)(k-\lambda), \quad (k-\lambda)(-k) - (k)(k-\lambda) \right)
v ec N 1 = u 1 × v 1 = ( ( k ) ( k ) − ( k ) ( − k ) , ( k ) ( k − λ ) − ( k ) ( k − λ ) , ( k − λ ) ( − k ) − ( k ) ( k − λ ) )
v e c N 1 = ( k 2 − ( − k 2 ) , 0 , − k ( k − λ ) − k ( k − λ ) ) vec{N}_1 = \left( k^2 - (-k^2), \quad 0, \quad -k(k-\lambda) - k(k-\lambda) \right)
v ec N 1 = ( k 2 − ( − k 2 ) , 0 , − k ( k − λ ) − k ( k − λ ) )
m a t h b f N ⃗ 1 = ( 2 k 2 , 0 , − 2 k ( k − λ ) ) mathbf{\vec{N}_1 = (2k^2, \quad 0, \quad -2k(k-\lambda))}
ma t hb f N 1 = ( 2 k 2 , 0 , − 2 k ( k − λ ))
计算 F 2 F_2 F 2 的法向量 N ⃗ 2 \vec{N}_2 N 2 :
v e c u 2 = V λ V k 1 ⃗ = ( k − λ , k , k ) vec{u}_2 = \vec{V_{\lambda}V_{k1}} = (k-\lambda, k, k)
v ec u 2 = V λ V k 1 = ( k − λ , k , k )
v e c v 2 = V λ V k 3 ⃗ = ( k − λ , k , − k ) vec{v}_2 = \vec{V_{\lambda}V_{k3}} = (k-\lambda, k, -k)
v ec v 2 = V λ V k 3 = ( k − λ , k , − k )
v e c N 2 = u ⃗ 2 × v ⃗ 2 = ( ( k ) ( − k ) − ( k ) ( k ) , ( k ) ( k − λ ) − ( − k ) ( k − λ ) , ( k − λ ) ( k ) − ( k ) ( k − λ ) ) vec{N}_2 = \vec{u}_2 \times \vec{v}_2 = \left( (k)(-k) - (k)(k), \quad (k)(k-\lambda) - (-k)(k-\lambda), \quad (k-\lambda)(k) - (k)(k-\lambda) \right)
v ec N 2 = u 2 × v 2 = ( ( k ) ( − k ) − ( k ) ( k ) , ( k ) ( k − λ ) − ( − k ) ( k − λ ) , ( k − λ ) ( k ) − ( k ) ( k − λ ) )
v e c N 2 = ( − k 2 − k 2 , 2 k ( k − λ ) , 0 ) vec{N}_2 = \left( -k^2 - k^2, \quad 2k(k-\lambda), \quad 0 \right)
v ec N 2 = ( − k 2 − k 2 , 2 k ( k − λ ) , 0 )
m a t h b f N ⃗ 2 = ( − 2 k 2 , 2 k ( k − λ ) , 0 ) mathbf{\vec{N}_2 = (-2k^2, \quad 2k(k-\lambda), \quad 0)}
ma t hb f N 2 = ( − 2 k 2 , 2 k ( k − λ ) , 0 )
II. 二面角 δ \delta δ 的通用公式
二面角 δ \delta δ 是两个法向量夹角 α \alpha α 的补角,cos ( δ ) = − cos ( α ) \cos(\delta) = -\cos(\alpha) cos ( δ ) = − cos ( α ) 。
m a t h b f cos ( δ ) = − N ⃗ 1 ⋅ N ⃗ 2 ∣ ∣ N ⃗ 1 ∣ ∣ ⋅ ∣ ∣ N ⃗ 2 ∣ ∣ mathbf{\cos(\delta)} = - \frac{\vec{N}_1 \cdot \vec{N}_2}{||\vec{N}_1|| \cdot ||\vec{N}_2||}
ma t hb f cos ( δ ) = − ∣∣ N 1 ∣∣ ⋅ ∣∣ N 2 ∣∣ N 1 ⋅ N 2
计算法向量点积 N ⃗ 1 ⋅ N ⃗ 2 \vec{N}_1 \cdot \vec{N}_2 N 1 ⋅ N 2 :
v e c N 1 ⋅ N ⃗ 2 = ( 2 k 2 ) ( − 2 k 2 ) + ( 0 ) ( 2 k ( k − λ ) ) + ( − 2 k ( k − λ ) ) ( 0 ) vec{N}_1 \cdot \vec{N}_2 = (2k^2)(-2k^2) + (0)(2k(k-\lambda)) + (-2k(k-\lambda))(0)
v ec N 1 ⋅ N 2 = ( 2 k 2 ) ( − 2 k 2 ) + ( 0 ) ( 2 k ( k − λ )) + ( − 2 k ( k − λ )) ( 0 )
m a t h b f N ⃗ 1 ⋅ N ⃗ 2 = − 4 k 4 mathbf{\vec{N}_1 \cdot \vec{N}_2 = -4k^4}
ma t hb f N 1 ⋅ N 2 = − 4 k 4
计算法向量模长 ∣ ∣ N ⃗ 1 ∣ ∣ ||\vec{N}_1|| ∣∣ N 1 ∣∣ 和 ∣ ∣ N ⃗ 2 ∣ ∣ ||\vec{N}_2|| ∣∣ N 2 ∣∣ :
∣ N ⃗ 1 ∣ ∣ 2 = ( 2 k 2 ) 2 + 0 + ( − 2 k ( k − λ ) ) 2 |\vec{N}_1||^2 = (2k^2)^2 + 0 + (-2k(k-\lambda))^2
∣ N 1 ∣ ∣ 2 = ( 2 k 2 ) 2 + 0 + ( − 2 k ( k − λ ) ) 2
∣ N ⃗ 1 ∣ ∣ 2 = 4 k 4 + 4 k 2 ( k − λ ) 2 |\vec{N}_1||^2 = 4k^4 + 4k^2(k-\lambda)^2
∣ N 1 ∣ ∣ 2 = 4 k 4 + 4 k 2 ( k − λ ) 2
∣ N ⃗ 2 ∣ ∣ 2 = ( − 2 k 2 ) 2 + ( 2 k ( k − λ ) ) 2 + 0 |\vec{N}_2||^2 = (-2k^2)^2 + (2k(k-\lambda))^2 + 0
∣ N 2 ∣ ∣ 2 = ( − 2 k 2 ) 2 + ( 2 k ( k − λ ) ) 2 + 0
∣ N ⃗ 2 ∣ ∣ 2 = 4 k 4 + 4 k 2 ( k − λ ) 2 |\vec{N}_2||^2 = 4k^4 + 4k^2(k-\lambda)^2
∣ N 2 ∣ ∣ 2 = 4 k 4 + 4 k 2 ( k − λ ) 2
由于对称性, ∣ ∣ N ⃗ 1 ∣ ∣ = ∣ ∣ N ⃗ 2 ∣ ∣ = 4 k 4 + 4 k 2 ( k − λ ) 2 ||\vec{N}_1|| = ||\vec{N}_2|| = \sqrt{4k^4 + 4k^2(k-\lambda)^2} ∣∣ N 1 ∣∣ = ∣∣ N 2 ∣∣ = 4 k 4 + 4 k 2 ( k − λ ) 2 $
代入 cos ( δ ) \cos(\delta) cos ( δ ) 公式 :
c o s ( δ ) = − − 4 k 4 4 k 4 + 4 k 2 ( k − λ ) 2 cos(\delta) = - \frac{-4k^4}{4k^4 + 4k^2(k-\lambda)^2}
cos ( δ ) = − 4 k 4 + 4 k 2 ( k − λ ) 2 − 4 k 4
m a t h b f cos ( δ ) = k 2 k 2 + ( k − λ ) 2 mathbf{\cos(\delta) = \frac{k^2}{k^2 + (k-\lambda)^2}}
ma t hb f cos ( δ ) = k 2 + ( k − λ ) 2 k 2
4.4 面积与体积
4.4.1 单面面积 A f A_f A f
三角形面积 A f = 1 2 ⋅ s 1 ⋅ h A_f = \frac{1}{2} \cdot s_1 \cdot h A f = 2 1 ⋅ s 1 ⋅ h ,其中 h h h 是高。
h 2 = s 2 2 − ( s 1 2 ) 2 h^2 = s_2^2 - \left(\frac{s_1}{2}\right)^2
h 2 = s 2 2 − ( 2 s 1 ) 2
A f = 1 2 s 1 s 2 2 − s 1 2 4 A_f = \frac{1}{2} s_1 \sqrt{s_2^2 - \frac{s_1^2}{4}}
A f = 2 1 s 1 s 2 2 − 4 s 1 2
A f = 1 4 s 1 4 s 2 2 − s 1 2 A_f = \frac{1}{4} s_1 \sqrt{4s_2^2 - s_1^2}
A f = 4 1 s 1 4 s 2 2 − s 1 2
将 s 1 = 2 k s_1=2k s 1 = 2 k 和 s 2 2 = 3 k 2 − 2 λ k + λ 2 s_2^2=3k^2-2\lambda k+\lambda^2 s 2 2 = 3 k 2 − 2 λk + λ 2 代入:
A f = k 8 k 2 − 8 λ k + 4 λ 2 \mathbf{A_f = k \sqrt{8k^2 - 8\lambda k + 4\lambda^2}}
A f = k 8 k 2 − 8 λ k + 4 λ 2
4.4.2 总表面积 A A A
总表面积 A A A 是 24 个全等等腰三角形的面积总和,最终的总表面积公式为:
A = 24 k 8 k 2 − 8 λ k + 4 λ 2 \mathbf{A = 24k \sqrt{8k^2 - 8\lambda k + 4\lambda^2}}
A = 24k 8 k 2 − 8 λ k + 4 λ 2
4.4.3 体积 V V V
体积 V V V 可以视为由原始八面体体积 V o c t V_{oct} V oc t 加上 8 个金字塔帽体积 V c a p V_{cap} V c a p 构成。
V = V o c t + 8 ⋅ V c a p V = V_{oct} + 8 \cdot V_{cap}
V = V oc t + 8 ⋅ V c a p
V = 4 3 λ 3 + 8 ⋅ V c a p V = \frac{4}{3}\lambda^3 + 8 \cdot V_{cap}
V = 3 4 λ 3 + 8 ⋅ V c a p
进一步推导可以采取两种办法:
4.4.3.1 金字塔体积法
由于 V c a p V_{cap} V c a p 的高度 h c a p h_{cap} h c a p 复杂,总体积 V V V 是 24 个全等金字塔(四面体)的体积总和,更简洁的几何约束关系是:
V = 24 ⋅ V p y r a m i d V = 24 \cdot V_{pyramid}
V = 24 ⋅ V p yr ami d
其中 V p y r a m i d V_{pyramid} V p yr ami d 是一个以原点为顶点,以 A f A_f A f 为底的棱锥体积 1 3 A f ⋅ R i n s c r i b e d \frac{1}{3} A_f \cdot R_{inscribed} 3 1 A f ⋅ R in scr ib e d ,其中 R i n s c r i b e d R_{inscribed} R in scr ib e d 是内切圆半径(原点到面的垂直距离)。
V = 24 × V pyramid = 24 × 1 3 A f ⋅ R inscribed V = 24 \times V_{\text{pyramid}} = 24 \times \frac{1}{3} A_f \cdot R_{\text{inscribed}}
V = 24 × V pyramid = 24 × 3 1 A f ⋅ R inscribed
V = 8 ⋅ A f ⋅ R inscribed \mathbf{V = 8 \cdot A_f \cdot R_{\text{inscribed}}}
V = 8 ⋅ A f ⋅ R inscribed
R inscribed R_{\text{inscribed}} R inscribed 是原点 ( 0 , 0 , 0 ) (0, 0, 0) ( 0 , 0 , 0 ) 到面平面 A x + B y + C z − D plane = 0 Ax + By + Cz - D_{\text{plane}} = 0 A x + B y + C z − D plane = 0 的垂直距离。
使用我们4.5节推导出的第一象限简化面平面方程:
k x + ( λ − k ) z = k λ \mathbf{kx + (\lambda - k)z = k\lambda}
kx + ( λ − k ) z = k λ
对应于标准形式的系数:
A = k , B = 0 , C = λ − k , D plane = k λ A = k, \quad B = 0, \quad C = \lambda - k, \quad D_{\text{plane}} = k\lambda
A = k , B = 0 , C = λ − k , D plane = kλ
将原点 ( 0 , 0 , 0 ) (0, 0, 0) ( 0 , 0 , 0 ) 代入距离公式:
R inscribed = ∣ A ( 0 ) + B ( 0 ) + C ( 0 ) − k λ ∣ A 2 + B 2 + C 2 R_{\text{inscribed}} = \frac{|A(0) + B(0) + C(0) - k\lambda|}{\sqrt{A^2 + B^2 + C^2}}
R inscribed = A 2 + B 2 + C 2 ∣ A ( 0 ) + B ( 0 ) + C ( 0 ) − kλ ∣
R inscribed = ∣ − k λ ∣ k 2 + 0 2 + ( λ − k ) 2 R_{\text{inscribed}} = \frac{|-k\lambda|}{\sqrt{k^2 + 0^2 + (\lambda - k)^2}}
R inscribed = k 2 + 0 2 + ( λ − k ) 2 ∣ − kλ ∣
R inscribed = k λ 2 k 2 − 2 λ k + λ 2 \mathbf{R_{\text{inscribed}} = \frac{k\lambda}{\sqrt{2k^2 - 2\lambda k + \lambda^2}}}
R inscribed = 2 k 2 − 2 λ k + λ 2 k λ
单面面积 A f A_f A f 的公式:
A f = k 2 k 2 − 2 λ k + λ 2 \mathbf{A_f = k \sqrt{2k^2 - 2\lambda k + \lambda^2}}
A f = k 2 k 2 − 2 λ k + λ 2
将 A f A_f A f 和 R inscribed R_{\text{inscribed}} R inscribed 代入 V = 8 ⋅ A f ⋅ R inscribed V = 8 \cdot A_f \cdot R_{\text{inscribed}} V = 8 ⋅ A f ⋅ R inscribed :
V = 8 ⋅ ( k 2 k 2 − 2 λ k + λ 2 ) ⋅ ( k λ 2 k 2 − 2 λ k + λ 2 ) V = 8 \cdot \left( k \sqrt{2k^2 - 2\lambda k + \lambda^2} \right) \cdot \left( \frac{k\lambda}{\sqrt{2k^2 - 2\lambda k + \lambda^2}} \right)
V = 8 ⋅ ( k 2 k 2 − 2 λk + λ 2 ) ⋅ ( 2 k 2 − 2 λk + λ 2 kλ )
由于分子和分母上的平方根项完全相同,可以抵消:
V = 8 ⋅ k ⋅ k λ V = 8 \cdot k \cdot k\lambda
V = 8 ⋅ k ⋅ kλ
V = 8 ⋅ λ k 2 \mathbf{V = 8 \cdot \lambda k^2}
V = 8 ⋅ λ k 2
4.4.3.2 标量三重积法
或者采取另一种推导方式:三角化八面体(TOH)是一种中心对称多面体,它有 24 个面。因此,可以将整个 TOH 的体积 V V V 分解为 24 个全等四面体(金字塔)的体积总和,每个四面体的顶点都是原点 O = ( 0 , 0 , 0 ) O=(0, 0, 0) O = ( 0 , 0 , 0 ) 。
V = 24 × V tetrahedron V = 24 \times V_{\text{tetrahedron}}
V = 24 × V tetrahedron
第 1 步:确定四面体的顶点
我们选取一个位于第一象限的代表性三角形面 F F F 。这个面与原点 O O O 共同构成一个四面体 T T T 。该四面体 T T T 的四个顶点为:
顶点 1 (原点): O = ( 0 , 0 , 0 ) O = (0, 0, 0) O = ( 0 , 0 , 0 )
顶点 2 (八面体顶点): V λ = ( λ , 0 , 0 ) V_{\lambda} = (\lambda, 0, 0) V λ = ( λ , 0 , 0 )
顶点 3 (新增顶点 1): V k 1 = ( k , k , k ) V_{k1} = (k, k, k) V k 1 = ( k , k , k )
顶点 4 (新增顶点 2): V k 2 = ( k , − k , k ) V_{k2} = (k, -k, k) V k 2 = ( k , − k , k )
我们取三个顶点向量作为 v 1 , v 2 , v 3 \mathbf{v}_1, \mathbf{v}_2, \mathbf{v}_3 v 1 , v 2 , v 3 :
v 1 = V λ = ( λ , 0 , 0 ) \mathbf{v}_1 = V_{\lambda} = (\lambda, 0, 0)
v 1 = V λ = ( λ , 0 , 0 )
v 2 = V k 1 = ( k , k , k ) \mathbf{v}_2 = V_{k1} = (k, k, k)
v 2 = V k 1 = ( k , k , k )
v 3 = V k 2 = ( k , − k , k ) \mathbf{v}_3 = V_{k2} = (k, -k, k)
v 3 = V k 2 = ( k , − k , k )
第 2 步:计算向量叉积 v 2 × v 3 \mathbf{v}_2 \times \mathbf{v}_3 v 2 × v 3
v 2 × v 3 = ∣ i j k k k k k − k k ∣ \mathbf{v}_2 \times \mathbf{v}_3 = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\ k & k & k \\ k & -k & k \end{vmatrix}
v 2 × v 3 = i k k j k − k k k k
v 2 × v 3 = i ( k 2 − ( − k 2 ) ) − j ( k 2 − k 2 ) + k ( − k 2 − k 2 ) \mathbf{v}_2 \times \mathbf{v}_3 = \mathbf{i}(k^2 - (-k^2)) - \mathbf{j}(k^2 - k^2) + \mathbf{k}(-k^2 - k^2)
v 2 × v 3 = i ( k 2 − ( − k 2 )) − j ( k 2 − k 2 ) + k ( − k 2 − k 2 )
v 2 × v 3 = ( 2 k 2 , 0 , − 2 k 2 ) \mathbf{v}_2 \times \mathbf{v}_3 = (2k^2, \quad 0, \quad -2k^2)
v 2 × v 3 = ( 2 k 2 , 0 , − 2 k 2 )
第 3 步:计算标量三重积 v 1 ⋅ ( v 2 × v 3 ) \mathbf{v}_1 \cdot (\mathbf{v}_2 \times \mathbf{v}_3) v 1 ⋅ ( v 2 × v 3 )
四面体体积公式中的标量三重积 v 1 ⋅ ( v 2 × v 3 ) \mathbf{v}_1 \cdot (\mathbf{v}_2 \times \mathbf{v}_3) v 1 ⋅ ( v 2 × v 3 ) :
v 1 ⋅ ( v 2 × v 3 ) = ( λ ) ( 2 k 2 ) + ( 0 ) ( 0 ) + ( 0 ) ( − 2 k 2 ) \mathbf{v}_1 \cdot (\mathbf{v}_2 \times \mathbf{v}_3) = (\lambda)(2k^2) + (0)(0) + (0)(-2k^2)
v 1 ⋅ ( v 2 × v 3 ) = ( λ ) ( 2 k 2 ) + ( 0 ) ( 0 ) + ( 0 ) ( − 2 k 2 )
v 1 ⋅ ( v 2 × v 3 ) = 2 λ k 2 \mathbf{v}_1 \cdot (\mathbf{v}_2 \times \mathbf{v}_3) = 2\lambda k^2
v 1 ⋅ ( v 2 × v 3 ) = 2 λ k 2
第 4 步:计算单个四面体体积 V tetrahedron V_{\text{tetrahedron}} V tetrahedron
四面体体积公式为 V tetrahedron = 1 6 ∣ 标量三重积 ∣ V_{\text{tetrahedron}} = \frac{1}{6} | \text{标量三重积} | V tetrahedron = 6 1 ∣ 标量三重积 ∣ :
V tetrahedron = 1 6 ∣ 2 λ k 2 ∣ V_{\text{tetrahedron}} = \frac{1}{6} | 2\lambda k^2 |
V tetrahedron = 6 1 ∣2 λ k 2 ∣
由于 λ \lambda λ 和 k k k 都是正数:
V tetrahedron = 1 3 λ k 2 V_{\text{tetrahedron}} = \frac{1}{3} \lambda k^2
V tetrahedron = 3 1 λ k 2
最终结果:TOH 总体积 V V V
总体积 V V V 是 24 个全等四面体体积的总和:
V = 24 × V tetrahedron = 24 × 1 3 λ k 2 V = 24 \times V_{\text{tetrahedron}} = 24 \times \frac{1}{3} \lambda k^2
V = 24 × V tetrahedron = 24 × 3 1 λ k 2
V = 8 ⋅ λ k 2 \mathbf{V = 8 \cdot \lambda k^2}
V = 8 ⋅ λ k 2
4.5 面平面方程的精确代数表示
对于参数化三角化八面体(TOH),面平面方程 A x + B y + C z = D \mathbf{Ax + By + Cz = D} Ax + By + Cz = D 的系数 A , B , C , D A, B, C, D A , B , C , D 必须是 λ \lambda λ 和 k k k 的函数。
I. 确定单个面
我们选取一个位于第一象限的三角形面 F F F 进行推导,该面由以下三个顶点构成:
八面体顶点:V λ = ( λ , 0 , 0 ) V_{\lambda} = (\lambda, 0, 0)
V λ = ( λ , 0 , 0 )
新增顶点 1:V k 1 = ( k , k , k ) V_{k1} = (k, k, k)
V k 1 = ( k , k , k )
新增顶点 2:V k 2 = ( k , − k , k ) V_{k2} = (k, -k, k)
V k 2 = ( k , − k , k )
II. 法向量 ( A , B , C ) (A, B, C) ( A , B , C ) 的计算
法向量 N ⃗ = ( A , B , C ) \vec{N} = (A, B, C) N = ( A , B , C ) 垂直于平面 F F F ,由该平面上的两个向量 u ⃗ \vec{u} u 和 v ⃗ \vec{v} v 的叉积给出:
u ⃗ = V λ V k 1 ⃗ = ( k − λ , k , k ) \vec{u} = \vec{V_{\lambda}V_{k1}} = (k-\lambda, k, k)
u = V λ V k 1 = ( k − λ , k , k )
v ⃗ = V λ V k 2 ⃗ = ( k − λ , − k , k ) \vec{v} = \vec{V_{\lambda}V_{k2}} = (k-\lambda, -k, k)
v = V λ V k 2 = ( k − λ , − k , k )
法向量 N ⃗ \vec{N} N 的分量 A , B , C A, B, C A , B , C 是 u ⃗ × v ⃗ \vec{u} \times \vec{v} u × v 的结果。我们在推导二面角时已经计算过:
N ⃗ = u ⃗ × v ⃗ = ( 2 k 2 , 0 , − 2 k ( k − λ ) ) \vec{N} = \vec{u} \times \vec{v} = \left( 2k^2, \quad 0, \quad -2k(k-\lambda) \right)
N = u × v = ( 2 k 2 , 0 , − 2 k ( k − λ ) )
为了简化,我们可以除以公因式 2 k 2k 2 k (因为 k k k 必须大于 0),得到一个简化的法向量 N ⃗ ′ \vec{N}' N ′ :
N ⃗ ′ = ( k , 0 , − ( k − λ ) ) \vec{N}' = \left( k, \quad 0, \quad -(k-\lambda) \right)
N ′ = ( k , 0 , − ( k − λ ) )
因此,平面方程的系数为:
A = k \mathbf{A = k}
A = k
B = 0 \mathbf{B = 0}
B = 0
C = λ − k \mathbf{C = \lambda - k}
C = λ − k
III. 平面常数 D D D 的计算
平面常数 D D D 可以通过将平面上的任意一个顶点坐标代入方程 A x + B y + C z = D Ax + By + Cz = D A x + B y + C z = D 来求得。我们代入八面体顶点 V λ = ( λ , 0 , 0 ) V_{\lambda} = (\lambda, 0, 0) V λ = ( λ , 0 , 0 ) :
D = A ( λ ) + B ( 0 ) + C ( 0 ) D = A(\lambda) + B(0) + C(0)
D = A ( λ ) + B ( 0 ) + C ( 0 )
D = ( k ) ( λ ) + 0 + 0 D = (k)(\lambda) + 0 + 0
D = ( k ) ( λ ) + 0 + 0
D = k λ \mathbf{D = k\lambda}
D = k λ
IV. 最终面平面方程(第一象限 x z xz x z 平面上的面)
将 A , B , C , D A, B, C, D A , B , C , D 代入 A x + B y + C z = D Ax + By + Cz = D A x + B y + C z = D ,我们得到第一象限的简化平面方程:
k x + ( λ − k ) z = k λ \mathbf{kx + (\lambda - k)z = k\lambda}
kx + ( λ − k ) z = k λ
5 三角化八面体模型的可变调整
5.1 变量控制与数学映射
该模型通过调整表面三角形的顶角 θ \theta θ (默认设置为 90 ∘ 90^\circ 9 0 ∘ ),固定 s = 2 \mathbf{s=\sqrt{2}} s = 2 (即 λ = 1 \lambda=1 λ = 1 ),实现了对关键几何参数 s 2 s_2 s 2 (长棱)和 k k k (顶点位置)的连续控制。
5.1.1 s 2 s_2 s 2 (长棱)的计算:
为了实现模型的可变性 ,长棱 s 2 s_2 s 2 必须通过等腰三角形的顶角 θ \theta θ 来控制。根据余弦定理,腰长 s 2 s_2 s 2 、底边 s s s 和顶角 θ \theta θ 之间满足关系 s 2 = 2 s 2 2 ( 1 − cos θ ) s^2 = 2s_2^2 (1 - \cos\theta) s 2 = 2 s 2 2 ( 1 − cos θ ) 。由于原始八面体的棱长 s s s 与 λ \lambda λ 的关系为 s = λ 2 \mathbf{s = \lambda\sqrt{2}} s = λ 2 ,因此 s 2 s_2 s 2 对 θ \theta θ 的依赖关系可以表示为:
s 2 = λ 2 2 ( 1 − cos θ ) \mathbf{s_{2} = \frac{\lambda\sqrt{2}}{\sqrt{2(1 - \cos\theta)}}}
s 2 = 2 ( 1 − cos θ ) λ 2
5.1.2 顶点参数 ( k ) (\boldsymbol{k}) ( k ) 的计算:
最后,通过对长棱 s 2 2 s_2^2 s 2 2 的约束公式进行代数反解,可以得到参数 k k k 对 λ \lambda λ 和 s 2 s_2 s 2 的依赖关系。此公式是实现模型可变调整的核心计算公式:
k = λ + 3 s 2 2 − 2 λ 2 3 = 1 + 3 s 2 2 − 2 3 \mathbf{k = \frac{\lambda + \sqrt{3s_2^2 - 2\lambda^2}}{3}} = \frac{1 + \sqrt{3s_2^2 - 2}}{3}
k = 3 λ + 3 s 2 2 − 2 λ 2 = 3 1 + 3 s 2 2 − 2
5.2 模型形态与尖锐度的量化控制
这种参数化设计使得 Au-TOH NPs 成为研究纳米光学中几何尖锐度 对等离激元效应影响的理想系统。
θ \theta θ 增大 (θ > 90 ∘ \theta > 90^\circ θ > 9 0 ∘ ): k k k 减小,模型更平坦(降低凸起),探索 LSPR 模式的稳定性。
θ \theta θ 减小 (θ < 90 ∘ \theta < 90^\circ θ < 9 0 ∘ ): k k k 增大,模型更尖锐(增加凸起),增强尖端效应,最大化热点区域的电场强度。
6 模型构建与 FDTD 仿真实施
6.1 高精度几何模型构建(Blender Python 脚本)
建模过程在 Blender 的 Python API 环境中执行,旨在确保模型满足 FDTD 仿真对几何精度的严苛要求。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 import bpyimport numpy as npimport bmeshimport mathfrom mathutils import Vectordef setup_scene_and_clear (): if bpy.context.mode == 'EDIT' : bpy.ops.object .mode_set(mode='OBJECT' ) bpy.ops.object .select_all(action='SELECT' ) bpy.ops.object .delete(use_global=False ) scene_units = bpy.context.scene.unit_settings scene_units.length_unit = 'MICROMETERS' scene_units.scale_length = 0.001 print ("场景已清理。单位已设置为 1 BU = 1 nm 约定。" ) NAME = "Gold_Triakis_Octahedron_Scaled" R_TRI_OCT = 37.5 SCALE_FACTOR = 1.0 / 1000.0 TARGET_DIAMETER_BLENDER_UNITS = 2 * R_TRI_OCT * SCALE_FACTOR ORIGINAL_DIAMETER = 2.0 THETA_DEGREES = 90.0 def calculate_geometry (target_diameter, theta_degrees ): scale_factor = target_diameter / ORIGINAL_DIAMETER theta = math.radians(theta_degrees) s = math.sqrt(2 ) a = s / math.sqrt(2 * (1 - math.cos(theta))) discriminant = 3 * a ** 2 - 2 k = (1 + math.sqrt(discriminant)) / 3 original_vertices_unscaled = np.array([ [1 , 0 , 0 ], [-1 , 0 , 0 ], [0 , 1 , 0 ], [0 , -1 , 0 ], [0 , 0 , 1 ], [0 , 0 , -1 ] ]) signs = np.array([(x, y, z) for x in (-1 , 1 ) for y in (-1 , 1 ) for z in (-1 , 1 )]) new_vertices_unscaled = k * signs vertices_np = np.vstack([original_vertices_unscaled, new_vertices_unscaled]) * scale_factor vertices = [tuple (v) for v in vertices_np.tolist()] face_coord_list = [] for vertex_unscaled in new_vertices_unscaled: sign = np.sign(vertex_unscaled) v_k = tuple (vertex_unscaled * scale_factor) v_x = tuple (np.array([sign[0 ], 0 , 0 ]) * scale_factor) v_y = tuple (np.array([0 , sign[1 ], 0 ]) * scale_factor) v_z = tuple (np.array([0 , 0 , sign[2 ]]) * scale_factor) face_coord_list.extend([(v_k, v_x, v_y), (v_k, v_x, v_z), (v_k, v_y, v_z)]) return vertices, face_coord_list def create_triakis_octahedron_mesh (name, vertices, face_coord_list ): """使用 BMesh 创建网格,并强制统一法线,以确保 FDTD 兼容性。""" mesh_data = bpy.data.meshes.new(name + "_Mesh" ) bm = bmesh.new() vert_map = {} ROUND_PRECISION = 7 for coord in vertices: rounded_coord = tuple (round (c, ROUND_PRECISION) for c in coord) v = bm.verts.new(rounded_coord) vert_map[rounded_coord] = v bm.verts.ensure_lookup_table() for f_coords in face_coord_list: try : rounded_coords = [tuple (round (c, ROUND_PRECISION) for c in coord) for coord in f_coords] verts_to_use = [vert_map[coord] for coord in rounded_coords] bm.faces.new(verts_to_use) except : pass bmesh.ops.recalc_face_normals(bm, faces=bm.faces) bm.to_mesh(mesh_data) bm.free() obj = bpy.data.objects.new(name, mesh_data) bpy.context.collection.objects.link(obj) bpy.context.view_layer.objects.active = obj bpy.ops.object .select_all(action='DESELECT' ) obj.select_set(True ) bpy.ops.object .shade_smooth() for area in bpy.context.screen.areas: if area.type == 'VIEW_3D' : for space in area.spaces: if space.type == 'VIEW_3D' : space.clip_start = 1e-5 try : override = {'area' : area, 'region' : [r for r in area.regions if r.type == 'WINDOW' ][0 ]} bpy.ops.view3d.view_selected(override, align_active=False ) except : pass break bpy.context.view_layer.update() print (f"\n模型 {name} 已创建并修复法线。" ) print (f"Blender 尺寸显示: {obj.dimensions.x:.3 f} μm (即 {TARGET_DIAMETER_BLENDER_UNITS:.3 f} 个 Blender Unit)" ) return obj if __name__ == "__main__" : setup_scene_and_clear() V, F_coords = calculate_geometry(TARGET_DIAMETER_BLENDER_UNITS, THETA_DEGREES) if V and F_coords: final_object = create_triakis_octahedron_mesh(NAME, V, F_coords) print ("✅ 金24面体网格创建完毕。" ) print ("模型直径为 75 nm,并已按 FDTD 要求缩小 1000 倍。" ) print ("最终 FDTD 导入尺寸:0.075 nm。" ) print ("【FDTD 导出约定】请在 FDTD 软件中将 ‘1 个单位’ 视为 ‘1 纳米’。" )
以下是建模效果:
A. 纳米尺度单位约定与缩放
Blender 单位设置: 设置 Blender 场景单位为 MICROMETERS,长度比例因子为 0.001 \mathbf{0.001} 0.001 。1 BU = 0.001 μm = 1 nm \mathbf{1 \text{ BU} = 0.001 \text{ μm}} = 1 \text{ nm}
1 BU = 0.001 μm = 1 nm
几何缩放: 目标直径 D = 75 nm D = \mathbf{75 \text{ nm}} D = 75 nm 。Python 脚本计算缩放因子,将原始直径为 2.0 BU 2.0 \text{ BU} 2.0 BU 的模型缩放至 0.075 BU \mathbf{0.075 \text{ BU}} 0.075 BU ,精确对应 75 nm 75 \text{ nm} 75 nm 的物理尺寸。
B. 网格创建、法线修复与精度保证
在将模型导出为 STL 文件之前,脚本执行了以下关键的拓扑修复步骤,以确保 FDTD 软件能正确识别模型边界:
高精度舍入: 在创建和映射顶点时,采用高精度(例如 7 位小数)的四舍五入,消除浮点数误差,确保网格顶点闭合。
法线修复(FDTD 兼容性关键): 执行 bmesh.ops.recalc_face_normals 操作,强制统一所有面的法线方向(全部指向外部),这确保了网格的拓扑封闭性,是 FDTD 软件将其识别为一个实心(Solid)几何体。
6.2 FDTD 仿真参数与初步结果
将模型导入 FDTD Solutions 软件后的仿真设置,这里参考论文 进行设置。
A. 仿真参数设置
参数类型
参数设置
物理意义/目标
模型
单个75 nm \mathbf{75 \text{ nm}} 75 nm 金 Trisoctahedron
研究单个纳米颗粒的 LSPR 响应
材料
金(Au-Johnson and Christy )
采用权威文献中的实验介电常数数据
环境
背景折射率n = 1.33 n=1.33 n = 1.33
模拟水或生物介质环境
激发光源
λ = 785 nm , \lambda = 785 \text{ nm}, λ = 785 nm , − z -z − z 方向传输的平面波,偏振沿 x x x
模拟 SERS 实验常用的近红外激发光
边界条件
x , y x, y x , y 周期性边界(Periodic);z z z 完美匹配层 (PML)
模拟无限阵列 (周期性) 和吸收边界 (PML)
网格精度
x , y x, y x , y 方向 0.1 nm 0.1 \text{ nm} 0.1 nm ;z z z 方向 1 nm 1 \text{ nm} 1 nm
高精度网格用于精确捕捉尖端附近的电场梯度
B. 初步仿真结果与分析
文章中电场强度计算结果(中心剖面 x O y xOy x O y 视图)表明:
显著增强: 金 Trisoctahedron 尖端附近产生了显著的局部电场增强 (热点效应)。
强度: 归一化电场强度最高可达 ≈ 8 \approx \mathbf{8} ≈ 8 。
物理机制: 增强归因于尖端效应 。在几何尖锐的顶点处,电荷高度聚集,产生集中在尖端的强电场。
文件资料
协力帮助
参考文献