知识点九:给圆柱面和球面施加应力边界

1.建模&第一次平衡

model new

zone create radial-cylinder point 0 0 0 0 point 1 add 18 0 0 ...
                            point 2 add 0 8 0 point 3 add 0 0 18 ...
                            dim 1.75 1.75 1.75 1.75 ratio 1.0 .83 1.0 1.2 ...
                            size 6 6 6 15 fill group 'exc'
zone create radial-cylinder point 0 0 8 0 point 1 add 18 0 0 ...
                            point 2 add 0 8 0 point 3 add 0 0 18 ...
                            dim 1.75 1.75 1.75 1.75 ratio 1.0 1.2 1.0 1.2 ...
                            size 6 6 6 15 fill group 'name'
zone face skin                            

zone cmodel assign mohr-coulomb
zone property bulk 33.33e9 she 25e9 fric 45 cohesion 15e6 ten 5e6

zone face apply velocity-normal 0 range group 'West' or 'East'
zone face apply velocity-normal 0 range group 'South' or 'North'
zone face apply velocity-normal 0 range group 'Bottom' or 'Top'
; Initial Conditions
zone initialize stress xx -65e6 yy -65e6 zz -65e6
model solve
model save 'initial'

1-①.瞬时开挖sinstantaneous excavation ★★★★★★注意瞬时开挖和逐步开挖的区别★★★★★★

; 瞬时开挖sinstantaneous excavation
zone delete range group 'exc'
zone face skin break-angle 20 ;挖掉之后再次进行分组,设置折断角是为了圆柱面与底面分开
model solve
model save 'instant'

 

1-②.; 逐步开挖gradual excavation ★★★★★★注意瞬时开挖和逐步开挖的区别★★★★★★

; 逐步开挖gradual excavation
model restore 'initial'
zone relax excavate range group 'exc'
model solve
model save 'relax'

2.圆柱面施加法向应力

model restore 'initial'
zone delete range group 'exc'
zone face skin break-angle 20 ;挖掉之后再次进行分组,设置折断角是为了圆柱面与底面分开
zone face apply stress-normal -1e10 range group "West1"



球面面施加法向应力

1.模型建立&表面分组

model new
fish define parm
     rad = 45.0      ; radius of the sphere球的半价
     len = 80.0     ; length of outer cube edge立方体外边缘的长度
     in_size = 20    ; number of zones along the outer cube edge沿着立方体外的网格数
     rad_size = 30   ; number of zones in the radial direction径向内的网格数
end
@parm
zone create radial-brick edge 80 size @in_size @in_size @in_size @rad_size ratio 1 1 1 1.01 dimension @rad @rad @rad
fish define make_sphere
; Loop over all GPs and remap their coordinates:历遍所有节点然后从新分配他们的坐标
;  assume len>rad 假设立方体边沿长度大于半价
  p_gp=gp.head ;节点id
  loop while p_gp#null ;当节点id不为空的时候
; Get gp coordinate: P=(px,py,pz)得到节点坐标
    px=gp.pos.x(p_gp)
    py=gp.pos.y(p_gp)
    pz=gp.pos.z(p_gp) ;p?等于节点轴数值
; Compute A=(ax,ay,az)=point on sphere radially "below" P 计算 A = (ax,ay,az)=P "小于"径向球面上的点
    dist=math.sqrt(px*px+py*py+pz*pz) ;球面距离公式
    if dist>0 then ;距离不等于0时
      k=rad/dist ;半径和距离的比值
      ax=px*k
      ay=py*k
      az=pz*k
; Compute B=(bx,by,bz)=point on outer box boundary radially "above" P.大于球面的但是小于立方体边界的点
      maxp=math.max(px,math.max(py,pz)) ;选取xyz最大值
      k=len/maxp ;外围边界值和最大坐标值的比值
      bx=px*k
      by=py*k
      bz=pz*k ;B的重新定义
; Linear interpolation: P=A+u*(B-A)直线切削
      u=(maxp-rad)/(len-rad)
      gp.pos.x(p_gp)=ax+u*(bx-ax)
      gp.pos.y(p_gp)=ay+u*(by-ay)
      gp.pos.z(p_gp)=az+u*(bz-az)
    end_if ;点正好在球面上,直接跳过不处理
    p_gp=gp.next(p_gp)
  end_loop ;结束循环
end
@make_sphere

zone face skin

2.球面施加应力

zone cmodel assign elastic
zone property bulk 1e10 shear .3e9 density 1980
zone face apply stress-normal -1e10 range group 'bottom2'
zone face apply velocity-normal 0 ...
                     range group 'North' or 'South' or ...
                     'East' or 'West' or 'Bottom'
; solve

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值