流固耦合分析实例
本帖最后由 久病成欢 于 2016-8-30 14:31 编辑length=2 !定义体各种变量参数,长宽高
width=3
height=2
/prep7
et,1,63 !选用壳模型
et,2,30 !选用FLUID30单元,用于流固耦合问题
r,1,0.01 增加实常数,壳厚为0.01
mp,ex,1,2e11
mp,nuxy,1,0.3
mp,dens,1,7800 !定义壳单元的各种单元属性
mp,dens,2,1000 !定义Acoustics材料来描述流体材料-水
mp,sonc,2,1400 !定义声单元声速
mp,mu,0, !定义吸声系数
!
block,,length,,width,,height !建立长方体
esize,0.5
mshkey,1
!
type,1 !选择壳单元
mat,1
real,1
asel,u,loc,y,width !选择面
amesh,all !划分面单元
alls !选择所有项
!
type,2 !选择声单元
mat,2
vmesh,all !划分体单元
fini
/solu
antype,2
modopt,unsym,10 !非对称模态提取方法处理流固耦合问题
eqslv,front
mxpand,10,,,1
nsel,s,loc,x,
nsel,a,loc,x,length
nsel,r,loc,y
d,all,,,,,,ux,uy,uz,
nsel,s,loc,y,width,
d,all,pres,0 !上面几步为定义边界条件和约束
alls
asel,u,loc,y,width,
sfa,all,,fsi !定义流固耦合界面
alls !选择所有项
solv !求解
fini
/post1 !后处理
set,first
plnsol,u,sum,2,1 !显示图形
fini
/PREP7
!定义壳材料与性质
!壳元素与材料
ET,2,FLUID80 MP,EX,2,1.5e9MP,EX,2,1.5e9MP,DENS,2,0.84e3 mp,visc,2,1.0e−10 !以下这个keyoption怎么用?如过用1,就会显示,显示这个错误代表要做什么修正吗?所以我暂时用KEYOPT(2)=0就可以跑。 KEYOPT,2,2,0
!建立壳关键点
K,1,10,0,0mp,visc,2,1.0e−10
!以下这个keyoption怎么用?如过用1,就会显示,显示这个错误代表要做什么修正吗?所以我暂时用KEYOPT(2)=0就可以跑。
KEYOPT,2,2,0
!建立壳关键点
K,1,10,0,0K,2,10,0,12
!建立中心线关键点
k,3,0,0,0 k,4,0,0,20
!定义壳壁线
L,1,2k,4,0,0,20
!定义壳壁线
L,1,2L,1,3
!以关键点3,4为中心线旋转360度生成壳体
AROTAT,all,,,,,,3,4,360
!划分壳体网格
AATT,1,1,1 esize,2esize,2mshape,0,3D mshkey,2mshkey,2amesh,all alls
!延伸出水位体积 VEXT,2,8,2,0,0,10,0,0,0alls
!延伸出水位体积
VEXT,2,8,2,0,0,10,0,0,0vglue,all
csys,1
!划分水位网格
type,2 mat,2mat,2esize,2 mshape,0,3Dmshape,0,3Dmshkey,1 vmesh,all
alls
!以上建模应该没太大问题
!以下是耦合,我在流固界面上的网格是重合节点,特别是下面这两段落我很不确定该怎么设定,感觉问题就出在这边了!这里解决了应该就可以。要怎么改?或是用CP?或是NUMMRG?重点是流体和固体要一起动,通常设定不好就流体自己动,或是流体都跑到壳体外面去了,流体跟壳不应该穿越,而是一起有行为。
csys,1!将工作平面定义为柱坐标。
nsel,s,loc,x,10
nrotate,all!旋转节点坐标系。
CPINTF,UX,0.0001,!将径向约束(即X方向)加到节点上。
nsel,s,loc,z,0
nrotate,all
CPINTF,UZ,0.0001,
!边界条件,将底部固定,并给予Z方向加速度。
NSEL,S,LOC,Z,0vmesh,all
alls
!以上建模应该没太大问题
!以下是耦合,我在流固界面上的网格是重合节点,特别是下面这两段落我很不确定该怎么设定,感觉问题就出在这边了!这里解决了应该就可以。要怎么改?或是用CP?或是NUMMRG?重点是流体和固体要一起动,通常设定不好就流体自己动,或是流体都跑到壳体外面去了,流体跟壳不应该穿越,而是一起有行为。
csys,1!将工作平面定义为柱坐标。
nsel,s,loc,x,10
nrotate,all!旋转节点坐标系。
CPINTF,UX,0.0001,!将径向约束(即X方向)加到节点上。
nsel,s,loc,z,0
nrotate,all
CPINTF,UZ,0.0001,
!边界条件,将底部固定,并给予Z方向加速度。
NSEL,S,LOC,Z,0D,ALL,ALL $acel,,,9.8
fini
/solu
antype,modal
modopt,reduc,10,,
mxpand,10,
csys,1 !Z上柱坐标系
!定义主自由度,由图显示感觉是没问题,但我也不太确定。
Esel,s,type,,1 !选择壳
Nsle,s,all !所有点
Nsel,u,loc,z,0 !排除边界条件
m,all,ux !(径向)x方向的主自由度
Esel,s,type,,2 !选择液体
Nsel,s,loc,z,10 !再选择液面表面
m,all,uz !(竖向)z方向的主自由度
alls
solve
fini
水坝空库
/BATCH
KEYW,PR_SET,1
KEYW,PR_STRUC,1
KEYW,PR_THERM,0
KEYW,PR_FLUID,0
KEYW,PR_ELMAG,0
KEYW,MAGNOD,0
KEYW,MAGEDG,0
KEYW,MAGHFE,0
KEYW,MAGELC,0
KEYW,PR_MULTI,0
KEYW,PR_CFD,0
/GO
!*
/prep7
!* define material proterties
mp,dens,1,2650. !mat 1 for dam
mp,ex,1,3.15e10
mp,prxy,1,.167
!* define element type
et,1,PLANE42,,,2
!* define geometry
lwater=618.
k, 1,0.0,0.0,0.0
k, 2,70.2,0.,0.
k, 3,0.,66.5,0.
k, 4,21.9875,66.5,0.
k, 5,0.,103.,0.
k, 6,14.8,103.,0.
a, 1, 2, 4, 3
a, 3, 4, 6, 5
asel,s,loc,x,0.,100.
aatt,1,,1
cm,adam,area
allsel,all
!* mesh geometry
ESIZE,0,10
lsel,s,loc,y,0.1,66. !坝下部剖分分数
lesize,all,,,15
mshape,0,2D
mshkey,1
allsel,all
amesh,all
finish
/solu
antype,modal
MODOPT,LANB,30
MXPAND,30, , ,0
esel,s,mat,,1 !坝体约束
nsle,s
nsel,r,loc,y,-1.0,1.0
d,all,ux,0.
d,all,uy,0.
/pbc,all,,1
/pnum,type,1
/number,1
gplot
allsel,all
save
solve
满库
/BATCH
KEYW,PR_SET,1
KEYW,PR_STRUC,1
KEYW,PR_THERM,0
KEYW,PR_FLUID,0
KEYW,PR_ELMAG,0
KEYW,MAGNOD,0
KEYW,MAGEDG,0
KEYW,MAGHFE,0
KEYW,MAGELC,0
KEYW,PR_MULTI,0
KEYW,PR_CFD,0
/GO
!*
/prep7
!* define material proterties
mp,dens,1,2650. !mat 1 for dam
mp,ex,1,3.15e10
mp,prxy,1,.167
mp,dens,2,1000. !mat 2 for water
mp,sonc,2,1440
!* define element type
et,1,PLANE42,,,2
et,2,29
et,3,29,,1
!* define geometry
lwater=618.
k, 1,0.0,0.0,0.0
k, 2,70.2,0.,0.
k, 3,0.,66.5,0.
k, 4,21.9875,66.5,0.
k, 5,0.,103.,0.
k, 6,14.8,103.,0.
k, 7,-1.*lwater,103.,0.
k, 8,-1.*lwater,66.5,0.
k, 9,-1.*lwater,0.,0.
a, 1, 2, 4, 3
a, 3, 4, 6, 5
a, 8, 3, 5, 7
a, 9,1, 3, 8
asel,s,loc,x,0.,100.
aatt,1,,1
cm,adam,area
asel,s,loc,x,-1*lwater,0.
aatt,2,,3
cm,awater,area
allsel,all
!* mesh geometry
ESIZE,0,10
lsel,s,loc,y,0.1,66. !坝下部剖分分数
lesize,all,,,15
lsel,s,loc,x,-0.1,-1*lwater-1. !水体长度方向剖分分数
lsel,r,loc,y,-0.1,67.
lesize,all,,,40,0.5
lsel,s,loc,x,-0.1,-1*lwater-1. !水体长度方向剖分分数
lsel,r,loc,y,100.,104.
lesize,all,,,40,2.0
mshape,0,2D
mshkey,1
allsel,all
amesh,all
!更改与水体接触的单元类型
esel,s,type,,3
nsle,s
nsel,r,loc,x,-1.,1.
esln,r
emodif,all,type,2
allsel,all
finish
/solu
antype,modal
MODOPT,UNSYM,30
MXPAND,30, , ,0
/pnum,type,1
/number,1
nsel,s,loc,x,-1.,1. !库水坝体FSI面
esln,s
esel,r,mat,,2
sf,all,fsi
esel,s,mat,,1 !坝体约束
nsle,s
nsel,r,loc,y,-1.0,1.0
d,all,ux,0.
d,all,uy,0.
esel,s,mat,,2 !水体表面约束
nsle,s
nsel,r,loc,y,102.,104.
d,all,pres,0.
/pbc,all,,1
/psf,fsi,,2
allsel,all
gplot
save
solve
转自:http://mp.weixin.qq.com/s?__biz= ... mMoJnj4Z4p8DMimn#rd
页:
[1]