ADINA中进行材料本构的二次开发教程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
子程序说明: 传递的变量很多,完全满足绝大多数开发所需 常用变量:STRAIN(应变) STRESS(应力) TIME(当前时间) DT(当前时间步长) TMP1(当前温度)…
亚得科技-ADINA中国
例题:线弹性材料开发
C ...................................................................... C . C . C . ELEMENTS: Linear Elastic Model for 3-D SOLID ELEMENTS . . .
历史变量
ARRAY(LGTH1) 提供多于60个可以输出的实数型历史变量,常 用于做如屈服应力、塑性应变、应力水平等数据的存 储; IARRAY( LGTH2 ) 提供多个全局整型历史变量,往往用于程序控 制或其它用途;
亚得科技-ADINA中国
例题:线弹性材料开发
SUBROUTINE CUSER3 [DLLEXPORT] (IA,A,NG,NEL,IPT,IDEATH,STRESS, + 1 2 3 4 6 + C C ...................................................................... EPS,STRAIN,DEPS, DEPST,THSTR1,THSTR2,KTR,INTER,SCP,ARRAY,LGTH1, IARRAY,LGTH2,D,ALFA,CTD,ALFAA,CTDD,CTI, TMP1,TMP2,TIME,ETIMV,ETIMV2,DT,PHIST,PRST,RN, PHIST1,DPSP,TGRAD,INTEG,ISUBM,INDNL,DP,NELP, DPJE1D,DPJE2D,AKAPPA,PBAR,NNODE,NODNUM,XYZ, IIN,IOUT,KEY)
亚得科技-ADINA中国
例题:线弹性材料开发
同时采用ADINA提供的材料和用户自定义材料进行计算,结果应完全一致。
亚得科技Байду номын сангаасADINA中国
ADINA用户开发特征的未来发展计划
ADINA系统环境开发,目前支持开发特征比较丰富,如:
亚得科技-ADINA中国
ADINA用户开发特征的未来发展计划
ADINA编译过程简单,不需生成.exe文件,只需生成动态链接库文件 ;同时,这大大方便了多TASK用户对开发特征的使用;
例题:线弹性材料开发
C*I C*I K E Y = 2 INTEGRATION OF ELEMENT STRESSES ( CALCULATE STRESS(6) ) 2 CONTINUE C*I C C YM=CTI(1) PR=CTI(2) g2=YM/(1.0+PR) g=0.5*g2 C davg=(-STRAIN(1)-STRAIN(2)-STRAIN(3))*C1D3 p=-davg*YM/(1.0-2.0*PR) C STRESS(1)=p+g2*(STRAIN(1)+davg) STRESS(2)=p+g2*(STRAIN(2)+davg) STRESS(3)=p+g2*(STRAIN(3)+davg) STRESS(4)=g*STRAIN(4) STRESS(5)=g*STRAIN(5) STRESS(6)=g*STRAIN(6) C RETURN * * *
执行第二段程序
I N S E R T U S E R - S U P P L I E D M A T E R I A L F O R C O D I N G 3 - D S O L I D E L E M E N T S E L A S T I C
L I N E A R
定义STRESS与STRAIN的关系
执行第四段程序
I N S E R T
U S E R - S U P P L I E D
C O D I N G
PRINT HEADING AND ELEMENT NUMBER (略)
结果输出控制: 采用例子中的程序即可,一般无需改动。
程序结束
亚得科技-ADINA中国
例题:线弹性材料开发
材料参数在ADINA AUI中输入,采用ADINA的User-Supplied材料模式;对应于用户 定义程序,则CTI(1)=2e11赋值到YM,CTI(2)=0.3赋值到PR;
形成材料矩阵 如果开发非线性弹性材料不需改动; 如果开发塑性、粘塑性、混凝土则部分参数需要改动;
亚得科技-ADINA中国
C*I C*I C
K E Y = 4 PRINTING OF ELEMENT RESPONSE ( PRINT STRESS(6),STRAIN(6) )
4 CONTINUE C*I C C C RETURN END * * *
Appendix 1 用户自定义材料本构
亚得科技-ADINA中国
主要内容
开发环境 子程序及入口条件 材料本构子程序及求解输入文件描述 举例说明Duncan & Chang E-B模型的二次开发过程 ADINA用户开发特征的未来发展计划
亚得科技-ADINA中国
开发环境
ADINA8.1版本的开发环境为Compaq Visual Fortran 6.6A;
变量声明: 采用ADINA开发实例中的变量声明即可。
亚得科技-ADINA中国
例题:线弹性材料开发
C GO TO (1,2,3,4), KEY C*I C*I C*I C*I C*I C*I C*I 1 CONTINUE C*I DO 11 I = 1,LGTH1 11 ARRAY(I) = 0.0 DO 12 I = 1,LGTH2 12 IARRAY(I) = 0 C RETURN 亚得科技-ADINA中国 初始化两个数组,用于存放历 史变量(ADINA在后处理时像位 移、应力等变量显示这些数值 ),LGTH1和LGTH2是在AUI中输 入的整数,有缺省值。 执行第一段程序 INITIALIZE COMPONENTS OF REAL AND INTEGER WORKING ARRAYS ( INITIALIZE ARRAY(60) AND IARRAY(2) ) K E Y = 1 将整个程序分为四段
c c c c c c strain(1)= strain(2)= strain(3)= strain(4)= strain(5)= strain(6)=
AUI输入参数
εx应变 εy应变 εz应变 εxy应变 εyz应变 εzx应变
C CTDD(98)=… c c C CTI(1)=young's modulus CTI(2)=poisson's ratio CTI(n) =…
C ...................................................................... C . C . C . C . C . C . YM PR YOUNG'S MODULUS (INPUT) POISSON'S RATIO (INPUT) ADDITIONAL VARIABLES: . . . . . .
亚得科技-ADINA中国
3 CONTINUE C*I C * * *
执行第三段程序
I N S E R T U S E R - S U P P L I E D C O D I N G
ELASTIC CONSTITUTIVE MATRIX YM=CTI(1) PR = CTI(2) DO 315 I = 1,6 DO 315 J = 1,6 315 D(I,J) = 0.D0 CM = YM/(1. - 2.*PR) AE = (1. + PR)/YM CP = AE CP = 1./CP C11 = (CM + 2.*CP)/3. C12 = (CM - CP)/3. D(1,1) = C11 D(1,2) = C12 D(1,3) = C12 D(2,2) = C11 D(2,3) = C12 D(3,3) = C11 D(4,4) = 0.5*CP D(5,5) = D(4,4) D(6,6) = D(5,5) DO 320 I = 1,3 DO 320 J = I,3 320 D(J,I) = D(I,J) RETURN
方式是通过ADINA(对所有用户)提供的Makefile自动进行链接各个*.f(20 余个实例文件)文件生成动态链接库文件,针对不同的求解器开发,提供不 同的Makefile文件,包括:
ADINA模块:adusr.dll ADINA-T模块:atusr.dll ADINA-F模块:afusr.dll ADINA-FSI模块:adfusr.dll ADINA-TMC模块:adtusr.dll
亚得科技-ADINA中国
开发过程
将用户自定义的本构代替*.f中的相关本构描述; ADINA提供两种本构示例Fortran文件,一类是0vl3*.f文件,用于2D模型单元 的本构;一类是0vl4*.f文件,用于2D模型单元的本构; 编辑Makefile.adusr文件,修改其中的参数: MAT2D_OBJ = ovl30u_pl1.obj (2D模型) MAT3D_OBJ = ovl40u_pl1.obj (3D模型) 编译过程: Cd D:\adina80\adina ...\DF98\bin\dfvars nmake /f makefile.asusr 则生成新的动态链接库文件,即adusr.dll。
C c c c c
常用的其它参量
TIME = 当前时间 DT = 当前时间步长 TEMP1 = 当前温度
亚得科技-ADINA中国
结构本构开发出口条件
求解变量
STRESS(1)= σ xx STRESS(2)= σ yy STRESS(3)= σ zz STRESS(4)= σ xy STRESS(5)= σ xz STRESS(6)= σ yz
ADINA正在计划将常用的开发特征如材料本构的开发、单元特性开发、 施加载荷开发进行重新设计,只需要用户提供描述本构或单元的核心语 句即可,其它工作ADINA自动处理。届时,用户在ADINA基础上进行核心 部分的开发过程将更加简单、高效。
亚得科技-ADINA中国
开发过程
在ADINA AUI界面中采用User-Supplied模式,并输入其中的参数,这些参 数与ADINA子程序中的变量一一对应,用于材料本构的计算; 常用参数如:
LGTH1 LGTH2
CTD(99) CTI(99)
亚得科技-ADINA中国
结构本构开发入口条件
已知参数
C IMPLICIT DOUBLE PRECISION ( A-H,O-Z ) DIMENSION IA(*),A(*) REAL A DIMENSION STRESS(6),STRAIN(6),DEPS(6),D(6,6),EPS(6) DIMENSION DEPST(6),THSTR1(6),THSTR2(6) DIMENSION PHIST(3,3),PRST(3),DPSP(6),TGRAD(3) DIMENSION ARRAY(*),IARRAY(*) DIMENSION CTD(98),CTDD(98),CTI(99),SCP(99) DIMENSION DP(6,6) DIMENSION RN(3,3) DIMENSION NODNUM(*),XYZ(3,*) DIMENSION DPJE1D(6),DPJE2D(6,6) DIMENSION STDEV(6),EDP(6),TOLER(2) DIMENSION EPR(6),DPLAST(6) SAVE AE,BK,XLMBDA,DFPL,EDP,EFST,EP,DCOEF DATA TOL1 / 1.E-2 / DATA C1D3 / .33333333333333D0 / DATA C2D3 / .66666666666666D0 / DATA XVUFL/ 1.D-300/ TOLER(1)=TOL1 TOLER(2)=XVUFL C
C ......................................................................
程序中的注释部分: 一般程序中主要使用的中间变量给予说明; 如上面说明YM在程序中代表弹性模型;PR代表波松比;
亚得科技-ADINA中国
例题:线弹性材料开发