| 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.