不用重复造轮子,快速上手 MATLAB 和 LS DYNA 联合仿真

本文针对习惯使用 MATLAB 的用户,介绍一个开源项目 MATLAB-LSDYNA,该项目包含有限元求解器 LS-DYNA 的 ASCII 结果文件的查看模块,以及从 MATLAB 中以编程方式调用 LS-DYNA 模拟的模块。不过,该项目与 LS-DYNA 的创建者或发行者没有任何关系,是完全第三方。

目前,MATLAB-LSDYNA 是为 Windows 环境编写的,并已在 Windows 环境中进行了测试。ASCII 数据库读取应独立于系统,但运行模拟的代码在其他系统上可能会失败。欢迎进一步努力测试环境。

1. 功能

创建仿真并计算:

  • lsdyna.simulation:从文件夹制作 / 读取 LS-DYNA 模拟

读取 ASCII LS-DYNA 输出数据库文件

  • lsdyna.read.asciiFiles:读取所有可用的输出数据库
  • lsdyna.read.bndout:读取边界条件输出
  • lsdyna.read.elout:读取元素数据输出
  • lsdyna.read.nodfor:读取节点力数据输出
  • lsdyna.read.nodout:读取节点 coord、disp、vel、acc 数据输出
  • lsdyna.read.rbdout:读取刚体数据输出

2. 案例

首先介绍基本用法,例如运行一次模拟,在 MATLAB 中的使用方法如下:

S = lsdyna.simulation('C:\FolderToSim\mainFile.k')
S.run

再比如,运行多个模拟计算,按顺序进行计算,在 MATLAB 中调用串联计算方法如下:

baseFolder = 'C:\FolderToSims';
   for i = 1:10
      simFolder = fullfile(baseFolder,sprintf('sim%d',i));
      S(i) = lsdyna.simulation(fullfile(simFolder,'mainFile.k'));
   end
S.run % Each simulation will be run, one after the other

此外,该项目支持在 MATLAB 中调用 LS DYNA 求解器进行并行计算,使用方法如下:

  • 发表于 · 2020.04.15 17:59 · 阅读 · 3614

[版权声明] :本文文字、代码及图片版权归原作者所有,任何媒体、网站或个人未经本网协议授权不得采集、整理、转载或以其他方式复制发表。已经本站协议授权的媒体、网站,在使用时必须注明“稿件来源:学研谷”。

0 条评论

请先 登录 后评论
猜猜我是谁
王玥琪

14
提问
18
回答
13
文章
注册推广