独善其身 发表于 2016-8-29 14:12

流固耦合分析实例

  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,1,shell63 $MP,EX,1,201E9 $MP,prxy,1,0.26 $MP,dens,1,7.85E3 $r,1,0.006
  !流体元素与材料
  ET,2,FLUID80 $MP,EX,2,1.5e9 $MP,DENS,2,0.84e3 $mp,visc,2,1.0e-10
  !以下这个keyoption怎么用? 如过用1,就会显示,显示这个错误代表要做什么修正吗?所以我暂时用KEYOPT(2) = 0就可以跑。
  KEYOPT,2,2,0
  !建立壳关键点
  K,1,10,0,0 $K,2,10,0,12
  !建立中心线关键点
  k,3,0,0,0 $k,4,0,0,20
  !定义壳壁线
  L,1,2 $L,1,3
  !以关键点3,4为中心线旋转360度生成壳体
  AROTAT,all,,,,,,3,4,360
  !划分壳体网格
  AATT,1,1,1 $esize,2 $mshape,0,3D $mshkey,2 $amesh,all $alls
  !延伸出水位体积
  VEXT,2,8,2,0,0,10,0,0,0 $vglue,all
  csys,1
  !划分水位网格
  type,2 $mat,2 $esize,2 $mshape,0,3D $mshkey,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,0 $D,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=MzA3MjM1ODQyNQ==&mid=2655947077&idx=3&sn=bf26ff1e23556006f9bb547dbc94cfaa&scene=1&srcid=0825RPAwmMoJnj4Z4p8DMimn#rd

页: [1]
查看完整版本: 流固耦合分析实例