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-16 17:06 编辑
提示比容cv为负,把mv_l 写成 mv_1了
又出现这个。。。
*** Cam-clay:Yield envelope cannot be reached
有人说是孔压问题,用总应力计算也一样
本帖最后由 dongxx0221 于 2017-4-16 16:35 编辑
注意别把mv_l 写成 mv_1 又出现这个。。。
*** Cam-clay:Yield envelope cannot be reached 自顶。
换成mc没问题可以算,排除其它问题。 博士厉害啊,这个多层土使用修正剑桥模型怎么弄? herculis 发表于 2017-4-17 08:34
博士厉害啊,这个多层土使用修正剑桥模型怎么弄?
if 语句控制组啊
loop while pnt # null
if z_group(pnt)='GR' then
dongxx0221 发表于 2017-4-17 10:44
if 语句控制组啊
高程控制呢?我觉得用高程控制比较好,工况和土层混合着要分多组才行。 pnt=gp_head
loop while pnt # null
if gp_zpos(pnt)>z1 ;z下界
if gp_zpos(pnt)<z1 ;z上界
..........
endif
endif
页:
[1]