复制文件时携带文件路径批处理_技术技巧|Simpack批处理运行方法

本文以简单的双质量弹簧振子模型为例,介绍Simpack批处理运行的基本流程和操作方法,供大家参考。

1

建立Simpack模型

建立双质量弹簧振子模型,包含2个body、2个竖直方向移动joint和2个弹簧力元。其中,弹簧属性中的刚度和阻尼系数设置为参数化。模型保存为two_mass_oscillator.spck。

3950275514dfdf512f3ad814942389fd.png  6b41b23c1ef172fb241c423e7ef5d1c2.png

在Simpack Subvars窗口中,右键选择SubVars项,在弹出的快捷菜单中选择Export SubVar(s)命令,得到导出的参数化变量文件。

e2a105f9e78cc307b6837f17968754d2.png

生成文件名称为spring_factor.subvar。

7efd626a7ffadd27a51bc30215d7e571.png

该文件支持文本编辑,使用文本编辑器打开后显示的内容为下图所示。

c8f57d4c59853d3b2067af206878daf2.png

上述操作主要是为了生成subvar参数变量文件,也可以手动或其它方法建立该文件。

2

导入参数化变量subvar文件

首先设置Search Path,路径为.subvar文件的存放路径。然后在模型树中选择SubVar Files并右键点击选择Edit命令,在弹出的对话框中,通过点击+号,选择之前生成的spring_factor.subvar文件。

867f16430bf2b5d43212264caf6cdfb5.png

注意,在Overwriting列中有两个选项,Initial表示模型中的变量保持初始值,即不论导入subvar文件中的变量值如何变化,模型里的变量值还保持原有值,没有变化; Overwriting表示使用导入subvar文件中的变量值替换模型中原来的变量值。

一般情况下,为了快速修改模型参数,选择Overwriting选项。本文也是选择Overwriting选项。

1e4d3a75b4aace0198f2f98181bca087.png

这时,打开模型中的参数变量,发现其已经无法修改,且显示该变量来源于导入的subvar文件。

925c8526bbf728b8db62f1d90f6bccdf.png

在$SLV_SolverSettings中设置仿真时间和采样频率。

88af9a33bbede95d12c55782a93f93c2.png

保存模型并关闭模型。

3

建立Simpack脚本和批处理文件

.sjs是Simpack前处理脚本文件,可以参考Simpack的相关帮助进行编写。本例编写的sjs脚本内容如下:

varmyModel = Spck.openModel("two_mass_oscillator.spck ");        // 打开模型    

Spck.Slv.integ(myModel);       //时域积分   

Spck.Slv.meas(myModel);       //测量分析    

myModel.close();             //关闭模型

把上述脚本保存为time_integration.sjs文件,并存放在与模型文件two_mass_oscillator.spck相同的文件夹中。

然后,建立一个名称为runsimpack1.bat的批处理文件,内容为:

“D:\ProgramFiles\SIMPACK-9.9\run\bin\win64\simpack-slv.exe” -s time_integration.sjs 

该语句分为三部分,使用空格隔开,解释为:

  • 前面是Simpack 求解器的完整路径(Simpack 9.9版本);

  • 参数-s 表示使用script方式仿真;

  • 后面是使用的sjs脚本文件。

注意:如果安装路径有空格,在路径上添加引号,表示是一个完整的路径。

现在,可以在文件夹中直接双击该批处理文件运行仿真,不需要预先打开Simpack软件。

为方便起见,在计算机环境变量中设置Simpack安装路径。在系统变量Paht中添加Simpack安装路径,例如D:\Program Files\Simpack-9.10.1\run\bin\win64,见下图所示。这样可以在批处理语句中简化Simpack的路径。

03a6210ded0166716298a9a9b174052d.png

把上述的runsimpack1.bat文件复制,并重命名为runsimpack2.bat,其内容修改为:

simpack-slv.exe -s time_integration.sjs

双击运行这个runsimpack2.bat文件,其结果和运行runsimpack1.bat完全一样。

4

修改变量值

用文本编辑器打开spring_factor.subvar文件,并修改其中的变量数值,并保存。例如,本例修改为下图所示数值(4个变量值都被修改)。

0bd5b7affdb64ca40743d1670af6ba3e.png

重新运行bat进行批处理仿真。这时Simpack模型就会使用修改后的变量值进行仿真。两者的结果可在Simpack后处理中进行对比查看。

b3703a19cef64146d4704e122c430054.png

左图:变量修改前的仿真结果              右图:变量修改后的仿真结果

总结:

使用Simpack批处理仿真方法,可以大大提升模型建模和仿真效率,而且还可以与Isight软件集成,进行最优化分析。

c822efccae4fcd50a9a63ffb4e5c2c6a.png

扩展阅读:

Simpack分布力功能介绍

多体仿真中的实体绳索建模

为什么说齿轮仿真需要Simpack

6e2ac24958fe2f802b76131ab683dc93.png

5a84d30f68746d84d524935f238149a0.png

d4a5043fff9bae890c1d52e6afb98e3e.png

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值