8.5位移收敛准则的位移参考值问题
8.5的新功能中说不需要输入位移参考值,由程序自动计算确定。现就我遇到的问题请教各位我计算一个150mm×150mm×150mm的轴心受压混凝土试块,分两种情况进行计算分析:
1、采用m为单位建模,即:几何为0.15×0.15×0.15,位移荷载为-0.0006,材料弹性模量为2e10,单轴抗压强度27.7e6,峰值应变0.002,采用位移收敛准则,位移参考值由程序自动计算。此时计算正常。
2、采用mm单位建模,即:几何为150×150×150,位移荷载为-0.6,材料弹性模量为2e4,单轴抗压强度27.7,峰值应变0.002,采用位移收敛准则,位移参考值由程序自动计算。此时计算不能越过顶点,不成功。尝试将位移参考值增加,一直增加到100,计算越过顶点。
问题:为何收敛与采用的单位有关呢?第二次计算时位移参考值设为100好像不合理吧,怎么解释呢?
请教各位高手,先谢谢了 怎么没有人对这个解释一下 不知道!顶起来!大家讨论一下!我也是在位移参考上有疑惑! 是的 这要请ADINA公司的工程师出来解析一下啊。 不知道各位对ANSYS的收敛准则有没有印象,我猜测8.5和ANSYS的收敛准则处理方法应该是一样的:分母取参考值和总位移的较小值,参考值的默认值为1。这仅仅是我的猜测,能解释我提出的现象,但真正原因是什么呢,只有他们写程序的才知道了。他们的理论手册太简略了。
我的上述解释有一个问题,就是8.5之前的版本,必须输入位移参考值,此时参考值输为100,好像不合理了。难不成8.5和8.4的收敛准则中采用的范数不一样? 这里指的是残差的。比如用位移收敛准则,程序会计算出一个标准数,前后两个迭代步(不是计算步)计算得到位移的差值,再除以这个标准数,就是残差,当计算出的残差小于你定义的值时,就收敛了,进入下一步迭代。
上面红色是ADINA工程师给我的解释关于位移收敛准则问题!我用的是8.4版本。
我就对他说的不太懂。
1,标准值是程序算的。那应该是8.5有吧!8.4有吗?
2,残差是http://home.simwe.com/attachment/200902/19/346329_1235016497SM0H.jpg a*b得出的结果?
大家参与一下!谢谢! 我大概说一下!我对这个收敛准则的理解吧!
那个标准数是程序定义的,不是a,b,c。每一个迭代步程序都会算出来一个残差,不是你定义的,跟a,b,c没有关系。你定义的只是一个残差标准,小于你定义的值,就收敛了,进入下一步迭代。
a*b和a*c是你定义的残差标准。当你把残差标准设的大一些,计算时就好收敛一些。
上面是ADINA工程师说的!
就是说在收敛与精度上应该有个取舍!
1、向黄兄说把a=100,8.5版本里b=1.则残差标准就是100.当计算时就容易收敛,因为它的计算精度小,误差大。得到结果可能与预想的不太一样。
2、把这个残差标准设小些。你的精度就特别准,就是不容易收敛,算混凝土就会出现不能越过黄兄说的混凝土定点。
所以还是精度与收敛的取舍问题!
不知道大家什么看法! 那残差标准一般设置多少比较合适呢?听他们的工程师说8.5版本不需要设置,采用默认设置即可,但是b,c默认都是0,那么残差标准不是等于a*b=0? 你用的是8.5那我就不知道了!我用的是8.4.默认是0,那就是说残差要在标准值之间才能收敛继续计算!我是这么认为的!其实就是个收敛公式问题!|X-Xa|/Xa<=ε。其中ε就是残差标注值,就是自己设置的a*b的值。Xa是系统自己算的标准值。要是默认ε=0。那Xa<=X<=Xa了!
懂了吗?至于设置多少!我认为0.1-0.5之间。你自己看着办吧!要想好收敛易于迭代就设大些。要想得到数据精确就设小些!
只是个人意见!
请大家讨论!
还有哪个能解答我的帖子啊!在我的贴里多多讨论,积极发言。谢谢! 本帖最后由 civileol 于 2009-2-19 21:47 编辑
不知道对不,还要细看。 libin77021748 兄提到:
1、向黄兄说把a=100,8.5版本里b=1.则残差标准就是100.当计算时就容易收敛,因为它的计算精度小,误差大。得到结果可能与预想的不太一样。
其实不是的,在8.5中你把位移参考设为100,1000,。。多大都没有关系,计算结果是一样的,精度是一样的。这就是我早上说的,8.5的收敛准则和ANSYS可能是一样的。8.4我就不知道了。按照他们工程师的解答(他们的理论手册上也是这么说的),就解释不了我用8.5得出的上述现象了 谁能知道8.4的收敛准则啊?我用的太低的版本了? 8.4和8.5两个版本我都用过,而且是跨越我算的那个例子。以下是个人想法,仅供参考:
在8.4里,要输入两个值,就是a和b,其中,a是一个标准,是一个收敛标准,如果残差小于a那就收敛,进入下一个计算步,如果大于a那就进行下一次迭代,直到满足或是迭代次数大于你设置的最大迭代步。而其中的b是指残差,如果程序计算出来的残差大于b,那就直接不收敛进入ATS或是直接退出。以 我的经验,b的取值和模型有关。
在8.5里,a还是要输入的,但是b不用输入了,就是说程序自动计算的残差值作为b值,当然也可以输入,和8.4一样。8.5的改进就是方便用户。而输入b值的好处是对每个计算步有所控制,不至于一个计算步位移太大。
另外,8.5的ADINA图表和形象,不用一边计算,一边不断打开out文件进行查看了。
个人浅见,欢迎讨论。 本帖最后由 libin77021748 于 2009-2-20 19:06 编辑
不对啊!我问的ADINA工程师,他说收敛标准是程序算的!a*b之后是残差!
不知道谁说的对? 希望可以给一个正确的答案啊 15# junyao365
这个没有正确答案!就是看你自己怎么设置! :L,看了半天也没有明白了 这是ADINA帮助文件的说明。分子是位移增量的L2范数,分母是位移参考值,右边项为Tolerance.
如果以米为单位时,位移参考值是0.1米,那么以毫米为单位时,位移参考值应为100毫米,只有这样两者的结果才相同。
页:
[1]