可以使用 svenholcombe 开发的 MATLAB-LSDYNA 插件,该插件目前以开源的形式发布,在 Github 上的地址是:MATLAB-LSDYNA。
该插件可以直接读取 ASCII 结果文件,也可以在 MATLAB 中调用 LS-DYNA 求解器,需要注意的是,simulation.m 程序中 LSDYNA 求解器的路径位置是绝对路径的,如下:
properties (Constant, Hidden) dynaExe = 'C:\LSDYNA\program\LS-DYNA_smp_s_R610_winx64_ifort101.exe' end
使用的时候,需要修改绝对路径的位置。也可以将 LSDYNA 安装在 'C:\LSDYNA\' 下,这样就不用修改程序中的路径。
使用方法
使用插件调用求解器:
S = lsdyna.simulation('C:\FolderToSim\mainFile.k') S.run
读取 ASCII 计算结果:
out = lsdyna.read.asciiFiles(folder) out = asciiFiles with properties: folder: 'C:\Folder\Holding\Simulation' rbdout: [1x1 lsdyna.read.rbdout] nodfor: [1x1 lsdyna.read.nodfor] bndout: [1x1 lsdyna.read.bndout] nodout: [1x1 lsdyna.read.nodout] elout: [1x1 lsdyna.read.elout]
顺序计算文件夹下的算例:
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
多线程并行计算,同时计算 4 个算例: