• 大小: 65KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-06
  • 语言: 其他
  • 标签:

资源简介

剑桥模型本构源程序,用于岩土工程本构模型的建立

资源截图

代码片段和文件信息

#include “usercam.h“
#include 


static const unsigned long mShearNow  = 0x01;
static const unsigned long mShearPast = 0x02;
static const double dC1D3 = 1.0 / 3.0;
static const double dC2D3 = 2.0 / 3.0;
static const double dC4D3 = 4.0 / 3.0;
static UserCamClayModel usercamclaymodel(true);


UserCamClayModel::UserCamClayModel(bool bRegister)
             :ConstitutiveModel(mnUserCamClayModelbRegister)
              dBulk(0.0)dBulkB(0.0)dShear(0.0)dPoisson(0.0)
              dKappa(0.0)dLambda(0.0)dMM(0.0)dMPC(0.0)dMP1(0.0)
              dMV_L(0.0)dMV(0.0)dEV(0.0)dEV_P(0.0)dMP(0.0)dMQ(0.0) {
}


const char *UserCamClayModel::Keyword(void) const { return(“usercam-clay“); }


const char *UserCamClayModel::Name(void) const { return(“User-Cam-Clay“); }


const char **UserCamClayModel::Properties(void) const {
  static const char *strKey[] = {
    “bulk“ “shear“ “bulk_bound“ “poisson“ “kappa“ “lambda“
    “mm“ “mpc“ “mp1“ “mv_l“ “cv“ “cam_ev“ “camev_p“ “cam_cp“ “cq“ 0
  };
  return(strKey);
}


const char **UserCamClayModel::States(void) const {
  static const char *strKey[] = {
    “shear-n“ “shear-p“ 0
  };
  return(strKey);
}


double UserCamClayModel::GetProperty(unsigned ul) const {
  switch (ul) {
    case 1:  return(dBulk);
    case 2:  return(dShear);
    case 3:  return(dBulkB);
    case 4:  return(dPoisson);
    case 5:  return(dKappa);
    case 6:  return(dLambda);
    case 7:  return(dMM);
    case 8:  return(dMPC);
    case 9:  return(dMP1);
    case 10: return(dMV_L);
    case 11: return(dMV);
    case 12: return(dEV);
    case 13: return(dEV_P);
    case 14: return(dMP);
    case 15: return(dMQ);
  }
  return(0.0);
}


void UserCamClayModel::SetProperty(unsigned ulconst double &dVal) {
  switch (ul) {
    case 1:  dBulk = dVal;  break;
    case 2:  dShear = dVal;  break;
    case 3:  dBulkB = dVal;  break;
    case 4:  dPoisson = dVal;  break;
    case 5:  dKappa = dVal;  break;
    case 6:  dLambda = dVal;  break;
    case 7:  dMM = dVal;  break;
    case 8:  dMPC = dVal;  break;
    case 9:  dMP1 = dVal;  break;
    case 10: dMV_L = dVal;  break;
    case 11: dMV = dVal;  break;
    case 12: dEV = dVal;  break;
    case 13: dEV_P = dVal;  break;
    case 14: dMP = dVal;  break;
    case 15: dMQ = dVal;  break;
  }
}


const char *UserCamClayModel::Copy(const ConstitutiveModel *m) {
  const char *str = ConstitutiveModel::Copy(m);
  if (str) return(str);
  UserCamClayModel *em = (UserCamClayModel *)m;
  dBulk    = em->dBulk;
  dShear   = em->dShear;
  dBulkB   = em->dBulkB;
  dPoisson = em->dPoisson;
  dKappa   = em->dKappa;
  dLambda  = em->dLambda;
  dMM      = em->dMM;
  dMPC     = em->dMPC;
  dMP1     = em->dMP1;
  dMV_L    = em->dMV_L;
  dMV      = em->dMV;
  dEV      = em->dEV;
  dEV_P    = em->dEV_P;
  dMP      = em->dMP;
  dMQ      = em->dMQ;
  return(0);
}


const char *UserCamClay

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     279040  2007-05-23 12:19  usercam.h.doc

     文件      10735  2005-04-05 13:25  usercam.cpp

     文件       1444  2005-04-05 13:41  usercam.h

----------- ---------  ---------- -----  ----

               291219                    3


评论

共有 条评论

相关资源