3.1 优化一个吸波结构
Posted Bill_H
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3.1 优化一个吸波结构相关的知识,希望对你有一定的参考价值。
我们使用JSOP对一个吸波结构进行优化,吸波结构如下图所示。
将吸波结构的文件absorber.cst放入文件夹JSOP/interface/中,打开usr.m,设置如下
%仿真设置
model_name=\'absorber.cst\'; %CST模型名称
result_route=\'1D Results\\S-Parameters\'; %仿真结果在Navigation Tree中的路径
result_name=\'S1,1\'; %仿真结果的名称(参见rtdata.txt)
plot_type=\'magnitudedb\'; %仿真结果的模式,包括\'magnitude\',\'magnitudedb\', \'phase\', \'polar\', \'real\', \'imaginary\', \'smith\', \'smithy\'
solver_type=\'Solver\'; %频域求解器:FDSolver 时域求解器:Solver
start_cst=true; %是否调用CST
%变量设置
var_name={\'da1\',\'da2\',\'wa1\',\'wa2\',\'ra1\',\'ra2\'}; %变量名称
var_bound=[[10,29];[10,29];[0.5,1.5];[0.5,1.5];[100,1000];[100,1000]]; %变量变化范围 [ [变量1的下界,变量1的上界] ; [变量2的下界,变量2的上界] ; ...]
inserts=[ ]; %插入指定个体
var_constrain=\'da1-2*wa1>da2\'; %变量的限制条件,若无限制请输入\'\'
%种群设置
MAXGEN=100; %最大代数
NIND=20; %一代中个体的数量
PRECI=10; %单个变量的二进制位数
MTR=2; %变异率(默认值的倍数)
%其它设置
plot_graph=2; %0:不绘制进化曲线 1:每进化一代就更新进化曲线 2:完成最后一代后再绘制进化曲线
plot_ave=false; %是否显示种群平均值
%----------------------------------------------------------------------------------------
main_function( model_name, result_route, plot_type, solver_type, ...
var_name, var_bound\', inserts, var_constrain, ...
MAXGEN, NIND, PRECI, MTR, ...
plot_graph, plot_ave, start_cst);
%JSOP1.3
model_name是CST模型的名称。
result_route是仿真结果在CST导航树中的路径,result_name是仿真结果的名称,可以从CST的Navigation Tree中看到,如下图所示
plot_type是仿真结果的输出模式,CST提供了仿真结果的多个模式,如下图所示。此处采用幅值的对数形式。
solver_type可设置求解器为频域求解器或时域求解器。
var_name是CST模型中待优化的变量的名称。(本例中da1, da2, wa1, wa2, ra1, ra2分别指代图中的d1, d2, w1, w2, R01, R02)
var_bound是一个矩阵,每一行表示一个变量的变化范围,其中第一列为下界,第二列为上界,变量的顺序与var_name中的变量名的顺序一致。
遗传算法生成初代种群的方式基本是随机生成,在JSOP中,用户可以将一些参数确定的个体添加到初代当中,这些个体存放在矩阵inserts当中。inserts的每一行表示一个参数确定的个体,在本例中inserts是一个1行6列的矩阵,表示添加一个参数为da1=25, da2=20, wa1=1, wa2=1, ra1=500, ra2=500的个体到初代种群中。在初代中添加一些优良的个体将有助于种群的进化。
参数之间往往需要满足一些约束关系,这种约束关系可以写在变量var_constrain当中。在本例中,为了保证外方环的尺寸大于内方环,我们将设置约束条件\'da1-2*wa1>da2\',如果有其它约束条件,可以用逻辑运算符 && 或者 || 扩展。
以上是关于3.1 优化一个吸波结构的主要内容,如果未能解决你的问题,请参考以下文章
优化 C# 代码片段、ObservableCollection 和 AddRange