xxxinggg 发表于 2011-12-7 10:36:07

修正剑桥模型本构代码无法理解,求高人赐教!

本帖最后由 xxxinggg 于 2011-12-7 13:15 编辑

以下来自源程序,run函数
/* --- Cam-clay yield criterion --- */剑桥屈服准则
略。。

/* --- detect small pc --- */
if (dMPC < dMP1*1.e-3)
    iPind = 1;原设值为0,现设为1,代表何意?
   略。。

else {
    if (dFS > 0.0) { 如果屈服函数大于零,表示剪切破坏
      /* ---                        shear failure --- */
      iPind = 1;
      ps->mState |= mShearNow;
      double dSa    = 6.0 * dShear * dQVal;
      double dSc    = dM2 * (2.0 * dPVal - dMPC);
      double dSb    = dBulk * dSc;
      double dBa    = dSa*dSa + dM2 * dSb*dSb;
      double dBb    = dSa * dQVal + 0.5 * dSb * dSc;
      double dBc    = dFS;
      double dAlam= 0.0;
      double dAlam1 = 0.0;
      if (dBa != 0.0) {
      double dBoa   = dBb / dBa;   
      double dVal   = dBoa*dBoa - dBc / dBa;
      if (dVal < 0.0) return("Cam-clay:Yield envelope cannot be reached");
      double dVal1   = sqrt(dVal);   
      dAlam= dBoa + dVal1;
      dAlam1 = dBoa - dVal1;
      } else {
      if (dBb != 0.0) {
         dAlam= 0.5 * dBc / dBb;
;dAlam=0.5* /
         dAlam1 = dAlam;
      } else return("Cam-clay:Yield envelope cannot be reached");
      }
      if (fabs(dAlam1) < fabs(dAlam)) dAlam = dAlam1;
      if (dAlam < 0.0) dAlam = 0.0;
      dQNew= dQVal - dSa * dAlam;
      dPNew= dPVal - dSb * dAlam;
/* ---                        update stresses --- */
略。。

·
这图1所涉及到的公式以前未曾见过,图2里的Alamda是指的正常固结线的斜率吗?

rachel 发表于 2013-1-27 10:44:22

同求解答!!

yhx_ustb 发表于 2013-6-21 16:02:34

楼主能不能发一份修正剑桥模型的源文件啊,谢谢了yhx_ustb@126.com
页: [1]
查看完整版本: 修正剑桥模型本构代码无法理解,求高人赐教!