Itasca C++ Interface
|
The base class for joint constitutive model plug-ins. More...
#include <jointmodel.h>
Public Types | |
enum | EnergyKeys { kwEStrainShear = 1 , kwEStrainCompression , kwEStrainTension , kwESlip } |
Default implementation 4 energies should be defined for each model (at least) | |
Public Member Functions | |
virtual string | getName () const =0 |
Must be unique, used to identify model in save/restore, on command line, filename. | |
virtual string | getPluginName () const |
There should be no reason for an implementation to override the default behavior of this function. | |
virtual string | getFullName () const =0 |
The full name of the model. | |
virtual uint32 | getMinorVersion () const |
Returns minor version of base implementation, override for actual model. | |
virtual string | getProperties () const =0 |
Returns a string containing the names of model properties. | |
virtual string | getStates () const =0 |
Returns a string containing state names. | |
virtual base::Property | getProperty (uint32 index) const =0 |
Return the value of the property of that index (base 1). | |
virtual void | setProperty (uint32 index, const base::Property &p, uint32 restoreVersion=0) |
Sets the value of the property with index i (base 1). | |
virtual void | save (std::ostream &o) const |
virtual void | restore (std::istream &i, uint32 restoreVersion) |
Allows data other than properties to be restored efficiently. | |
virtual JointModel * | clone () const =0 |
Returns an instance this class. | |
virtual double | getMaxNormalStiffness () const =0 |
This is used by the code to compute the stable timestep or adjust inertial mass. . | |
virtual double | getMaxShearStiffness () const =0 |
This is used by the code to compute the stable timestep or adjust inertial mass. . | |
virtual void | copy (const JointModel *mod) |
Copy property values and state from another constitutive model. | |
virtual void | run (uint32 dim, State *s) |
Calculate force increments given a displacement increments. | |
virtual void | initialize (uint32 dim, State *s) |
Initializes the constitutive model in preparation for calls to run(). | |
virtual double | getStrengthStressRatio (const State &) const |
Returns the ratio of the shear force to the current yield strength. | |
virtual void | scaleProperties (const double &, const std::vector< uint32 > &) |
Scales failure property indices v by the factor f. | |
virtual bool | supportsStrengthStressRatio () const |
Returns true if strength-stress ratio calculations are supported via getStrengthStressRatio(). | |
virtual bool | supportsPropertyScaling () const |
Returns true if property scaling is supported for factor-of-safety calculations via scaleProperties(). | |
virtual void | destroy () |
There should be no reason for an implementation to change the default behavior of this function. | |
virtual bool | isSliding (const State &) |
Return true if subcontact is sliding. | |
virtual bool | isBonded (const State &) |
Return true if subcontact is bonced. Used in fragment calculations. | |
virtual string | getEnergies () const |
virtual double | getEnergy (uint32) const |
virtual bool | getEnergyAccumulate (uint32) const |
virtual void | setEnergy (uint32, const double &) |
virtual void | activateEnergy () |
virtual bool | getEnergyActivated () const |
JointModel () | |
The joint constitutive model constructor. The model is invald, and canFail is set to true. | |
virtual | ~JointModel () |
The joint constitutive model destructor. | |
bool | isValid (uint32 dimVal) const |
Indicates whether initializion is necessary - by dimension. | |
void | setValid (uint32 dimVal) |
Sets the current valid state to dimension dim. | |
bool | canFail () const |
void | setIfCanFail (bool b) |
Specifies whether or not "failure" is being allowed for this instanced of the constitutive model. | |
bool | getPlugIn () const |
Indicates whether the model was loaded as a plugin (defaults to false). | |
void | setPlugIn (bool b) |
Static Public Member Functions | |
static uint32 | getMajorVersion () |
Major version changes when the interface changes - which is defined here. | |
static uint32 | getLibraryMinorVersion () |
Returns the minor version number of the constitutive model library. | |
The base class for joint constitutive model plug-ins.
All joint constitutive models (elastic, mohr-coulomb, etc) are derived from this class.
Any custom joint constitutive model provided as a plug-in must be derived from this class.
Pure virtual methods must be provided by the user - some utility functions are provided.