Itasca C++ Interface
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
sel::ISELBeam Class Referenceabstract

Interface to beam structural elements. More...

#include <iselbeam.h>

Public Member Functions

virtual const IThinggetIThing () const =0
 Returns a const IThing pointer.
 
virtual IThinggetIThing ()=0
 Returns a IThing pointer.
 
virtual const ISELgetISEL () const =0
 Returns a const pointer to object base class, ISEL.
 
virtual ISELgetISEL ()=0
 Returns a pointer to object base class, ISEL.
 
virtual double getLength () const =0
 
virtual double getArea () const =0
 
virtual double getVolume () const =0
 Volume (length times true xc area).
 
virtual double getAppYPress () const =0
 Applied pressure (force/length, positive in y'-direction).
 
virtual void setAppYPress (const double &d)=0
 
virtual double getDensity () const =0
 Density.
 
virtual double getThExp () const =0
 Thermal expansion coefficient.
 
virtual double getPropE () const =0
 Young's modulus (stored here for elastic model, in CM for plastic model)
 
virtual void setPropE (const double &e)=0
 
virtual double getPropNu () const =0
 Poisson's ratio (stored here for elastic model, in CM for plastic model)
 
virtual void setPropNu (const double &e)=0
 
virtual double getPropXCArea () const =0
 Cross-sectional area (specified as a property, used by elastic only)
 
virtual void setPropXCArea (const double &d)=0
 
virtual double getXCAreaPlastic () const =0
 Cross-sectional area (used for plastic materials)
 
virtual double getPropXCI () const =0
 Second moment wrt beam z-axis.
 
virtual void setPropXCI (const double &d)=0
 
virtual double getPropKappa () const =0
 Shear coef. for transverse shear.
 
virtual void setPropKappa (const double &d)=0
 
virtual DVect getPropLsys () const =0
 Vector in direction of y-axis of the beam coord. system.
 
virtual void setPropLsys (const DVect &d)=0
 
virtual double getPropPlasticMoment () const =0
 Plastic moment and shear capacities.
 
virtual void setPropPlasticMoment (const double &d)=0
 
virtual double getPropPlasticShear () const =0
 
virtual void setPropPlasticShear (const double &d)=0
 
virtual double getNdForce (uint32 dof, uint32 end) const =0
 
virtual DVect getNdForce (uint32 end) const =0
 
virtual double getNdMoment (uint32 end) const =0
 
virtual QString getElementType () const =0
 Returns keyword of the finite-element type.
 
virtual string getConstitutiveModelName () const =0
 Returns constitutive model name or "unassigned" if model has not been assigned.
 
virtual bool canBePlastic () const =0
 
virtual bool isPlastic () const =0
 Returns true for a plastic element, else returns false.
 
virtual void setIntData (bool shapeRect, std::array< double, 2 > size, std::array< uint32, 3 > nIPs)=0
 
virtual bool getIntData (bool &shapeRect, std::array< double, 2 > &iDataSize, std::array< uint32, 3 > &iDataNum) const =0
 
virtual bool getIPData (const uint32 ip, std::array< double, 4 > &iData) const =0
 
virtual uint32 getNumIPs () const =0
 Get the number of integration points.
 
virtual uint32 getPlasticState (const uint32 ip) const =0
 
virtual StringList getPlasticStateNames (const uint32 ip) const =0
 
virtual bool getPlasticStress (const uint32 ip, double &sigXX) const =0
 
virtual bool getPlasticStressBounds (double &minStr, double &maxStr) const =0
 
virtual bool getPlasticStateYieldPct (double &yieldPct) const =0
 

Static Public Attributes

static const TType type_ = 0x4c815a09
 Type ID number for this class, for use in convert_cast() and convert_getcast().
 

Detailed Description

Interface to beam structural elements.

This interface inherits from ISEL and it is inherited by IPileSEL.

Member Function Documentation

◆ getIntData()

virtual bool sel::ISELBeam::getIntData ( bool & shapeRect,
std::array< double, 2 > & iDataSize,
std::array< uint32, 3 > & iDataNum ) const
pure virtual

Get the integration data. The iData only exists for a plastic element, and this is indicated by the return value (true = plastic). shapeRect is true/false = rectangular/circular cross section. iDataSize is {ly or R, lz (rect only)} and iDataNum is {nx, ny or nr, nz or ntheta} with {or} denoting rect/circ.

◆ getIPData()

virtual bool sel::ISELBeam::getIPData ( const uint32 ip,
std::array< double, 4 > & iData ) const
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, a2, a3, wtComp} where (xi,a2,a3): abscissae (a2 is eta or r, a3 is zeta or theta with {or} denoting rect/circ); and wtComp: composite weight factor.

◆ getNdForce() [1/2]

virtual double sel::ISELBeam::getNdForce ( uint32 dof,
uint32 end ) const
pure virtual

Returns nodal force component at beam end. The nodal force is expressed using the force-moment sign convention which provides a continuous description of axial-force, shear-force, twisting-moment and bending-moment distributions across elements that make up a single beam-type structure by reversing the sign of the generalized force (expressed in the beam local coordSys) at end-0. Valid values for dof are 0, 1 or 2. Valid values for end are 0 or 1.

◆ getNdForce() [2/2]

virtual DVect sel::ISELBeam::getNdForce ( uint32 end) const
pure virtual

Returns nodal force at beam end using the force-moment sign convention (see getNdForce(a,b) entry). Valid values for end are 0 or 1.

◆ getNdMoment()

virtual double sel::ISELBeam::getNdMoment ( uint32 end) const
pure virtual

Returns nodal moment at beam end using the force-moment sign convention (see getNdForce(a,b) entry). Valid values for end are 0 or 1.

◆ getPlasticState()

virtual uint32 sel::ISELBeam::getPlasticState ( const uint32 ip) const
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.

◆ getPlasticStateNames()

virtual StringList sel::ISELBeam::getPlasticStateNames ( const uint32 ip) const
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".

◆ getPlasticStateYieldPct()

virtual bool sel::ISELBeam::getPlasticStateYieldPct ( double & yieldPct) const
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).

◆ getPlasticStress()

virtual bool sel::ISELBeam::getPlasticStress ( const uint32 ip,
double & sigXX ) const
pure virtual

Gets the axial 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).

◆ getPlasticStressBounds()

virtual bool sel::ISELBeam::getPlasticStressBounds ( double & minStr,
double & maxStr ) const
pure virtual

Gets the minimum and maximum axial stress for a plastic element. These values only exist
for a plastic element, and this is indicated by the return value (true = plastic).
The minimum and maximum values over all IPs are returned.

◆ setIntData()

virtual void sel::ISELBeam::setIntData ( bool shapeRect,
std::array< double, 2 > size,
std::array< uint32, 3 > nIPs )
pure virtual

Specify the shape and size of the beam cross section. Shape given by shapeRect (true/false = rectangular/circular). Size given by size. If rectangular shape then size[0] is ly and size[1] is lz. If circular shape then size[0] is radius and size[1] is not used. Specify the integration-point layout via nIPs, the number of IPs in each direc. [0] is x-direc. If rectangular shape then [1] is y-direc and [2] is z-direc. If circular shape then [1] is radial direc and [2] is circumferential direc. Internal stresses will be zeroed.


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