资源简介
剑桥模型本构源程序,用于岩土工程本构模型的建立
代码片段和文件信息
#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
评论
共有 条评论