CST 热-光调制器仿真实例(2)- 温控材料,时域多物理耦合
本案例是简化的一段光频传输线,核心材料硅的介电常数随温度而变化,通过改变其温度,比如用外界的线圈或热电阻控制,随时改变其介电常数,从而使S21在工作频率的相位发生改变,达到相位调制的目的。
这里我们让热源功率在时域的波形为方形,方便演示。开1微秒,再关2微秒:
硅材料的温度变化曲线为线性,温度越高,介电越高:
这样可以预计其S21在工作频率的相位波形大致如图:
下面我们来看如何进行这种温控的时域仿真。
想法是这样,比如3微秒中,我们采样51个,这样每个时间点间隔0.0588微秒,在每个时间点,我们计算一下该时刻的材料温度,然后电磁仿真中,用该温度下的介电常数,算出相位,重复51次。所以这里难点有几个:
1)如何设置时域热仿真Tht,使每个时间点的起始温度,自动设置为上一个时间点计算的结束温度。
2)如何设置电磁仿真,读取每个时间点热仿真计算出来的温度,用于新的S21计算,尤其是第一个时间点。
3) 如何将每个时间点的S21相位结果保存,串联成最终的时域结果曲线;还要将每个时间点的温度结果保存,串联成温度变化曲线。
这样和以往的电磁和热耦合仿真不同,以往常见的电磁与多物理耦合方法是先计算电磁损耗,然后将其作为热源看温度升高,而本案例是先计算温度,然后使其控制电磁仿真。
模型很简单,硅和二氧化硅,其中硅是温度变化材料。
生成两个子项目,用sequence任务将热和电磁两个任务loop起来:
先看热仿真:
热仿真中定义时域信号,热源,温度点监视器,和时域温度场:
温度点监视器是为了获取温度曲线,我们就拿中心点。时域温度场则需要对应我们的时间采样点,这个是给电磁仿真中温变材料要用的温度场。
Tht求解器中,仿真时间为一个时间采样。TMax是3微秒,NTimeSteps是51。这里一定要选中store result data in cache保存数据,并且Start temperature中,设置起始温度要读取上一个时间点数据。该方法只适用于sequence任务。
这里手动仿真第一个时间点,方便我们定义后处理和设置电磁仿真。添加一个后处理,提取点监视器的温度(比如传输线中心)。
由于每个时间点该结构都会被覆盖,所以在sequence任务中,我们需要后处理,就是上面截图中的record results。这个后处理叫0D数据写成1D数据,正适合我们这种每个时间点串联结果用。
再看电磁仿真:
将温度场作为场源导入。
然后高级的操作来了,用计算器计算:
AddToHistory("Set Special Thermal Material Property","Solver.ConsiderThermal Material(""always"")")
这样可以将其添加到历史树,其作用是从第一个时间点开始,我们就让电磁仿真使用温度场。
仿第一个时间点后,需要后处理将S21相位unwrap,然后提取工作频率的相位:
最后,sequence任务中,串联每个时间点的相位:
最后启动sequence仿真
结束之后,获得两条曲线,一个是监视点的温度随时间变化,另一个是S21相位随时间变化。
小结
本案例是很经典的温控材料电磁仿真案例,不限于光频,流程主要在于以下几个高级用法:
1. 如何设置时域热仿真THt,使每个时间点的起始温度,自动设置为上一个时间点计算的结束温度。
2. 如何设置电磁仿真,随时读取每个时间点热仿真计算出来的温度。
3. 如何将每个时间点的S21相位结果保存,串联成最终的时域结果曲线;还有将每个时间点的温度结果保存,串联成温度变化曲线。
本案例也展示了两个绝大多数CST用户都会忽略的两个功能,一个是sequence任务的作用,本案例必须用sequence任务;另一个是CST自带计算器,可以用来运行简单的VBA。