【UINTER】关于用户手册中uinter例子的问题
浏览:14373 回答:3
各位大神: 小弟刚接触接触面子程序UINTER不久,现在在尝试ABAQUS用户手册“ABAQUS Verification Manual”4.1.20中的算例uinterx.inp 及其子程序代码 uinterx.for。
这个算例主要模拟一个二维正方形变形体(CPE4)和刚体之间的法向硬接触,for文件只需要CAE中定义1个参数。我不太清楚interaction中哪里去定义这个参数,像FRIC子程序可以在tangential behavior中选择“user defined”定义代码中需要的参数,UINTER还没找到如何去定义,hard contact中好像没有提供“user defined”之类的选项,咋整?向各位大神求助,谢谢!
祝好!
inp文件和for文件如下:
【inp】
*headinguinternx: Testing normal direction behavior only*preprint,echo=yes,model=yes,history=yes,contact=yes*node1, 0.0, 0.02, 1.0, 0.03, 1.0, 1.04, 0.0, 1.0999, 0.0,0.0*element, type=cpe4, elset=eall1, 1,2,3,4*solid section, elset=eall, material=mat11.0, *material, name=mat1*elastic1.D10, 0.3*surface, type=element,name=sl11, s1*surface, type=segments, name=mas1start, -1.0, -0.02line, 2.0, -0.02*rigid body, analytical surface=mas1, ref node=999*contact pair, interaction=intsl1, mas1*surface interaction, name=int, user, properties=11.0, 1.D11, *boundary999, 1, 2999, 6, 63, 1, 24, 2, 2*step*static0.1, 1.0*boundary999, 2, 2, 0.03*el prints,e,*node printu,rf,*print,contact=yes*contact printcstress,cdisp,*el file,freq=100s, e, *node file,freq=100u,rf,*contact file,freq=100cstress,cdisp,*output,history,freq=0*output,field,freq=0*end step
【for】 subroutine uinter(stress,ddsddr,amki,amski,flux,ddfddt,ddsddt, 1 ddfddr,statev,sed,sfd,spd,svd,scd,pnewdt,rdisp,drdisp, 2 temp,dtemp,predef,dpred,time,dtime,freqr,ciname,slname, 3 msname,props,coords,aLocalDir,drot,area,chrLngth,node,ndir, 4 nstatv,npred,nprops,mcrd,kstep,kinc,kit,linper,lOpenClose, 5 lState,lSdi,lPrint)c include 'aba_param.inc'c dimension stress(ndir),ddsddr(ndir,ndir),flux(2),ddfddt(2,2), $ ddsddt(ndir,2),ddfddr(2,ndir),statev(nstatv),rdisp(ndir), $ drdisp(ndir),temp(2),dtemp(2),predef(2,npred),dpred(2,npred), $ time(2),props(nprops),coords(mcrd),aLocalDir(mcrd,mcrd), $ drot(2,2),amki(ndir,ndir),amski(ndir,ndir) character*80 ciname,slname,msname parameter(toler = 1.D-12, zero=0.d0, one=1.d0, two=2.d0, $ half = one/two)c c User defined interfacial constitutive behavior.ccc Local variables dp = zeroc Material propertiesc ekbar = props(1) ! Modulus in the normal directionc if ( rdisp(1) .ge. toler) thenc lOpenClose = 1c Compute P_(t+dt) and T_critc dp = ekbar*drdisp(1) stress(1) = stress(1) + dp ddsddr(1,1) = ekbar else lOpenClose = 0c end ifc return end
这个算例主要模拟一个二维正方形变形体(CPE4)和刚体之间的法向硬接触,for文件只需要CAE中定义1个参数。我不太清楚interaction中哪里去定义这个参数,像FRIC子程序可以在tangential behavior中选择“user defined”定义代码中需要的参数,UINTER还没找到如何去定义,hard contact中好像没有提供“user defined”之类的选项,咋整?向各位大神求助,谢谢!
祝好!
inp文件和for文件如下:
【inp】
*headinguinternx: Testing normal direction behavior only*preprint,echo=yes,model=yes,history=yes,contact=yes*node1, 0.0, 0.02, 1.0, 0.03, 1.0, 1.04, 0.0, 1.0999, 0.0,0.0*element, type=cpe4, elset=eall1, 1,2,3,4*solid section, elset=eall, material=mat11.0, *material, name=mat1*elastic1.D10, 0.3*surface, type=element,name=sl11, s1*surface, type=segments, name=mas1start, -1.0, -0.02line, 2.0, -0.02*rigid body, analytical surface=mas1, ref node=999*contact pair, interaction=intsl1, mas1*surface interaction, name=int, user, properties=11.0, 1.D11, *boundary999, 1, 2999, 6, 63, 1, 24, 2, 2*step*static0.1, 1.0*boundary999, 2, 2, 0.03*el prints,e,*node printu,rf,*print,contact=yes*contact printcstress,cdisp,*el file,freq=100s, e, *node file,freq=100u,rf,*contact file,freq=100cstress,cdisp,*output,history,freq=0*output,field,freq=0*end step
【for】 subroutine uinter(stress,ddsddr,amki,amski,flux,ddfddt,ddsddt, 1 ddfddr,statev,sed,sfd,spd,svd,scd,pnewdt,rdisp,drdisp, 2 temp,dtemp,predef,dpred,time,dtime,freqr,ciname,slname, 3 msname,props,coords,aLocalDir,drot,area,chrLngth,node,ndir, 4 nstatv,npred,nprops,mcrd,kstep,kinc,kit,linper,lOpenClose, 5 lState,lSdi,lPrint)c include 'aba_param.inc'c dimension stress(ndir),ddsddr(ndir,ndir),flux(2),ddfddt(2,2), $ ddsddt(ndir,2),ddfddr(2,ndir),statev(nstatv),rdisp(ndir), $ drdisp(ndir),temp(2),dtemp(2),predef(2,npred),dpred(2,npred), $ time(2),props(nprops),coords(mcrd),aLocalDir(mcrd,mcrd), $ drot(2,2),amki(ndir,ndir),amski(ndir,ndir) character*80 ciname,slname,msname parameter(toler = 1.D-12, zero=0.d0, one=1.d0, two=2.d0, $ half = one/two)c c User defined interfacial constitutive behavior.ccc Local variables dp = zeroc Material propertiesc ekbar = props(1) ! Modulus in the normal directionc if ( rdisp(1) .ge. toler) thenc lOpenClose = 1c Compute P_(t+dt) and T_critc dp = ekbar*drdisp(1) stress(1) = stress(1) + dp ddsddr(1,1) = ekbar else lOpenClose = 0c end ifc return end





















在关键字里修改一下