530313325 发表于 2012-2-29 22:07:01

怎么实现剑桥模型给不同的土层付参?

如题!
小弟是新手,望版主解答!

530313325 发表于 2012-2-29 22:08:52

更正,是修正剑桥模型。
看书上的例子,都是不考虑地层分层,分层情况又该怎么考虑呢?

530313325 发表于 2012-2-29 22:39:37

这是书上例子的代码!






;-----------------------Modified cam-clay本构模型-------------------------------
model cam-clay
;cam-clay模型则不需定义弹性模量(E、G、K)等参数,自动计算
;cam-clay模型中需确定8个模型参数(①-⑧),手册property中的初始比体积cv(v0)和shear不需给定
def install_prop
      pnt=zone_head
      loop while pnt # null
                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      
                ;cam-clay模型中p、q均须为正值,p0由初应力场确定,故cam-clam定义模型参数前须先已知初应力
                p0_effective=p0-z_pp(pnt)                                                ;p0'
                q0=sqrt(((abs_sxx-abs_syy)^2+(abs_syy-abs_szz)^2+(abs_szz-abs_sxx)^2)*0.5)
                z_prop(pnt,'mm')=6.0*sin(fai*degrad)/(3.0-sin(fai*degrad));①注三角函数中需将角度转化为弧度      
                temp1=q0/(z_prop(pnt,'mm')*p0_effective)
                pc0=p0_effective*(1.0+temp1^2)*OCR      ;先期有效固结压力,用于确定屈服面
                v0=1.0+_e0
                z_prop(pnt,'cam_cp')=p0_effective                ;★重要参数,否则不能正确计算有效应力,提示出错"Mean effective pressure is negative"
                z_prop(pnt,'mpc')=pc0                                        ;②
                z_prop(pnt,'poisson')=p_ratio                              ;③
                z_prop(pnt,'lambda')=_lambda                                 ;④
                z_prop(pnt,'kappa')=_kappa                                 ;⑤
                z_prop(pnt,'mp1')=_mp1                                       ;⑥
                ;z_prop(pnt,'mv_l')=_mv_l                                     ;⑦
                z_prop(pnt,'mv_1')=v0+_lambda*ln(2.0*_cu/(z_prop(pnt,'mm')*_mp1))+(_lambda-_kappa)*ln(2.0) ;⑦
                z_prop(pnt,'bulk_bound')=100*40e6                            ;⑧
                ;z_prop(pnt,'bulk_bound')=100*(s_mod+4.0/3.0*s_mod)      ;弹性体模上界Kmax
                ;自动确定Kmax时会出现“property bad”错误提示
                ;因为弹性上界对计算结果无影响,在不提示Kmax太小的性况下,取值越小计算收敛越快
                pnt=z_next(pnt)
      endloop
end

530313325 发表于 2012-3-1 13:46:40

已解决,呵呵!主要是多看看书上介绍的fish那一章。

reverent 发表于 2012-7-27 15:30:48

怎么解决的呀?我现在也要用,一塌糊涂,求指教!

sunlang 发表于 2016-1-10 12:09:59

能不能提供一个例子呢?
页: [1]
查看完整版本: 怎么实现剑桥模型给不同的土层付参?