Board logo

标题: 膜结构有限元编程(未考虑索)时弹模取零的结果 [打印本页]

作者: fatgao    时间: 2003-5-27 17:05     标题: 膜结构有限元编程(未考虑索)时弹模取零的结果

在编制过程用一个简单的四点马鞍型算例,只取几何刚度矩阵,令弹性刚度矩阵为零,控制点位移::有两个对角点定为(0,0,0),另外两个对角点定为(0,0,1.0),在解增量刚度方程组得到的未知位移增量大得离谱,根本无法收敛, 原因有哪几种呢?
  
是不是弹性矩阵不能取零,而只能取一个相对较小的值,课题紧,望高手赶快指点迷津!
作者: jinsongxia    时间: 2003-5-27 22:34     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

你控制点是如何取的,
如果你马鞍形面的四个边界没有用索的话,
那个网格点在四个边界上的都必须取固定约束。否则边界点有无穷大的变位!
另,弹性模量能够取为0,找形过程中预应力不会发生变化。
有小的杨士模量的话,找形过程中预应力会发生变化,其他没有区别。
作者: liuxiaochun    时间: 2003-5-28 22:05     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

jinsongxia兄:
    我现在没有设边索,只是膜,您的提示是边界上所有点都要取固定点,那我想问,编程过程中,四个控制点我是通过大数法修改总刚来定位移约束的,如果边界上其他点也要设为固定点,是不是将x和y方向的位移约束设为0,那z方向的约束如何设。
     希望jinsongxia兄能再次替我解惑,不甚感激!
作者: jinsongxia    时间: 2003-5-28 22:49     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

按照你的情况就是要求所有的边界点都是固定的。
因此形面四条边界上的点的坐标在计算前都是事先给定的。
除四个角点外,最简单的其他的边界点的坐标就是通过他们所在线的
两角点坐标按等分直线确定。当然你可以让边界是弧型的,也就是有垂度的。那么中间边界点的坐标确定可以按照两端点确定的悬链线来确定,不过是空间悬链线,很麻烦,所以有垂度的边界线一般要用索了。
作者: liuxiaochun    时间: 2003-5-29 20:58     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

对于四点负高斯曲面(不设边索),请问:四个控制点的位移如果一下子拉到控制标高,对于方程很难收敛,如果采用逐步提升法,一般分几步?对于膜结构这种大位移小应变的几何非线性,建立的有限元刚度方程是一个增量方程组,在每个荷载步可能需要n次循环迭代才能收敛,那在这n次循环中,是不是每次都要修改总刚,即每次的刚度矩阵是在前一次刚度矩阵的基础上再加上前一次求解出的结点位移增量?望jinsongxia兄再赐高见!
作者: jinsongxia    时间: 2003-5-29 22:59     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

我没有用过控制点位移法,我的程序是 直接按照控制点绘出网格,然后按照这个初始形状找形。对我的程序比如你的马鞍形面,我可以使中间的点的Z坐标都是0,控制点在实际位置,也不存在收敛不了的问题。你现在说明一下如果你四个控制点是逐步提升的,那么其中两个控制点之间的边界点的坐标你在程序里是如何实现他们的变化的,是如何约束的,显然他们的X,y是不变的,那么他们Z坐标是有根据他们在控制点之间的等分位置来确定。如果你这么做的话,你可以尝试着用2步,3步等来试算,我以前好像看到资料取在10步以内的。不是特别清楚。
你第二个问题有点向我这里的荷载分析,在荷载分析的时候,分几个荷载步,
在荷载步内为了,一般假设位移很小,因此应力和应变都很小,所以用修正的牛顿法,总刚取不变。
不过你用这种控制点位移法来找形的时候,如果你弹膜为0,那么弹刚阵是0的,而几何刚度阵的变化是有预应力和变位决定的,预应力是初始赋值的所以也不变,但是因为是找形,我们要的就是坐标的不断变化,而且如果变化越快的话就是收敛越快,所以我们在找形的时候,尤其是开始的迭代中,变位都是很大的,因此我觉得在每一个迭代步中,都有不同的刚度阵为好。
自然因为我不是用的这种方法,没有程序的验证,有相同的和你用这种方法的大牛更有发言权。
作者: liuxiaochun    时间: 2003-5-30 10:11     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

jinsongxia兄:
找形通常都采用三种理论:力密度,动力松弛,非线性有限元。请问您编的程序采用的是何理论,如果是有限元,你提到比如马鞍面,你将四个角点直接取为控制标高,中间点的z坐标都取为零,边界点应该是索元吧,你说不存在不收敛的问题,这真让人兴奋,不过对于有限元恐怕将控制点一步到位没那么容易收敛啊!其他大侠也没人帮我,就只有jin兄您诲人不倦了,多谢,希望您能经常回我的帖子!
作者: JerryG    时间: 2003-5-31 10:47     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

如果采用有限元法找形, 初始形状最接近最终的形状找形最容易收敛,如果马鞍面中间的点的Z坐标都是0,控制点在实际位置,确实也收敛,但得到的形状可能不太满意,如下面图1为采用这种形式作为初始形状,找到的形状如图2所示,在图2中连接马鞍面高点的节点变形较大,使与之连接的三角形单元过大,这种得到的形状就不太好,如果将用图3所示作用初始形状,得到的找形结果如图4所示,可以看出图4找到的形状显然比图2好一些。并且图3的初始形状也很容易生成。顺便提一下,找形时如果可能,还是尽可能的将支承结构输入进行整体找形,由于支承结构的变形,找形的形状会有一点区别的。
作者: JerryG    时间: 2003-5-31 10:51     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

1
作者: JerryG    时间: 2003-5-31 10:51     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

2
作者: JerryG    时间: 2003-5-31 10:52     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

3
作者: JerryG    时间: 2003-5-31 10:52     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

4
作者: liuxiaochun    时间: 2003-5-31 13:03     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

JerryG 兄:
你说图三的初始形状很容易实现,还望赐教!
作者: jinsongxia    时间: 2003-5-31 22:30     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

和JerryG兄讨论。
从你图1的边界线的形式来看,你四条边界取的是四条边索,那么这个网格收敛的化,如果你用的是非线性有限元,切是节点残余力收敛来控制结果的收敛的话,因为边界主要有索力发挥作用,所以在边界线上索近似等分。在你的2图上边界应该被10等分。
如果你边界是固定边界的话,那么边界线在1图中初始网格应该先被10等分,然后再来找形。
  
3的网格的划分是原则是先对边10等分,然后相同等分的点连线,在对这条线10等分。这样划分的网格比马鞍型丰满点,但是很接近了马鞍型面。
你的1,3其实是一种网格划分形式,1只是在平面上等分划分了(10×10)×2,然后把控制点提起来,3是在空间上直接等分划分出(10×10)×2。如果边界是索的话,初始参数一样的话,形面满足力平衡,并且残余力达到相同的控制标准,结果只有一个。如果你的四个边界固定的话,那么你3的网格的边界是可行的,而你1的边界的中间点要有一个变动的控制,2形面的产生只能从你这个变动的控制存在问题去找,而不是初始网格划分的缘故。
你的有限元法应该是我前面说的我用的方法,而不是liuxiaochun兄的控制点位移法。
另外所谓初始网格其实包括了两层含义,1,一个是节点的坐标,2,一个是膜单元的节点构成,如果控制点相同,满足条件2,使用相同的收敛标准,那么两种找形的结果应该一样,只是找形的叠代步不同而已。
如果2不同,那么是两种不同的网格划分,1显然不同,找形的结果会不同,但是节点坐标都在解析结解的附近,只是误差不同。
作者: liuxiaochun    时间: 2003-5-31 23:26     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

jinsongxia兄:
       1、请问你的非线性有限元增量方程是采用什么方法求解的?
  
       2、另外我还有个概念搞不清楚,采用UL法建立的刚度方程,在找形时,令弹阵为零,此时的刚度矩阵K和荷载矩阵P均是结点坐标的表达式,且求解时K和P是从初始时刻我们给定的结点坐标求得的,如果可能,我们就可以求得一个结点位移增量U,那是不是下一次的K和P要在这一次的K和P的基础上叠加已经求得的位移增量U,再重新求解刚度方程,又得到一个U,直到U逐步趋于零为止,这是不是增量方程和全量方程的不同之处??还是就只是求解方程的一种手段而已(迭代法)?如果只是一种解方程的手段,那增量方程的意义到底在哪儿?
      3、每次求解增量方程组时,都会得到一个结点位移增量,那岂不是已经满足了平衡方程,为什么还有迭代再求解呢?
       这几个问题我总是似懂非懂的,还望高手替我拨开这个迷障,不甚感激!
      
作者: JerryG    时间: 2003-6-1 10:44     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

jinsongxia 兄:
  正如你所说,所谓初始网格其实包括了两层含义,1,一个是节点的坐标,2,一个是膜单元的节点构成,如果控制点相同,满足条件2,使用相同的收敛标准,那么两种找形的结果应该一样,只是找形的叠代步不同而已。
  但以我的计算经验,采用有限元法进行找形时,初始形状的区别对找形需要的迭代步数相差很大,如上面我发出的图1要找到较满意的形状可能需几百步,而图3作为初始形状找到较满意形状如图4,我只用了15步。而对于大型索膜结构工程找形分析,如果膜单元稍密一些,未知量很容易上万,甚至几万,这时如果找形需要步数太多,找形计算时间可能太长,并且找形往往需调整几次(如调整预应力等)才能得到较满意的形状,所以我认为采用有限元法进行找形时,采用的初始形状最好尽可能的接近最后的平衡形状。
   如有时我们对于大型结构进行找形时,先人为的将大型结构分成几块,每块先进行找形(除对称分割外,大部分情况找到的形状不是最近形状,但找到的形状较接近最近整个结构的平衡形状),然后将每块找到的形状组合在一起做为整个结构的初始形状,这时能很大程序上提高找形效率。
  我采用不是位移控制法,四条边界没有采用固定边界。我对边界采用固定边界有些疑惑,无论采用何种固定形式,都相当于对结构人为地加上一些约束,而实践上这些约束也不存在,这找到的形状可能满足建筑要求,但真正实现起来是否有一定困难?一般情况下,我们是一般是通过调整边索的预应力来调整边索的形状,而没有指定边界的(指对于有边界的情况)。还望这位大虾指教!
作者: JerryG    时间: 2003-6-1 10:48     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

liuxiaochun 兄:
     实现方法如jinsongxia 兄所说,原则是先对边10等分,然后相同等分的点连线,在对这条线10等分。
作者: hhux    时间: 2003-6-1 15:54     标题: 回复: 膜结构有限元编程(未考虑索)时弹模取零的结果

1. 本话题首帖的坐标有误,希望是发帖时的键入错误,请检查。
2. 在调试程序或作算例分析时,应先选择分析模型,再由模型确定具体的边界条件,而不是因计算需要随意增减约束。
3. 虽然有“摸着石头过河”一说,但对于成熟的理论,先搞清概念再动手编程,可以避免浪费时间。
  
祝各位好运气!




欢迎光临 中华钢结构论坛 China Structure Forum (http://okok.org/) Powered by Discuz! 5.0.0