没有合适的资源?快使用搜索试试~ 我知道了~
flac中修正剑桥本构模型源码中文注解
5星 · 超过95%的资源 需积分: 50 133 下载量 19 浏览量
2010-10-29
21:23:01
上传
评论 7
收藏 273KB DOC 举报
温馨提示
试读
11页
flac中修正剑桥本构模型源码中文注解 对想二次开发的人会有所帮助的
资源详情
资源评论
资源推荐
#include "usercam.h"
#include <math.h>
static const unsigned long mShearNow = 0x01; 定义静态全局常量 (0x08 表示退格)
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(mnUserCamClayModel,bRegister),
dBulk(0.0),dBulkB(0.0),dShear(0.0),dPoisson(0.0),
弹性体积模量 K;最大弹性体积模量 =800· ;剪切模量 G=250· ,泊松比
dKappa(0.0),dLambda(0.0),dMM(0.0),dMPC(0.0),dMP1(0.0),
弹性膨胀线的斜率 =0.05;正常固结线的斜率 =0.2 ;摩擦常数 M=1.02 ;先期固结压
力 ;基准压力 =1pa
dMV_L(0.0) 在基准压力下,正常固结线的比容 =3.3 2, dMV(0.0) 初始比容 v0,
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"初始比容 v0, "cam_ev"累计总体积应变, "camev_p"累计
塑性体积应变, "cam_cp"当前的平均有效应力, "cq"当前的平均偏应力*(deviatoric
stress tensor 偏应力张量), 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); 剪切模量 G=250·
case 3: return(dBulkB); 最大弹性体积模量
case 4: return(dPoisson); 泊松比
case 5: return(dKappa); 弹性膨胀线的斜率
case 6: return(dLambda); 正常固结线的斜率
case 7: return(dMM); 摩擦常数 M
case 8: return(dMPC); 先期固结压力
case 9: return(dMP1); 基准压力
case 10: return(dMV_L); 正常固结线的比容
case 11: return(dMV); 初始比容 v0,
case 12: return(dEV); 累计总体积应变
case 13: return(dEV_P); 累计塑性体积应变
case 14: return(dMP); 初始压力
case 15: return(dMQ); 当前的平均偏应力
}
return(0.0);
}
void UserCamClayModel::SetProperty(unsigned ul,const double &dVal) {
switch (ul) {
case 1: dBulk = dVal; break; 弹性体积模量 K
case 2: dShear = dVal; break; 剪切模量 G=250·
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; 摩擦常数 M
case 8: dMPC = dVal; break; 先期固结压力
case 9: dMP1 = dVal; break; 基准压力
case 10: dMV_L = dVal; break; 正常固结线的比容
case 11: dMV = dVal; break; 初始比容 v0
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; 弹性体积模量 K ->是分量运算符,为成员选择
dShear = em->dShear; 剪切模量 G=250·
dBulkB = em->dBulkB;
dPoisson = em->dPoisson; 泊松比
dKappa = em->dKappa; 弹性膨胀线的斜率
dLambda = em->dLambda; 正常固结线的斜率
dMM = em->dMM; 摩擦常数 M
dMPC = em->dMPC; 先期固结压力
dMP1 = em->dMP1; 基准压力
dMV_L = em->dMV_L; 正常固结线的比容
dMV = em->dMV; 初始比容 v0
dEV = em->dEV; 累计总体积应变
dEV_P = em->dEV_P; 累计塑性体积应变
dMP = em->dMP; 初始压力(当前的平均有效应力)
dMQ = em->dMQ; 当前的平均偏应力
return(0);
}
const char *UserCamClayModel::Initialize(unsigned uDim,State *) {
if ((uDim!=2)&&(uDim!=3)) return("Illegal dimension in UserCamClayModel");
// Initialize mean pressure
剩余10页未读,继续阅读
myj1j2j3j4j5
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2