yangjj2005的个人博客分享 http://blog.sciencenet.cn/u/yangjj2005

博文

求教(一)——如何理解 the increment of plastic multiplier

已有 5584 次阅读 2013-4-3 17:26 |个人分类:交流讨论|系统分类:科研笔记| 塑性乘子

        一位敬爱的师长从英国访学回来,去拜访他,在聊到有限元时他介绍了一本书——,当时并没有在意。直到最近上了博士一年级,准备编程实现水热力多场耦合问题,碰到了一些问题,才突然想起了这本书。读到Program 6.5时被这样一小段程序卡住了:

      

 iterate_on_fnew: DO
             CALL vmflow(stress,dsbar,vmfl)
             caflow=MATMUL(dee,vmfl)*dlam
             ress=stress-(tensor(:,i,iel)+sigma-caflow)
             CALL fmacat(vmfl,acat)
             acat=acat/dsbar
             acatc=MATMUL(dee,acat)
             qmat=acatc*dlam
             DO k=1,4
                   qmat(k,k)=qmat(k,k)+one
             END DO
             CALL invert(qmat)
             vmtemp(1,:)=vmfl
             vmtemp=MATMUL(vmtemp,qmat)
             vmflq=vmtemp(1,:)
             top=DOT_PRODUCT(vmflq,ress)
             vmtemp=MATMUL(vmtemp,dee)
             vmfla=vmtemp(1,:)
             bot=DOT_PRODUCT(vmfla,vmfl)
             dslam=(fnew-top)/bot
             qinvr=MATMUL(qmat,ress)
             qinva=MATMUL(MATMUL(qmat,dee),vmfl)
             dsigma=-qinvr-qinva*dslam
             stress=stress+dsigma
             CALL invar(stress,sigm,dsbar,lode_theta)
             fnew=dsbar-SQRT(d3)*prop(1,etype(iel))
             dlam=dlam+dslam
             IF(fnew<ltol)EXIT
     END DO iterate_on_fnew

 

     Program 6.5使用8节点四边形单元作弹塑性(von Mises)材料的平面应变承载力分析。 这一段程序位于(荷载步—>迭代步—>单元循环里的)高斯点循环中。我的问题是:

1)本程序是在作屈服函数 $fnew$ 的迭代,目的为了求塑性乘子增量 $\Delta \lambda$ (见附图中的式6.72),从而更新塑性乘子 $\lambda$ ,进而计算单元的一致切线刚度矩阵 $D^{epc}$  (见附图中的式6.74)。我的这样理解对吗?

2)很明显附图中式6.73是由式6.72得到,作者没有明确给出推导,上文红色部分代码貌似在作塑性乘子增量 $\Delta \lambda$ 的计算,但将其还原成公式还是无厘头,请问哪里可以找到资料?

 

【问题附图】

 



https://blog.sciencenet.cn/blog-517015-676559.html

上一篇:浏览凤凰网图片新闻有感
下一篇:你会用Fortran“指针数组”吗?
收藏 IP: 210.72.80.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-12-24 09:59

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部