SPH粒子教程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SPH粒⼦教程
Ls-dyna中⽆⽹格法的⼀点⼼得
前处理:
⼀.采⽤ls-prepost
在ls-prepost中第7页有sphgen的功能,利⽤这个功能可以建⽴⼀些简单的⽆⽹格模型。

操作具体步骤是:
1.选择sphgen,出现如图1的菜单,选择其中的new,表⽰新建⼀个⽆⽹格的命令。

可以看到下⾯有⼏个选项:
box,sphere,cylinder,sketch
图1
2.选择box,出现如图2所⽰的菜单,即为创建⼀个具有长⽅体形的⽆⽹格模型。

图2
可以看到有坐标x,y,z,⽽且标号为x1,x2,y1,y2,z1,z2,表⽰以p1点(x1,y1,z1)起点,以向量(由(x1,y1,z1)指向(x2,y2,z2))为对⾓线创建⼀个长⽅形的box。

NX,NY,NZ表⽰X,Y,Z⽅向的sph粒⼦的数量。

Box name和part id都需要⽤户制定,当给定part的id,⽐如“1”后,即表明创建的sph单元属于part1,然后点“enter”,可以看到material id也被激活,可以看到如图3的标识,点击这个按钮,就可以为这个part选择相应的材料了。

图3
点这个按钮出现如图4的对话框,选择⼀种材料,如elastic,点击edit,出现如图5的窗⼝
图4
图5
可以选择add,或者newid,新建⼀种材料,⽐如点击add,可以看到mid的选项下⾯出现了1的标号,代表材料id为“1”,然后填写相应的属性,填写完成选择“accept”,表⽰接受这种材料类型。

如果还要创建,那么选择“add”,如果想保持当前的数据,只是想把材料id改为别的数值,那么点击“newid”。

创建了材料之后,选择done推出当前窗⼝,再选择done结束材料的创建。

在sph的主窗⼝下,选择apply,可以看到我们创建的box形的sph模型,出现在窗⼝中,如图6所⽰。

如果不选择“done”,可以继续创建sph 模型。

图6
3.我们现在创建的box使⽤的缺省尺⼨1,1,1。

⽤户可以根据需要采⽤不同的尺⼨和sph 的数量。

4.现在所创建的仅仅是sph的⼏何模型,对于属性的定义还要采⽤其他的关键字,⽐如section_sph。

下⾯就section_sph的⼀些参数谈⼀下应⽤。

在ls-prepost的第三页有各种关键字的定义。

选择“*section”,进⾏单元属性的定义。

在弹出的菜单中选择sph,点击edit,我们进⾏sph单元属性的定义。

与材料定义⼀样,出现了如图7的窗⼝,点击add,表⽰新建⼀个*section_sph的属性。

图7
需要填写的参数有:
i.CLSH:这是⽤于确定smooth length 的⼀个常数。

通常⽤缺省的1.2
就⾏。

这个常数的⽤途可能是这样的:在开始的时候,程序根据当前
的粒⼦的间隔确定⼀个例⼦间隔的最⼤值,把它作为sph法的最初的
光滑长度,CLSH是最初的光滑长度的系数,有点类似于显⽰积分中
步长的确定,如果实际步长⼤于初始光滑长度,那么采⽤CLSH给
初始光滑长度增加倍数,以满⾜程序的需要。

ii.Hmin,Hmax和CLSH的原理是⼀样的,都是调整smooth length的
参数。

iii.SPHINI是强制的初始步长,如果采⽤这个步长,那么程序中就不会
⾃动计算步长,⽽是⼀直使⽤这个SPHINI的⼤⼩作为SMOOTH
LENGTH。

iv.Death:sph粒⼦消亡的时间
v.Start:sph粒⼦开始的时间
这两个参数,是设定sph算法的作⽤时间的,可以设定什么时候sph法有
作⽤,什么时候sph法结束。

设定完这些参数后,点击“accept”,表⽰接受这些设定。

然后点击done推出section_sph的定义。

5.把所创建的*section_sph付给相应的part。

还是在当前页,选择“*part”,如图8。

选择part【1】,点edit,弹出如下窗⼝,如图9。

图8
图9
把secid给值为1,表⽰将刚才创建的section付给了part1。

出现提⽰,点击replace。

这样我们就完成了⼀个sph有限元模型的创建过程,包含⼏何,单元属性,材料属性的有限元模型。

6.Control_sph的⽤法
在当前页点击“*control”,在当前窗⼝中选择sph,点击cre/edit,进⼊“control_sph”的创建菜单,如图10所⽰。

图10
关于其中参数的说明:
i.NCBS,表⽰搜索sph时的循环次数
ii.Boxid,表⽰在这个box⾥⾯sph参与计算,⽽出去了就不对模型有贡献。

这两个的意思有些类似于contact的搜索过程
iii.Dt和section_sph中的death⼀样
iv.Dim,设定有限元模型的维数,3表⽰三维有限元模型,2表⽰平⾯问题,-2表⽰2维轴对称。

对于2d的应⽤⽽⾔,模型必须建⽴在xy平⾯中。

v.Start和section_sph中的功能⼀样
vi.MAXV,粒⼦允许的最⼤速度,如果超过了这个速度,粒⼦就会失效。

7.在ls-dyna970中还增加了symmetry(对称条件的定义),sph_flow的设定,我没有试过,以后有时间我会试⼀下的。

⼆.后处理
Sph的后处理可以以下⼏步实现。

1.定义ASCII关键字中的sphout
2.通过*database_history_sph(_set),定义输出那些sph单元。

3.利⽤ls-prepost中第⼀页的ASCII菜单,把sph调⼊到后处理中来。

如图11,12所⽰,在file右侧的列表中选择sphout,然后点load,载⼊sph的结果⽂件。

其中结果分为两个部分,⼀个是stress,⼀个strain。

由如图13所⽰的图标控制。

可以进⾏sph的后处理。

图11
图12
图13
以上是我对sph法的⼀些体会,只是我个⼈的理解,如果哪⾥不对,请⼤家指正。

同时也殷切的希望多和⼤家交流和分享。

相关文档
最新文档