EdwardWong
2022/11/19阅读:57主题:姹紫
LS Dyna 批处理
命令的使用
lsprepost
的命令行
lsprepost
大多数操作都有对应的命令行指令,每当lsprepost
进行gui
操作时,信息框都会记录操作对应的命令行。 lsprepost
的命令可以直接输入命令框中,即可执行对应操作。

以上方式可以直接在命令框直接输入命令建立模型,当然也可以读入包含命令行的.cfile
文件,执行lsprepost
命令行。

当然也可以通过cmd
命令调用lsprepost
执行.cfile
命令文件:
"D:\Program Files\lsdyna\program\lsprepost.exr" c=D:\lsprepost.cfile -nographics
带图形调用的方式去掉-nographics
即可
"D:\Program Files\lsdyna\program\lsprepost.exe" c=D:\lsprepost.cfile
常见的lsprepost
命令
基础命令
ac $ 自适应视角居中
state 10 $ 在后处理文件中,切换到state 10
find node 96956413 $ 查找id为96956413的节点,element 同理
exit $退出
打开/保存k
文件
open keyword "D"\SoftwareFiles\ansys\Exp1-model2\1.1-SimplifiedModel1\4-Generator\Base_600_600\base_600_600.k"
save keyword "D"\SoftwareFiles\ansys\Exp1-model2\1.1-SimplifiedModel1\4-Generator\Base_600_600\base_600_600.k"
导出动画
movie WMV/WMV 1920x1080 "D:\ProgramData\lsdyna\Ex1-Model2\1_SimplifiedModel\5-generation\table_v1\postprocess\condition01\movie"
将bndout
的反作用力导出为图片和csv
ascii bndout open "D:\ProgramData\lsdyna\Ex1-Model2\1_SimplifiedModel\5-generation\table_v1\condition01\bndout"
ascii bndout plot 1/2/3/4 vb60099m
print png "D:\ProgramData\lsdyna\Ex1-MOdel2\1_SimplifiedModel\5-generation\table_v1\postprocess\condition01\force.png" nogamma enlisted "PlotWindow-1"
xyplot 1 savefiles ms_csv "D:\ProgramData\lsdyna\Ex1-Model2\1_SimplifedModel\5-generation\table_v1\postprocess\condition01\force.csv" 1 all
将history
的节点位移导出图片和csv
genselect target node
genselect node add node 96956413/0
ntime 5
addplot
ntime 6
addplot
ntime 7
addplot
ntime 8
print png "D:\ProgramData\lsdyna\EX1-Model2\1_SimplifedModel\5-generation\table_v1\postprocess\condition01\displacement.png" nogamma enlisted "PlotWindow-1"
xyplot 1 savefile ms_csv "D:\ProgramData\lsdyna\Ex1-Model2\1_SimplifiedModel\5-generation\table_v1\postprocess\condition01\displacement.csv" 1 all
对界面进行截图,导出为图片
print png "D:\ProgramData\lsdyna\Ex1-Model2\1_SimplifiedModel\5-generation\table_v1\postprocess\condition01\image.png" nogamma enlisted "OGL1x1"
对节点集合进行平移
genselect target node
genselect transfer 0
genselect node add setnode 203
transfer_model -182.3 -0 -0
genselect clear
对节点集合进行旋转
genselect target node
genselect tranfer 0
genselect node add setnode 207
rotate_model 41.0 4.00004 47.3998 y 60.0
genselect clear
生成节点
elemedit createnode new 98000009 310.159 202.181 130.000
生成beam
单元
elemedit createelem new beam 13128175 1053 98000008 98000009 0
调整节点坐标
elemedit modifynode new 9800004 310.159 212.181 101.794
python
生成cfile
文件,并调用lsprepost
执行
# commandlines: 为命令行的列表
# dir: 为cfile文件的存储路径,默认为当前路径
# nographics: bool变量, True为无图形界面方式,False为有图形界面方式
# lsprepost_dir:为lsprepost.exe的路径
def Excute_commandlines_byLsprepost(commandlines, dir='./',nographics=True, lsprepost_dir=r"D:\Program Files\lsdyna\\program\lsprepost.ext"):
tempcfile_abspath=os.path.abspath(os.path.join(dir,'temp_python.cfile'))
with open(tempcfile_abspath, 'w') as f:
for line in commandlines:
f.write(line+'\n')
if nographics:
os.system('"%s" c=%s -nographics' %(lsprepost_dir,tempcfile_abspath.replace('\\','/')))
else:
os.system('"%s" c=%s' %(lsprepost_dir,tempcfile_abspath.replace('\\','/')))
LS Dyna
提交多个任务
最简单的方法是建立一个txt
文件,然后将其后缀名改为bat
文件,双击运行,在txt
文件中输入以下代码:
cd E:\LS_DYNA_TEST\case1
...\ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe I=shijian.k NCPU=6 MEMORY=200000000 i=case1.k ncpu=3 memory=200m /n
或者path=C:\LSDYNA\program //指明求解器的位置
ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe I=shijian.k NCPU=2 MEMORY=200m
cd E:\LS_DYNA_TEST\case2
.../ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe I=shijian.k NCPU=6 MEMORY=200000000 i=case2.k memory=200m ncpu=3 /n
在上述txt
文件中,同时提交了2个文件,如果第一个文件由于模型内部的原因出现Error
, 那么还会继续跳过错误的文件计算后面两个文件吗?




cfile
文件中的内容如下:

LS Dyna
的重启动
在lsdyna
中经常用到重启动分析功能,这主要是由于下面原因引起的:
-
求解过程中被操作系统或用户中断,而又不行从头开始计算
-
由于定义了
cpu
的时间限制,求解时间超过了该时间程序自动中断 -
在后处理中发现分析有错误,执行重启动来处理或改正错误
-
以前的求解没有运行足够长的时间,希望继续运行下去
简单重启动
当lsdyna
运行过程中还没有到达终止时间就被人为中断或其他原因中断时,需要重启动接着进行计算, 在这种情况下,不需要对输入文件做任何改动,直接在DOS
命令行上输入
ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe R=d3dumpnn
D3DUMPNN
可以由关键词DATABASE_BINARY_D3DUMP
来定义,在每一定义的时间间隔后程序自动生成系列该类型的文件D3DUMP1, D3DUMP2,D3DUMP3....

上述表示cpu
循环50000
次自动生成一个重启动文件。
小型重启动
如果需要对关键字进行一些修改,如:
-
重新设置求解终止条件
-
重新设置各种输出文件的时间间隔
-
删除接触界面
-
删除单元和parts, 刚性体转化为变形体,变形体转化为刚体,改变阻尼选项等等。。。
-
小型重启动分析案例
在小球碰撞之前,可以设置小球为刚形体,当小球接触之后,变为柔性体,这样可以减小计算时长。

这里的keyword
文件只是针对原始模型的一些修改,其中*RIGID_DEFORMABLE_D2R
是将变形体转化为刚体.


对于小型重启动,一般不用*STRESS_INITIALIZATION
关键字,会在完全重启动用到。
ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe I=restartinput.k R=d3dumpNN NCPU=6 MEMORY=200m
完全重启动
当要对关键字模型做大量的修改时,如增加其他的PART
或接触定义等,此时实际是进行另一个全新的分析,只不过考虑在前面分析后相关的part
的变形和应力情况,这部分前面已经计算的变形和应力情况的传递过程由STRESS_INITIALIZATION_OPTION
实现。
完全重启动的命令:
ls-dyna_smp_s_R11_1_0_winx64_ifort160.exe I=shijian.k R=d3dumpNN NCPU=6 MEMORY=200m

与小型重启动不同的是,输入的keyword文件需要有完整的关键字输入,节点。单元。增加的
PART
等信息。新修改的文件应该与原keyword文件在节点、单元数及排列和拓扑关系都应该与上次求解的输入文件一样,但PART ID
号可以不同。
对于完全重启动,除了需要重启动文件d3dumpNN
外,还需要输入文件,这里的输入文件是针对原始模型的一些修改。 值得注意的是,如果基于d3dumpNN
前一步的结果化,需要通过应力初始化保留各个部分的应力状态,完全重启动的起始时间是继续迁移状态的时间,例如初始化应力时间为0.5s。完全重启动的时间是从0.5s开始,此时需要在输入关键字中重新设置终止时间(大于0.5s),相对应的curve
或table
时间也要更新,例如重力加速度曲线等。
-
完全重启动案例

一开始小球质量较小,然后小球回弹后更换质量更大的小球在第一次板变形的基础上再一次冲击,这时会用到完全重启动。

作者介绍