iSight集成Adams/View:Simcode

时间:2023-12-20 22:54:38

虽然iSight有Adams/View接口,但对Adams的版本有限制。下面使用iSight的simcode,就可以支持任意版本的Adams了。

Adams模型如下:

iSight集成Adams/View:Simcode

1. 编写cmd文件

file binary read &
file_name = "E:\WXP\Adams\View\isight\Adams_byCMD\latch.bin" &
alert = no var set var=DV_6 real_value = 0.7434119172961013
var set var=DV_7 real_value = 1.9259555962462807
var set var=DV_8 real_value = 4.433676661326009
var set var=DV_9 real_value = 4.714610513466087
var set var=DV_10 real_value = 7.779034103913939
var set var=DV_11 real_value = 6.796475165941863
var set var=DV_12 real_value = 6.286717021438926
var set var=DV_13 real_value = 6.98794537270161
var set var=DV_14 real_value = 5.115403982604715
var set var=DV_15 real_value = 8.202838178072785 simulation single scripted &
sim_script_name = .latch.Last_Sim &
reset_before_and_after = yes numeric_results write &
result_set_component_name = MAG, Last_Run.TIME &
sort_by = by_value &
order = descending &
write_to_terminal = off &
file_name = "E:\WXP\Adams\View\isight\Adams_byCMD\spring.txt"

latchi.bin是要优化的Adams模型;

var set var = DV_* 是要优化的设计变量;

仿真是由脚本.latch.Last_Sim控制,reset_before_and_after设置为yes表示每次仿真前后都要重置。

iSight集成Adams/View:Simcode

spring.txt是输出文件,其内容是由result_set_component_name来定义的,名称之间用逗号隔开。这里输出是MAG和Last_Run.TIME,并按倒序排列。这与在Adams/PostProcessor是对应的。

iSight集成Adams/View:Simcode

输出内容如下:

A.  .latch.Last_Run.StringOfForce.MAG (newton)
B. .latch.Last_Run.TIME (sec) A B
3.497601E+003 2.000000E-001
3.358114E+003 1.980000E-001
3.318937E+003 1.960000E-001
3.029387E+003 1.940000E-001
2.987023E+003 1.920000E-001
2.807605E+003 1.900000E-001
2.783798E+003 1.880000E-001
2.676770E+003 1.860000E-001
2.664381E+003 1.840000E-001
2.588095E+003 1.820000E-001
2.580667E+003 1.800000E-001
2.518880E+003 1.780000E-001
2.514620E+003 1.760000E-001
2.459801E+003 1.740000E-001
2.457834E+003 1.720000E-001
2.405967E+003 1.700000E-001
2.405960E+003 1.680000E-001
2.356435E+003 1.660000E-001
2.354424E+003 1.640000E-001
2.307433E+003 1.620000E-001
2.303180E+003 1.600000E-001
2.257533E+003 1.580000E-001
2.250652E+003 1.560000E-001
2.205627E+003 1.540000E-001
2.195428E+003 1.520000E-001
2.151713E+003 1.500000E-001
2.150561E+003 1.480000E-001
2.136098E+003 1.460000E-001
2.096343E+003 1.440000E-001
2.091177E+003 1.420000E-001
2.071141E+003 1.400000E-001
2.036315E+003 1.380000E-001
2.026218E+003 1.360000E-001
1.998838E+003 1.340000E-001
1.970465E+003 1.320000E-001
1.954294E+003 1.300000E-001
1.917255E+003 1.280000E-001
1.897496E+003 1.260000E-001
1.873899E+003 1.240000E-001
1.824325E+003 1.220000E-001
1.816026E+003 1.200000E-001
1.783518E+003 1.180000E-001
1.724723E+003 1.160000E-001
1.718114E+003 1.140000E-001
1.681860E+003 1.120000E-001
1.622564E+003 1.100000E-001
1.597314E+003 1.080000E-001
1.568254E+003 1.060000E-001
1.509209E+003 1.040000E-001
1.461937E+003 1.020000E-001
1.443129E+003 1.000000E-001
1.385403E+003 9.800000E-002
1.313952E+003 9.600000E-002
1.308374E+003 9.400000E-002
1.253238E+003 9.200000E-002
1.167364E+003 9.000000E-002
1.157460E+003 8.800000E-002
1.116083E+003 8.600000E-002
1.024530E+003 8.400000E-002
9.981465E+002 8.200000E-002
9.781544E+002 8.000000E-002
8.846512E+002 7.800000E-002
8.438606E+002 7.600000E-002
8.422008E+002 7.400000E-002
7.521066E+002 7.200000E-002
7.171571E+002 7.000000E-002
6.952084E+002 6.800000E-002
6.303409E+002 6.600000E-002
6.010998E+002 6.400000E-002
5.613901E+002 6.200000E-002
5.216125E+002 6.000000E-002
4.976557E+002 5.800000E-002
4.433115E+002 5.600000E-002
4.270085E+002 5.400000E-002
4.077383E+002 5.200000E-002
3.466379E+002 5.000000E-002
3.419748E+002 4.800000E-002
3.313902E+002 4.600000E-002
2.799041E+002 4.400000E-002
2.680295E+002 4.200000E-002
2.571407E+002 4.000000E-002
2.257823E+002 3.800000E-002
2.166965E+002 3.600000E-002
1.877344E+002 3.400000E-002
1.830562E+002 3.200000E-002
1.762658E+002 3.000000E-002
1.505007E+002 2.800000E-002
1.456106E+002 2.600000E-002
1.321667E+002 2.400000E-002
1.270103E+002 2.200000E-002
1.237226E+002 2.000000E-002
1.116855E+002 1.800000E-002
1.097937E+002 1.600000E-002
1.038876E+002 1.400000E-002
1.032703E+002 1.200000E-002
8.873737E+001 1.000000E-002
5.565966E+001 8.000000E-003
3.145351E+001 6.000000E-003
1.475188E+001 4.000000E-003
4.483455E+000 2.000000E-003
0.000000E+000 0.000000E+000

2. 编写BAT文件

要想在命令方式下调用Adams,需编写如下的批处理文件goAVIEW.bat。

del E:\WXP\Adams\View\isight\Adams_byCMD\spring.txt
"D:\MSC.Software\Adams_x64\2014\common\mdi.bat" av ru-s b E:\WXP\Adams\View\isight\Adams_byCMD\latch.cmd e

上面文件的第一行为每次调用前删除上一次的结果文件spring.txt。第二行是命令行调用adams读取步骤1中文件的方法。

3. iSight设置

在iSight工作区中拖入Application Components下的DataExchanger(2个)和OS Command(1个),Process Components下的

Optimization(1个)至Task1中。

iSight集成Adams/View:Simcode

左侧Data Exchanger读取latch.cmd文件,双击弹出如下界面。

iSight集成Adams/View:Simcode

点击中间的Click here to open a new Data Source,添加write属性的cmd文件。

iSight集成Adams/View:Simcode

点击Next进入下一步,再Back返回上一步。点击File to Read at Runtime下文件名右侧的…按键,将文件写出路径设为绝对路径:

iSight集成Adams/View:Simcode

点击Next,选择General Text。点击Finish完成设置。

iSight集成Adams/View:Simcode

在模板文件中选中某个设计变量数值,在Parameter中输入变量名,然后点击右侧笔图标的write按键,完成iSight的该设计变量创建。使用同样方法将所需的所有设计变量全部创建出来。点击OK完成写出文件的所有设置。

iSight集成Adams/View:Simcode

 

双击iSight工作区右侧的Data Exchanger 1,点击中间的Click here to open a new Data Source,添加read属性的文件。

iSight集成Adams/View:Simcode

 

点击Next进入下一步,再Back返回上一步。点击File to Read at Runtime下文件名右侧的…按键,确认与下图设置一致:

iSight集成Adams/View:Simcode

 

点击OK后,再点击Next按键,选择General Text。点击Finish完成设置。选中下图绿色高亮数据,在Parameter中输入变量名,点击右侧的Read按键,完成优化目标变量的创建。点击完成读取文件的设置。

iSight集成Adams/View:Simcode

 

双击iSight工作区的OS Command,在Basic选项卡中点击Find Program按键选择步骤2中创建的goAVIEW.bat文件。点击OK完成命令文件的设置。

iSight集成Adams/View:Simcode

 

4. 设置优化方法

双击Optimization1,在General选项卡中选择多岛遗传算法作为优化方法:

iSight集成Adams/View:Simcode

 

在Variables选项卡中勾选所有要优化的设计变量。

iSight集成Adams/View:Simcode

 

在Objectives中勾选优化的目标函数SpringForce。点击OK完成优化方法的设置。

iSight集成Adams/View:Simcode

 

点击工具栏的Run Model或按F4,开始优化。优化结束后,点击Summary选项卡,查看优化结果。

 

示例文件