E

EdwardWong

V1

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中经常用到重启动分析功能,这主要是由于下面原因引起的:

  1. 求解过程中被操作系统或用户中断,而又不行从头开始计算

  2. 由于定义了cpu的时间限制,求解时间超过了该时间程序自动中断

  3. 在后处理中发现分析有错误,执行重启动来处理或改正错误

  4. 以前的求解没有运行足够长的时间,希望继续运行下去

简单重启动

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),相对应的curvetable时间也要更新,例如重力加速度曲线等。

  • 完全重启动案例

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

分类:

后端

标签:

后端

作者介绍

E
EdwardWong
V1