dongxx0221 发表于 2017-4-14 19:35:57

Cam-clay: Specific volume is negative

本帖最后由 dongxx0221 于 2017-4-16 17:33 编辑

;
def cam_para_GR
    _dens=1700
    _fri=30
    _Cu=5e6
    _e0=0.36
    _lambda=0.133
    _kappa=0.034
    _mp1=1e3
    ;_mv_l=
    _pratio=0.3
    _bulk_bound=100*10e6
    _OCR=1.0

    pnt=zone_head

loop while pnt # null
    if z_group(pnt)='GR' then

      z_prop(pnt,'dens')=_dens
      z_prop(pnt,'poisson')=_pratio
      z_prop(pnt,'lambda')=_lambda
      z_prop(pnt,'kappa')=_kappa
      z_prop(pnt,'mp1')=_mp1

      abs_sxx=abs(z_sxx(pnt))    ;|sxx|
      abs_syy=abs(z_syy(pnt))    ;|syy|
      abs_szz=abs(z_szz(pnt))    ;|szz|

      p0=(abs_sxx+abs_syy+abs_szz)/3.0
      p0_effective=p0-z_pp(pnt)
      q0=sqrt(((abs_sxx-abs_syy)^2+(abs_syy-abs_szz)^2+(abs_szz-abs_sxx)^2)*0.5)
      z_prop(pnt,'cam_cp')=p0_effective

      _mm=6.0*sin(_fri*degrad)/(3.0-sin(_fri*degrad))
      z_prop(pnt,'mm')=_mm

      temp1=q0/(z_prop(pnt,'mm')*p0_effective)
      pc0=p0_effective*(1.0+temp1^2)*_OCR
      z_prop(pnt,'mpc')=pc0

      _v0=1.0+_e0
      _mv_l=_v0+_lambda*ln(2.0*_Cu/(_mm*_mp1))+(_lambda-_kappa)*ln(2.0)
      z_prop(pnt,'mv_l')=_mv_l
      z_prop(pnt,'bulk_bound')=_bulk_bound
      ;z_prop(pnt,'bulk_bound')=100*(s_mod+4.0/3.0*s_mod)
      z_prop(pnt,'cv')=z_prop(pnt,'mv_l')-(ln(pc0)-ln(1000.))*z_prop(pnt,'lambda')+(ln(pc0)-ln(p0_effective))*z_prop(pnt,'kappa')
    endif

    pnt=z_next(pnt)
end_loop
end
cam_para_GR

dongxx0221 发表于 2017-4-14 19:37:41

本帖最后由 dongxx0221 于 2017-4-16 17:06 编辑

提示比容cv为负,把mv_l 写成 mv_1了


又出现这个。。。
*** Cam-clay:Yield envelope cannot be reached

有人说是孔压问题,用总应力计算也一样

dongxx0221 发表于 2017-4-14 19:54:26

本帖最后由 dongxx0221 于 2017-4-16 16:35 编辑

注意别把mv_l 写成 mv_1

dongxx0221 发表于 2017-4-14 20:29:32

又出现这个。。。
*** Cam-clay:Yield envelope cannot be reached

dongxx0221 发表于 2017-4-16 16:34:22

自顶。
换成mc没问题可以算,排除其它问题。

herculis 发表于 2017-4-17 08:34:23

博士厉害啊,这个多层土使用修正剑桥模型怎么弄?

dongxx0221 发表于 2017-4-17 10:44:40

herculis 发表于 2017-4-17 08:34
博士厉害啊,这个多层土使用修正剑桥模型怎么弄?

if 语句控制组啊


loop while pnt # null
    if z_group(pnt)='GR' then

herculis 发表于 2017-4-17 11:48:14

dongxx0221 发表于 2017-4-17 10:44
if 语句控制组啊




高程控制呢?我觉得用高程控制比较好,工况和土层混合着要分多组才行。

dongxx0221 发表于 2017-4-17 14:36:06

pnt=gp_head

loop while pnt # null
    if gp_zpos(pnt)>z1         ;z下界
         if gp_zpos(pnt)<z1   ;z上界

               ..........

         endif
   endif
页: [1]
查看完整版本: Cam-clay: Specific volume is negative