ABAQUS VUMAT初学者用户子程序小例子
Abaqus用户子程序VUMAT
Component 1 2 3 4 5 6 7 8 9
2-D Case 3-D Case
Initial calculations and checks
abaqus1用户材料子程序
19 ABAQUS用户材料子程序(UMAT)虽然ABAQUS为用户提供了大量的单元库和求解模型,使用户能够利用这些模型处理绝大多数的问题;但是现实世界毕竟十分复杂,ABAQUS不可能把所有可能出现的问题都包含进去。
所以ABAQUS提供了大量的用户子程序(User Subroutine)。
用户子程序允许用户在找不到合适模型的情况下自行定义符合自己问题的模型。
这些用户子程序涵盖了建模从载荷到单元的几乎各个部分。
ABAQUS为用户提供的这个接口,允许用户通过自定义的子程序定制ABAQUS,以实现特定的功能。
用户子程序具有以下的功能和特点:(1)如果ABAQUS的一些固有选项模型功能有限;用户子程序可以提高ABAQUS中这些选项的功能;(2)通常用户子程序是用FORTRAN语言的代码写成;(3)它可以以几种不同的方式包含在模型中;(4)由于它们没有存储在restart文件中,如果需要的话,可以在重新开始运行时修改它;(5)在某些情况下它可以利用ABAQUS允许的已有程序。
要在模型中包含用户子程序,可以利用ABAQUS执行程序,在abaqus执行程序中应用user选项指明包含这些子程序的FORTRAN源程序或者目标程序的名字。
提示:ABAQUS的输入文件除了可以通过ABAQUS/CAE的作业模块中提交运行外,还可以在ABAQUS Command窗口中输入ABAQUS执行程序直接运行:ABAQUS job=输入文件名 user=用户子程序的Fortran文件名ABAQUS/Standard和ABAQUS/Explicit都支持用户子程序功能,但是他们所支持的用户子程序种类不尽相同,读者在需要使用时请注意查询手册。
在接下来的最后两章里,我们将讨论两种常用的用户子程序——用户材料子程序和用户单元子程序。
本章将通过在ABAQUS/Standard中创建Johnson-Cook的材料模型,对编写Standard 的用户材料子程序UMAT进行一个简单介绍。
ABAQUS初学者应用算例
我们将通过ABAQUS/CAE完成上图的建模及分析过程。
首先我们创建几何体一、创建基本特征:1、首先运行ABAQUS/CAE,在出现的对话框内选择Create Model Database。
2、从Module列表中选择Part,进入Part模块3、选择Part→Create来创建一个新的部件。
在提示区域会出现这样一个信息。
4、CAE弹出一个如右图的对话框。
将这个部件命名为Hinge-hole,确认Modeling Space、Type和Base Feature的选项如右图。
5、输入200作为Approximate size的值。
点击Continue。
ABAQUS/CAE初始化草图,并显示格子。
6、在工具栏选择Create Lines: Rectangle(4 Lines),在提示栏出现如下的提示后,输入(20,20)和7、在提示框点击OK按钮。
CAE弹出Edit Basic Extrusion对话框。
8、输入40作为Depth的数值,点击OK按钮。
二、在基本特征上加个轮缘 1、在主菜单上选择Shape→Solid→Extrude。
2、选择六面体的前表面,点击左键。
3、选择如下图所示的边,点击左键。
4、如右上图那样利用 图标创建三条线段。
5、在工具栏中选择Create Arc: Center and 2 Endpoints 6、移动鼠标到(40,0.0),圆心,点击左键,然后将鼠标移到(40,20)再次点击鼠标左键,从已画好区域的外面将鼠标移到(40,20),这时你可以看到在这两个点之间出现一个半圆,点击左键完成这个半圆。
7、在工具栏选择Create Circle: Center and Perimeter8、将鼠标移动到(40,0.0)点击左键,然后将鼠标移动到(50,0.0)点击左键。
9、从主菜单选择Add→Dimension→Radial,为刚完成的圆标注尺寸。
10、选择工具栏的Edit Dimension Value图标11、选择圆的尺寸(10)点击左键,在提示栏输入12,按回车。
Abaqus关于用户子程序(simwe)
表示单元类型,剩余四项表示此单元四个节点的编号。
CHARACTER*(*) FUNCTION DMKNAME(FNAME,DNAME,EXTEN)
C
CHARACTER*(*) FNAME,DNAME,EXTEN
C FNAME I JOBNAME
C DNAME I DIRECTORY
C EXTEN I EXTENSION
KSTEP,KINC,DTIME,TIME是ABAQUS传给用户子程序的参数。
功能:
1. 读结果文件(.FIL)中的数据。
2. 利用LSTOP开关,用户可中止ABAQUS计算
URDFIL要用到以下两个ABAQUS应用程序:POSFIL和DBFILE
文本框: Home
END DO
LTOT = LEN(DNAME)
LD = 0
DO K1 = LTOT,2,-1
IF (LD.EQ.0.AND.DNAME(K1:K1).NE.' ') LD = K1
END DO
LTOT = LEN(EXTEN)
LE = 0
为2表示文件已读到结尾后,又从头开始读起。
2.ARRAY是用来存放从结果文件中读到的那条记录的数组。要用户注意的
是ARRAY数组的大小要能存放一条记录。
3. JRCD是返回值,如果读到文件结尾,返回值为非0的整数。
功能:
读取结果文件中的一条记录。
如果想要熟练运用SUBROUTINE URDFIL,那么用户必须对结果文件(.FIL)
!打开文件
WRITE(17,*)'Opening new user external file...'
ABAQUS材料用户子程序UMAT学习报告
具有友好的用户 界面和易用的操 作流程,方便用 户进行学习和使 用
UMAT子程序简介
UMAT子程序是 ABAQUS材料用户 自定义模块,允许 用户根据实际需求 编写材料本构模型。
UMAT子程序采用C 语言编写,用户需要 具备一定的编程基础。
UMAT子程序可以实 现多种材料本构模型 ,如弹性、塑性、蠕 变等。
UMAT子程序实现细节
编程语言和接口
A B A Q U S 材 料 用 户 子 程 序 U M AT 使 用Fortran语言编写
U M AT 子 程 序 中 可 以 定 义 材 料 属 性 、 本构关系等
添加标题
添加标题
添加标题
添加标题
U M AT 子 程 序 通 过 A B A Q U S 提 供 的 接口与主程序进行交互
不足:使用门槛较高,需要用户具备一定的编程基础
未来展望:期待更多的用户参与开发,不断完善子程序功能
总结:UMAT子程序为用户提供了强大的材料模型描述能力,但使用过程中需要注意其局 限性
在ABAQUS中的未来发展方向
开发更高效的材料模型 集成人工智能和机器学习技术 增强与CAD软件的集成 扩展对多物理场模拟的支持
适用于金属材料
适用于复合材料
适用于橡胶材料
适用于陶瓷材料
参数的合理选择
参数选择需符合实际物理模型 参数选择需考虑材料特性 参数选择需经过实验验证 参数选择需注意收敛性和稳定性
收敛性和稳定性问题
收 敛 性 : U M AT 子 程 序 在 迭 代 过 程 中应满足收敛条件,否则可能导致 计算失败或结果不准确。
边界条件和初始条件
边界条件:描述模型在边界上的行为,如位移、速度等 初始条件:描述模型在初始时刻的状态,如温度、压力等
Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
1、为何需要使用用户材料子程序(User-Defined Material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。
所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。
UMAT 子程序具有强大的功能,使用UMAT 子程序:(1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。
(3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。
(4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。
2、需要哪些基础知识?先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话:Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。
学习VUMAT
学习VUMATVUMATUser subroutine to define material behavior.定义材料本构用户子程序Product: ABAQUS/ExplicitWarning: The use of this user subroutine generally requires considerable expertise.You are cautioned that the implementation of any realistic constitutive model requires extensive development and testing. Initial testing on a single-element model withprescribed traction loading is strongly recommended.注意:用户子程序的使用通常需要一定的专长。
用户需要知道执行任何实际的本构模型需要大量的试验数据。
强烈建议用户对用户子程序进行在指定拉力作用下单个单元的验证测试。
The component ordering of the symmetric and nonsymmetric tensors for thethree-dimensional case using C3D8R elements is different from the ordering specified in , and the ordering used in ABAQUS/Standard.C3D8R单元三维轴对称及非轴对称张量成分顺序与及ABAQUS/Standard中指定的顺序不同。
References•“User-defined mechanical m•*USER MATERIALOverviewUser subroutine VUMAT:用户子程序VUMAT•is used to define the mechanical constitutive behavior of a material;•用来定义材料的力学本构关系•will be called for blocks of material calculation points for which the material is defined in a user subroutine ();•可以被用户子程序定义材料计算点调用•can use and update solution-dependent state variables;•可以使用和更新结果依赖状态变量•can use any field variables that are passed in;•可以使用传入的任何场变量•is described further in ; and•在中详细论述;•cannot be used in an adiabatic analysis.•可以被用于绝热分析Component ordering in tensors 张量组成顺序The component ordering depends upon whether the tensor is symmetric or nonsymmetric.张量组成顺序取决于其是否为对称或非对称张量。
Abaqus材料用户子程序UMAT基础知识及手册例子完整解释
1、为何需要使用用户材料子程序(User-Defined Material, UMAT )?很简单,当ABAQUS 没有提供我们需要的材料模型时。
所以,在决定自己定义一种新的材料模型之前,最好对ABAQUS 已经提供的模型心中有数,并且尽量使用现有的模型,因为这些模型已经经过详细的验证,并被广泛接受。
UMAT 子程序具有强大的功能,使用UMAT 子程序:(1)可以定义材料的本构关系,使用ABAQUS 材料库中没有包含的材料进行计算,扩充程序功能。
(2) 几乎可以用于力学行为分析的任何分析过程,几乎可以把用户材料属性赋予ABAQU S 中的任何单元。
(3) 必须在UMAT 中提供材料本构模型的雅可比(Jacobian )矩阵,即应力增量对应变增量的变化率。
(4) 可以和用户子程序“USDFLD ”联合使用,通过“USDFLD ”重新定义单元每一物质点上传递到UMAT 中场变量的数值。
2、需要哪些基础知识?先看一下ABAQUS 手册(ABAQUS Analysis User's Manual )里的一段话:Warning: The use of this option generally requires considerable expertise(一定的专业知识). The user is cautioned that the implementation (实现) of any realistic constitutive (基本) model requires extensive (广泛的) development and testing. Initial testing on a single eleme nt model with prescribed traction loading (指定拉伸载荷) is strongly recommended. 但这并不意味着非力学专业,或者力学基础知识不很丰富者就只能望洋兴叹,因为我们的任务不是开发一套完整的有限元软件,而只是提供一个描述材料力学性能的本构方程(Constitutive equation )而已。
ABAQUS用户子程序小例子
实例:最简单的杆件单轴拉伸,材料本构模型采用线弹性模型,E=206000MPa, ν=0.3。
左端约束,右端施加均布力q=1。
Author: xueweek希望这个小例子能帮助初学者减少一两天的摸索时间1材料本构模型:σ=Eε在Property中定义材料时,在General下选中User Material,输入206000,0.3。
以上两个数值代表E、ν,在用户子程序中代表着PROPS(1)、PROPS(2)。
然后在General 下选中Depvar,由于该例子中没有使用状态变量,因此在第一项中输入大于0的数值即可。
建模大家都会,故省略2ABAQUS调用用户子程序大家在论坛上也可以看到很多方法,我这里指介绍最简单的一种。
在Job Manager中点击Edit选项,在General选项的最后一项中选择自己建立好的用户子程序文件。
(注:用户子程序文件可以使用文本编辑器进行编辑,当然也可以用Fortran 编译器,如果对自己的用户子程序文件的语法不放心,可以先用Fortan编译器进行编译,不过编译前要先建立Project,关于Fortran编译,这里不再介绍)。
完成后,点击submit即可进行分析。
3结果以下两张图分布是用户子程序和ABAQUS自带的材料模型得到的应力云图,可以看出两种图形完全相同。
4UMAT子程序对于初学者来说,需要注意的是,FORTRAN对于程序语言格式上的要求。
例如,对于FORTRAN语言,前六个字符必须空出来,等等。
检查语法最好的方法就是在FORTRAN编译器上进行编译。
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,1 DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,2 CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,3 PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)include 'aba_param.inc'CHARACTER*8 CMNAMEDIMENSION STRESS(NTENS),STATEV(NSTATV),DDSDDE(NTENS,NTENS),1 DDSDDT(NTENS),DRPLDE(NTENS),STRAN(NTENS),DSTRAN(NTENS),2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),DROT(3,3),3 DFGRD0(3,3),DFGRD1(3,3)C UMAT FOR ISOTROPIC ELASTICITYC CANNOT BE USED FOR PLANE STRESSC ----------------------------------------------------------------C PROPS(1) - EC PROPS(2) - NUC ----------------------------------------------------------------IF (NDI.NE.3) THENWRITE (6,*) 'THIS UMAT MAY ONLY BE USED FOR ELEMENTS 1 WITH THREE DIRECT STRESS COMPONENTS'CALL XITENDIFCC ELASTIC PROPERTIESEMOD=PROPS(1)ENU=PROPS(2)EBULK3=EMOD/(1-2*ENU)EG2=EMOD/(1+ENU)EG=EG2/2EG3=3*EGELAM=(EBULK3-EG2)/3CC ELASTIC STIFFNESSCDO K1=1, NDIDO K2=1, NDIDDSDDE(K2, K1)=ELAMEND DODDSDDE(K1, K1)=EG2+ELAMEND DODO K1=NDI+1, NTENSDDSDDE(K1 ,K1)=EGEND DOCC CALCULATE STRESSCDO K1=1, NTENSDO K2=1, NTENSSTRESS(K2)=STRESS(K2)+DDSDDE(K2, K1)*DSTRAN(K1)END DOEND DOCRETURNEND5INP输入文件*Heading** Job name: Job-1 Model name: Model-1** Generated by: Abaqus/CAE 6.10-1*Preprint, echo=NO, model=NO, history=NO, contact=NO**** PARTS***Part, name=Part-1*End Part****** ASSEMBLY***Assembly, name=Assembly***Instance, name=Part-1-1, part=Part-1*Node1, 0.0399999991, 0.0399999991, 0.400000006 2, 0.0399999991, 0.029*******, 0.400000006 3, 0.0399999991, 0.0199999996, 0.400000006 4, 0.0399999991, 0.00999999978, 0.400000006 5, 0.0399999991, 0., 0.400000006 6, 0.0399999991, 0.0399999991, 0.389999986 7, 0.0399999991, 0.029*******, 0.389999986 8, 0.0399999991, 0.0199999996, 0.389999986 9, 0.0399999991, 0.00999999978, 0.389999986 10, 0.0399999991, 0., 0.389999986 11, 0.0399999991, 0.0399999991, 0.379999995 12, 0.0399999991, 0.029*******, 0.379999995 13, 0.0399999991, 0.0199999996, 0.379999995 14, 0.0399999991, 0.00999999978, 0.379999995 15, 0.0399999991, 0., 0.379999995 16, 0.0399999991, 0.0399999991, 0.370000005 17, 0.0399999991, 0.029*******, 0.370000005 18, 0.0399999991, 0.0199999996, 0.370000005 19, 0.0399999991, 0.00999999978, 0.370000005 20, 0.0399999991, 0., 0.370000005 21, 0.0399999991, 0.0399999991, 0.360000014 22, 0.0399999991, 0.029*******, 0.360000014 23, 0.0399999991, 0.0199999996, 0.360000014 24, 0.0399999991, 0.00999999978, 0.360000014 25, 0.0399999991, 0., 0.360000014 26, 0.0399999991, 0.0399999991, 0.349999994 27, 0.0399999991, 0.029*******, 0.349999994 28, 0.0399999991, 0.0199999996, 0.349999994 29, 0.0399999991, 0.00999999978, 0.349999994 30, 0.0399999991, 0., 0.349999994 31, 0.0399999991, 0.0399999991, 0.340000004 32, 0.0399999991, 0.029*******, 0.340000004 33, 0.0399999991, 0.0199999996, 0.340000004 34, 0.0399999991, 0.00999999978, 0.340000004 35, 0.0399999991, 0., 0.340000004 36, 0.0399999991, 0.0399999991, 0.330000013 37, 0.0399999991, 0.029*******, 0.330000013 38, 0.0399999991, 0.0199999996, 0.330000013 39, 0.0399999991, 0.00999999978, 0.330000013 40, 0.0399999991, 0., 0.330000013 41, 0.0399999991, 0.0399999991, 0.319999993 42, 0.0399999991, 0.029*******, 0.319999993 43, 0.0399999991, 0.0199999996, 0.319999993 44, 0.0399999991, 0.00999999978, 0.319999993 45, 0.0399999991, 0., 0.319999993 46, 0.0399999991, 0.0399999991, 0.310000002 47, 0.0399999991, 0.029*******, 0.310000002 48, 0.0399999991, 0.0199999996, 0.310000002 49, 0.0399999991, 0.00999999978, 0.310000002 50, 0.0399999991, 0., 0.310000002 51, 0.0399999991, 0.0399999991, 0.300000012 52, 0.0399999991, 0.029*******, 0.300000012 53, 0.0399999991, 0.0199999996, 0.300000012 54, 0.0399999991, 0.00999999978, 0.300000012 55, 0.0399999991, 0., 0.300000012 56, 0.0399999991, 0.0399999991, 0.289999992 57, 0.0399999991, 0.029*******, 0.289999992 58, 0.0399999991, 0.0199999996, 0.289999992 59, 0.0399999991, 0.00999999978, 0.289999992 60, 0.0399999991, 0., 0.289999992 61, 0.0399999991, 0.0399999991, 0.280000001 62, 0.0399999991, 0.029*******, 0.280000001 63, 0.0399999991, 0.0199999996, 0.280000001 64, 0.0399999991, 0.00999999978, 0.280000001 65, 0.0399999991, 0., 0.280000001 66, 0.0399999991, 0.0399999991, 0.270000011 67, 0.0399999991, 0.029*******, 0.270000011 68, 0.0399999991, 0.0199999996, 0.270000011 69, 0.0399999991, 0.00999999978, 0.270000011 70, 0.0399999991, 0., 0.270000011 71, 0.0399999991, 0.0399999991, 0.25999999 72, 0.0399999991, 0.029*******, 0.25999999 73, 0.0399999991, 0.0199999996, 0.2599999976, 0.0399999991, 0.0399999991, 0.25 77, 0.0399999991, 0.029*******, 0.25 78, 0.0399999991, 0.0199999996, 0.25 79, 0.0399999991, 0.00999999978, 0.25 80, 0.0399999991, 0., 0.25 81, 0.0399999991, 0.0399999991, 0.239999995 82, 0.0399999991, 0.029*******, 0.239999995 83, 0.0399999991, 0.0199999996, 0.239999995 84, 0.0399999991, 0.00999999978, 0.239999995 85, 0.0399999991, 0., 0.239999995 86, 0.0399999991, 0.0399999991, 0.230000004 87, 0.0399999991, 0.029*******, 0.230000004 88, 0.0399999991, 0.0199999996, 0.230000004 89, 0.0399999991, 0.00999999978, 0.230000004 90, 0.0399999991, 0., 0.230000004 91, 0.0399999991, 0.0399999991, 0.219999999 92, 0.0399999991, 0.029*******, 0.219999999 93, 0.0399999991, 0.0199999996, 0.219999999 94, 0.0399999991, 0.00999999978, 0.219999999 95, 0.0399999991, 0., 0.219999999 96, 0.0399999991, 0.0399999991, 0.209999993 97, 0.0399999991, 0.029*******, 0.209999993 98, 0.0399999991, 0.0199999996, 0.209999993 99, 0.0399999991, 0.00999999978, 0.209999993 100, 0.0399999991, 0., 0.209999993 101, 0.0399999991, 0.0399999991, 0.200000003 102, 0.0399999991, 0.029*******, 0.200000003 103, 0.0399999991, 0.0199999996, 0.200000003 104, 0.0399999991, 0.00999999978, 0.200000003 105, 0.0399999991, 0., 0.200000003 106, 0.0399999991, 0.0399999991, 0.189999998 107, 0.0399999991, 0.029*******, 0.189999998 108, 0.0399999991, 0.0199999996, 0.189999998 109, 0.0399999991, 0.00999999978, 0.189999998 110, 0.0399999991, 0., 0.189999998 111, 0.0399999991, 0.0399999991, 0.180000007 112, 0.0399999991, 0.029*******, 0.180000007 113, 0.0399999991, 0.0199999996, 0.180000007 114, 0.0399999991, 0.00999999978, 0.180000007 115, 0.0399999991, 0., 0.180000007 116, 0.0399999991, 0.0399999991, 0.170000002 117, 0.0399999991, 0.029*******, 0.170000002 118, 0.0399999991, 0.0199999996, 0.170000002 119, 0.0399999991, 0.00999999978, 0.170000002 120, 0.0399999991, 0., 0.170000002 121, 0.0399999991, 0.0399999991, 0.159999996 122, 0.0399999991, 0.029*******, 0.159999996 123, 0.0399999991, 0.0199999996, 0.159999996 124, 0.0399999991, 0.00999999978, 0.159999996 125, 0.0399999991, 0., 0.159999996 126, 0.0399999991, 0.0399999991, 0.150000006 127, 0.0399999991, 0.029*******, 0.150000006 128, 0.0399999991, 0.0199999996, 0.150000006 129, 0.0399999991, 0.00999999978, 0.150000006 130, 0.0399999991, 0., 0.150000006 131, 0.0399999991, 0.0399999991, 0.140000001 132, 0.0399999991, 0.029*******, 0.140000001 133, 0.0399999991, 0.0199999996, 0.140000001 134, 0.0399999991, 0.00999999978, 0.140000001 135, 0.0399999991, 0., 0.140000001 136, 0.0399999991, 0.0399999991, 0.129999995 137, 0.0399999991, 0.029*******, 0.129999995 138, 0.0399999991, 0.0199999996, 0.129999995 139, 0.0399999991, 0.00999999978, 0.129999995 140, 0.0399999991, 0., 0.129999995 141, 0.0399999991, 0.0399999991, 0.119999997 142, 0.0399999991, 0.029*******, 0.119999997 143, 0.0399999991, 0.0199999996, 0.119999997 144, 0.0399999991, 0.00999999978, 0.119999997 145, 0.0399999991, 0., 0.119999997 146, 0.0399999991, 0.0399999991, 0.109999999 147, 0.0399999991, 0.029*******, 0.109999999 148, 0.0399999991, 0.0199999996, 0.109999999 149, 0.0399999991, 0.00999999978, 0.109999999 150, 0.0399999991, 0., 0.109999999 151, 0.0399999991, 0.0399999991, 0.100000001 152, 0.0399999991, 0.029*******, 0.100000001 153, 0.0399999991, 0.0199999996, 0.100000001156, 0.0399999991, 0.0399999991, 0.0900000036 157, 0.0399999991, 0.029*******, 0.0900000036 158, 0.0399999991, 0.0199999996, 0.0900000036 159, 0.0399999991, 0.00999999978, 0.0900000036 160, 0.0399999991, 0., 0.0900000036 161, 0.0399999991, 0.0399999991, 0.0799999982 162, 0.0399999991, 0.029*******, 0.0799999982 163, 0.0399999991, 0.0199999996, 0.0799999982 164, 0.0399999991, 0.00999999978, 0.0799999982 165, 0.0399999991, 0., 0.0799999982 166, 0.0399999991, 0.0399999991, 0.0700000003 167, 0.0399999991, 0.029*******, 0.0700000003 168, 0.0399999991, 0.0199999996, 0.0700000003 169, 0.0399999991, 0.00999999978, 0.0700000003 170, 0.0399999991, 0., 0.0700000003 171, 0.0399999991, 0.0399999991, 0.0599999987 172, 0.0399999991, 0.029*******, 0.0599999987 173, 0.0399999991, 0.0199999996, 0.0599999987 174, 0.0399999991, 0.00999999978, 0.0599999987 175, 0.0399999991, 0., 0.0599999987 176, 0.0399999991, 0.0399999991, 0.0500000007 177, 0.0399999991, 0.029*******, 0.0500000007 178, 0.0399999991, 0.0199999996, 0.0500000007 179, 0.0399999991, 0.00999999978, 0.0500000007 180, 0.0399999991, 0., 0.0500000007 181, 0.0399999991, 0.0399999991, 0.0399999991 182, 0.0399999991, 0.029*******, 0.0399999991 183, 0.0399999991, 0.0199999996, 0.0399999991 184, 0.0399999991, 0.00999999978, 0.0399999991 185, 0.0399999991, 0., 0.0399999991 186, 0.0399999991, 0.0399999991, 0.029******* 187, 0.0399999991, 0.029*******, 0.029******* 188, 0.0399999991, 0.0199999996, 0.029******* 189, 0.0399999991, 0.00999999978, 0.029******* 190, 0.0399999991, 0., 0.029******* 191, 0.0399999991, 0.0399999991, 0.0199999996 192, 0.0399999991, 0.029*******, 0.0199999996 193, 0.0399999991, 0.0199999996, 0.0199999996 194, 0.0399999991, 0.00999999978, 0.0199999996 195, 0.0399999991, 0., 0.0199999996 196, 0.0399999991, 0.0399999991, 0.00999999978 197, 0.0399999991, 0.029*******, 0.00999999978 198, 0.0399999991, 0.0199999996, 0.00999999978 199, 0.0399999991, 0.00999999978, 0.00999999978 200, 0.0399999991, 0., 0.00999999978 201, 0.0399999991, 0.0399999991, 0. 202, 0.0399999991, 0.029*******, 0. 203, 0.0399999991, 0.0199999996, 0. 204, 0.0399999991, 0.00999999978, 0. 205, 0.0399999991, 0., 0. 206, 0.029*******, 0.0399999991, 0.400000006 207, 0.029*******, 0.029*******, 0.400000006 208, 0.029*******, 0.0199999996, 0.400000006 209, 0.029*******, 0.00999999978, 0.400000006 210, 0.029*******, 0., 0.400000006 211, 0.029*******, 0.0399999991, 0.389999986 212, 0.029*******, 0.029*******, 0.389999986 213, 0.029*******, 0.0199999996, 0.389999986 214, 0.029*******, 0.00999999978, 0.389999986 215, 0.029*******, 0., 0.389999986 216, 0.029*******, 0.0399999991, 0.379999995 217, 0.029*******, 0.029*******, 0.379999995 218, 0.029*******, 0.0199999996, 0.379999995 219, 0.029*******, 0.00999999978, 0.379999995 220, 0.029*******, 0., 0.379999995 221, 0.029*******, 0.0399999991, 0.370000005 222, 0.029*******, 0.029*******, 0.370000005 223, 0.029*******, 0.0199999996, 0.370000005 224, 0.029*******, 0.00999999978, 0.370000005 225, 0.029*******, 0., 0.370000005 226, 0.029*******, 0.0399999991, 0.360000014 227, 0.029*******, 0.029*******, 0.360000014 228, 0.029*******, 0.0199999996, 0.360000014 229, 0.029*******, 0.00999999978, 0.360000014 230, 0.029*******, 0., 0.360000014 231, 0.029*******, 0.0399999991, 0.349999994 232, 0.029*******, 0.029*******, 0.349999994 233, 0.029*******, 0.0199999996, 0.349999994236, 0.029*******, 0.0399999991, 0.340000004 237, 0.029*******, 0.029*******, 0.340000004 238, 0.029*******, 0.0199999996, 0.340000004 239, 0.029*******, 0.00999999978, 0.340000004 240, 0.029*******, 0., 0.340000004 241, 0.029*******, 0.0399999991, 0.330000013 242, 0.029*******, 0.029*******, 0.330000013 243, 0.029*******, 0.0199999996, 0.330000013 244, 0.029*******, 0.00999999978, 0.330000013 245, 0.029*******, 0., 0.330000013 246, 0.029*******, 0.0399999991, 0.319999993 247, 0.029*******, 0.029*******, 0.319999993 248, 0.029*******, 0.0199999996, 0.319999993 249, 0.029*******, 0.00999999978, 0.319999993 250, 0.029*******, 0., 0.319999993 251, 0.029*******, 0.0399999991, 0.310000002 252, 0.029*******, 0.029*******, 0.310000002 253, 0.029*******, 0.0199999996, 0.310000002 254, 0.029*******, 0.00999999978, 0.310000002 255, 0.029*******, 0., 0.310000002 256, 0.029*******, 0.0399999991, 0.300000012 257, 0.029*******, 0.029*******, 0.300000012 258, 0.029*******, 0.0199999996, 0.300000012 259, 0.029*******, 0.00999999978, 0.300000012 260, 0.029*******, 0., 0.300000012 261, 0.029*******, 0.0399999991, 0.289999992 262, 0.029*******, 0.029*******, 0.289999992 263, 0.029*******, 0.0199999996, 0.289999992 264, 0.029*******, 0.00999999978, 0.289999992 265, 0.029*******, 0., 0.289999992 266, 0.029*******, 0.0399999991, 0.280000001 267, 0.029*******, 0.029*******, 0.280000001 268, 0.029*******, 0.0199999996, 0.280000001 269, 0.029*******, 0.00999999978, 0.280000001 270, 0.029*******, 0., 0.280000001 271, 0.029*******, 0.0399999991, 0.270000011 272, 0.029*******, 0.029*******, 0.270000011 273, 0.029*******, 0.0199999996, 0.270000011 274, 0.029*******, 0.00999999978, 0.270000011 275, 0.029*******, 0., 0.270000011 276, 0.029*******, 0.0399999991, 0.25999999 277, 0.029*******, 0.029*******, 0.25999999 278, 0.029*******, 0.0199999996, 0.25999999 279, 0.029*******, 0.00999999978, 0.25999999 280, 0.029*******, 0., 0.25999999 281, 0.029*******, 0.0399999991, 0.25 282, 0.029*******, 0.029*******, 0.25 283, 0.029*******, 0.0199999996, 0.25 284, 0.029*******, 0.00999999978, 0.25 285, 0.029*******, 0., 0.25 286, 0.029*******, 0.0399999991, 0.239999995 287, 0.029*******, 0.029*******, 0.239999995 288, 0.029*******, 0.0199999996, 0.239999995 289, 0.029*******, 0.00999999978, 0.239999995 290, 0.029*******, 0., 0.239999995 291, 0.029*******, 0.0399999991, 0.230000004 292, 0.029*******, 0.029*******, 0.230000004 293, 0.029*******, 0.0199999996, 0.230000004 294, 0.029*******, 0.00999999978, 0.230000004 295, 0.029*******, 0., 0.230000004 296, 0.029*******, 0.0399999991, 0.219999999 297, 0.029*******, 0.029*******, 0.219999999 298, 0.029*******, 0.0199999996, 0.219999999 299, 0.029*******, 0.00999999978, 0.219999999 300, 0.029*******, 0., 0.219999999 301, 0.029*******, 0.0399999991, 0.209999993 302, 0.029*******, 0.029*******, 0.209999993 303, 0.029*******, 0.0199999996, 0.209999993 304, 0.029*******, 0.00999999978, 0.209999993 305, 0.029*******, 0., 0.209999993 306, 0.029*******, 0.0399999991, 0.200000003 307, 0.029*******, 0.029*******, 0.200000003 308, 0.029*******, 0.0199999996, 0.200000003 309, 0.029*******, 0.00999999978, 0.200000003 310, 0.029*******, 0., 0.200000003 311, 0.029*******, 0.0399999991, 0.189999998 312, 0.029*******, 0.029*******, 0.189999998 313, 0.029*******, 0.0199999996, 0.189999998316, 0.029*******, 0.0399999991, 0.180000007 317, 0.029*******, 0.029*******, 0.180000007 318, 0.029*******, 0.0199999996, 0.180000007 319, 0.029*******, 0.00999999978, 0.180000007 320, 0.029*******, 0., 0.180000007 321, 0.029*******, 0.0399999991, 0.170000002 322, 0.029*******, 0.029*******, 0.170000002 323, 0.029*******, 0.0199999996, 0.170000002 324, 0.029*******, 0.00999999978, 0.170000002 325, 0.029*******, 0., 0.170000002 326, 0.029*******, 0.0399999991, 0.159999996 327, 0.029*******, 0.029*******, 0.159999996 328, 0.029*******, 0.0199999996, 0.159999996 329, 0.029*******, 0.00999999978, 0.159999996 330, 0.029*******, 0., 0.159999996 331, 0.029*******, 0.0399999991, 0.150000006 332, 0.029*******, 0.029*******, 0.150000006 333, 0.029*******, 0.0199999996, 0.150000006 334, 0.029*******, 0.00999999978, 0.150000006 335, 0.029*******, 0., 0.150000006 336, 0.029*******, 0.0399999991, 0.140000001 337, 0.029*******, 0.029*******, 0.140000001 338, 0.029*******, 0.0199999996, 0.140000001 339, 0.029*******, 0.00999999978, 0.140000001 340, 0.029*******, 0., 0.140000001 341, 0.029*******, 0.0399999991, 0.129999995 342, 0.029*******, 0.029*******, 0.129999995 343, 0.029*******, 0.0199999996, 0.129999995 344, 0.029*******, 0.00999999978, 0.129999995 345, 0.029*******, 0., 0.129999995 346, 0.029*******, 0.0399999991, 0.119999997 347, 0.029*******, 0.029*******, 0.119999997 348, 0.029*******, 0.0199999996, 0.119999997 349, 0.029*******, 0.00999999978, 0.119999997 350, 0.029*******, 0., 0.119999997 351, 0.029*******, 0.0399999991, 0.109999999 352, 0.029*******, 0.029*******, 0.109999999 353, 0.029*******, 0.0199999996, 0.109999999 354, 0.029*******, 0.00999999978, 0.109999999 355, 0.029*******, 0., 0.109999999 356, 0.029*******, 0.0399999991, 0.100000001 357, 0.029*******, 0.029*******, 0.100000001 358, 0.029*******, 0.0199999996, 0.100000001 359, 0.029*******, 0.00999999978, 0.100000001 360, 0.029*******, 0., 0.100000001 361, 0.029*******, 0.0399999991, 0.0900000036 362, 0.029*******, 0.029*******, 0.0900000036 363, 0.029*******, 0.0199999996, 0.0900000036 364, 0.029*******, 0.00999999978, 0.0900000036 365, 0.029*******, 0., 0.0900000036 366, 0.029*******, 0.0399999991, 0.0799999982 367, 0.029*******, 0.029*******, 0.0799999982 368, 0.029*******, 0.0199999996, 0.0799999982 369, 0.029*******, 0.00999999978, 0.0799999982 370, 0.029*******, 0., 0.0799999982 371, 0.029*******, 0.0399999991, 0.0700000003 372, 0.029*******, 0.029*******, 0.0700000003 373, 0.029*******, 0.0199999996, 0.0700000003 374, 0.029*******, 0.00999999978, 0.0700000003 375, 0.029*******, 0., 0.0700000003 376, 0.029*******, 0.0399999991, 0.0599999987 377, 0.029*******, 0.029*******, 0.0599999987 378, 0.029*******, 0.0199999996, 0.0599999987 379, 0.029*******, 0.00999999978, 0.0599999987 380, 0.029*******, 0., 0.0599999987 381, 0.029*******, 0.0399999991, 0.0500000007 382, 0.029*******, 0.029*******, 0.0500000007 383, 0.029*******, 0.0199999996, 0.0500000007 384, 0.029*******, 0.00999999978, 0.0500000007 385, 0.029*******, 0., 0.0500000007 386, 0.029*******, 0.0399999991, 0.0399999991 387, 0.029*******, 0.029*******, 0.0399999991 388, 0.029*******, 0.0199999996, 0.0399999991 389, 0.029*******, 0.00999999978, 0.0399999991 390, 0.029*******, 0., 0.0399999991 391, 0.029*******, 0.0399999991, 0.029******* 392, 0.029*******, 0.029*******, 0.029******* 393, 0.029*******, 0.0199999996, 0.029*******396, 0.029*******, 0.0399999991, 0.0199999996 397, 0.029*******, 0.029*******, 0.0199999996 398, 0.029*******, 0.0199999996, 0.0199999996 399, 0.029*******, 0.00999999978, 0.0199999996 400, 0.029*******, 0., 0.0199999996 401, 0.029*******, 0.0399999991, 0.00999999978 402, 0.029*******, 0.029*******, 0.00999999978 403, 0.029*******, 0.0199999996, 0.00999999978 404, 0.029*******, 0.00999999978, 0.00999999978 405, 0.029*******, 0., 0.00999999978 406, 0.029*******, 0.0399999991, 0. 407, 0.029*******, 0.029*******, 0. 408, 0.029*******, 0.0199999996, 0. 409, 0.029*******, 0.00999999978, 0. 410, 0.029*******, 0., 0. 411, 0.0199999996, 0.0399999991, 0.400000006 412, 0.0199999996, 0.029*******, 0.400000006 413, 0.0199999996, 0.0199999996, 0.400000006 414, 0.0199999996, 0.00999999978, 0.400000006 415, 0.0199999996, 0., 0.400000006 416, 0.0199999996, 0.0399999991, 0.389999986 417, 0.0199999996, 0.029*******, 0.389999986 418, 0.0199999996, 0.0199999996, 0.389999986 419, 0.0199999996, 0.00999999978, 0.389999986 420, 0.0199999996, 0., 0.389999986 421, 0.0199999996, 0.0399999991, 0.379999995 422, 0.0199999996, 0.029*******, 0.379999995 423, 0.0199999996, 0.0199999996, 0.379999995 424, 0.0199999996, 0.00999999978, 0.379999995 425, 0.0199999996, 0., 0.379999995 426, 0.0199999996, 0.0399999991, 0.370000005 427, 0.0199999996, 0.029*******, 0.370000005 428, 0.0199999996, 0.0199999996, 0.370000005 429, 0.0199999996, 0.00999999978, 0.370000005 430, 0.0199999996, 0., 0.370000005 431, 0.0199999996, 0.0399999991, 0.360000014 432, 0.0199999996, 0.029*******, 0.360000014 433, 0.0199999996, 0.0199999996, 0.360000014 434, 0.0199999996, 0.00999999978, 0.360000014 435, 0.0199999996, 0., 0.360000014 436, 0.0199999996, 0.0399999991, 0.349999994 437, 0.0199999996, 0.029*******, 0.349999994 438, 0.0199999996, 0.0199999996, 0.349999994 439, 0.0199999996, 0.00999999978, 0.349999994 440, 0.0199999996, 0., 0.349999994 441, 0.0199999996, 0.0399999991, 0.340000004 442, 0.0199999996, 0.029*******, 0.340000004 443, 0.0199999996, 0.0199999996, 0.340000004 444, 0.0199999996, 0.00999999978, 0.340000004 445, 0.0199999996, 0., 0.340000004 446, 0.0199999996, 0.0399999991, 0.330000013 447, 0.0199999996, 0.029*******, 0.330000013 448, 0.0199999996, 0.0199999996, 0.330000013 449, 0.0199999996, 0.00999999978, 0.330000013 450, 0.0199999996, 0., 0.330000013 451, 0.0199999996, 0.0399999991, 0.319999993 452, 0.0199999996, 0.029*******, 0.319999993 453, 0.0199999996, 0.0199999996, 0.319999993 454, 0.0199999996, 0.00999999978, 0.319999993 455, 0.0199999996, 0., 0.319999993 456, 0.0199999996, 0.0399999991, 0.310000002 457, 0.0199999996, 0.029*******, 0.310000002 458, 0.0199999996, 0.0199999996, 0.310000002 459, 0.0199999996, 0.00999999978, 0.310000002 460, 0.0199999996, 0., 0.310000002 461, 0.0199999996, 0.0399999991, 0.300000012 462, 0.0199999996, 0.029*******, 0.300000012 463, 0.0199999996, 0.0199999996, 0.300000012 464, 0.0199999996, 0.00999999978, 0.300000012 465, 0.0199999996, 0., 0.300000012 466, 0.0199999996, 0.0399999991, 0.289999992 467, 0.0199999996, 0.029*******, 0.289999992 468, 0.0199999996, 0.0199999996, 0.289999992 469, 0.0199999996, 0.00999999978, 0.289999992 470, 0.0199999996, 0., 0.289999992 471, 0.0199999996, 0.0399999991, 0.280000001 472, 0.0199999996, 0.029*******, 0.280000001 473, 0.0199999996, 0.0199999996, 0.280000001476, 0.0199999996, 0.0399999991, 0.270000011 477, 0.0199999996, 0.029*******, 0.270000011 478, 0.0199999996, 0.0199999996, 0.270000011 479, 0.0199999996, 0.00999999978, 0.270000011 480, 0.0199999996, 0., 0.270000011 481, 0.0199999996, 0.0399999991, 0.25999999 482, 0.0199999996, 0.029*******, 0.25999999 483, 0.0199999996, 0.0199999996, 0.25999999 484, 0.0199999996, 0.00999999978, 0.25999999 485, 0.0199999996, 0., 0.25999999 486, 0.0199999996, 0.0399999991, 0.25 487, 0.0199999996, 0.029*******, 0.25 488, 0.0199999996, 0.0199999996, 0.25 489, 0.0199999996, 0.00999999978, 0.25 490, 0.0199999996, 0., 0.25 491, 0.0199999996, 0.0399999991, 0.239999995 492, 0.0199999996, 0.029*******, 0.239999995 493, 0.0199999996, 0.0199999996, 0.239999995 494, 0.0199999996, 0.00999999978, 0.239999995 495, 0.0199999996, 0., 0.239999995 496, 0.0199999996, 0.0399999991, 0.230000004 497, 0.0199999996, 0.029*******, 0.230000004 498, 0.0199999996, 0.0199999996, 0.230000004 499, 0.0199999996, 0.00999999978, 0.230000004 500, 0.0199999996, 0., 0.230000004 501, 0.0199999996, 0.0399999991, 0.219999999 502, 0.0199999996, 0.029*******, 0.219999999 503, 0.0199999996, 0.0199999996, 0.219999999 504, 0.0199999996, 0.00999999978, 0.219999999 505, 0.0199999996, 0., 0.219999999 506, 0.0199999996, 0.0399999991, 0.209999993 507, 0.0199999996, 0.029*******, 0.209999993 508, 0.0199999996, 0.0199999996, 0.209999993 509, 0.0199999996, 0.00999999978, 0.209999993 510, 0.0199999996, 0., 0.209999993 511, 0.0199999996, 0.0399999991, 0.200000003 512, 0.0199999996, 0.029*******, 0.200000003 513, 0.0199999996, 0.0199999996, 0.200000003 514, 0.0199999996, 0.00999999978, 0.200000003 515, 0.0199999996, 0., 0.200000003 516, 0.0199999996, 0.0399999991, 0.189999998 517, 0.0199999996, 0.029*******, 0.189999998 518, 0.0199999996, 0.0199999996, 0.189999998 519, 0.0199999996, 0.00999999978, 0.189999998 520, 0.0199999996, 0., 0.189999998 521, 0.0199999996, 0.0399999991, 0.180000007 522, 0.0199999996, 0.029*******, 0.180000007 523, 0.0199999996, 0.0199999996, 0.180000007 524, 0.0199999996, 0.00999999978, 0.180000007 525, 0.0199999996, 0., 0.180000007 526, 0.0199999996, 0.0399999991, 0.170000002 527, 0.0199999996, 0.029*******, 0.170000002 528, 0.0199999996, 0.0199999996, 0.170000002 529, 0.0199999996, 0.00999999978, 0.170000002 530, 0.0199999996, 0., 0.170000002 531, 0.0199999996, 0.0399999991, 0.159999996 532, 0.0199999996, 0.029*******, 0.159999996 533, 0.0199999996, 0.0199999996, 0.159999996 534, 0.0199999996, 0.00999999978, 0.159999996 535, 0.0199999996, 0., 0.159999996 536, 0.0199999996, 0.0399999991, 0.150000006 537, 0.0199999996, 0.029*******, 0.150000006 538, 0.0199999996, 0.0199999996, 0.150000006 539, 0.0199999996, 0.00999999978, 0.150000006 540, 0.0199999996, 0., 0.150000006 541, 0.0199999996, 0.0399999991, 0.140000001 542, 0.0199999996, 0.029*******, 0.140000001 543, 0.0199999996, 0.0199999996, 0.140000001 544, 0.0199999996, 0.00999999978, 0.140000001 545, 0.0199999996, 0., 0.140000001 546, 0.0199999996, 0.0399999991, 0.129999995 547, 0.0199999996, 0.029*******, 0.129999995 548, 0.0199999996, 0.0199999996, 0.129999995 549, 0.0199999996, 0.00999999978, 0.129999995 550, 0.0199999996, 0., 0.129999995 551, 0.0199999996, 0.0399999991, 0.119999997 552, 0.0199999996, 0.029*******, 0.119999997 553, 0.0199999996, 0.0199999996, 0.119999997556, 0.0199999996, 0.0399999991, 0.109999999 557, 0.0199999996, 0.029*******, 0.109999999 558, 0.0199999996, 0.0199999996, 0.109999999 559, 0.0199999996, 0.00999999978, 0.109999999 560, 0.0199999996, 0., 0.109999999 561, 0.0199999996, 0.0399999991, 0.100000001 562, 0.0199999996, 0.029*******, 0.100000001 563, 0.0199999996, 0.0199999996, 0.100000001 564, 0.0199999996, 0.00999999978, 0.100000001 565, 0.0199999996, 0., 0.100000001 566, 0.0199999996, 0.0399999991, 0.0900000036567, 0.0199999996, 0.029*******, 0.0900000036568, 0.0199999996, 0.0199999996, 0.0900000036569, 0.0199999996, 0.00999999978, 0.0900000036 570, 0.0199999996, 0., 0.0900000036 571, 0.0199999996, 0.0399999991, 0.0799999982572, 0.0199999996, 0.029*******, 0.0799999982573, 0.0199999996, 0.0199999996, 0.0799999982574, 0.0199999996, 0.00999999978, 0.0799999982 575, 0.0199999996, 0., 0.0799999982 576, 0.0199999996, 0.0399999991, 0.0700000003577, 0.0199999996, 0.029*******, 0.0700000003578, 0.0199999996, 0.0199999996, 0.0700000003579, 0.0199999996, 0.00999999978, 0.0700000003 580, 0.0199999996, 0., 0.0700000003 581, 0.0199999996, 0.0399999991, 0.0599999987582, 0.0199999996, 0.029*******, 0.0599999987583, 0.0199999996, 0.0199999996, 0.0599999987584, 0.0199999996, 0.00999999978, 0.0599999987 585, 0.0199999996, 0., 0.0599999987 586, 0.0199999996, 0.0399999991, 0.0500000007587, 0.0199999996, 0.029*******, 0.0500000007588, 0.0199999996, 0.0199999996, 0.0500000007589, 0.0199999996, 0.00999999978, 0.0500000007 590, 0.0199999996, 0., 0.0500000007 591, 0.0199999996, 0.0399999991, 0.0399999991592, 0.0199999996, 0.029*******, 0.0399999991593, 0.0199999996, 0.0199999996, 0.0399999991594, 0.0199999996, 0.00999999978, 0.0399999991 595, 0.0199999996, 0., 0.0399999991 596, 0.0199999996, 0.0399999991, 0.029*******597, 0.0199999996, 0.029*******, 0.029*******598, 0.0199999996, 0.0199999996, 0.029*******599, 0.0199999996, 0.00999999978, 0.029******* 600, 0.0199999996, 0., 0.029******* 601, 0.0199999996, 0.0399999991, 0.0199999996602, 0.0199999996, 0.029*******, 0.0199999996603, 0.0199999996, 0.0199999996, 0.0199999996604, 0.0199999996, 0.00999999978, 0.0199999996 605, 0.0199999996, 0., 0.0199999996 606, 0.0199999996, 0.0399999991, 0.00999999978 607, 0.0199999996, 0.029*******, 0.00999999978 608, 0.0199999996, 0.0199999996, 0.00999999978 609, 0.0199999996, 0.00999999978, 0.00999999978 610, 0.0199999996, 0., 0.00999999978 611, 0.0199999996, 0.0399999991, 0. 612, 0.0199999996, 0.029*******, 0. 613, 0.0199999996, 0.0199999996, 0. 614, 0.0199999996, 0.00999999978, 0. 615, 0.0199999996, 0., 0. 616, 0.00999999978, 0.0399999991, 0.400000006 617, 0.00999999978, 0.029*******, 0.400000006 618, 0.00999999978, 0.0199999996, 0.400000006 619, 0.00999999978, 0.00999999978, 0.400000006 620, 0.00999999978, 0., 0.400000006 621, 0.00999999978, 0.0399999991, 0.389999986 622, 0.00999999978, 0.029*******, 0.389999986 623, 0.00999999978, 0.0199999996, 0.389999986 624, 0.00999999978, 0.00999999978, 0.389999986 625, 0.00999999978, 0., 0.389999986 626, 0.00999999978, 0.0399999991, 0.379999995 627, 0.00999999978, 0.029*******, 0.379999995 628, 0.00999999978, 0.0199999996, 0.379999995 629, 0.00999999978, 0.00999999978, 0.379999995 630, 0.00999999978, 0., 0.379999995 631, 0.00999999978, 0.0399999991, 0.370000005 632, 0.00999999978, 0.029*******, 0.370000005 633, 0.00999999978, 0.0199999996, 0.370000005。
ABAQUS材料用户子程序UMAT学习报告
NDI:某一点上直接应力组件数。 NSHR:某一点上剪切应力组件数。 NTENS:总应力分量个数,(=NDI+NSHR)。
NSTATV:存储与解有关的状态变量数组个数。 PROPS (NPROPS):材料常数数组。 COORDS:当前积分点坐标。DROT(3,3) :旋转增量矩阵。 CELENT:特征元素长度。
载入 输入文件umat.inp,得到如下图形。
按下图所示操作载入umat.for子程序文件 按下图所示创建作业(Job)
点一击段S时ub间m后it之,后结,果结如果下如图下所图示所。示。
最后查看可视化后处理,得到如下云图。
2、验证利用UMAT进行二次开发的实例
实例:最简单的杆件单轴拉伸,材料本构模型ARDMLO子A程D序;;特此殊外分,布读的取牵结
果引文力件的可U采T用RAUCRLODAFIDL ;子温程度序场。边界的 UTEMP 。
4、用户定义的单元
对于特殊类型的单元,可采用 UEL 子程序进行定义。
5、用户定义的材料特性和本构关系
几乎可以用于力学行为分析的任何分析过程,几乎可 以把用户材料属性赋予 ABAQUS 中的任何单元。
必须在 UMAT 中提供材料本构的雅可比( Jacobian) 矩阵,即应力增量对应变增量的变化率。
2、UMAT书写格式
定义了一些相关参数与变量的 精确度,从 ABAQUS 安装目 录下可找到
UMAT 中的应力矩阵、应变矩阵以及矩阵 DDSDDE、 DDSDDT、 DRPLDE 等,都是直接分量存储在前,剪切分 量存储在后。直接分量有 NDI 个,剪切分量有 NSHR 个。 各分量之间的顺序根据单元自由度的不同有一些差异,所以 编写 UMAT 时要考虑到所使用单元的类别。
Abaqus子程序UMAT和VUMAT的例子
From******************************************************************************* UMAT FOR ABAQUS/STANDARD INCORPORATING ELASTIC BEHAVIOUR FOR PLANE **** STRAIN AND AXI-SYMMETRIC ELEMENTS. *************************************************************************************************************************************************************USER SUBROUTINESUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,RPL,DDSDDT,DRPLDE,DRPLDT,STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)CINCLUDE''CCHARACTER*80 CMNAMECCDIMENSION STRESS(NTENS),STATEV(NSTATV),1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)CCPARAMETER (M=3,N=3,ID=3,ZERO=,ONE=,TWO=,THREE=,SIX=, NINE=, TOLER=CDIMENSION DSTRESS(3)CC--------------------------------------------------------------------C SPECIFY MATERIAL PROPERTIESCE = PROPS(1)XNUE = PROPS(2)CCC SET UP ELASTICITY MATRIXCE11 = E/*XNUE)E12 = E*XNUE/*XNUE)EG2 = E/(ONE+XNUE)EG = EG2/TWOCC DETERMINE STRESS INCREMENTCDSTRESS(1) = E11*DSTRAN(1)+E12*DSTRAN(2)DSTRESS(2) = E11*DSTRAN(2)+E12*DSTRAN(1)DSTRESS(3) = EG *DSTRAN(3)CC UPDATE STRESSCDO K = 1,NTENSSTRESS(K) = STRESS(K) + DSTRESS(K)END DOCC DETERMINE JACOBIANCDDSDDE(1,1) = E11DDSDDE(2,2) = E11DDSDDE(1,2) = E12DDSDDE(2,1) = E12DDSDDE(1,3) =DDSDDE(3,1) =DDSDDE(3,3) = EGCCRETURNEND********************************************************************* ** VUMAT FOR ABAQUS/Explicit INCORPORATING ELASTIC BEHAVIOUR ** ** FOR SHELL ELEMENTS under PLANE STRESS ** ******************************************************************* *USER SUBROUTINEsubroutine vumat(C Readonly-1 nblock,ndir,nshr,nstatev,nfieldv,nprops,lanneal,2 stepTime,totalTime,dt,cmname,coordMp,charLength,3 props,density,strainInc,relSpinInc,4 tempOld,stretchOld,defgradOld,fieldOld,3 stressOld,stateOld,enerInternOld,enerInelasOld,6 tempNew,stretchNew,defgradNew,fieldNew,C Writeonly-5 stressNew,stateNew,enerInternNew,enerInelasNew)Cinclude''dimension props(nprops),density(nblock),1 coordMp(nblock,*),2 charLength(*),strainInc(nblock,ndir+nshr),3 relSpinInc(*),tempOld(*),4 stretchOld(*),defgradOld(*),5 fieldOld(*),stressOld(nblock,ndir+nshr),6 stateOld(nblock,nstatev),enerInternOld(nblock),7 enerInelasOld(nblock),tempNew(*),8 stretchNew(*),defgradNew(*),fieldNew(*),9 stressNew(nblock,ndir+nshr),stateNew(nblock,nstatev),1 enerInternNew(nblock),enerInelasNew(nblock)Ccharacter*80 cmnameCCparameter ( zero = , one = , two = ,1 third = / , half = , op5 =ce = props(1)xnu = props(2)twomu = e/(one+xnu)e11 = e/*xnu)e22 = e*xnu/*xnu)if ( stepTime .eq. zero ) thendo k = 1, nblockstressNew(k,1) = stressOld(k,1)1 + e11 * strainInc(k,1) + e22 * strainInc(k,2)stressNew(k,2) = stressOld(k,2)2 + e22 * strainInc(k,1) + e11 * strainInc(k,2)stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) strainInc(k,3) = -xnu/1 *(strainInc(k,1)+strainInc(k,2))end doelsedo k = 1, nblockstressNew(k,1) = stressOld(k,1)1 + e11 * strainInc(k,1) + e22 * strainInc(k,2)stressNew(k,2) = stressOld(k,2)2 + e22 * strainInc(k,1) + e11 * strainInc(k,2)stressNew(k,4) = stressOld(k,4) + twomu * strainInc(k,4) stressNew(k,3) =write(*,*) "stressNew(k,3)=",stressNew(k,3)strainInc(k,3) = -xnu/1 *(strainInc(k,1)+strainInc(k,2))end doendifCreturnend。
ABAQUS VUMAT初学者用户子程序小例子
trace = strainInc(i,1) + strainInc(i,2) + strainInc(i,3)
sig1 = stressOld(i,1) + alamda*trace + twomu*strainInc(i,1)
sig2 = stressOld(i,2) + alamda*trace + twomu*strainInc(i,2)
4 tempOld, stretchOld, defgradOld, fieldOld,
3 stressOld, stateOld, enerInternOld, enerInelasOld,
6 tempNew, stretchNew, defgradNew, fieldNew,
C Write only -
alamda = twomu * ( e - twomu ) / ( sixmu - two * e )
term = one / ( twomu * ( one + hard/thremu ) )
con1 = sqrt( twoThirds )
C
do 100 i = 1,nblock
C
C Trial stress
用户子程序文件可以使用文本编辑器进行编辑当然也可以用fortran编译器如果对自己的用户子程序文件的语法不放心可以先用fortan编译器进行编译不过编译前要先建立project关于fortran编译这里不再介绍
上一次发过《ABAQUS 初学者用户子程序小例子》,給学习 UMAT 的初学者带来了一定的帮助。现在用到 VUMAT,发现网上 这种小例子很少,关于 VUMAT 的资料也不多。摸索了一天,做个 VUMAT 的小例子供大家分享。
ABAQUS初学者使用算例
ABAQUS初学者使用算例ABAQUS/CAE实例教程我们将通过ABAQUS/CAE完成上图的建模及分析过程。
首先我们创建几何体一、创建基本特征:1、首先运行ABAQUS/CAE,在出现的对话框内选择Create Model Database。
2、从Module列表中选择Part,进入Part模块3、选择Part→Create来创建一个新的部件。
在提示区域会出现这样一个信息。
4、CAE弹出一个如右图的对话框。
将这个部件命名为Hinge-hole,确认Modeling Space、Type和Base Feature的选项如右图。
5、输入200作为Approximate size的值。
点击Continue。
ABAQUS/CAE初始化草图,并显示格子。
6、在工具栏选择Create Lines: Rectangle(4 Lines),在提示栏出现如下的提示后,输入(20,20)和(-20,-20),然后点击3键鼠标的中键(或滚珠)。
7、在提示框点击OK按钮。
CAE弹出Edit Basic Extrusion对话框。
8、输入40作为Depth的数值,点击OK按钮。
二、在基本特征上加个轮缘1、在主菜单上选择Shape→Solid→Extrude。
2、选择六面体的前表面,点击左键。
3、选择如下图所示的边,点击左键。
4、如右上图那样利用图标创建三条线段。
5、在工具栏中选择Create Arc: Center and 2 Endpoints6、移动鼠标到(40,0.0),圆心,点击左键,然后将鼠标移到(40,20)再次点击鼠标左键,从已画好区域的外面将鼠标移到(40,20),这时你可以看到在这两个点之间出现一个半圆,点击左键完成这个半圆。
7、在工具栏选择Create Circle: Center and Perimeter8、将鼠标移动到(40,0.0)点击左键,然后将鼠标移动到(50,0.0)点击左键。
9、从主菜单选择Add→Dimension→Radial,为刚完成的圆标注尺寸。
ABAQUS初学者使用算例
ABAQUS初学者使用算例ABAQUS/CAE实例教程我们将通过ABAQUS/CAE完成上图的建模及分析过程。
首先我们创建几何体一、创建基本特征:1、首先运行ABAQUS/CAE,在出现的对话框内选择Create Model Database。
2、从Module列表中选择Part,进入Part 模块3、选择Part→Create来创建一个新的部件。
在提示区域会出现这样一个信息。
4、CAE弹出一个如右图的对话框。
将这个部件命名为Hinge-hole,确认Modeling Space、Type和BaseFeature的选项如右图。
5、输入200作为Approximate size的值。
点击Continue。
ABAQUS/CAE初始化草图,并显示格子。
6、在工具栏选择Create Lines: Rectangle(4 Lines),在提示栏出现如下的提示后,输入(20,20)和(-20,-20),然后点击3键鼠标的中键(或滚珠)。
7、在提示框点击OK按钮。
CAE弹出Edit Basic Extrusion对话框。
8、输入40作为Depth的数值,点击OK按钮。
二、在基本特征上加个轮缘1、在主菜单上选择Shape→Solid→Extrude。
2、选择六面体的前表面,点击左键。
3、选择如下图所示的边,点击左键。
4、如右上图那样利用图标创建三条线段。
5、在工具栏中选择Create Arc: Center and 2 Endpoints6、移动鼠标到(40,0.0),圆心,点击左键,然后将鼠标移到(40,20)再次点击鼠标左键,从已画好区域的外面将鼠标移到(40,20),这时你可以看到在这两个点之间出现一个半圆,点击左键完成这个半圆。
7、在工具栏选择Create Circle: Center and Perimeter8、将鼠标移动到(40,0.0)点击左键,然后将鼠标移动到(50,0.0)点击左键。
9、从主菜单选择Add→Dimension→Radial,为刚完成的圆标注尺寸。
abaqus调用子程序的方法
Abaqus运行子程序方法试了好几种调用子程序的方法最后总算找到了最简单的了,非常感谢仿真论坛上的网友的分享:首先需要装Microsoft Visual Studio(简写mvs),再装Intel Visual Fortran(IVF)。
通常的组合是Abaqus 可使用:MVS2008+ MVS2008+ 这二种组合最好都使用英文版的。
照着附录1 方法装一般没什么问题。
但是一般都是先装abaqus后才想到去装MVS以及IVF的。
很多时候都把MVS 以及 IVF装好以后才想到去验证的,而且MVS很多都是中文的,MVS不仅装的慢卸载残留也很多好麻烦。
搞了好久都验证不了,看了附录二的方法下面2个网友的回复后豁然开朗,一切都是那么简单。
附录二的方法的主要作用可能就是将VC++和Fortran的环境变量一并启动了,参考过以前版上的安装教程,通过在ABAQUS的快捷方式中添加命令,亦能够达到同样效果,同样也是不能通过verification,但是可以运行子程序,通过在ABAQUS CAE的快捷方式的目标中,添加"D:\Program Files (x86)\Intel\Compiler\Fortran\" && (跟附录1中的修改快捷方式的目标一样)达到了同样的效果(摘自ppengine,tcboywjr网友的回复)。
只需在搜索栏中搜索,再把路径添加上去照上面的形式修改便可。
本人用的是win7系统装的是(中文版)IVF11,abaqus好早就装了,装MVS2008之前装了mvs2010,发现2010不好装ivf,然后又卸了装mvs2008中文,验证时出现附录Ⅰ的情况,就C++项通不过还以为装C++2010就好了,又重装了一下mvs2010的C++(囧),发现还是用不了,校园网速太慢又不想下mvs2008(英文版),最后在附录2的方法下面发现了两位网友的分享非常感谢。
附录二的方法也试过好像运算完了会出错误,不知道什么原因。
ABAQUS初学者使用算例
ABAQUS/CAE实例教程我们将通过ABAQUS/CAE完成上图的建模及分析过程。
首先我们创建几何体一、创建基本特征:1、首先运行ABAQUS/CAE,在出现的对话框选择Create Model Database。
2、从Module列表中选择Part,进入Part模块3、选择Part→Create来创建一个新的部件。
在提示区域会出现这样一个信息。
4、CAE弹出一个如右图的对话框。
将这个部件命名为Hinge-hole,确认Modeling Space、Type和BaseFeature的选项如右图。
5、输入200作为Approximate size的值。
点击Continue。
ABAQUS/CAE初始化草图,并显示格子。
6、在工具栏选择Create Lines: Rectangle(4 Lines),在提示栏出现如下的提示后,输入(20,20)和(-20,-20),然后点击3键鼠标的中键(或滚珠)。
7、在提示框点击OK按钮。
CAE弹出Edit Basic Extrusion对话框。
8、输入40作为Depth的数值,点击OK按钮。
二、在基本特征上加个轮缘1、在主菜单上选择Shape→Solid→Extrude。
2、选择六面体的前表面,点击左键。
3、选择如下图所示的边,点击左键。
4、如右上图那样利用图标创建三条线段。
5、在工具栏中选择Create Arc: Center and 2 Endpoints6、移动鼠标到(40,0.0),圆心,点击左键,然后将鼠标移到(40,20)再次点击鼠标左键,从已画好区域的外面将鼠标移到(40,20),这时你可以看到在这两个点之间出现一个半圆,点击左键完成这个半圆。
7、在工具栏选择Create Circle: Center and Perimeter8、将鼠标移动到(40,0.0)点击左键,然后将鼠标移动到(50,0.0)点击左键。
9、从主菜单选择Add→Dimension→Radial,为刚完成的圆标注尺寸。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
alamda = twomu * ( e - twomu ) / ( sixmu - two * e )
term = one / ( twomu * ( one + hard/thremu ) )
con1 = sqrt( twoThirds )
C
do 100 i = 1,nblock
C
C Trial stress
SUBROUTINE VUMAT(
C Read only -
1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,
2 stepTime, totalTime, dt, cmname, coordMp, charLength,
3 props, density, strainInc, relSpinInc,
1 enerInternNew(nblock), enerInelasNew(nblock)
C
character*80 cmname
C
parameter( zero = 0., one = 1., two = 2., three = 3.,
1 third = one/three, half = .5, twoThirds = two/three,
6
stateNew(i,4) = stateOld(i,4) + factor * s4
C
C Update the stress
factor = twomu * dgamma
stressNew(i,1) = sig1 - factor * ds1
stressNew(i,2) = sig2 - factor * ds2
C
STATE(*,4) = back stress component 12
4
C
STATE(*,5) = equivalent plastic strain
C
C
C All arrays dimensioned by (*) are not used in this algorithm
dimension props(nprops), density(nblock),
Author: xueweek@
1 材料本构模型:
在 Property 中定义材料时,在 General 下选中 User Material,输入 210000、0.3、200、 10000,以上两个数值代表 E、ν,、fy、E’。在用户子程序中代表着 PROPS(1)、PROPS(2)、 PROPS(3)、PROPS(4)。然后在 General 下选中 Depvar,由于该例子中使用了五个状态变量 (背应力张量和累积塑性应变变量),因此在第一项中输入大于 5 的数值即可。另外还需要 输入密度。
C
C The state variables are stored as:
C
STATE(*,1) = back stress component 11
C
STATE(*,2) = back stress component 22
C
STATE(*,3) = back stress component 33
1
建模大家都会,故省略
2 ABAQUS 中 STEP 的设置
由于 VUMAT 需要用到 Explicit 求解,因此需要在 step 步骤中设置 explicit 选项,如下图, 其设置可以用默认设置。
2
3 ABAQUS 调用 VUMAT 用户子程序
同 UMAT 用户子程序的调用方法。 在 Job Manager 中点击 Edit 选项,在 General 选项的最后一项中选择自己建立好的用户 子程序文件。(注:用户子程序文件可以使用文本编辑器进行编辑,当然也可以用 Fortran 编译器,如果对自己的用户子程序文件的语法不放心,可以先用 Fortan 编译器进行编译, 不过编译前要先建立 Project,关于 Fortran 编译,这里不再介绍)。 完成后,点击 submit 即可进行分析。
上一次发过《ABAQUS 初学者用户子程序小例子》,給学习 UMAT 的初学者带来了一定的帮助。现在用到 VUMAT,发现网上 这种小例子很少,关于 VUMAT 的资料也不多。摸索了一天,做个 VUMAT 的小例子供大家分享。
实例:简单的平面平板拉伸,材料本构模型采用随动强化模型, E=210000MPa, ν=0.3,fy=200MPa, E’=10000MPa。左端约束, 右端施加位移载荷 V=0.2mm。
4 结果 以下两张图分布是用户子程序和 ABAQUS 自带的材料模型(Standard 求
解器)得到的应力云图,可以看出两种图形基本相同。
3
5 VUMAT 子程序
对于初学者来说,需要注意的是,FORTRAN 对于程序语言格式上的要求。例如,对于 FORTRAN 语言,前六个字符必须空出来,等等。检查语法最好的方法就是在 FORTRAN 编 译器上进行编译。
4 tempOld, stretchOld, defgradOld, fieldOld,
3 stressOld, stateOld, enerInternOld, enerInelasOld,
6 tempNew, stretchNew, defgradNew, fieldNew,
C Write only -
5 stressNew, stateNew, enerInternNew, enerInelasNew )
C
include 'vaba_param.inc'
C
C J2 Mises Plasticity with kinematic hardening for plane
C strቤተ መጻሕፍቲ ባይዱin case.
C Elastic predictor, radial corrector algorithm.
1 coordMp(nblock,*),
2 charLength(*), strainInc(nblock,ndir+nshr),
3 relSpinInc(*), tempOld(*),
4 stretchOld(*), defgradOld(*),
5 fieldOld(*), stressOld(nblock,ndir+nshr),
1 + ( stressOld(i,2)+stressNew(i,2) )*strainInc(i,2)
1 + ( stressOld(i,3)+stressNew(i,3) )*strainInc(i,3)
1 + two*( stressOld(i,4)+stressNew(i,4) )*strainInc(i,4) )
trace = strainInc(i,1) + strainInc(i,2) + strainInc(i,3)
sig1 = stressOld(i,1) + alamda*trace + twomu*strainInc(i,1)
sig2 = stressOld(i,2) + alamda*trace + twomu*strainInc(i,2)
stressNew(i,3) = sig3 - factor * ds3
stressNew(i,4) = sig4 - factor * s4
C
C Update the specific internal energy -
stressPower = half * (
1 ( stressOld(i,1)+stressNew(i,1) )*strainInc(i,1)
2 threeHalfs = 1.5 )
C
e = props(1)
xnu = props(2)
yield = props(3)
hard = props(4)
C
twomu = e / ( one + xnu )
thremu = threeHalfs * twomu
sixmu = three * twomu
sig3 = stressOld(i,3) + alamda*trace + twomu*strainInc(i,3)
sig4 = stressOld(i,4)
+ twomu*strainInc(i,4)
C
C Trial stress measured from the back stress
5
s1 = sig1 - stateOld(i,1) s2 = sig2 - stateOld(i,2) s3 = sig3 - stateOld(i,3) s4 = sig4 - stateOld(i,4) C C Deviatoric part of trial stress measured from the back stress smean = third * ( s1 + s2 + s3 ) ds1 = s1 - smean ds2 = s2 - smean ds3 = s3 - smean C C Magnitude of the deviatoric trial stress difference dsmag = sqrt( ds1**2 + ds2**2 + ds3**2 + 2.*s4**2 ) C C Check for yield by determining the factor for plasticity, C zero for elastic, one for yield radius = con1 * yield facyld = zero if( dsmag - radius .ge. zero ) facyld = one C C Add a protective addition factor to prevent a divide by zero C when dsmag is zero. If dsmag is zero, we will not have exceeded C the yield stress and facyld will be zero. dsmag = dsmag + ( one - facyld ) C C Calculated increment in gamma (this explicitly includes the C time step) diff = dsmag - radius dgamma = facyld * term * diff C C Update equivalent plastic strain deqps = con1 * dgamma stateNew(i,5) = stateOld(i,5) + deqps C C Divide dgamma by dsmag so that the deviatoric stresses are C explicitly converted to tensors of unit magnitude in the C following calculations dgamma = dgamma / dsmag C C Update back stress factor = hard * dgamma * twoThirds stateNew(i,1) = stateOld(i,1) + factor * ds1 stateNew(i,2) = stateOld(i,2) + factor * ds2 stateNew(i,3) = stateOld(i,3) + factor * ds3