《ABAQUS非线性用户单元的开发.pptx》由会员分享,可在线阅读,更多相关《ABAQUS非线性用户单元的开发.pptx(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、用户子程序用户子程序用户子程序为分析提供了一个非常强大、灵活的工具。用户子程序:l可以提高几个ABAQUS选项的功能,仅用数据行的方式使用这些选项可能太过严格;l用FORTRAN语言写成;l在某些情况下可以利用ABAQUS的功能程序。第1页/共29页ABAQUSABAQUS中的用户子程序:CREEP定义时间相关的粘塑性行为(蠕变和膨胀)的用户子程序DFLOW在压实分析中定义非均匀孔隙 流体速度的用户子程序DFLUX在热传导或质量扩散分析中定义非均匀分布流的用户子程序DISP定义边界条件的用户子程序第2页/共29页DLOAD定义非均匀分布载荷的用户子程序FILM在热传导分析中定义非均匀膜系数和相
2、关的下沉温度的用户子程序FLOW在压实分析中定义非均匀渗流系数和相关的下沉孔隙压力的用户子程序FRIC定义接触面摩擦行为的用户子程序GAPCON在温度位移耦合或者纯热传导分析中定义接触面或节点之间的热传导系数的用户子程序第3页/共29页GAPELECTR在热电耦合分析中定义表面间导电系数的用户子程序HARDINI定义初始等效塑性应变和初始背应力张量的用户子程序HETVAL在热传导分析中定义内部热产生的用户子程序MPC定义多点约束的用户子程序ORIENT为运动耦合约束定义局部方向或者定义局部材料取向的用户子程序第4页/共29页RSURFU定义刚性表面的用户子程序SDVINI定义依赖于解的状态变量
3、场初始值的用户子程序SIGINI定义初应力场的用户子程序UCORR定义随机响应载荷的交叉 相关属性的用户子程序UEL定义单元的用户子程序第5页/共29页非线性用户单元的开发非线性用户单元的开发动机定义用户单元UEL接口例:具有非线性截面行为的平面梁单元例:新开发的两种用户单元第6页/共29页概要概要ABAQUS/Standard提供接口,允许用户实现线性和非线性有限单元。非线性有限单元在用户子程序UEL中实现。接口允许定义任意复杂的单元。如果编写适当,用户单元可以在ABAQUS/Standard的大部分程序中应用。可以在一个UEL子程序中实现多个用户单元,这些单元可以同时使用。这里只讨论非线性
4、用户单元的实现,并采用实例说明。第7页/共29页动机动机ABAQUS/Standard是一个功能强大的分析工具,拥有一个大单元库,有500多种单元可以进行绝大部分复杂结构问题的分析。然而,在有些情况下需要开发用户单元来补充ABAQUS的单元库:所需的单元几何信息与ABAQUS已有的单元不同模拟与结构行为耦合的非结构物理过程施加依赖于解的载荷模拟主动控制机理第8页/共29页在分析程序如ABAQUS中开发用户单元而不是编写一个完全的分析程序的优点是很明显的:ABAQUS提供大量的结构单元、分析程序和建模工具。ABAQUS提供前处理和后处理。许多第三方软件提供带有ABAQUS接口的前后处理器。维护和
5、移植子程序比维护和移植一个完全的有限元程序容易的多。第9页/共29页定义用户单元定义用户单元用户单元的主要特征在编写UEL子程序前,必须先定义单元的以下主要特征:单元的节点数节点的坐标数每一个节点处的自由度数第10页/共29页其它重要的单元性质另外,必须定义下面的单元性质:需要在UEL外定义的单元性质数目每一个单元需要存储的依赖于解的状态变量数目(SDVs)可能会作用于单元上的(分布)载荷类型数目这些数目不必立即定义:它们可以很容易地在完成基本的UEL子程序后加入。第11页/共29页定义用户单元行为在一般的分析步中单元对模型的主要贡献是提供作用于节点上的“力”FN依赖于节点的自由度uN的值。如
6、果自由度是位移,那么相关的“力”为节点力。类似地,旋转对应于转矩,温度对应于热流。在非线性用户单元中“力”常常依赖于自由度的增量uN和内部状态变量H。状态变量必须在用户子程序中进行更新。第12页/共29页在一般分析步中求解(非线性)方程组需要你定义单元的刚度矩阵:刚度矩阵应包含 FN对uN所有的直接和间接的依赖性,例如在一般分析步中刚度矩阵定义的越精确,收敛性就越好。刚度矩阵确定线性扰动分析步的解,所以其定义必须精确。刚度矩阵可以为对称或非对称。第13页/共29页用户单元的复杂程度可以变化很大。在由常规单元构成的分析中可以采用简单的用户单元来达到“控制”和“反馈”的功能。复杂的非线性结构单元的
7、编制常常需要很大的工作量。如果单元由非线性材料构成,你最好用单独的子程序描述材料行为。如果材料模型是在子程序UMAT中实现的,那么可以在UEL中包含对UMAT的调用。前面对UMAT中积分的讨论同样适用于UEL中的材料模型。第14页/共29页UELUEL接口接口ABAQUS选项用户单元是用*USER ELEMENT选项定义的。在输入文件中这个选项必须出现在引用用户单元的*ELEMENT选项的前面。输入文件中用于UEL的语法如下:*USER ELEMENT,TYPE=Un,NODES=,COORDINATES=,PROPERTIES=,I PROPERTIES=,VARIABLES=,UNSYMM
8、Data lines(s)*ELEMENT,TYPE=Un,ELSET=UELData line(s)*UEL PROPERTY,ELSET=UELData line(s)*USER SUBROUTINE,(INPUT=file_name)*USER SUBROUTINE选项在ABAQUS 6.1版本中将不再用。第15页/共29页UEL接口用户子程序UEL的接口如下:SUBROUTINE UEL(RHS,AMATRX,SVARS,ENERGY,NDOFEL,NRHS,NSVARS,1 PROPS,NPROPS,COORDS,MCRD,NNODE,U,DU,V,A,JTYPE,TIME,DTIM
9、E,2 KSTEP,KINC,JELEM,PARAMS,NDLOAD,JDLTYP,ADLMAG,PREDEF,3 NPREDF,LFLAGS,MLVARX,DDLMAG,MDLOAD,PNEWDT,JPROPS,NJPROP,4 PERIOD)C INCLUDE ABA_PARAM.INCC DIMENSION RHS(MLVARX,*),AMATRX(NDOFEL,NDOFEL),1 SVARS(NSVARS),ENERGY(8),PROPS(*),COORDS(MCRD,NNODE),2 U(NDOFEL),DU(MLVARX,*),V(NDOFEL),A(NDOFEL),TIME(2)
10、,3 PARAMS(3),JDLTYP(MDLOAD,*),ADLMAG(MDLOAD,*),4 DDLMAG(MDLOAD,*),PREDEF(2,NPREDF,NNODE),LFLAGS(*),JPROPS(*)“INCLUDE”声明语句为浮点变量设置合适的精度(大部分机器上为REAL*8)。第16页/共29页UEL变量ABAQUS为用户单元UEL提供下面的变量:坐标、位移、增量位移,对于动态,还有速度和加速度增量开始时刻的状态变量SDVs总时间和增量时间、温度以及用户定义的场变量用户单元性质载荷类型及当前总载荷值和载荷增量值单元类型和用户定义的单元号分析类型标志,对于动态,积分算子值当前
11、所在的分析步数和增量步数第17页/共29页必须定义下面的变量:右手端矢量(节点流或力)刚度矩阵依赖于解的状态变量可以定义下面的变量:单元的能量(应变能、塑性耗散、动能等)建议的新时间增量所有参数的详细描述请参见ABAQUS/Standard用户手册的第6.2.18节。第18页/共29页编写和测试编写和测试UELUEL编写ABAQUS用户子程序的基本规则:遵从FORTRAN 77或C的语法。确保所有的变量都定义和初始化过。为状态变量分配足够的存储空间。ABAQUS 5.8-10版本要求FORTRAN编译器的版本为5.0;从ABAQUS 5.8-14开始,要求FORTRAN编译器的版本为6.0。第
12、19页/共29页复杂的UELs可能会存在很多潜在的问题,调试一个不收敛的包含UEL的大模型会带来不必要的困难。用只有一个单元的输入文件验证UEL:首先,用一般分析步进行测试将所有的解变量都赋值,用来验证总流(力)。其次,用线性扰动步进行测试将所有的载荷都赋值,用来验证单元的刚度矩阵。最后,用一般分析步进行测试将所有的载荷都赋值,用来验证刚度矩阵和流矢量的匹配。逐渐增大测试问题的复杂程度。如果可能,与标准ABAQUS单元的结果进行比较。第20页/共29页例例1 1:具有非线性截面行为的:具有非线性截面行为的平面梁单元平面梁单元目标分析一个平面混凝土框架结构。这个框架所受载荷很大,混凝土内已有明显
13、的非线性,但位移仍然很小,可以不考虑几何非线性。建立一个模型:直接用轴向力和弯矩描述非线性截面行为。这与选项*BEAM SECTION,SECTION=NONLINEAR GENERAL类似,但是允许轴向和弯曲项之间的耦合。忽略横向剪切变形。第21页/共29页编程要求单元采用数值积分;因此,需要在UEL中定义下面的量:单元B矩阵,用于联系轴向应变、曲率与单元位移ue:本构律矩阵D,用于联系轴向力F、弯矩M与轴向应变、曲率:第22页/共29页单元刚度矩阵:单元力矢量:采用数值积分:其中n为积分点数,li为与积分点i相关联的长度。第23页/共29页评论这个UEL所采用的描述和简单的B23单元用于几
14、何线性分析时所采用的描述基本相同。这个程序可以和*TRANSFORM一起使用。这个程序可以比较简单地推广到三维分析。将这个程序发展应用于几何非线性分析要复杂的多。即使是线性分析,每一个增量步至少调用这个程序两次(对于每一个单元):一次用于组集,一次用于恢复。然后,每一次迭代至少调用一次:组集和恢复同时进行。第24页/共29页EPZ单元界面单元,用于裂纹自主扩展起裂、加速、减速、止裂都是计算的结果第25页/共29页MSGMSG和和TNTTNT应变梯度塑性单元应变梯度塑性单元引入高阶应变应变的梯度需要形函数对坐标的二阶导数在经典的单元中只有形函数对坐标的一阶导数非局部加权积分第26页/共29页ABAQUS/explicitABAQUS/explicit的用户子程序的用户子程序1、VDLOAD:非均匀分布的荷载2、VFRIC:定义接触表面的摩擦性质3、VUMAT:定义材料本构没有用户单元接口第27页/共29页谢谢谢谢!THE END第28页/共29页ABAQUS 6.1版本发布会暨99中国地区用户会议 清华大学工程力学系谢谢大家观赏!第29页/共29页