关于用solve elas命令进行应力初始化的疑问
用solve elas进行应力初始化,软件会分两步计算:1.弹性计算,2.强度参数还原为初始值,重新用m-c模型计算。问题是既然是应力初始化,第一步就可以了,为什么还要进行第二步计算,而且第二步计算后可能会出现部分屈服。 solve elas目前只针对M-C模型有用,手册上说得很明白。第一步计算时,c和ten调到很大,计算平衡后,随即将c和ten调回原值,进行下一步的计算,肯定会出现塑性屈服啦。 对于m-c模型考虑这两种应力初始化方法:1. 先用model elas,然后solve ,将位移归零,再model mohr,并使用实际参数,再进行开挖等其它操作。则在第一个solve后,不会出现屈服,因为使用的是model elas
2.直接model mohr,使用实际强度参数,然后solve elas,再将位移归零,然后再进行开挖等其它操作。则在solve elas后可能会出现屈服。因为使用solve elas命令,软件会自动连续进行两步计算。
第一种应力初始化后不会出现屈服,而第二种应力初始化方法可能会出现屈服。
这么理解这种问题? 因为在初始状态下,可能有些区域本身就已经达到了屈服! 这两种方法会出现两种不同的结果,那么应该使用哪种应力初始化方法呢?
而且手册中提到可以用第一种方法进行应力初始化,那么solve elas命令该怎么理解,因为solve elas的第一步可以说已经完成了应力初始化(与第一种应力初始化方法类似,都是使用弹性求解),这个命令的第二步计算是什么道理?为什么要有这个第二步?
[ 本帖最后由 mathing 于 2006-11-11 00:13 编辑 ] 这个大概是程序的设置问题吧,可能进行第二步能更好的得到符合实际的初始应力状态吧?希望有明白的能现身说法。 我觉得用melas 来初始化应力更好理解一些
用mm 模型,再solve elas 确实要分两步计算,等弹性计算完成之后继续进行塑性部分的计算,出现部分塑性区是正常的,但是有时候甚至会出现计算不能收敛的情况。应力初始化出现这种情况,确实不好理解。所以我觉得通过弹塑性来初始化应力应该把参数调大,尤其是c值和t值,在sovle之后再调回原始参数,继续solve求解初始应力。 顶上去 :D:D 个人感觉,应力初始化的方法并没有惟一解。举个简单例子,对一个体系,取一对方向完全相反的力,可以达到平衡,力的大小取1或者100、1000KN都是一样的。对于岩土体,当然,这样产生的应力分布可能会不同。关键的,位移(速度)要归零。 建立初始应力场得方法:
1.设定为m-c模型,使用solve elas
2.设定为m-c模型,但加大屈服参数的量级
3.设定为弹性模型,按照弹性计算。
我一般用第一种方法,前面已经说过该方法执行两步计算,首先程序自动强化屈服参数,执行一次弹性计算,然后修正屈服参数为原始值,进行一步M-C模型计算。事实上,如果第一步已经迭代平衡,那么在第二步计算中,模型的最大不平衡力已经满足收敛条件,一般情况下第二步计算只迭代一步就可收敛,也不会出现有塑性区的问题。 原帖由 freddie_1999 于 2006-11-22 12:50 发表
我一般用第一种方法,前面已经说过该方法执行两步计算,首先程序自动强化屈服参数,执行一次弹性计算,然后修正屈服参数为原始值,进行一步M-C模型计算。事实上,如果第一步已经迭代平衡,那么在第二步计算中,模型的最大不平衡力已经满足收敛条件,一般情况下第二步计算只迭代一步就可收敛,也不会出现有塑性区的问题。
考虑下面一个简单例子,进行应力初始化
new
config
grid 50 20
model mohr
gen 0 0 0 13 50 20 50 0
prop d=2000 b=3e7 s=1e7 c=1e4 f=10
fix x i 1
fix x i 51
fix x y j 1
set grav 10
solve elas
结果如图所示,塑性图中出现较大部分的屈服(红色部分),
而用model elas等方法进行应力初始化则不会出现屈服。
这两种应力初始化的结果对后续计算会有不同的影响结果
:'(:'(:'(
[ 本帖最后由 mathing 于 2006-11-22 13:33 编辑 ] 原帖由 benjackxu 于 2006-11-22 12:02 发表
..........这样产生的应力分布可能会不同。关键的, ...
初始应力的分布不同,后续计算应该会出现不同的结果 可是我在算一个边坡模型的时候,当第一步弹性计算完成后,第二步运行了2000多步还没平衡呢?还请freddie_1999 版主指教啊
后来没办法,当弹性计算完后手动终止了计算。
[ 本帖最后由 elite1218 于 2006-11-22 13:37 编辑 ] 原帖由 elite1218 于 2006-11-22 13:31 发表
可是我在算一个边坡模型的时候,当第一步弹性计算完成后,第二步运行了2000多步还没平衡呢?还请freddie_1999 版主指教啊
后来没办法,当弹性计算完后手动终止了计算。
这可能是由于那个边坡本来就是不稳定的,应此计算无法平衡。
但即使是稳定的斜坡,如我上面的例子,用solve fos计算的安全系数大于1,但
应力初始化仍然会出现较大部分的屈服。
[ 本帖最后由 mathing 于 2006-11-22 13:50 编辑 ] 哈哈,边坡肯定是稳定的,只是其他方法算完之后应力场有些不对 原帖由 freddie_1999 于 2006-11-22 12:50 发表
建立初始应力场得方法:
1.设定为m-c模型,使用solve elas
2.设定为m-c模型,但加大屈服参数的量级
3.设定为弹性模型,按照弹性计算。
我一般用第一种方法,前面已经说过该方法执行两步计算,首先程序自动强 ...
如果第一步已经迭代平衡,那么在第二步计算中,模型的最大不平衡力已经满足收敛条件,一般情况下第二步计算只迭代一步就可收敛,也不会出现有塑性区的问题
第一步计算完毕后,参数要调回原始参数,此时的参数将增加处于塑性区的单元,不平衡力变得无法满足精度要求,所以大部分情况下计算完第一步后还要进行第二步的计算,而且步数不会少。 如果第一步已经迭代平衡,那么在第二步计算中,模型的最大不平衡力已经满足收敛条件,一般情况下第二步计算只迭代一步就可收敛,也不会出现有塑性区的问题
第一步计算完毕后,参数要调回原始参数,此时的参数将增加处于塑性区的单元,不平衡力变得无法满足精度要求,所以大部分情况下计算完第一步后还要进行第二步的计算,而且步数不会少
能否举例说明一下呀。 呵呵。你找个算例算一下就知道了。。。 1 建个简单模型一试便知,可参阅此帖。
http://www.simwe.com/forum/viewthread.php?tid=732925&highlight=solve%2Bela benjackxu (君之枫) 对你真是很佩服!!
页:
[1]
2