Itasca C++ Interface
|
Interface to shell structural elements. More...
#include <iselshell.h>
Public Member Functions | |
virtual TType | getType () const |
virtual const IThing * | getIThing () const =0 |
Returns a const IThing pointer. | |
virtual IThing * | getIThing ()=0 |
Returns a IThing pointer. | |
virtual const ISEL * | getISEL () const =0 |
Returns a const pointer to object base class. | |
virtual ISEL * | getISEL ()=0 |
Returns a pointer to object base class. | |
virtual QString | getElementType () const =0 |
Returns keyword of the finite-element type. | |
virtual double | getThickness () const =0 |
virtual void | setThickness (const double &t)=0 |
virtual double | getArea () const =0 |
virtual double | getVolume () const =0 |
Gets shell volume (area times thickness). | |
virtual double | getPressure () const =0 |
Gets uniform pressure acting on shell in its local z-direction. | |
virtual void | setPressure (const double &p)=0 |
Sets uniform pressure acting on shell in its local z-direction. | |
virtual string | getConstitutiveModelName () const =0 |
Returns constitutive model name or "unassigned" if model has not been assigned. | |
virtual double | getIsotropic (int propNo) const =0 |
virtual void | setIsotropic (const double &v, int propNo)=0 |
virtual double | getOrthotropic (int p, int t) const =0 |
virtual double | getAnisotropic (int p, int t) const =0 |
virtual Axes3D | getMaterialSys () const =0 |
Returns the local axes system used to represent material properties. | |
virtual double | getBeta () const =0 |
virtual bool | canBePlastic () const =0 |
True means that finite element supports plastic behavior. | |
virtual bool | isPlastic () const =0 |
Returns true for a plastic element, else returns false. | |
virtual void | setIPs (const uint32 &numThick, const uint32 &numTri)=0 |
virtual uint32 | getIPs (int propNo) const =0 |
virtual bool | getIPdata (const uint32 ip, DVMatrix< 5 > &iData) const =0 |
virtual bool | getIPsOnLayer (const double depthFac, std::array< int, 3 > &ipNums) const =0 |
virtual uint32 | getPlasticState (const uint32 ip) const =0 |
virtual StringList | getPlasticStateNames (const uint32 ip) const =0 |
virtual bool | getPlasticStateYieldPct (double &yieldPct) const =0 |
virtual bool | getPlasticStress (const uint32 ip, const bool surfSys, DVMatrix< 3 > &stress) const =0 |
virtual bool | getPlasticStressBounds (double &minStr, double &maxStr) const =0 |
virtual bool | isStressResultantValid (uint32 index) const =0 |
Returns true if both surface system and stress resultants are valid. | |
virtual double | getStressResultant (uint32 index, uint32 locCode, uint32 component) const =0 |
virtual void | getElemStressResElastic (DVect3 *memb, DVect3 *bend) const =0 |
virtual bool | isStressValid (uint32 index) const =0 |
virtual double | getDepthFactor (uint32 index) const =0 |
Returns depth factor used in stress recovery (elastic model only). | |
virtual SymTensor | getStressElastic (uint32 index, uint32 locCode) const =0 |
virtual DVect3 | getPrinStressElastic (uint32 index, uint32 locCode) const =0 |
virtual double | getElasticStressBounds (const bool minimum) const =0 |
virtual double | getCouplingStress (const ISELNode *node, bool norm, uint32 side) const =0 |
Static Public Attributes | |
static const TType | type_ = 0x4c815a04 |
Type identification number, for use in convert_cast() and convert_getcast(). | |
Interface to shell structural elements.
This interface inherits from ISEL.
|
pure virtual |
Returns a anisotropic material property.
If the shell does not have anisotropic properties, then returns 0.0
Valid values for p (mat. stiff.): 0(C11), 1(C12), 2(C13), 3(C22), 4(C23) & 5(C33)
Valid values for t are: 1 (membrane) and 2 (bending).
|
pure virtual |
Returns the angle (radians) between shell local x-axis and material x'-axis,
measured conterclockwise from shell local x-axis.
If the shell does not have orthotropic or anisotropic properties, then returns 0.0
|
pure virtual |
Shell-type sels: Returns the stress in coupling springs at nd_idx and side.
If norm is true, returns normal stress, else returns shear stress.
Valid values for nd_idx are 0, 1 or 2.
Valid values for side are 0 (side 1) or 1 (side 2).
The computation is general and will work even if link assignments have been modified. Computes stress based on forces in all deformable directions of link at side.
|
pure virtual |
Computes and returns membrane stress resultants Nx,Ny,Nxy (parameter memb) and
bending stress resultants Mx,My,Mxy (parameter bend) in element coord. system
at element centroid for ONE ISOLATED elastic element. Return 0 for plastic element.
|
pure virtual |
Get the integration data for integration point ip, where ip numbering starts at one.
The iData only exists for a plastic element, and this is indicated by the return
value (true = plastic). iData is {xi, eta, W, zStar, a} where (xi,eta): area coords;
W: weight wrt elemArea; zStar: abscissa wrt thickness; a: weight wrt thickness
|
pure virtual |
Return the number of integration points through the thickness (propNo = 1) and
over the element area (propNo = 2).
|
pure virtual |
Gets the integration points (numbering starts at 1) on the IP layer closest
to depth of depthFac*(t/2) for a plastic element (depthFac in [-1,1]).
These values only make sense for a plastic element, and this is indicated by the
return value (true = plastic).
|
pure virtual |
Returns an isotropic material property.
If the shell does not have isotropic properties, then returns 0.0
Valid values for parameter propNo are: 1(Young's modulus) and 2(Poisson's ratio).
|
pure virtual |
Returns an orthotropic material property.
If the shell does not have orthotropic properties, then returns 0.0
Valid values for p (material stiffness): 0 (C11), 1(C12) , 2 (C22) and 3(C33).
Valid values for t are: 1 (membrane) and 2 (bending).
|
pure virtual |
Returns the plasticity state indicators encoded as bits in the returned integer
for integration point ip where ip numbering starts at one.
For an elastic element, returns 0.
|
pure virtual |
Returns the plasticity state indicator names for integration point ip\n where ip numbering starts at one. If plastic element has not yielded then returns
an empty list. For an elastic element, returns "notPlastic".
|
pure virtual |
Returns percentage of IPs [0.0, 100.0] that have yielded (now or in the past) for
plastic materials. This value only makes sense for a plastic element, and this is
indicated by the return value (true = plastic).
|
pure virtual |
Gets the stress for int. point ip, where ip numbering starts at one.
The stress only exists for a plastic element, and this is indicated by the return
value (true = plastic). Stress components ordered {Sxx, Syy, Sxy} in either the
element or surface coordinate system (based on surfSys). If surfSys is true and
the surface system is not set for a node of the shell, then throws an exception.
|
pure virtual |
Gets the minimum and maximum stress for a plastic element. These values only exist
for a plastic element, and this is indicated by the return value (true = plastic).
The 2D principal stresses are found for each IP layer (at the element centroid),
and the min and max values over all layers are returned.
|
pure virtual |
Returns principal stress for elastic element at location
locCode: 0(centroid), 1(node-1), 2(node-2) and 3(node-3).
Returns a zero vector for a plastic element.
|
pure virtual |
Returns stress tensor for elastic element (in global system) at current depth
factor and at location locCode: 0(centroid), 1(node-1), 2(node-2) and 3(node-3).
Returns a zero tensor for a plastic element.
|
pure virtual |
Returns stress resultant (surface system) at location locCode.
Valid values for locCode are: 0(centroid), 1(node-1), 2(node-2) and 3(node-3).
valid values for component are:
0(Mx), 1(My), 2(Mxy), 3(Nx), 4(Ny), 5(Nxy), 6(Qx) and 7(Qy).
|
pure virtual |
Returns true if surface system and stresses at current depth are valid.
Stresses for elements with a plastic material model will be invalid.
|
pure virtual |
Specify the number of integration points through the thickness (numThick) and
over the element area (numTri). Internal stresses will be zeroed.
|
pure virtual |
Sets an isotropic material property (and material property type).
Valid values for parameter propNo are: 1(Young's modulus) and 2(Poisson's ratio).
The Young's modulus should be set before the Poisson's ratio.