说明
本系列文章本人基本没有原创贡献,都是在学习过程中找到的相关书籍和教程相关内容的汇总和梳理编辑。为了尊重原创者成果,本人在本系列文章后面列出了参考和引用的文献来源。
DISP子程序
功能:
该用户子程序用于指定预定义边界条件强制边界条件或者又可称为第类边界条件,它可用于定义各种类型自由度的边界条件,可以是时间和坐标的函数。
SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS)
主要参数:
1 是当前节点上指定变量总的值。指定的变量可以是位移、旋转自由度、孔隙压力、温度等,
由用户在分析输入文件即中指定的自由度决定。U(1)表示位移,U(2)表示速度,U(3)表示加速度。2 KSTEP,KINC为ABAQUS传到用户子程序当前的STEP和INCREMENT值;
3 TIME(1),TIME(2)为当前STEP TIME和INCREMENT TIME的值;
4 NODE,NOEL为节点编号和单元编号;
5 JDOF为自由度;
-
6 COORDS为当前积分点的坐标;
示例描述:
边界条件是时间和节点编号的函数,即:$$f(x)=1.5sin(0.1\pi t)+0.5cos(0.1\pi t)$$SUBROUTINE DISP(U,KSTEP,KINC,TIME,NODE,NOEL,JDOF,COORDS) C INCLUDE 'ABA_PARAM.INC' C DIMENSION U(3),TIME(2),COORDS(3) C C THE PRIMARY FUNCTION IS F(T)=1.5 SIN(OMEGA T) + .5 COS(OMEGA T) C WHERE OMEGA IS .1 PI AND T THE CURRENT TIME. C THE APPROPRIATE INTEGRALS AND DERIVATIVES ARE COMPUTED ACCORDINGLY. C OMEGA=.314159 AOMGT=OMEGA*TIME(2) CS=COS(AOMGT) SN=SIN(AOMGT) AN=.5 BN=1.5 IF(NODE.EQ.2.AND.JDOF.EQ.1) THEN C 在节点编号为2的点处定义位移边界 U(1)=AN*CS+BN*SN U(2)=OMEGA*(-AN*SN+BN*CS) U(3)=-OMEGA**2*(AN*CS+BN*SN) ELSE IF(NODE.EQ.3.AND.JDOF.EQ.1) THEN C 在节点编号为3的点处定义速度 U(1)=(AN*SN+BN*(1.0-CS))/OMEGA U(2)=AN*CS+BN*SN U(3)=OMEGA*(-AN*SN+BN*CS) ELSE IF(NODE.EQ.4.AND.JDOF.EQ.1) THEN C 在节点编号为4的点处定义加速度 U(1)=(AN*(1.0-CS)+BN*(AOMGT-SN))/OMEGA**2 U(2)=(AN*SN+BN*(1.0-cs))/OMEEGA U(3)=AN*CS+BN*SN ENDIF RETURN END
Refence
- 1.《基于ABAQUS的有限元分析和应用》,庄茁、由小川等 , 清华大学出版社
- 2.《ABAQUSA有限元分析--从入门到精通》, 刘展、钱英莉 ,人民邮电出版社
- 3.《浅谈ABAQUS用户子程序》,李青 清华大学工程力学系
- 4.《ABAQUS_Fortran二次开发》,百度文库xueni408上传文章(找不到原文出处,在此备注)
- 5.《Abaqus二次开发高级专题》,百度文库54yiwei上传
- 6.《ABAQUS二次开发基础》,百度文库千山暮雪婷上传