粘弹性人工边界在ANSYS中实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
从半空间无限域取一4X2的矩形平面结构,顶部中间一定范围内受随时间变化的均布荷载,荷载如下
p(t)=t 当0< DIV>
p(t)=2-t 当1<=t<=2时
p(t)=0 当t>2时
材料弹性模量E=2.5,泊松比0.25,密度1
网格尺寸0.1X0.1,在网格边界上所有结点加法向和切向combin14号单元用以模拟粘弹性人工边界(有关理论可参考刘晶波老师的相关文章)。combine14单元的两个结点,其中一个与实体单元相连,另一个结点固定。网格图如图1所示
时程分析的时间步长为0.02秒,共计算16秒。计算得到四个控制点位移时程图如图2所示,控制点坐标A(0,2)、B(0,1)、C(0,0)、D(2,2).
计算所用命令流如下:
/PREP7
L=4 !水平长度
H=2 !竖起深度
E=2.5 !弹性模量
density=1 !密度
nu=0.25 !泊松比
dxyz=0.1 !网格尺寸
G = E/(2.*(1.+nu)) !剪切模量
alfa = E*(1-nu)/((1.+nu)*(1.-2.*nu)) !若计算平面应力,此式需要修改
Cp=sqrt(alfa/density) !压缩波速
Cs=sqrt(g/density) !剪切波速
R=sqrt(L*L/4.+H*H/4.) !波源到边界点等效长度
KbT=0.5*G/R*dxyz
KbN=1.0*G/R*dxyz
CbT=density*Cs*dxyz
CbN=density*Cp*dxyz
ET, 1, plane42,,,2 !按平面应变计算
et, 2, combin14, ,, 2 !切向
et, 3, combin14, ,, 2 !法向
r, 2, KbT, CbT
r, 3, KbN, CbN
MP, EX, 1, E
MP, PRXY, 1, nu
MP, DENS, 1, density
rectng,-L/2.,L/2,0.,H
asel, all
aesize, all, dxyz
mshape,0,2D
mshkey,1
amesh, all
!以下建立底边界法向和切向弹簧阻尼单元
nsel,s,loc,y,0.
*get,np,node,,count !得到选中的结点数,存入np
*get,npmax,node,,num,maxd !得到已经定义的最大结点数,存入npmax
*do,ip,1,np
npnum=node((ip-1)*dxyz-L/2.,0.,0.)
x=nx(npnum)
y=ny(npnum)
z=nz(npnum)
npmax=npmax+1
n,npmax,x.,y-dxyz/2,z !定义底边界法向结点以便与边界点形成法向单元type,3
real,3
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
npmax=npmax+1
n,npmax,x-dxyz/2.,y,z !定义底边界切向结点以便与边界点形成切向单元type,2
real,2
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
*enddo
!以下建立左边界法向和切向弹簧阻尼单元
nsel,s,loc,x,-L/2
*get,np,node,,count !得到选中的结点数,存入np
*get,npmax,node,,num,maxd !得到已经定义的最大结点数,存入npmax
*do,ip,2,np !侧边界最下面一个点按底边界上处理
npnum=node(-L/2,(ip-1)*dxyz,0.)
x=nx(npnum)
y=ny(npnum)
z=nz(npnum)
npmax=npmax+1
n,npmax,x-dxyz/2.,y,z !定义左边界法向结点以便与边界点形成法向单元type,3
real,3
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
npmax=npmax+1
n,npmax,x,y-dxyz/2.,z !定义左边界切向结点以便与边界点形成切向单元type,2
real,2
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
*enddo
!以下建立右边界法向和切向弹簧阻尼单元
nsel,s,loc,x,L/2
*get,np,node,,count !得到选中的结点数,存入np
*get,npmax,node,,num,maxd !得到已经定义的最大结点数,存入npmax
*do,ip,2,np !侧边界最下面一个点按底边界上处理
npnum=node(L/2,(ip-1)*dxyz,0.)
x=nx(npnum)
y=ny(npnum)
z=nz(npnum)
npmax=npmax+1
n,npmax,x+dxyz/2.,y,z !定义右边界法向结点以便与边界点形成法向单元type,3
real,3
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
npmax=npmax+1
n,npmax,x,y-dxyz/2.,z !定义右边界切向结点以便与边界点形成切向单元type,2
real,2
e,npnum,npmax
d,npmax,all,0. !约束新生成的点
*enddo
allsel,all
/pnum,type,1
/number,1