首页/文章/ 详情

Isight教程系列1|Isight集成MATLAB联合优化仿真

2年前浏览4390


目录

1.问题描述

2.Isight集成MATLAB的联合仿真流程

3.制作模板文件导入变量

4.集成含有MATLAB子程序的方法 

1.问题描述

a.展示Isight集成MATLAB进行联合仿真的方法;
b.如何制作变量模板文件;
c.如何集成MATLAB子程序。


图1 Isight集成MATLAB框架图

2. Isight集成MATLAB联合仿真流程

为了更好的阐述这一过程,我们针对如下具有极小值问题,来进行联合仿真流程的介绍。
问题:
其理论解为:

针对上述问题,在MATLAB里我们编写了求解文件test.m,内容如下:
% max volume
R = 10;
pi = 3.14159;
Perimeter = R*theta;
r = R*theta/(2*pi);
Height= sqrt(R^2-r^2);
Volume = 1/3*Height*r^2*pi;

首先搭建联合仿真框架,将优化模块和MATLAB模块拖拽到集成路线中,如图2所示。
图2集成流程框图

打开MATLAB模块,建立Isight和MATLAB变量传递关系。
1.建立输入变量:在Contents下首先切换到InputMappings,然后新建一个变量theta,并为其设置初始值,最后建立映射关系,如图3所示。
图3建立输入变量

2.建立输出变量:在Contents下首先切换到OutputputMappings,然后新建一个变量Volume,最后建立映射关系,如图4所示。
图4建立输出变量
3.建立MATLAB命令:在Contents下首先切换到Commands,然后点击Open,打开.m文件,导入MATLAB文件,如图5所示。
图5导入MATLAB文件
4.设置MATLAB路径:进入Options菜单栏,在Matlab Command处设置启动MATLAB的可执行文件。具体路径:Matlab安装路径\bin\matalb.exe
图6配置MATLAB启动执行程序位置
5.Optimaztion模块优化设置
7 优化模块设置
图8为优化迭代过程图,其最优值为5.1302,而理论值通过公式可计算出为5.1302,这说明通过优化算法获得的解和理论解是一样的。
图8优化流程

3.制作模板文件导入变量

在第2节中,变量是手动建立的,这对设置多个变量不太友好,在Isight中能否批量产生变量呢?当然可以,我们可通过制作变量的模板文件,在模板中先建立好变量,然后再导进Isight。接下来,我们聊聊怎么制作模板文件。
先在Model Selection中点击Parameters,当显示了所有变量情况后,选择exportàfrom all parameters
图9模板文件的制作方法示意图

图10为保存的变量模板文件,可以看出文件第一行为关键词,第一列为变量。当有多个变量时只要按照此模板,添加相应的变量便可。
图10 模板文件内容
同样,当有了模板文件后,可直接将变量导入模型中,导入位置见图9中的import。Isight关键词目前还不支持Mapped,因此还需要进入MATLAB模块为所有变量进行映射以及连接MATLAB启动文件。

4.集成含有MATLAB子程序的方法

通常调用的MATLAB程序可能包含多个子程序,对有子程序的MATLAB文件,我们需要在MATLAB中添加Isight文件的工作目录路径。
以一个简单例子为例:
主程序main.m内容如下:
% main
c = add(a,b);

其子程序add.m内容为:
function y=add(x,y)
y1 = 2*tan(x^2)*1/y^2;
y2 = cos(x) sin(y) cos(x)*sin(y);
y = y1 y2;
end


Isight框架结构如图11所示,图12为MATLAB中路径的设置。由于我的Isight文件工作路径为:D:\Document\isightDoc,因此将该路径添入MATLA中,如图12所示。
图11 Isight框架结构

图12 为Isight添加路径 

 



来源:仿真社
科普AbaqusIsightMATLAB理论材料
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2022-06-24
最近编辑:2年前
仿真社
硕士 ABAQUS/LS-DYNA探索者
获赞 207粉丝 527文章 91课程 5
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈