标题: 定义节点分离“*CONSTRAINED_TIED_NODES_FAILURE”的辅助程序 [打印本页]
作者: even2004 标题:定义节点分离“*CONSTRAINED_TIED_NODES_FAILURE”的辅助程序 时间: 2009/01/08/10:26
在模拟穿甲、爆炸破片等问题时,经常需要定义节点的绑定与分离。比如LS_DYNA自带的小球穿甲算例:
要定义节点的绑定与分离首先需要有单元之间无公用节点的有限元模型
然后通过如下命令:
*CONSTRAINED_TIED_NODES_FAILURE4
101 0.1000
*SET_NODE_LIST
101
1643 1646 1764 17651
来定义哪几个节点之间需要分离,以及其分离应变。从上面的命令可以看到,定义这种节点分离需要将重合在一起的节点组编在*SET_NODE_LIST中。然而在LS_DYNA的前处理中(ANSYS、FEMB、PATRAN等)没有很方便的处理方法。对于简单的结构,比如平板,可以通过复制来产生这种单元之间无公用节点的模型。对于较复杂的曲面,比如战斗部,则很难处理。
不过这种问题编写一个简单的小程序就可以解决:首先寻找单元之间的公用节点,然后在此位置根据公用此节点的单元数量n来新建n-1个节点并与原来的节点一起分配给单元。
这个程序的名字叫writetie。它用来将公用节点分离形成各单元之间无公用节点的模型
普通的四个相邻四边形板单元之间会公用一个节点,如上图中的node 1643。Writetie程序可以将其“分离”成四个节点,但其实它们的坐标是相同的,而且分别属于相邻的四个单元不会混淆。
Writetie程序的使用时需将正常建立的有限元模型,比如用patran前处理,生成求解文件“*.k”,然后将*.k中的单元和节点信息分别保存为elem.k和node.k,并放在程序目录。运行程序,对话窗口提示输入单元和节点总数以及分离应变。程序运行完毕,按任意键关闭窗口,在程序目录会生成newnode.K和newelem.K文件,分别为新生成的节点和改变了节点的老单元。新节点命令行应与旧节点命令行拷贝到一起形成完整的节点。改变节点的单元命令行应替换原单元命令行。至此模型改造结束。
本程序只支持四节点板单元。因为程序中在“search for common node”这一段只循环了4次。如果三角形单元有可能有n个相邻单元公用一个节点,如果需要处理这种情况只需多循环几次即可。
附件
阳光精品论坛 - Powered By BMForum v5.0