📄 usersoft.h
字号:
#ifndef __USERSOFT_H
#define __USERSOFT_H
#ifndef __CONMODEL_H
#include "conmodel.h"
#endif
class UserStrainSofteningModel : public ConstitutiveModel {
public:
//User must give a number greater than 100 to avoid conflict with in-built models.
enum ModelNum { mnUserStrainSofteningModel= 110 };
// Creators
EXPORT UserStrainSofteningModel(bool bRegister=true);
// Use keyword to load model into FLAC/FLAC3D
virtual const char *Keyword(void) const;
// Expanded name for printing purposes
virtual const char *Name(void) const;
virtual const char **Properties(void) const;
virtual const char **States(void) const;
virtual double GetProperty(unsigned ul) const;
virtual ConstitutiveModel *Clone(void) const { return(new UserStrainSofteningModel()); }
virtual double ConfinedModulus(void) const { return(dBulk + d4d3*dShear); }
virtual double ShearModulus(void) const { return(dShear); }
virtual double BulkModulus(void) const { return(dBulk); }
virtual double SafetyFactor(void) const { return(10.0); }
//version control..
virtual unsigned Version(void) const { return(2); }
// Manipulators
virtual void SetProperty(unsigned ul,const double &dVal);
//Explicit Copy instead of Copy Constructor
virtual const char *Copy(const ConstitutiveModel *cm);
//Initilize and Run
virtual const char *Initialize(unsigned uDim,State *ps);
virtual const char *Run(unsigned uDim,State *pst);
//Save Restore
virtual const char *SaveRestore(ModelSaveObject *mso);
private:
//properties
double dBulk,dShear,dYoung,dPoisson,dCohesion,dFriction,dDilation;
double dTension,dSHP,dTHP;
int iCTab,iFTab,iDTab,iTTab;
//utility members for ease of calculation
double dE1,dE2,dG2,dNPH,dCSN,dSC1,dSC2,dSC3,dSF1,dSF3,dBisc;
unsigned uiCTab,uiFTab,uiDTab,uiTTab;
};
#endif
// EOF
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -