35 #include "../sm/Elements/Interfaces/intelpoint.h" 36 #include "../sm/CrossSections/structuralinterfacecrosssection.h" 49 #include <Emarkwd3d.h> 90 case ie1d_1d:
return _1dInterface;
92 case ie1d_2d:
return _2dInterface;
94 case ie1d_3d:
return _3dInterface;
115 answer.
at(1, 1) = -1.0;
116 answer.
at(1, 2) = +1.0;
121 answer.
at(1, 1) = -1.0;
122 answer.
at(1, 3) = +1.0;
123 answer.
at(2, 2) = -1.0;
124 answer.
at(2, 4) = +1.0;
129 answer.
at(1, 1) = -1.0;
130 answer.
at(1, 4) = +1.0;
131 answer.
at(2, 2) = -1.0;
132 answer.
at(2, 5) = +1.0;
133 answer.
at(3, 3) = -1.0;
134 answer.
at(3, 6) = +1.0;
151 answer.
at(1, 1) = 1.;
178 ly.beVectorProductOf(lz,
normal);
182 for (
int i = 1; i <= 3; i++ ) {
184 answer.
at(2, i) = ly.at(i);
185 answer.
at(3, i) = lz.
at(i);
240 OOFEM_WARNING(
"Ambiguous input: 'refnode' and 'normal' cannot both be specified");
285 answer = { D_u, D_v };
288 answer = { D_u, D_v, D_w };
305 if ( normal.
at(1) == 0 && normal.
at(2) == 0 && normal.
at(3) == 0 ) {
306 OOFEM_ERROR(
"Normal is not defined (referenceNode=0,normal=(0,0,0))");
333 EASValsSetMType(CIRCLE_MARKER);
334 go = CreateMarker3D(p);
335 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
336 EMAddGraphicsToModel(ESIModel(), go);
361 EASValsSetMType(CIRCLE_MARKER);
362 go = CreateMarker3D(p);
363 EGWithMaskChangeAttributes(WIDTH_MASK | COLOR_MASK | LAYER_MASK, go);
364 EMAddGraphicsToModel(ESIModel(), go);
370 int indx, result = 0;
407 val [ 0 ] = v1.
at(indx);
411 EASValsSetMType(FILLED_CIRCLE_MARKER);
412 go = CreateMarkerWD3D(p, val [ 0 ]);
413 EGWithMaskChangeAttributes(LAYER_MASK | FILL_MASK | MTYPE_MASK, go);
414 EMAddGraphicsToModel(ESIModel(), go);
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
int testElementGraphicActivity(Element *)
Test if particular element passed fulfills various filtering criteria for its graphics output...
void beVectorProductOf(const FloatArray &v1, const FloatArray &v2)
Computes vector product (or cross product) of vectors given as parameters, , and stores the result in...
virtual IntegrationRule * giveDefaultIntegrationRulePtr()
Access method for default integration rule.
Domain * domain
Link to domain object, useful for communicating with other FEM components.
double & at(int i)
Coefficient access function.
void computeLocalSlipDir(FloatArray &normal)
virtual void drawDeformedGeometry(oofegGraphicContext &gc, TimeStep *tStep, UnknownType)
#define OOFEG_RAW_GEOMETRY_LAYER
virtual MaterialMode giveMaterialMode()
Returns material mode for receiver integration points.
oofem::oofegGraphicContext gc[OOFEG_LAST_LAYER]
virtual int computeGlobalCoordinates(FloatArray &answer, const FloatArray &lcoords)
Computes the global coordinates from given element's local coordinates.
enum oofem::IntElPoint::cmode mode
virtual double giveCoordinate(int i)
int giveNumberOfSpatialDimensions()
Returns number of spatial dimensions.
MaterialMode
Type representing material mode of integration point.
Class implementing an array of integers.
#define OOFEG_DEFORMED_GEOMETRY_LAYER
Abstract base class representing integration rule.
#define _IFT_IntElPoint_area
void beDifferenceOf(const FloatArray &a, const FloatArray &b)
Sets receiver to be a - b.
virtual double computeAreaAround(GaussPoint *gp)
int getInternalVarsDefGeoFlag()
EPixel getDeformedElementColor()
InternalStateType giveIntVarType()
virtual void computeTransformationMatrixAt(GaussPoint *gp, FloatMatrix &answer)
UnknownType
Type representing particular unknown (its physical meaning).
virtual double giveUpdatedCoordinate(int ic, TimeStep *tStep, double scale=1.)
Returns updated ic-th coordinate of receiver.
void resizeWithValues(int s, int allocChunk=0)
Checks size of receiver towards requested bounds.
double at(int i, int j) const
Coefficient access function.
virtual void computeNmatrixAt(GaussPoint *gp, FloatMatrix &answer)
Computes modified interpolation matrix (N) for the element which multiplied with the unknowns vector ...
virtual void computeGaussPoints()
Initializes the array of integration rules member variable.
virtual void giveDofManDofIDMask(int inode, IntArray &answer) const
Returns dofmanager dof mask for node.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
virtual void drawRawGeometry(oofegGraphicContext &gc, TimeStep *tStep)
IRResultType
Type defining the return values of InputRecord reading operations.
GaussPoint * getIntegrationPoint(int n)
Access particular integration point of receiver.
#define _IFT_IntElPoint_refnode
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
void zero()
Zeroes all coefficients of receiver.
#define _IFT_IntElPoint_normal
#define OOFEG_DEFORMED_GEOMETRY_WIDTH
void times(double s)
Multiplies receiver with scalar.
virtual IRResultType initializeFrom(InputRecord *ir)
Initializes receiver according to object description stored in input record.
std::vector< std::unique_ptr< IntegrationRule > > integrationRulesArray
List of integration rules of receiver (each integration rule contains associated integration points a...
virtual FloatArray * giveCoordinates()
void zero()
Zeroes all coefficient of receiver.
void updateFringeTableMinMax(double *s, int size)
Abstract base class for all structural interface elements.
Node * giveNode(int n)
Service for accessing particular domain node.
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.
double normalize()
Normalizes receiver.
Node * giveNode(int i) const
Returns reference to the i-th node of element.
#define OOFEG_VARPLOT_PATTERN_LAYER
Class representing integration point in finite element program.
#define OOFEM_WARNING(...)
IntElPoint(int n, Domain *d)
Class representing solution step.
int numberOfDofMans
Number of dofmanagers.
void add(const FloatArray &src)
Adds array src to receiver.
virtual int computeNumberOfDofs()
Computes or simply returns total number of element's local DOFs.
Class representing Gaussian-quadrature integration rule.
virtual void drawScalar(oofegGraphicContext &gc, TimeStep *tStep)
void resize(int s)
Resizes receiver towards requested size.