资源描述:
《ABAQUS用户子程序学习小结.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.1FORTRAN语言不区分大小写,文件扩展名为for,正文从第7列开始,第1~5列是标号区,第六列是续行标志区。1.2FORTRAN语言中的“I-N规则”:I、J、K、L、M、N开头的为整型变量,其他开头为实型变量;2DIMENSIONCOORDS(3)表示声明一个含3个元素的数组,下标分别为1、2、3,访问形式为COORDS(n),n为1~3;3子程序(*.for)文件中如何输出调试信息:WRITE(6,*)'COORDS(1)',COORDS(1),在*.dat文件中可看到输出,如果希望WRITE输出到msg文件中,则写为WRITE(7,*)'COORDS...;4用户子程
2、序DLOAD中COORDS数组的含义:COORDS(1)也是一个数组,存贮单元集合中所有单元积分点的X坐标,COORDS(2)存贮Y坐标,相应INP文件中的写法为:*DLOADPY,PYNU其中PY为单元集合名称,定义方法为:*Elset,elset=BEAM,generate1,5,1...*ELSET,ELSET=PYBEAM5DLOAD中F的定义方法:F只有定义在单元积分点上才有效,例如:F=1.0*COORDS(1)附一个简单实例:beam.inp文件:*Heading**Jobname:Job-1Modelname:beam*Preprint,echo=NO,model=
3、NO,history=NO,contact=NO****PARTS***Part,name=PART-1*EndPart****ASSEMBLY***Assembly,name=Assembly***Instance,name=PART-1-1,part=PART-1*Node1,0.,0.2,20.,0.3,40.,0.4,60.,0.5,80.,0.6,100.,0.*Element,type=B311,1,22,2,33,3,44,4,55,5,6*Elset,elset=BEAM,generate1,5,1**Region:(Section-1-BEAM:BEAM),(Be
4、amOrientation:BEAM)**Section:Section-1-BEAMProfile:Profile-1*BeamSection,elset=BEAM,material=STEEL,temperature=GRADIENTS,section=RECT0.2,5.0.,0.,-1.*EndInstance*Nset,nset=ENDS,instance=PART-1-11,6*Nset,nset=_M4,internal,instance=PART-1-16,*Nset,nset=_M5,internal,instance=PART-1-11,*EndAssembly
5、****MATERIALS***Material,name=STEEL*Elastic210000.,0.3*ELSET,ELSET=PYBEAM****BOUNDARYCONDITIONS****Name:Disp-BC-1Type:Symmetry/Antisymmetry/Encastre*Boundary_M4,ENCASTRE**----------------------------------------------------------------****STEP:Step-1***Step,name=Step-1*Static****LOADS****Name:
6、CFORCE-1Type:Concentratedforce*DLOADPY,PYNU****OUTPUTREQUESTS******FIELDOUTPUT:F-Output-1***Output,field,variable=PRESELECT****FIELDOUTPUT:F-Output-2***Output,field*ElementOutputSF,****HISTORYOUTPUT:H-Output-1***Output,history*NodeOutput,nset=ENDSCF1,CF2,CF3,CM1,CM2,CM3,RF1,RF2RF3,RM1,RM2,RM3,
7、U1,U2,U3,UR1UR2,UR3*ElPrint,freq=999999*NodePrint,freq=999999*EndStepbbb.for文件SUBROUTINEDLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,COORDS,1JLTYP,SNAME)CINCLUDE'ABA_PARAM.INC'CDIMENSIONTIME(2),COORDS(3)CHARACTER*80SNAMEWRITE(6,*)'COORDS