Go to the documentation of this file.
45 return sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1);
50 double ksi = lcoords.
at(1);
56 answer.
at(1) = 0.25 * ( 1.0 - ksi ) * ( 1.0 - ksi ) * ( 2.0 + ksi );
57 answer.
at(2) = 0.125 * l * ( 1.0 - ksi ) * ( 1.0 - ksi ) * ( 1.0 + ksi );
58 answer.
at(3) = 0.25 * ( 1.0 + ksi ) * ( 1.0 + ksi ) * ( 2.0 - ksi );
59 answer.
at(4) = -0.125 * l * ( 1.0 + ksi ) * ( 1.0 + ksi ) * ( 1.0 - ksi );
80 this->
evalN(n, lcoords, cellgeo);
95 double xi = ( x2_x1 * gcoords(0) + y2_y1 * gcoords(1) ) / ( sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1) );
100 answer(0) =
clamp(xi, -1., 1.);
107 double ksi = lcoords.
at(1);
110 answer.
at(1) = 1.5 * ( ksi * ksi - 1.0 ) * l_inv;
111 answer.
at(2) = 0.25 * ( ksi - 1.0 ) * ( 3.0 * ksi + 1.0 );
112 answer.
at(3) = -1.5 * ( ksi * ksi - 1.0 ) * l_inv;
113 answer.
at(4) = 0.25 * ( ksi + 1.0 ) * ( 3.0 * ksi - 1.0 );
119 double ksi = lcoords.
at(1);
122 answer.
at(1) = l_inv * 6.0 * ksi * l_inv;
123 answer.
at(2) = l_inv * ( 3.0 * ksi - 1.0 );
124 answer.
at(3) = -l_inv * 6.0 * ksi * l_inv;
125 answer.
at(4) = l_inv * ( 3.0 * ksi + 1.0 );
142 return sqrt(x2_x1 * x2_x1 + y2_y1 * y2_y1) * 0.5;
double giveLength(const FEICellGeometry &cellgeo) const
void evalN(FloatArray &answer, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override
void edgeEvaldNds(FloatArray &answer, int iedge, const FloatArray &lcoords, const FEICellGeometry &cellgeo) const override
virtual const FloatArray giveVertexCoordinates(int i) const =0
void zero()
Zeroes all coefficients of receiver.
double normalize_giveNorm()
void beDyadicProductOf(const FloatArray &vec1, const FloatArray &vec2)
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