Itasca C++ Interface
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | List of all members
jmodels::JointModel Class Referenceabstract

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 JointModelclone () 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.
 

Detailed Description

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.

Note
The file name of the DLL produced must be jmodel|name|###|.dll (in release) and model|name|###|_debug.dll (in debug).
Where |name| is the string returned by getName(), and |###| is the Major version number (3 digits, right justified, filled with zeros).
For instance jmodelelastic001.dll and jmodelelastic001_debug.dll

The documentation for this class was generated from the following files: