38 #include "../sm/Elements/Beams/beambaseelement.h" 39 #include "../sm/CrossSections/fiberedcs.h" 40 #include "../sm/Materials/winklermodel.h" 46 #define _IFT_Beam3d_Name "beam3d" 47 #define _IFT_Beam3d_dofstocondense "dofstocondense" 48 #define _IFT_Beam3d_refnode "refnode" 49 #define _IFT_Beam3d_refangle "refangle" 50 #define _IFT_Beam3d_zaxis "zaxis" 51 #define _IFT_Beam3d_subsoilmat "subsoilmat" 54 #define Beam3d_nSubBeams 10 125 if ( ghostNodes [ 0 ] ) {
return ghostNodes [ 0 ]; }
else {
return ghostNodes [ 1 ]; }
126 }
else if ( i == 2 ) {
127 return ghostNodes [ 1 ];
135 if ( ghostNodes [ 0 ] ) {
140 }
else if ( i == 2 ) {
void giveInternalForcesVectorAtPoint(FloatArray &answer, TimeStep *tStep, FloatArray &coords)
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
int number
Component number.
integrationDomain
Used by integrator class to supply integration points for proper domain to be integrated (Area...
virtual void computeStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
Computes numerically stiffness matrix of receiver.
void computeSubSoilStiffnessMatrix(FloatMatrix &answer, MatResponseMode rMode, TimeStep *tStep)
virtual Element_Geometry_Type giveGeometryType() const
Returns the element geometry type.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
Element_Geometry_Type
Enumerative type used to classify element geometry Possible values are: EGT_point - point in space EG...
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.
virtual void computeInitialStressMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes initial stress matrix for linear stability problem.
void computeKappaCoeffs(TimeStep *tStep)
void computeSubSoilNMatrixAt(GaussPoint *gp, FloatMatrix &answer)
double giveKappazCoeff(TimeStep *tStep)
ValueModeType
Type representing the mode of UnknownType or CharType, or similar types.
virtual void giveBoundaryLocationArray(IntArray &locationArray, const IntArray &bNodes, const IntArray &dofIDMask, const UnknownNumberingScheme &s, IntArray *dofIds=NULL)
virtual int computeLoadGToLRotationMtrx(FloatMatrix &answer)
Returns transformation matrix from global coordinate system to local element coordinate system for el...
Elements with geometry defined as EGT_Composite are exported using individual pieces.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual int giveLocalCoordinateSystem(FloatMatrix &answer)
Returns local coordinate system of receiver Required by material models with ortho- and anisotrophy...
virtual void updateLocalNumbering(EntityRenumberingFunctor &f)
Local renumbering support.
virtual FEInterpolation * giveInterpolation() const
Base class for dof managers.
virtual integrationDomain giveIntegrationDomain() const
virtual void printOutputAt(FILE *file, TimeStep *tStep)
Prints output of receiver to stream, for given time step.
MaterialMode
Type representing material mode of integration point.
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
virtual void giveInternalForcesVector(FloatArray &answer, TimeStep *, int useUpdatedGpRecord=0)
Returns equivalent nodal forces vectors.
virtual void B3SSMI_getUnknownsGtoLRotationMatrix(FloatMatrix &answer)
Evaluate transformation matrix for reciver unknowns.
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
virtual int computeNumberOfGlobalDofs()
Computes the total number of element's global dofs.
double giveKappayCoeff(TimeStep *tStep)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
virtual const char * giveClassName() const
Class representing a general abstraction for finite element interpolation class.
Abstract base class representing a boundary load (force, momentum, ...) that acts directly on a bound...
void computeInternalForcesFromBodyLoadVectorAtPoint(FloatArray &answer, Load *forLoad, TimeStep *tStep, ValueModeType mode, FloatArray &pointCoords, double ds)
int numberOfCondensedDofs
number of condensed DOFs
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
virtual void giveCompositeExportData(std::vector< VTKPiece > &vtkPieces, IntArray &primaryVarsToExport, IntArray &internalVarsToExport, IntArray cellVarsToExport, TimeStep *tStep)
virtual int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords)
Computes the global coordinates from given element's local coordinates.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
ElementExtension
Type representing element extension.
void computeInternalForcesFromBoundaryEdgeLoadVectorAtPoint(FloatArray &answer, BoundaryLoad *load, int edge, CharType type, ValueModeType mode, TimeStep *tStep, FloatArray &pointCoords, double ds, bool global)
DofManager * ghostNodes[2]
virtual bool computeGtoLRotationMatrix(FloatMatrix &answer)
Returns transformation matrix from global c.s.
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...
virtual void FiberedCrossSectionInterface_computeStrainVectorInFiber(FloatArray &answer, const FloatArray &masterGpStrain, GaussPoint *slaveGp, TimeStep *tStep)
Computes full 3d strain vector in element fiber.
Abstract base class allowing to control the way, how equations are assigned to individual DOFs...
virtual 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. ...
void giveCompleteMasterDofIDArray(IntArray &dofIDArray) const
Returns the full dof ID array of receiver.
static FEI3dLineLin interp
Geometry interpolator only.
Class representing a linear line interpolation in 3D.
virtual const char * giveInputRecordName() const
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
This class implements a 2-dimensional beam element with cubic lateral displacement interpolation (rot...
int subsoilMat
Subsoil material.
virtual DofManager * giveInternalDofManager(int i) const
Returns i-th internal element dof manager of the receiver.
IRResultType
Type defining the return values of InputRecord reading operations.
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...
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
virtual void computeBmatrixAt(GaussPoint *, FloatMatrix &, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &)
Computes interpolation matrix for element unknowns.
The element interface required by FiberedCrossSection.
InterfaceType
Enumerative type, used to identify interface type.
Load is base abstract class for all loads.
virtual int testElementExtension(ElementExtension ext)
Tests if the element implements required extension.
void giveEndForcesVector(FloatArray &answer, TimeStep *tStep)
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
virtual void giveBoundaryLocationArray(IntArray &locationArray, const IntArray &bNodes, const UnknownNumberingScheme &s, IntArray *dofIds=NULL)
Returns the location array for the boundary of the element.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void giveInternalDofManDofIDMask(int i, IntArray &answer) const
Returns internal dofmanager dof mask for node.
Interface defining required functionality from associated element.
virtual int giveNumberOfIPForMassMtrxIntegration()
Return desired number of integration points for consistent mass matrix computation, if required.
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
Class representing integration point in finite element program.
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.
Class representing solution step.
This class implements a base beam intented to be a base class for beams based on lagrangian interpola...
Element extension for edge loads.
virtual int giveNumberOfInternalDofManagers() const
virtual double computeLength()
Computes the length (zero for all but 1D geometries)