38 #include "../sm/Elements/Beams/beambaseelement.h" 39 #include "../sm/CrossSections/layeredcrosssection.h" 44 #define _IFT_Beam2d_Name "beam2d" 45 #define _IFT_Beam2d_dofstocondense "dofstocondense" 50 class FEI2dLineHermite;
103 if ( ghostNodes [ 0 ] ) {
return ghostNodes [ 0 ]; }
else {
return ghostNodes [ 1 ]; }
104 }
else if ( i == 2 ) {
105 return ghostNodes [ 1 ];
113 if ( ghostNodes [ 0 ] ) {
118 }
else if ( i == 2 ) {
virtual FEInterpolation * giveInterpolation(DofIDItem id) const
Returns the interpolation for the specific dof id.
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
virtual const char * giveInputRecordName() const
int number
Component number.
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &)
Computes interpolation matrix for element unknowns.
virtual Interface * giveInterface(InterfaceType)
Interface requesting service.
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
virtual bool computeGtoLRotationMatrix(FloatMatrix &answer)
Returns transformation matrix from global c.s.
virtual void computeBoundaryEdgeLoadVector(FloatArray &answer, BoundaryLoad *load, int edge, CharType type, ValueModeType mode, TimeStep *tStep, bool global=true)
Computes the contribution of the given load at the given boundary edge.
virtual void computeStrainVectorInLayer(FloatArray &answer, const FloatArray &masterGpStrain, GaussPoint *masterGp, GaussPoint *slaveGp, TimeStep *tStep)
Computes full 3D strain vector in element layer.
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
virtual void computeStressVector(FloatArray &answer, const FloatArray &strain, GaussPoint *gp, TimeStep *tStep)
Computes the stress vector of receiver at given integration point, at time step tStep.
Class representing a 2d line with Hermitian interpolation.
virtual void giveInternalDofManDofIDMask(int i, IntArray &answer) const
Returns internal dofmanager dof mask for node.
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual int computeNumberOfGlobalDofs()
Computes the total number of element's global dofs.
This class implements a 2-dimensional beam element with cubic lateral displacement, quadratic rotations, and linear longitudinal displacements and geometry.
Base class for dof managers.
virtual double computeLength()
Computes the length (zero for all but 1D geometries)
int numberOfCondensedDofs
number of condensed DOFs
MaterialMode
Type representing material mode of integration point.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
Beam2d(int n, Domain *aDomain)
virtual FEInterpolation * giveInterpolation() const
Class representing a general abstraction for finite element interpolation class.
virtual void giveBoundaryLocationArray(IntArray &locationArray, const IntArray &bNodes, const UnknownNumberingScheme &s, IntArray *dofIds=NULL)
Returns the location array for the boundary of the element.
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
virtual int giveNumberOfInternalDofManagers() const
Abstract base class representing a boundary load (force, momentum, ...) that acts directly on a bound...
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes numerically stiffness matrix of receiver.
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
DofManager * ghostNodes[2]
Ghost nodes are used to introduce additional DOFs at element.
ElementExtension
Type representing element extension.
DofIDItem
Type representing particular dof type.
virtual const char * giveClassName() const
UnknownType
Type representing particular unknown (its physical meaning).
void giveLocationArray(IntArray &locationArray, const UnknownNumberingScheme &s, IntArray *dofIds=NULL) const
Returns the location array (array of code numbers) of receiver for given numbering scheme...
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
void giveCompleteMasterDofIDArray(IntArray &dofIDArray) const
Returns the full dof ID array of receiver.
Class representing a 2d line with linear interpolation.
virtual void giveBoundaryLocationArray(IntArray &locationArray, const IntArray &bNodes, const IntArray &dofIDMask, const UnknownNumberingScheme &s, IntArray *dofIds=NULL)
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
virtual void giveEndForcesVector(FloatArray &answer, TimeStep *tStep)
IRResultType
Type defining the return values of InputRecord reading operations.
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *tStep, int useUpdatedGpRecord=0)
Returns equivalent nodal forces vectors.
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
static FEI2dLineLin interp_geom
virtual void computeConsistentMassMatrix(FloatMatrix &answer, TimeStep *tStep, double &mass, const double *ipDensity=NULL)
Computes consistent mass matrix of receiver using numerical integration over element volume...
InterfaceType
Enumerative type, used to identify interface type.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual void computeInitialStressMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes initial stress matrix for linear stability problem.
Load is base abstract class for all loads.
The element interface required by LayeredCrossSection.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
virtual DofManager * giveInternalDofManager(int i) const
Returns i-th internal element dof manager of the receiver.
static FEI2dLineHermite interp_beam
virtual void computeBmatrixAt(GaussPoint *, FloatMatrix &, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
virtual int giveLocalCoordinateSystem(FloatMatrix &answer)
Returns local coordinate system of receiver Required by material models with ortho- and anisotrophy...
Class representing integration point in finite element program.
Class representing solution step.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
This class implements a base beam intented to be a base class for beams based on lagrangian interpola...
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
void computeBodyLoadVectorAt(FloatArray &answer, Load *load, TimeStep *tStep, ValueModeType mode)
Computes the load vector due to body load acting on receiver, at given time step. ...
Element extension for edge loads.
double giveKappaCoeff(TimeStep *tStep)
virtual int giveNumberOfIPForMassMtrxIntegration()
Return desired number of integration points for consistent mass matrix computation, if required.