中矩阵怎么编写_UCPD本构模型论文和代码编写同步解读2

ae8bdb06b07f9ba95a7df30a77fdf880.gif

在完成上一篇文章中对UCPD文章的基本介绍和弹塑性模型的基本介绍后,开始就文章中的模型部分进行进一步的分析。

一、公式(1)

2f57ae7d1b7cd38ff587c72e52ded9fd.png

公式一将单元的应变分解为两项分别为:1、弹性应变 Strain_elastic 2、塑性应变 Strain_Plasticity。其中塑性应变部分包含了:Creep(蠕变)和Plastic(塑性)两部分。这也是为什么叫做United Plasticity的含义所在。其物质机理在于,在焊料塑性变形中,通常蠕变和塑性是同时发生,内在均是由于位错运动,故采用统一 单个应变来描述。当然存在统一型模型也存在分离的模型。这里将不再赘述。

看到此公式,我们也进一步联想到我们模型中采用的代码如何编写。对于弹性变形我们很容易知道其存在的胡克定律。在代码中定义弹性矩阵(恒定值)Cijkl。定义弹性应变 Strain_elastic 那么我们应该很容易得到此时对应的弹性应力即:

Stress=C*Strain_eleastic

此时我们需要知道在Umat中,力学变量的表示。第一,应力应变虽然为二阶张量,但是在代码中考虑到应力和应变的对称性,采用1行乘以6列的向量来表示。方便后续计算。

此时,我们又要想到我们需要应用的Fortran代码,那么我们需要了解一下Fortran代码对数组的表示方法,比如 矩阵如何表示,向量如何表示

31e2eb161ba9ee4bb14af4c7758a4df1.png

以上摘抄的网上定义方法,但是对Umat而言,应力和应变数组在Umat的开头已经定义如下:

1c91fa801fcd0ed79b750621eec8d518.png

那么此时需要清晰了,NTENS为 应力分量或者应力分量的总个数。二维单元为3,三维单元为6. 那么在Umat预先的定义中,DDSDDE(NTENS,NTENS)为弹性矩阵 C,Strain(ntesns,ntens)为应变矩阵。将此项了解清楚。我们即可轻易完成Umat中对弹性部分的表征。

那么在此之前记住Umat的任务:研究人员利用Umat得到,应变增量作用下对应的应力增量。而塑性应变不引起应力。应力更新的变化只与弹性变形相关。

那么围绕这个核心,那么当软件传入应变增量 △strain,如果此应变在弹性范围内,那么可以轻易得到对应的应力增量 △stress。但是有两个问题:(1)我们不知道传过来的应变此时是弹性应变还是塑性应变;(2)如果增加的弹性应变使得应力超过屈服面?那么又应该怎么处理。

而解决者两个问题也是我们后续弹塑性本构模型研究的核心。我们就需要构建一种算法,使得软件传过来的应变,可以求出对应的应力,而不用考虑此应变在什么区间范围,塑性?弹性?或者其他?那么我们需要将弹性、塑性进行结合分析来进一步研究。需要明确塑性变形的相关准则即:屈服准则、流动法则、硬化准则!

二、公式(2)

52cbcdc50fe3d4a1e14902b1042c49fc.png

论文中的公式2,表示了应力表达式的写法:明确了,材料应力的产生来源于弹性变形!此公式也进一步构建了弹性和塑性的相关联系。是不是进一步启发我们如何进一步求解应力呢?如果软件传递过来应变,我们如果求解得到其中的塑性变形应变部分,那么总是可以得到应力增量的。明确此点,对我们后续的编程具有很重要的作用。

三、公式(3)

ad08b168d7b56ffad7d234b989be53d4.png

此部分开始逐步进入塑性力学的核心内容,公式3表征了塑性应变的方向即流动法则问题。公式4和公示5定义了流动方向的具体计算公式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值