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