iSight集成Adams/View:Simcode

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

Adams模型如下:

image

1. 编写cmd文件

file binary read &
    file_name = "E:WXPAdamsViewisightAdams_byCMDlatch.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:WXPAdamsViewisightAdams_byCMDspring.txt"

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

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

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

image

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

image

输出内容如下:

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:WXPAdamsViewisightAdams_byCMDspring.txt
"D:MSC.SoftwareAdams_x642014commonmdi.bat" av ru-s b E:WXPAdamsViewisightAdams_byCMDlatch.cmd e

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

3. iSight设置

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

Optimization(1个)至Task1中。

image

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

image

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

image

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

image

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

image

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

image

 

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

image

 

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

image

 

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

image

 

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

image

 

4. 设置优化方法

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

image

 

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

image

 

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

image

 

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

 

示例文件

原文地址:https://www.cnblogs.com/xpvincent/p/4705143.html