3 #include "jmodelbase.h" 39 virtual String
getName()
const=0;
48 virtual String getFullName()
const=0;
59 virtual String getProperties()
const=0;
66 virtual String getStates()
const=0;
82 virtual void setProperty(
UInt index,
const Variant &p,
UInt restoreVersion=0);
86 virtual void save(std::ostream &o)
const;
88 virtual void restore(std::istream &i,
UInt restoreVersion);
95 virtual Double getMaxNormalStiffness()
const=0;
98 virtual Double getMaxShearStiffness()
const=0;
135 virtual void scaleProperties(
const Double &,
const std::vector<UInt> &) { std::logic_error(
"Does not support property scaling"); }
148 enum EnergyKeys { kwEStrainShear = 1, kwEStrainCompression, kwEStrainTension, kwESlip };
149 virtual String getEnergies()
const {
return L
"energy-strain-shear,energy-strain-compression,energy-strain-tension,energy-slip"; }
150 virtual double getEnergy(
UInt)
const {
return 0.0; }
151 virtual bool getEnergyAccumulate(
UInt)
const {
return false; }
152 virtual void setEnergy(
UInt,
const double&) {}
153 virtual void activateEnergy() {}
154 virtual bool getEnergyActivated()
const {
return false; }
160 virtual ~JointModel();
166 static UInt getLibraryMinorVersion();
178 void setPlugIn(
bool b) { plugin_ = b; }
The Joint Constitutive Model interface library.
Definition: jointmodel.cpp:5
A simpler (and slightly faster) version of a QVariant, added for interfaces that do not use Qt.
Definition: variant.h:28
virtual bool isBonded(const State &)
Return true if subcontact is bonced. Used in fragment calculations.
Definition: jointmodel.h:145
virtual void destroy()
There should be no reason for an implementation to change the default behavior of this function.
Definition: jointmodel.h:141
void setIfCanFail(bool b)
Specifies whether or not "failure" is being allowed for this instanced of the constitutive model.
Definition: jointmodel.h:175
virtual bool isSliding(const State &)
Return true if subcontact is sliding.
Definition: jointmodel.h:143
EXPORT_TAG unsigned getMajorVersion()
Definition: fishexample.cpp:56
unsigned int UInt
unsigned 32 bit
Definition: basedef.h:31
void setValid(UByte dimVal)
Sets the current valid state to dimension dim.
Definition: jointmodel.h:170
bool getPlugIn() const
Indicates whether the model was loaded as a plugin (defaults to false).
Definition: jointmodel.h:177
virtual String getPluginName() const
There should be no reason for an implementation to override the default behavior of this function.
Definition: jointmodel.h:41
virtual bool supportsPropertyScaling() const
Returns true if property scaling is supported for factor-of-safety calculations via scaleProperties()...
Definition: jointmodel.h:139
bool isValid(UByte dimVal) const
Indicates whether initializion is necessary - by dimension.
Definition: jointmodel.h:168
EXPORT_TAG const char * getName()
Definition: fishexample.cpp:43
double Double
64 bit floating point
Definition: basedef.h:40
unsigned char UByte
unsigned 8 bit
Definition: basedef.h:27
virtual bool supportsStressStrengthRatio() const
Returns true if strength-stress ratio calculations are supported via getStrengthStressRatio().
Definition: jointmodel.h:137
bool canFail() const
Definition: jointmodel.h:173
EnergyKeys
Default implementation 4 energies should be defined for each model (at least)
Definition: jointmodel.h:148
The structure used to pass information to the joint constitutive model.
Definition: state.h:24
The base class for joint constitutive model plug-ins.
Definition: jointmodel.h:30
virtual void scaleProperties(const Double &, const std::vector< UInt > &)
Scales failure property indices v by the factor f.
Definition: jointmodel.h:135
EXPORT_TAG unsigned getMinorVersion()
Definition: fishexample.cpp:62
virtual Double getStressStrengthRatio(const State &) const
Returns the ratio of the shear force to the current yield strength.
Definition: jointmodel.h:129