44 #include "../sm/CrossSections/structuralinterfacecrosssection.h" 49 #include <Emarkwd3d.h> 74 double ksi, n1, n2, n3;
78 n1 = ( 1. - ksi ) * 0.5 - 0.5 * n3;
79 n2 = ( 1. + ksi ) * 0.5 - 0.5 * n3;
83 answer.
at(1, 2) = answer.
at(2, 1) = -n1;
84 answer.
at(1, 4) = answer.
at(2, 3) = -n2;
85 answer.
at(1, 6) = answer.
at(2, 5) = -n3;
87 answer.
at(1, 8) = answer.
at(2, 7) = n1;
88 answer.
at(1, 10) = answer.
at(2, 9) = n2;
89 answer.
at(1, 12) = answer.
at(2, 11) = n3;
113 double dn1 = ksi - 0.5;
114 double dn2 = ksi + 0.5;
115 double dn3 = -2.0 * ksi;
125 double dx = ( dn1 * x1 ) + ( dn2 * x2 ) + ( dn3 * x3 );
126 double dy = ( dn1 * y1 ) + ( dn2 * y2 ) + ( dn3 * y3 );
131 double n3 = 1. - ksi * ksi;
132 double n1 = ( 1. - ksi ) * 0.5 - 0.5 * n3;
133 double n2 = ( 1. + ksi ) * 0.5 - 0.5 * n3;
137 return sqrt(dx * dx + dy * dy) * weight * thickness * r;
177 double dn1 = ksi - 0.5;
178 double dn2 = ksi + 0.5;
179 double dn3 = -2.0 * ksi;
187 for (
int i = 0; i < 6; i++ ) {
188 answer.
at(i * 2 + 1, i * 2 + 1) = grad.
at(1);
189 answer.
at(i * 2 + 1, i * 2 + 2) = grad.
at(2);
190 answer.
at(i * 2 + 2, i * 2 + 1) = -grad.
at(2);
191 answer.
at(i * 2 + 2, i * 2 + 2) = grad.
at(1);
255 go = CreateLine3D(p);
256 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
257 EGAttachObject(go, ( EObjectP )
this);
258 EMAddGraphicsToModel(ESIModel(), go);
265 go = CreateLine3D(p);
266 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
267 EGAttachObject(go, ( EObjectP )
this);
268 EMAddGraphicsToModel(ESIModel(), go);
292 go = CreateLine3D(p);
293 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
294 EMAddGraphicsToModel(ESIModel(), go);
302 go = CreateLine3D(p);
303 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
304 EMAddGraphicsToModel(ESIModel(), go);
310 int indx, result = 0;
335 p [ 0 ].x = ( FPNum ) gcoord.at(1);
336 p [ 0 ].y = ( FPNum ) gcoord.at(2);
339 val [ 0 ] = v1.
at(indx);
344 EASValsSetMType(FILLED_CIRCLE_MARKER);
345 go = CreateMarkerWD3D(p, val [ 0 ]);
346 EGWithMaskChangeAttributes(LAYER_MASK | FILL_MASK | MTYPE_MASK, go);
347 EMAddGraphicsToModel(ESIModel(), go);
CrossSection * giveCrossSection()
int testElementGraphicActivity(Element *)
Test if particular element passed fulfills various filtering criteria for its graphics output...
virtual FEInterpolation * giveInterpolation() const
virtual int giveIPValue(FloatArray &answer, GaussPoint *gp, InternalStateType type, TimeStep *tStep)
Returns the integration point corresponding value in full form.
virtual IntegrationRule * giveDefaultIntegrationRulePtr()
Access method for default integration rule.
virtual void computeBmatrixAt(GaussPoint *gp, FloatMatrix &answer, int=1, int=ALL_STRAINS)
Computes the geometrical matrix of receiver in given integration point.
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
double & at(int i)
Coefficient access function.
#define OOFEG_RAW_GEOMETRY_LAYER
virtual double computeVolumeAround(GaussPoint *gp)
Returns volume related to given integration point.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
InterfaceElem2dQuad(int n, Domain *d)
virtual double giveCoordinate(int i)
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
Class implementing an array of integers.
MatResponseMode
Describes the character of characteristic material matrix.
#define OOFEG_DEFORMED_GEOMETRY_LAYER
EPixel getDeformedElementColor()
Class representing a general abstraction for finite element interpolation class.
InternalStateType giveIntVarType()
Abstract base class for all "structural" finite elements.
double giveNaturalCoordinate(int i) const
Returns i-th natural element coordinate of receiver.
#define _IFT_InterfaceElem2dQuad_axisymmode
#define OOFEG_RAW_GEOMETRY_WIDTH
virtual double giveWeight()
Returns integration weight of receiver.
UnknownType
Type representing particular unknown (its physical meaning).
virtual void giveDofManDofIDMask(int inode, IntArray &answer) const
Returns dofmanager dof mask for node.
bool axisymmode
Flag controlling axisymmetric mode (integration over unit circumferential angle)
virtual double giveUpdatedCoordinate(int ic, TimeStep *tStep, double scale=1.)
Returns updated ic-th coordinate of receiver.
Base class for all structural interface cross section models.
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.
double at(int i, int j) const
Coefficient access function.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
InternalStateMode giveIntVarMode()
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
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.
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
std::vector< std::unique_ptr< IntegrationRule > > integrationRulesArray
List of integration rules of receiver (each integration rule contains associated integration points a...
void zero()
Zeroes all coefficient of receiver.
virtual bool computeGtoLRotationMatrix(FloatMatrix &answer)
Returns transformation matrix from global c.s.
void updateFringeTableMinMax(double *s, int size)
the oofem namespace is to define a context or scope in which all oofem names are defined.
double normalize()
Normalizes receiver.
Node * giveNode(int i) const
Returns reference to the i-th node of element.
virtual void computeConstitutiveMatrixAt(FloatMatrix &answer, MatResponseMode rMode, GaussPoint *gp, TimeStep *tStep)
Computes constitutive matrix of receiver.
static FEI2dLineQuad interp
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
#define OOFEG_VARPLOT_PATTERN_LAYER
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
Class representing integration point in finite element program.
Class representing solution step.
virtual int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords)
Computes the global coordinates from given element's local coordinates.
int numberOfDofMans
Number of dofmanagers.
Class representing Gaussian-quadrature integration rule.