76 const double point_tol = 1.0e-3;
78 for (
int i = 1; i <= 2; i++ ) {
79 if ( lcoords.
at(i) < ( -1. - point_tol ) ) {
81 }
else if ( lcoords.
at(i) > ( 1. + point_tol ) ) {
120 int aNode = 0, bNode = 0;
126 }
else if ( iedge == 2 ) {
129 }
else if ( iedge == 3 ) {
136 edgeNodes.
at(1) = aNode;
137 edgeNodes.
at(2) = bNode;
146 nodeA = edgeNodes.
at(1);
147 nodeB = edgeNodes.
at(2);
151 return sqrt(dx * dx + dy * dy);
virtual void evalN(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the array of interpolation functions (shape functions) at given point.
virtual void edgeLocal2global(FloatArray &answer, int iedge, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates edge global coordinates from given local ones.
double edgeComputeLength(IntArray &edgeNodes, const FEICellGeometry &cellgeo)
Computes the length of a given edge.
double & at(int i)
Coefficient access function.
virtual const FloatArray * giveVertexCoordinates(int i) const =0
virtual void local2global(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates global coordinates from given local ones.
Class representing a general abstraction for cell geometry.
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 SetUpPointsOnSquare(int, MaterialMode mode)
Sets up receiver's integration points on unit square integration domain.
virtual void computeLocalEdgeMapping(IntArray &edgeNodes, int iedge)
Class implementing an array of integers.
int & at(int i)
Coefficient access function.
Abstract base class representing integration rule.
virtual double edgeEvalNormal(FloatArray &answer, int iedge, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the normal on the given edge.
double at(int i, int j) const
Coefficient access function.
void resize(int n)
Checks size of receiver towards requested bounds.
virtual IntegrationRule * giveIntegrationRule(int order)
Sets up a suitable integration rule for numerical integrating over volume.
Class representing vector of real numbers.
Implementation of matrix containing floating point numbers.
virtual void edgeEvaldNds(FloatArray &answer, int iedge, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the matrix of derivatives of edge interpolation functions (shape functions) at given point...
void resize(int rows, int cols)
Checks size of receiver towards requested bounds.
virtual int getRequiredNumberOfIntegrationPoints(integrationDomain dType, int approxOrder)
Abstract service.
virtual void edgeEvalN(FloatArray &answer, int iedge, const FloatArray &lcoords, const FEICellGeometry &cellgeo)
Evaluates the array of edge interpolation functions (shape functions) at given point.
the oofem namespace is to define a context or scope in which all oofem names are defined.
Class representing Gaussian-quadrature integration rule.
virtual bool inside(const FloatArray &lcoords) const
void resize(int s)
Resizes receiver towards requested size.