35 #include "../sm/Elements/Axisymmetry/l4axisymm.h" 126 redCoord = {0.0, 0.0};
152 answer.
at(1, i * 2 - 1) = dNdx.
at(i, 1);
153 answer.
at(2, i * 2 - 0) = dNdx.
at(i, 2);
154 answer.
at(3, i * 2 - 1) = NRed.
at(i) / r;
155 answer.
at(6, 2 * i - 1) = dNdxRed.
at(i, 2);
156 answer.
at(6, 2 * i - 0) = dNdxRed.
at(i, 1);
164 for (
int i = 1; i < 5; i++ ) {
175 for (
int i = 1; i < 5; i++ ) {
204 #define TR_LENGHT_REDUCT 0.3333 218 EASValsSetEdgeFlag(
true);
220 EASValsSetFillStyle(FILL_HOLLOW);
234 go = CreateQuad3D(p);
235 EGWithMaskChangeAttributes(WIDTH_MASK | FILL_MASK | COLOR_MASK | EDGE_COLOR_MASK | EDGE_FLAG_MASK | LAYER_MASK, go);
236 EGAttachObject(go, ( EObjectP )
this);
237 EMAddGraphicsToModel(ESIModel(), go);
254 EASValsSetEdgeFlag(
true);
256 EASValsSetFillStyle(FILL_HOLLOW);
270 go = CreateQuad3D(p);
271 EGWithMaskChangeAttributes(WIDTH_MASK | FILL_MASK | COLOR_MASK | EDGE_COLOR_MASK | EDGE_FLAG_MASK | LAYER_MASK, go);
272 EMAddGraphicsToModel(ESIModel(), go);
279 int i, indx, result = 0;
283 double s [ 4 ], defScale;
291 for ( i = 1; i <= 4; i++ ) {
301 for ( i = 1; i <= 4; i++ ) {
302 s [ i - 1 ] = v [ i - 1 ].
at(indx);
306 for ( i = 0; i < 4; i++ ) {
322 tr = CreateQuadWD3D(p, s [ 0 ], s [ 1 ], s [ 2 ], s [ 3 ]);
323 EGWithMaskChangeAttributes(LAYER_MASK, tr);
324 EMAddGraphicsToModel(ESIModel(), tr);
360 for ( i = 0; i < 4; i++ ) {
374 for ( i = 0; i < 3; i++ ) {
375 pp [ i + 4 ].x = 0.5 * ( pp [ i ].x + pp [ i + 1 ].x );
376 pp [ i + 4 ].y = 0.5 * ( pp [ i ].y + pp [ i + 1 ].y );
377 pp [ i + 4 ].z = 0.5 * ( pp [ i ].z + pp [ i + 1 ].z );
380 pp [ 7 ].x = 0.5 * ( pp [ 3 ].x + pp [ 0 ].x );
381 pp [ 7 ].y = 0.5 * ( pp [ 3 ].y + pp [ 0 ].y );
382 pp [ 7 ].z = 0.5 * ( pp [ 3 ].z + pp [ 0 ].z );
384 pp [ 8 ].x = 0.25 * ( pp [ 0 ].x + pp [ 1 ].x + pp [ 2 ].x + pp [ 3 ].x );
385 pp [ 8 ].y = 0.25 * ( pp [ 0 ].y + pp [ 1 ].y + pp [ 2 ].y + pp [ 3 ].y );
386 pp [ 8 ].z = 0.25 * ( pp [ 0 ].z + pp [ 1 ].z + pp [ 2 ].z + pp [ 3 ].z );
389 const FloatArray &gpCoords = gp->giveNaturalCoordinates();
390 if ( ( gpCoords.
at(1) > 0. ) && ( gpCoords.
at(2) > 0. ) ) {
395 }
else if ( ( gpCoords.
at(1) < 0. ) && ( gpCoords.
at(2) > 0. ) ) {
400 }
else if ( ( gpCoords.
at(1) < 0. ) && ( gpCoords.
at(2) < 0. ) ) {
418 for ( i = 1; i <= 4; i++ ) {
419 s [ i - 1 ] = v [ 0 ].
at(indx);
422 for ( i = 0; i < 4; i++ ) {
423 p [ i ].x = pp [ ind.
at(i + 1) ].x;
424 p [ i ].y = pp [ ind.
at(i + 1) ].y;
425 p [ i ].z = pp [ ind.
at(i + 1) ].z;
429 tr = CreateQuadWD3D(p, s [ 0 ], s [ 1 ], s [ 2 ], s [ 3 ]);
430 EGWithMaskChangeAttributes(LAYER_MASK, tr);
431 EMAddGraphicsToModel(ESIModel(), tr);
int testElementGraphicActivity(Element *)
Test if particular element passed fulfills various filtering criteria for its graphics output...
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
The element interface required by ZZNodalRecoveryModel.
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
virtual void evalN(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)=0
Evaluates the array of interpolation functions (shape functions) at given point.
virtual IntegrationRule * giveDefaultIntegrationRulePtr()
Access method for default integration rule.
ScalarAlgorithmType getScalarAlgo()
The element interface required by ZZNodalRecoveryModel.
double & at(int i)
Coefficient access function.
virtual int giveInternalStateAtNode(FloatArray &answer, InternalStateType type, InternalStateMode mode, int node, TimeStep *tStep)
Returns internal state variable (like stress,strain) at node of element in Reduced form...
#define OOFEG_RAW_GEOMETRY_LAYER
EPixel getElementEdgeColor()
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual void SPRNodalRecoveryMI_giveSPRAssemblyPoints(IntArray &pap)
virtual double giveCoordinate(int i)
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
virtual SPRPatchType SPRNodalRecoveryMI_givePatchType()
virtual int giveNumberOfDofManagers() const
#define OOFEG_DEFORMED_GEOMETRY_LAYER
int getInternalVarsDefGeoFlag()
EPixel getDeformedElementColor()
Class representing a general abstraction for finite element interpolation class.
virtual FEInterpolation * giveInterpolation() const
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
InternalStateType giveIntVarType()
L4Axisymm(int n, Domain *d)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
#define OOFEG_RAW_GEOMETRY_WIDTH
UnknownType
Type representing particular unknown (its physical meaning).
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 void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType type)
virtual void SPRNodalRecoveryMI_giveDofMansDeterminedByPatch(IntArray &answer, int pap)
double at(int i, int j) const
Coefficient access function.
void resize(int n)
Checks size of receiver towards requested bounds.
virtual Interface * giveInterface(InterfaceType it)
Interface requesting service.
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int lowerIndx=1, int upperIndx=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
int numberOfGaussPoints
Number of integration points as specified by nip.
InternalStateMode giveIntVarMode()
int numberOfFiAndShGaussPoints
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
IRResultType
Type defining the return values of InputRecord reading operations.
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
int giveNumberOfIntegrationPoints() const
Returns number of integration points of receiver.
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
virtual int SPRNodalRecoveryMI_giveNumberOfIP()
The spatial localizer element interface associated to spatial localizer.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
void zero()
Zeroes all coefficient of receiver.
static FEI2dQuadLinAxi interpolation
InterfaceType
Enumerative type, used to identify interface type.
void updateFringeTableMinMax(double *s, int size)
the oofem namespace is to define a context or scope in which all oofem names are defined.
Node * giveNode(int i) const
Returns reference to the i-th node of element.
int giveNumberOfRows() const
Returns number of rows of receiver.
#define OOFEG_VARPLOT_PATTERN_LAYER
Class representing integration point in finite element program.
Class representing solution step.
int numberOfDofMans
Number of dofmanagers.
virtual double evaldNdx(FloatMatrix &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)=0
Evaluates the matrix of derivatives of interpolation functions (shape functions) at given point...
const FloatArray & giveNaturalCoordinates()
Returns coordinate array of receiver.