关于的ansys经典的附加质量和fluid30单元结果不一样
我只需要这些简单的算例,还想知道怎么求动水压力?(附加质量的和势流体的动水压力)图片是我对比了附加质量和势流体法的结果,结果差好多啊。(希望能够有偿的请教大神:QQ1158877067)下面我附加两个命令流,各位大神看看,命令流全是我自己写的,不知道哪里有问题
!======附加质量
finish
/clear
/prep7
!***************************************
!建立实体模型
et,1,shell63
et,2,mass21
!***************************************
R,1,0.01
mp,ex,1,2.1e11
mp,prxy,1,0.274
mp,dens,1,7830
!***************************************
!建立有限元模型
blc4,,,10,10
wgsize=0.5
esize,wgsize
aatt,1,1,1
amesh,all
!***************************************
nsel,s,loc,y,0
d,all,all
allsel
*do,a,43,61,1 !10m高程处施加上游附加质量
r,3,0,0,0
type,2
real,3
e,a
*enddo
type,2
real,3
e,42
e,22
re=3
*do,i,1,19
re=re+1
*do,j,100-i,442-i,19
Ai%j%=arnode(j)
r,re,,,7/8*1000*sqrt(10*0.5*i)*Ai%j%,
type,2
real,re
e,j
*enddo
type,2
Ai%(61+i)%=arnode(61+i)
re=re+1
r,re,,,7/8*1000*sqrt(10*0.5*i)*Ai%(61+i)%
real,re
e,61+i
type,2
Ai%(42-i)%=arnode(42-i)
re=re+1
r,re,,,7/8*1000*sqrt(10*0.5*i)*Ai%(42-i)%
real,re
e,42-i
*enddo
re=re+1
*do,k,3,21
Ai%(k)%=arnode(k)
r,re,,,7/8*1000*sqrt(10*10)*Ai%(k)%,0,0
type,2
real,re
e,k
*enddo
type,2
Ai1=arnode(1)
re=re+1
r,re,,,7/8*1000*sqrt(10*10)*Ai1,0,0
real,re
e,1
type,2
Ai2=arnode(2)
re=re+1
r,re,,,7/8*1000*sqrt(10*10)*Ai2,0,0
real,re
e,2
allsel
/solu
antype,modal
modopt,subsp,6
MXPAND,6,0,0,1,0.05
outpr,all
outres,all,all
/output,3,txt
nsel,s,loc,y,0
d,all,ux,,,,,uy
alls
solv
fini
/CONFIG,NRES,3000
/SOLU
ANTYPE,TRANS !时程分析
TRNOPT,FULL !完全法求解并输出所有结果
OUTRES,ALL,ALL
OUTPR,ALL,ALL
KES=0.05 !定义阻尼比
*GET,M,MODE,1,FREQ
*GET,N,MODE,2,FREQ !提取前两阶振动频率
PI =3.14159
W1 =M*2*PI ! 转换为角频率
W2 =N*2*PI ! 转换为角频率
ALPHAD,2*KES*W1*W2/(W1+W2) ! 指定系数ALPHA
BETAD,2*KES/(W1+W2) ! 指定系数BETA
DT=0.01 !时间步长
*DO,TM,1,300 !求解
TIME,TM*DT
ACE=SIN(10*TM*DT)
ACEL,,,ACE
allsel
SOLVE
*ENDDO
FINISH
/post26
*DIM,XDJSD,ARRAY,400,21
*DIM,XDJSD_H,ARRAY,400,21
*DIM,JDJSU,ARRAY,400
*DIM,JDJSUMAX,ARRAY,21
NUMVAR,22
*do,i,0,20
ND_A=node(5,10-i*0.5,0)
nsol,i+2,ND_A,a,z
vget,XDJSD(1,i+1),i+2
*enddo
*do,i,0,20
*DO,TM,1,300
DT=0.01
ACE=SIN(10*TM*DT)
XDJSD_H(TM,i+1)=XDJSD(TM,i+1)-SIN(10*TM*DT)
*ENDDO
*enddo
*DO,I,0,20
FRISTMAX=0
*do,J,1,300
*IF,FRISTMAX,GE,XDJSD_H(J,i+1),THEN
FRISTMAX=FRISTMAX
*ELSE
FRISTMAX=XDJSD_H(J,i+1)
*ENDIF
*enddo
FRISTMIN=0
*do,JJ,1,300
*IF,FRISTMIN,LE,XDJSD_H(JJ,i+1),THEN
FRISTMIN=FRISTMIN
*ELSE
FRISTMIN=XDJSD_H(JJ,i+1)
*ENDIF
*enddo
*IF,ABS(FRISTMAX),GE,ABS(FRISTMIN),THEN !大于等于
FRISTAMAX=ABS(FRISTMAX)
*ELSE
FRISTAMAX=ABS(FRISTMIN)
*ENDIF
JDJSUMAX(i+1)=FRISTAMAX
*ENDDO
*create,sc,mac
*CFOPEN,erzuo,TXT
*VWRITE,JDJSUMAX(1)
%.3f
*CFCLOS
*end
sc
*LIST,erzuo,TXT
!======势流体
finish
/clear
/prep7
!***************************************
!建立实体模型
et,2,shell63
et,3,fluid30,,1,0
!建立接触面的流体单元
et,4,fluid30,,0,0
!***************************************
mp,ex,2,2.1e11
mp,prxy,2,0.274
mp,dens,2,7830
mp,dens,3,1000
mp,sonc,3,1.44e3
mp,ex,3,1430*1430*1000
mp,mu,3,0
mp,dens,4,1000
mp,sonc,4,1.44e3
mp,mu,4,1
mp,ex,4,1430*1430*1000
R,2,0.01
!***************************************
!建立有限元模型
blc4,1,,40,10,10
wgsize=0.5
esize,wgsize
vsel,s,loc,x,1,41
vatt,3,,3
allsel,all
vmesh,all
asel,s,loc,x,1
aatt,2,2,2
amesh,all
esel,s,type,,3
nsel,s,loc,x,1
esln,r
emodif,all,type,4
nsel,s,loc,x,41
esln,s
emodif,all,mat,4
allsel
!***************************************
esel,s,type,,2
nsle,s
nsel,r,loc,y,0
d,all,all
esel,s,type,,3
nsle,s
nsel,r,loc,y,10
d,all,pres,0
allsel
!nsel,s,loc,z,-100
!nsel,a,loc,z,0
!nsel,r,loc,x,80,80+beishu*105
!d,all,pres,0
!nsel,s,loc,x,80+beishu*105
!d,all,pres,0
!nsel,s,loc,y,0
!nsel,r,loc,x,80,80+beishu*105
!d,all,uz
asel,s,loc,x,1
sfa,all,,fsi !定义流固耦合界面
allsel
/solu
antype,modal
modopt,unsym,10
MXPAND,6,0,0,1,0.05
outpr,all
outres,all,all
/output,3,txt
solv
fini
/CONFIG,NRES,3000
/SOLU
ANTYPE,TRANS !时程分析
TRNOPT,FULL !完全法求解并输出所有结果
OUTRES,ALL,ALL
OUTPR,ALL,ALL
KES=0.05 !定义阻尼比
*GET,M,MODE,1,FREQ
*GET,N,MODE,2,FREQ !提取前两阶振动频率
PI =3.14159
W1 =M*2*PI ! 转换为角频率
W2 =N*2*PI ! 转换为角频率
ALPHAD,2*KES*W1*W2/(W1+W2) ! 指定系数ALPHA
BETAD,2*KES/(W1+W2) ! 指定系数BETA
DT=0.01 !时间步长
*DO,TM,1,300 !求解
TIME,TM*DT
ACE=SIN(10*TM*DT)
ACEL,ACE
allsel
SOLVE
*ENDDO
FINISH
esel,s,type,,2
nsle,s,
/post26
*DIM,XDJSD,ARRAY,400,21
*DIM,XDJSD_H,ARRAY,400,21
*DIM,JDJSU,ARRAY,400
*DIM,JDJSUMAX,ARRAY,21
NUMVAR,42
*do,i,0,20
ND_A=node(1,10-i*0.5,0)
nsol,i+2,ND_A,pres
vget,XDJSD(1,i+1),i+2
*enddo
*do,i,0,20
*DO,TM,1,300
DT=0.01
ACE=SIN(10*TM*DT)
XDJSD_H(TM,i+1)=XDJSD(TM,i+1)
*ENDDO
*enddo
*DO,I,0,20
FRISTMAX=0
*do,J,1,300
*IF,FRISTMAX,GE,XDJSD_H(J,i+1),THEN
FRISTMAX=FRISTMAX
*ELSE
FRISTMAX=XDJSD_H(J,i+1)
*ENDIF
*enddo
FRISTMIN=0
*do,JJ,1,300
*IF,FRISTMIN,LE,XDJSD_H(JJ,i+1),THEN
FRISTMIN=FRISTMIN
*ELSE
FRISTMIN=XDJSD_H(JJ,i+1)
*ENDIF
*enddo
*IF,ABS(FRISTMAX),GE,ABS(FRISTMIN),THEN !大于等于
FRISTAMAX=ABS(FRISTMAX)
*ELSE
FRISTAMAX=ABS(FRISTMIN)
*ENDIF
JDJSUMAX(i+1)=FRISTAMAX
*ENDDO
*create,sc,mac
*CFOPEN,erzuo,TXT
*VWRITE,JDJSUMAX(1)
%.3f
*CFCLOS
*end
sc
*LIST,erzuo,TXT
页:
[1]