35 #include "../sm/Elements/Bars/truss3d.h" 36 #include "../sm/CrossSections/structuralcrosssection.h" 85 OOFEM_WARNING(
"IP values will not be transferred to nodes. Use ZZNodalRecovery instead (parameter stype 1)");
100 answer.
at(1, 1) = dN.
at(1, 1);
101 answer.
at(1, 2) = dN.
at(1, 2);
102 answer.
at(1, 3) = dN.
at(1, 3);
103 answer.
at(1, 4) = dN.
at(2, 1);
104 answer.
at(1, 5) = dN.
at(2, 2);
105 answer.
at(1, 6) = dN.
at(2, 3);
142 answer.
at(1, 1) = halfMass;
143 answer.
at(2, 2) = halfMass;
144 answer.
at(3, 3) = halfMass;
145 answer.
at(4, 4) = halfMass;
146 answer.
at(5, 5) = halfMass;
147 answer.
at(6, 6) = halfMass;
190 double npn = ly.dotProduct(lx);
196 for (
int i = 1; i <= 3; i++ ) {
197 answer.
at(1, i) = lx.
at(i);
198 answer.
at(2, i) = ly.at(i);
199 answer.
at(3, i) = lz.
at(i);
228 answer = {D_u, D_v, D_w};
303 go = CreateLine3D(p);
304 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
305 EGAttachObject(go, ( EObjectP )
this);
306 EMAddGraphicsToModel(ESIModel(), go);
330 go = CreateLine3D(p);
331 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
332 EMAddGraphicsToModel(ESIModel(), go);
virtual double computeEdgeVolumeAround(GaussPoint *gp, int)
Computes volume related to integration point on local edge.
CrossSection * giveCrossSection()
virtual void computeLumpedMassMatrix(FloatMatrix &answer, TimeStep *tStep)
Computes lumped mass matrix of receiver.
int testElementGraphicActivity(Element *)
Test if particular element passed fulfills various filtering criteria for its graphics output...
InternalStateType
Type representing the physical meaning of element or constitutive model internal variable.
The element interface required by NodalAvergagingRecoveryModel.
virtual bool isActivated(TimeStep *tStep)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void beVectorProductOf(const FloatArray &v1, const FloatArray &v2)
Computes vector product (or cross product) of vectors given as parameters, , and stores the result in...
The element interface required by ZZNodalRecoveryModel.
Abstract base class for "structural" finite elements with geometrical nonlinearities.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
double & at(int i)
Coefficient access function.
#define OOFEG_RAW_GEOMETRY_LAYER
void clear()
Clears receiver (zero size).
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual FEInterpolation * giveInterpolation() const
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
virtual double giveTransformationJacobian(const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the determinant of the transformation.
virtual double giveCoordinate(int i)
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
MatResponseMode
Describes the character of characteristic material matrix.
virtual double evaldNdx(FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the matrix of derivatives of interpolation functions (shape functions) at given point...
virtual int computeLoadLEToLRotationMatrix(FloatMatrix &answer, int, GaussPoint *gp)
Returns transformation matrix from local edge c.s to element local coordinate system of load vector c...
static FEI3dLineLin interp
#define OOFEG_DEFORMED_GEOMETRY_LAYER
void beDifferenceOf(const FloatArray &a, const FloatArray &b)
Sets receiver to be a - b.
EPixel getDeformedElementColor()
Class representing a general abstraction for finite element interpolation class.
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 double computeLength()
Computes the length (zero for all but 1D geometries)
virtual void computeNmatrixAt(const FloatArray &iLocCoord, FloatMatrix &answer)
Computes interpolation matrix for element unknowns.
virtual void evalN(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the array of interpolation functions (shape functions) at given point.
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
#define OOFEG_RAW_GEOMETRY_WIDTH
virtual double giveWeight()
Returns integration weight of receiver.
UnknownType
Type representing particular unknown (its physical meaning).
StructuralCrossSection * giveStructuralCrossSection()
Helper function which returns the structural cross-section for the element.
Wrapper around element definition to provide FEICellGeometry interface.
virtual double giveUpdatedCoordinate(int ic, TimeStep *tStep, double scale=1.)
Returns updated ic-th coordinate of receiver.
virtual int giveLocalCoordinateSystem(FloatMatrix &answer)
Returns local coordinate system of receiver Required by material models with ortho- and anisotrophy...
double at(int i, int j) const
Coefficient access function.
void resize(int n)
Checks size of receiver towards requested bounds.
Truss3d(int n, Domain *d)
virtual int setupIntegrationPoints(IntegrationRule &irule, int npoints, Element *element)
Sets up integration rule for the given element.
void beNMatrixOf(const FloatArray &n, int nsd)
Assigns the receiver to be a repeated diagonal matrix.
Class representing vector of real numbers.
virtual void NodalAveragingRecoveryMI_computeNodalValue(FloatArray &answer, int node, InternalStateType type, TimeStep *tStep)
Computes the element value in given node.
Implementation of matrix containing floating point numbers.
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
IRResultType
Type defining the return values of InputRecord reading operations.
virtual double give(CrossSectionProperty a, GaussPoint *gp)
Returns the value of cross section property at given point.
virtual void giveEdgeDofMapping(IntArray &answer, int iEdge) const
Assembles edge dof mapping mask, which provides mapping between edge local DOFs and "global" element ...
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual void giveRealStress_1d(FloatArray &answer, GaussPoint *gp, const FloatArray &reducedStrain, TimeStep *tStep)=0
virtual double giveLength(const FEICellGeometry &cellgeo) const
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
void beTranspositionOf(const FloatMatrix &src)
Assigns to the receiver the transposition of parameter.
std::vector< std::unique_ptr< IntegrationRule > > integrationRulesArray
List of integration rules of receiver (each integration rule contains associated integration points a...
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void zero()
Zeroes all coefficient of receiver.
virtual void giveStiffnessMatrix_1d(FloatMatrix &answer, MatResponseMode mode, GaussPoint *gp, TimeStep *tStep)=0
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
InterfaceType
Enumerative type, used to identify interface type.
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
the oofem namespace is to define a context or scope in which all oofem names are defined.
virtual void giveDofManDofIDMask(int inode, IntArray &) const
Returns dofmanager dof mask for node.
double normalize()
Normalizes receiver.
Node * giveNode(int i) const
Returns reference to the i-th node of element.
Class representing integration point in finite element program.
#define OOFEM_WARNING(...)
Class representing solution step.
int numberOfDofMans
Number of dofmanagers.
const FloatArray & giveNaturalCoordinates()
Returns coordinate array of receiver.
Class representing Gaussian-quadrature integration rule.