Go to the documentation of this file.
46 return {( 1. - xi ) * 0.5, ( 1. + xi ) * 0.5};
51 double xi = lcoords(0);
53 answer.
at(1) = ( 1. - xi ) * 0.5;
54 answer.
at(2) = ( 1. + xi ) * 0.5;
74 this->
evalN(n, lcoords, cellgeo);
91 double xi = (x2_x1) ? ( sqrt( dx*dx*(1 + (y2_y1 / x2_x1)*(y2_y1 / x2_x1) )) ) / ( sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1) ) : sqrt(dy*dy) / ( sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1) );
96 answer(0) =
clamp(xi, -1., 1.);
100void FEI2dLineLin :: edgeEvaldNds(
FloatArray &answer,
int iedge,
103 double xi = lcoords(0);
105 answer(0) = -0.5 * xi;
106 answer(1) = 0.5 * xi;
113 double J = sqrt(es1 * es1 + es2 * es2);
130 return sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1) / 2.0;
138IntArray FEI2dLineLin :: computeLocalEdgeMapping(
int iedge)
const
149 this->
evalN(answer, lcoords, cellgeo);
156 return sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1);
162 double x1 = node1.
at(
xind);
163 double y1 = node1.at(
yind);
166 double x2 = node2.
at(
xind);
167 double y2 = node2.at(
yind);
169 return x2 * y1 - x1 * y2;
174 auto iRule = std::make_unique<GaussIntegrationRule>(1,
nullptr);
175 int points = iRule->getRequiredNumberOfIntegrationPoints(
_Line,
order + 0);
176 iRule->SetUpPointsOnLine(points, _Unknown);
177 return std::move(iRule);
static FloatArrayF< 2 > evalN(double xi)
virtual const FloatArray giveVertexCoordinates(int i) const =0
void zero()
Zeroes all coefficients of receiver.
double normalize_giveNorm()
void resize(Index rows, Index cols)
*Sets size of receiver to be an empty matrix It will have zero rows and zero columns size void clear()
FloatArrayF< N > max(const FloatArrayF< N > &a, const FloatArrayF< N > &b)
double clamp(int a, int lower, int upper)
Returns the clamped value of a between upper and lower.
This page is part of the
OOFEM-3.0 documentation. Copyright Copyright (C) 1994-2025 Borek Patzak
Bořek Patzák
Project e-mail:
oofem@fsv.cvut.cz
Generated at for OOFEM by
doxygen
1.15.0 written by Dimitri van Heesch,
© 1997-2011