Maxillo-Facial Frame:	
Finite Element Shapes

Jacques Treil
Docteur, Service de radiologie
Clinique Pasteur
45 Avenue de Lombez
Toulouse 31300, FRANCE
jtreil@cadrus.fr

and

Gautam Dasgupta
Professor, Civil Engineering and Engineering Mechanics
Columbia University
600 Seeley W. Mudd
New York, NY 10027, USA
dasgupta@columbia.edu

Set up the path and import figures

Treil's NMR data:

Views of Treil's Frames

Abstract

This Mathematica notebook contains only the numerical issues coverd in the first author's keynote lecture, the biological and clinical details can be found in the enclosed references.

The shape function interpolants are the basic objects in any finite element method.  In morphometric anlysis, i.e. quantifying shape and size changes, a kinematic
formulation is adequate without any reference to stress or stress-strain like constitutive relations. Hence the algebraic expressions of shape functions can be  used directly to calculate the non-mechanical growth strains --- the local changes in shape and size of the body  --- in time. In a finite element region with n-number of nodes there are n-number of shape functions. Since the intent of the shape function interpolants is to reproduce an m-number of pre-selected algebraic shapes, it is shown here that from n-m given shape functions  the remaining m interpolants can be obtained.  This new result substantially economizes the computing efforts required to deduce the complete set of interpolants.

Treil's Frame schematic

Treil's maxillo-facial frame [Planche, 1998] and [Treil, 1997], according to the functional matrix hypothesis [Moss, 1969] is presented below.

The three projected views are shown above.

A symmetric wire-line model of the Maxillo-facial frame is shown below:

The anatomical symbols: O, A, B, C, D, E, F, H in the maxillo-facial frame are represented by nodes with indices 1 through 8.  The coordinates of the i-th node is denoted by: {x[i],y[i],z[i]}.

Maxillo-Facial Frames

There are eight nodes in the Treil maxillo-facial frame [Planche, 1998] and [Treil, 1997]. Only one shape function  will be evaluated in the (x,y,z) coordinates system following a suitable method, such as Taig's isoparametric formulation [Taig, 1961] or Wachspress' rational polynomial interpolation [Wachspress, 1975] and [Laydi, 1985].  (Mathematica coding of these two popular and effective procedures are included in the appendix.) This  initial shape function in terms of  (x,y,z) will be indicated by the special symbol s[0], and the associated  coordinates will be denoted by (x0, y0, z0).  Here the string "0" reflects the starting choice for the proposed algorithm.  For the eight-node maxillo-facial frame the remaining seven interpolants: Array[s,7] will be calculated to reproduce the set of exact fields denoted by f as a list of functions in (x,y,z). In particular, here: f={1,x,y,z,x*y,y*z,z*x}. Its algebraic relations are crucial to this presentation as explained below.

Consider a pre-assigned field u[x,y,z] to be an element of the list f.  With the prescribed nodal values u[x[i],y[i], z[i]], the set of shape functions s[i] in terms of (x,y,z) should lead to:

u[x, y,  z]==Sum[u[x[i], y[i],  z[i] ]*s[i], {i, n}];

The aforementioned relation will be exactly satisfied in terms of the coordinate variables (x,y,z). Hence the name "exact interpolated fields" for f.

Mathematica Example

Clear[f, x, y, z, s];
f = {1, x, y, z, x*y, y*z, z*x};

The following code generates the coefficient matrix mat and the right hand side vec for LinearSolve:

shapeRelation // 
        Clear;

\(shapeRelation::usage = "shapeRelation[f,s[0],{x,y,z},{x0,y0,z0}]generates {mat,vec} for determining the shape functions as LinearSolve[mat, vec]with the initial shape function s[0] associated with the node at {x0, y0, z0} by exactly interpolating the elements of f in the coordinate system (x,y,z)."
\)
shapeRelation[f_List, 
        g_, {x_, y_, z_}, {x0_, y0_, 
          z0_}]:=Module[{i}, 
{-Table[
                f /. {x -> x[i], y -> y[i], z -> z[i]}, {i, 
                  Length[f]}] // 
            Thread, -f + (g*f /. {x -> x0, y -> y0, 
                  z -> z0})}]

Execution

Clear[mat, vec]; {mat, vec} = 
      shapeRelation[f, s[0], {x, y, z}, {x0, y0, z0}];

A symmetric case

The anatomical points are symmetrically located on the left and  right side of the face.  The canonical maxillo-facial frame is then symmetric about x- axis.  Hence the following is a specialization for which a symmetric frame is generated according to the  rule:

Clear[r];
r := {x[1] -> -x0, y[1] -> y0, 
          y0 -> 0, 
z[1] -> z0, 
          z0 -> 0, 
x[2] -> -x[3], y[3] -> y[2], 
          y[2] -> 0, z[3] -> z[2], x[4] -> -x[5],  y[4] -> y[5], 
          z[4] -> z[5], x[6] -> -x[7], y[6] -> y[7], 
          z[6] -> z[7]};

Now the coefficient matrix and the right hand side vector, matr, vecr, respectively, become:

Clear[matr,  vecr];
{matr,  vecr} = {mat,  vec} /. r;

MatrixForm[matr]

vecr

Before attempting to solve for the unkown shape functions,  the consistency of the assumption of the interpolated field should be established:

Simplify[Det[matr]]

In general, the non-zero determinant signifies that the assumption:

f

could be acceptable and the matrix  matr is indeed invertable.

For given numerical data for the nodal coordinates, the shape functions will be obtained from the expression below after removing the comments (* and *).

Failure to  interpolate: (x^2), (y^2), (z^2)--- 
an example of inconsistent data

Clear[f, x, y, z, s];

f = {1, x, y, z, (x^2), (y^2), (z^2)};

{mat, vec} = 
        shapeRelation[f, s[0], {x, y, z}, {x0, y0, z0}];

The symmetric maxillo-facial frame

(mat //. r) // MatrixForm

Det[(mat //. r)]

Hence the following evaluation is not attempted since the coefficient matrix is not invertable.

Some 2-D results---Concave  quadrilateral element

Standard literature in finite elements hardly addresses the convexity issue. There is no mention of it in the encyclopedic references in the two volumes of Zienkiewicz and Taylor [Zienkiewicz, 1977].  Wachpress adreeses the condition from projective geometry point of view. He develops concavity with curved sides.  His general procedure [Gout, 1979] for n-gon is not applicable since the curve through the external intersection points intersects the element domain. It is then prudent to conclude that there has not been any consistent method available to generate the shape functions of a concave polygon.  Recently the second author, Dasgupta, utilized the two-dimensionsal version of the aforementioned code in the form: shapeRelation[f,s,{x,y},{x0,y0}] 
to generate the second, third and the fourth shape functions from the s which pertained to the convex end.

Contour plots of the shape functions

The following code calls the shape function generator, p houses the nodal coordinates, and the physical domain is represented by x-y frame. An example with the following nodes:

p = {{0, 0}, {-1.5, -0.5}, {1, 0}, {0.5, 0.5}}

is presented here.

The linearity condition along the straight boundary segments of the calculated shape functions is verified:

In the above matrix form the row indicates the shape function and a column the corresponding straight line side of the quadrilateral.

The original shape function is displayed with unit value at the concave end and with zero values at the remaining ends.

The following three shape functions are calculated from linear interpolating condition:
f={1,x,y}

The second shape function below is associated with the bottom most node.

The third interpolant shown below corresponds to the node facing the concave end.

The following interpolant is associated with the top most node.  Very low values could be observed in the bottom region of the element.

The following analytical forms of the shape functions can be used to generate the element stiffness matrix using the exact integration Mathematica code presented at IAS in 1998, Murmansk, Russia.

Observe that the Pade form is automatically captured.

Closed-form result

Let us consider a quadrilateral with the following nodes:

p = {{x1, y1}, {x2, y2}, {x3, y3}, {x4, y4}}

Let the shape function associated with {x1,y1} be n1[x,y] in the x-y coordinate fame. The three other shape functions, n2[x,y], n3[x,y] and n4[x,y]  were obtained from:

Shape1ToAll[
          n1xy_, 
{{x1_, y1_}, {x2_, y2_}, {x3_, 
              y3_}, {x4_, y4_}}] := 
        Module[{n1}, {n1, ({-(x3 y - x4 y - n1 x3 y1 + n1 x4 y1 - 
                          x y3 + n1 x1 y3 + x4 y3 - n1 x4 y3 + x y4 - 
                          n1 x1 y4 - x3 y4 + 
                          n1 x3 y4), 
x2 y - x4 y - 
                      n1 x2 y1 + n1 x4 y1 - x y2 + n1 x1 y2 + x4 y2 - 
                      n1 x4 y2 + x y4 - n1 x1 y4 - x2 y4 + 
                      n1 x2 y4, -x2 y + x3 y + n1 x2 y1 - 
                      n1 x3 y1 + x y2 - n1 x1 y2 - x3 y2 + n1 x3 y2 - 
                      x y3 + n1 x1 y3 + x2 y3 - n1 x2 y3}/
                  Det[{{1, x2, y2}, {1, x3, y3}, {1, x4, 
                        y4}}])
} /. 
            n1 -> n1xy];

A remarkable result is that if n1[x,y] satisfies the elliptic condition:
D[n1,{x,2}]+α[x,y] D[n1,{y,2}]==0;
then the same partial differential equation, for arbitrary α[x,y]>0, is satisfied by the three compute shape functions as verified below:

(Simplify[(α   D[#, {x, 2}] +   D[#, {y, 2}])/.Derivative[0, 2][n1][x, y]->- α  Derivative[2, 0][n1][x, y]])&/@{n2, n3, n4}

Conclusions

The biomedical application of maxillo-facial morphometric analysis can be cited to be an important application of the present methodology.  The idea is now being utilized for general three-dimensionsal cases.  For unconventional concave quadrilateral finite element, the proposed formulation made it possible to generate all shape functions starting from the one which pertains to the concave node.

To our knowledge there is neither any published work nor any  hint that the shape functions for elements can be generated from a single one by satisfying (desirable) interpolation conditions. Perhaps no investigator other than Wachspress  could concieve the shape functions in the x-y frame.  In fact, except for Taig's isoparametric formulation in the computational domain of a unit square, there exists no other original idea, to our knowledge, of generating shape functions. For the quadrilateral example presented here, it has been shown that if the first shape function is generated by isoparametric formulation then the three remainder can be constructed according to the proposed scheme automatically satisfying the patch test.

References

[1] Gout, J. L.,"Construction of an Hermite rational interpolation Wachspress type finite element,"  Comput. Math. Appl., 5, 1979, 337--347.

[2]  Irons, B. and Ahmad, S., Techniques of finite elements, Ellis Horwood, John Wiley and sons, 1980.

[3] Laydi, M. and Lesaint, P., "Sur les elements finis rationnels de Serendip de degre quelconque, Numerische Mathematik, Math. 46, 1985, Springer Verlag, 175--187.

[4] Moss, M. L., Salentijn, L.,  "The primary role of the functional matrix in facial growth," Angle Orthod. 1969, 55, 566-574.

[5] Planche P., Treil J.,  "Cephalometrics for the next millennium," Proceedings: The future of orthodontics,  Leuven University Press, France, 1998, 181-192.

[6]  Treil, J., Madrid C., Jaeger M., Casteigt, J., Borianne Ph., Biometrie tridimensionnelle maxillo-faciale,  Biom. Hum et Anthropol,  France, 1997,15, 1.2, 65-73.

[6] Taig, I., C., Structural analysis by the matrix displacement method,
Engl. Electric Aviation, Report No. S017, 1961.

[7] Wachspress, E. L. , A rational finite element basis,
Academic Press, New York, 1975.

[8] Zienkiewicz, O. C. and Taylor, R. L.,The finite element method, third edition,
McGraw-Hill, 1977.

Acknowledgement

Gautam Dasgupta was supported by a grant from the National Science Foundation, cms-9820353.

Appendices

Appendix-I: Isoparametric Shape Functions:

Analytical Isoparametric case

The nodes of the quadrilateral elements are indexed as:

nodeNumber[p_, color_] := 
      Graphics[{{
Text["1", 
              p[[1]], {1, 0}], 
Text["2", 
              p[[2]], {-1, 1}], 
Text["3", 
              p[[3]], {-1, -1}], 
Text["4", 
              p[[4]], {1, -1}]}, {color, Polygon[p]}}]

Clear[nodes, x, y]; 
    nodes = Transpose[Array[#, 4] & /@ {x, y}]

p = {{1, 1}, {3, 3}, {2.5, 4}, {1.5, 2.5}}; 
    Show[nodeNumber[p, RGBColor[1, 0, 0]], Axes -> True, 
      AspectRatio -> Automatic, PlotRange -> All, 
      AxesOrigin -> {0, 0}, 
AxesLabel -> {x, 
          y}]

The isoparametric shape function in the computational domain are:

q = {{-1, -1}, {1, -1}, {1, 1}, {-1, 1}}/2; 
    Show[nodeNumber[q, 
        RGBColor[0, 1, 
          0]], 
Graphics[{GrayLevel[1], 
            Point /@ (1.5*q)} // Flatten], Axes -> True, 
      AspectRatio -> Automatic, PlotRange -> All, 
      AxesOrigin -> {0, 
          0}, 
AxesLabel -> {η, ξ}]

Clear[η, ξ];
s = {(1/2 - η)*(1/2 - ξ), (1/2 +  η)*(1/
                  2 - ξ), (1/2 + η)*(1/2 + ξ), (1/
                  2 - η)*(1/2 + ξ)};

For any arbitrary plane:

ρ = α +   β*η +  γ* ξ

The isoparametric case reproduces:

Simplify[((ρ /. Thread[{η,  ξ} -> #]) & /@ 
            q) . s]

eq = Thread[{x, 
              y} == ((# . s) & /@ 
                Transpose[
                  nodes])
]//Simplify

ηξRule = Flatten[Solve[eq, {η, ξ}]];

Sxy = s /. ηξRule;

Verify

Simplify[Plus @@ Sxy]

Simplify[(((α*x + β*y + γ) /. 
                  Thread[{x,  y} -> #]) & /@ nodes) . 
        Sxy]

Sxy[[1]]

?Shape1ToAll

Simplify[
      Sxy - (Shape1ToAll[nodes, Sxy[[1]], {x, y}] // 
            Flatten)
]

Appendix-II: Exact Integration

Questions were raised by many finite element analysts regarding the integration of the energy density function within polygons.  Here a package (from the proceedings of the International Arctic Symposium: Physics and Mathematics, Murmanks, Russia, 1998) is furnished to effect exact integration by avoiding quadrature.

BeginPackage["NAreaIntegrate`", "Global`"]
NAreaIntegrate::usage = "NAreaIntegrate[z, {x, y}, nodes, proc]
yields the numerical value of z, a function of {x,y} coordinates,integrated \
within nodes according to proc defaulted to NIntegrate."
Begin["`Private`"]
Clear[NIntegrateApart];
NIntegrateApart[x_, t_Symbol] := 
      Module[{z}, z = Apart[x, t];  
        If[Head[z] === Plus, Plus @@ Map[Integrate[#, t] &, List @@ z], 
          Plus @@ Map[Integrate[#, t] &, 
              Replace[z, 
                Plus[y_] -> List[y]]]]]
NIntegrateApart[x_, {t_Symbol, t1_, t2_}, proc_] := 
      Module[{z}, z = Apart[x, t];  
        If[Head[z] === Plus, Plus @@ Map[proc[#, {t, t1, t2}] &, List @@ z], 
          Plus @@ Map[proc[#, {t, t1, t2}] &, 
              Replace[z, 
                Plus[y_] -> List[y]]]]]
Clear[NAreaIntegrate, NLineIntegrate];
NAreaIntegrate[z_, {x_, y_}, nodes_, proc_:  NIntegrate] := 
      Module[{zx, t, segments}, zx = NIntegrateApart[z, x];  
        segments = Partition[Append[nodes, nodes[[1]]], 2, 1];  
        Plus @@ Map[NLineIntegrate[zx, {x, y, t}, #, proc] &, 
            segments]]
NLineIntegrate[z_, {x_, y_, t_}, {{x1_, y1_}, {x2_, y2_}}, 
        proc_] := (NIntegrateApart[((y2 - y1) z) /. {x -> 
                x1 + t (x2 - x1), y -> y1 + t (y2 - y1)}, {t, 0, 
            1}, proc])
End[]
EndPackage[]

Example

Using the nodal point coordinate data of the aforementioned concave element
the following calculations are furnished.

NAreaIntegrate[
      1,  {x,  
        y},  {{0, 0}, {-1.5, -0.5}, {1, 0}, {0.5, 0.5}}]

NAreaIntegrate[
      1,  {x,  y},  {{0, 0}, {-1.5, -0.5}, {1, 0}, {0.5, 0.5}}, 
      Integrate]

NAreaIntegrate[
      1,  {x,  y},  {{0, 0}, {-1.5, -0.5}, {1, 0}, {0.5, 0.5}}, 
      NIntegrate]

z = 
      If[y > 0, (((-1.` + x))^2) - 1.` (y^2), 
        y (0.5999999999999998` + 
                3.` y) + (1/(-0.2` x + 
                  y)) (x (0.06666666666666665` (-1.` + 
                          x) x - 
                    0.3333333333333333` (-0.3599999999999999` + 
                          x) y))]

z1 = Simplify[z, y > 0]

NAreaIntegrate[z1,  {x,  y},  {{0, 0}, {1, 0}, {0.5, 0.5}}, 
      Integrate]

Appendix-III: Patch test with Wachspress shapes and closed-form integration

Wachspress proposed the idea of rational polynomial shape functions [Wachspress, 1975] used here in teh finite element formulation of the maxillo-facial frame.  Its validity even in two-dimensional cases is hard to find in popular literature [Zienkiewicz, 1977].  According to Irons and Ahmad [Irons, 1980] page 162, last paragraph: "The patch test is not trivial. If we assert that a formulation passes, we assert a very great deal."  Here is an example of the constant stress membrane problem for which the Wachpress formulation produced statisfactory results.

Initialize

General Utilities

Setup the Path

(*
AppendTo[$Path,
	"pika:patch"]//Union;
	*)

Special features

Set Graphic Options

SetOptions[Graphics, PlotRange->All,
AspectRatio ->Automatic, Axes -> Automatic];

Special Routines

Clear[TakeList];
TakeList[list_,elements_]:=Flatten[
		Take[list,{#}]& /@ elements,1]

Define Global Variables

Global Element variables

(*   2D problem *)
Global`planeStress;
Global`planeStrain;
(* Name of Global Coordinates *)
Global`x;
Global`y;
(* Name of Local Coordinates *)
(* For each element its centroid is the origin for {u,v} *)
Global`u;
Global`v;

List of returned objects

Global`GlobalNodalDisplacements;
Global`GlobalNodalForces;
Global`LocalNodalDisplacements;
Global`LocalNodalForces; 
Global`LocalStiffnessMatrices;
Global`LocalConstitutiveMatrices;
Global`LocalInterpolants;
Global`LocalStrainDisplacementMatrices;

Import via Needs

(*
Needs["LowerTriangle`"]
Needs["ElementSystemDrawing`"]
Needs["AssemblyProcedure`"]
			Needs["CentroidalAxesVertices`"]
			Needs["RationalPolynomialShapes`"]
	 	 Needs["AreaIntegrate`"]
			Needs["BMatrix`"]
			Needs["ConstitutiveMatrices2D`"]
			Needs["ElementMatrices2D`"]
	Needs["Element2D`"]
	Needs["FEProcess2D`"]
	Needs["FE2DBoundaryValues`"]
	Needs["FESystemSolve2D`"]
	*)

Set Default Prescribed Data

{hinges, nonZeroNodalForces, rollers, 
	appliedDisplacements} ={
		 		{{}}, {{}},{{}},{{}} 
		 					};

Data Set

Geometry

globalNodes ={ {0,0},{10,0},{10,10},{0,10},
				{2,2},{8,3},{8,7},{4,7}};
connections = { {1,2,6,5},
						{6,2,3,7}, {8,7,3,4},
						{8,4,1,5},{5,6,7,8}};

Material

All e0 are identical :

moduli=1.0 ;
poissonRatio=1/4;
state=planeStress;
width=1.0;

Boundary Conditions

hinges  = {{4,-Pi/2}} ;
 nonZeroNodalForces  = {{3,1},{5,1} } ; 
rollers = {{1,-Pi/2}};

Draw The Element System

(*
ElementSystemDrawing[globalNodes, connections, 
					rollers, hinges, {} ]//Timing
					*)

Stress Analysis

Set Prescribed data

prescribedBoundaryData={hinges, nonZeroNodalForces, rollers, 
		appliedDisplacements};

FEmesh={globalNodes, connections};

properties={moduli, poissonRatio, state, width};

Carry out Solution

(*
resultRules=FESystemSolve2D[ 
	FEmesh, properties,  prescribedBoundaryData] //Timing;
	*)

Intermediate steps

Computational Details

Result-Rule

The following results were obtained from the calculations above in a 400MHz Mac.

resultRules = {43.733333333333576` Second, {GlobalNodalDisplacements -> {0, 0.49999999999575534`, 2.000000000002338`, 0.49999999999753586`, 
                2.0000000000006777`, 0, 0, 0, 0.4000000000016807`, 
                0.3999999999964184`, 1.6000000000017778`, 
                0.34999999999680453`, 1.6000000000010686`, 
                0.1499999999974028`, 0.7999999999992135`, 
                0.14999999999677924`}, 
            GlobalNodalForces -> {-1.0000000000028644`, 0, 
                0.9999999999999996`, 0, 0.9999999999999989`, 
                0, -1.0000000000012723`, 0, 0, 0, 0, 0, 0, 0, 0, 0}, 
            LocalNodalDisplacements -> {{0, 0.49999999999575534`, 
                  2.000000000002338`, 0.49999999999753586`, 
                  1.6000000000017778`, 0.34999999999680453`, 
                  0.4000000000016807`, 
                  0.3999999999964184`}, {1.6000000000017778`, 
                  0.34999999999680453`, 2.000000000002338`, 
                  0.49999999999753586`, 2.0000000000006777`, 0, 
                  1.6000000000010686`, 
                  0.1499999999974028`}, {0.7999999999992135`, 
                  0.14999999999677924`, 1.6000000000010686`, 
                  0.1499999999974028`, 2.0000000000006777`, 0, 0, 
                  0}, {0.7999999999992135`, 0.14999999999677924`, 0, 0, 0, 
                  0.49999999999575534`, 0.4000000000016807`, 
                  0.3999999999964184`}, {0.4000000000016807`, 
                  0.3999999999964184`, 1.6000000000017778`, 
                  0.34999999999680453`, 1.6000000000010686`, 
                  0.1499999999974028`, 0.7999999999992135`, 
                  0.14999999999677924`}}, 
            LocalNodalForces -> {{-0.20000000000098667`, 0, 
                  0.29999999999978433`, 0, 0.2000000000004781`, 
                  0, -0.29999999999923466`, 
                  0}, {-0.6999999999999381`, 0, 0.7000000000002158`, 0, 
                  0.6999999999999776`, 0, -0.70000000000026`, 
                  0}, {-0.30000000000066096`, 0, 0.3000000000009643`, 0, 
                  0.30000000000002214`, 0, -0.3000000000003366`, 
                  0}, {0.7999999999997358`, 0, -0.7000000000009358`, 
                  0, -0.8000000000018779`, 0, 0.7000000000030737`, 
                  0}, {-0.40000000000383906`, 0, 0.4999999999994592`, 0, 
                  0.3999999999992951`, 0, -0.4999999999990743`, 0}}, 
            LocalStiffnessMatrices -> {{{0.5249120419246918`}, {0.10670327263644164`, 1.198305292550387`}, {0.1642106457043182`, 
                    0.013315030348444945`, 
                    0.4778946771478405`}, {-0.053351636318220264`, 
                    0.6608473537248223`, -0.20665751517422326`, 
                    0.9795763231376`}, {-0.2217546247419726`, -0.15996339403022497`, -0.31578935429567156`, 0.07998169701511426`, 
                    0.5249120419246953`}, {-0.1599633940302262`, -0.5483613741162827`, 0.013315030348448165`, -0.9858193129418567`, 
                    0.10670327263644036`, 
                    1.1983052925503799`}, {-0.4673680628870347`, 
                    0.03994509104534272`, -0.3263159685564858`, 
                    0.18002745447732948`, 0.012631937112969283`, 
                    0.039945091045343384`, 
                    0.7810520943305548`}, {0.10661175771200848`, -1.3107912721589159`, 
                    0.18002745447732882`, -0.6546043639205443`, -0.026721575621325933`, 0.3358753945077595`, -0.2599176365680109`, 
                    1.6295202415716972`}}, {{1.6625452576379514`}, {0.16666666666666619`, 0.7391333335444555`}, {-1.1850181030551816`, 
                    0.033333333333333603`, 
                    1.074007241222073`}, {-0.033333333333333104`, -0.39898666675111527`, -0.16666666666666685`, 
                    0.4762613333671125`}, {-0.6816485636114868`, -0.1666666666666666`, 0.7926594254445944`, 0.033333333333333284`, 
                    1.074007241222072`}, {-0.16666666666666663`, -0.3010133332488846`, -0.033333333333333354`, 0.22373866663288705`, 
                    0.16666666666666677`, 
                    0.47626133336711274`}, {0.204121409028717`, -0.03333333333333319`, -0.6816485636114862`, 
                    0.16666666666666663`, -1.185018103055182`, 
                    0.033333333333333603`, 
                    1.662545257637952`}, {0.033333333333333014`, -0.039133333544454585`, 
                    0.16666666666666663`, -0.3010133332488838`, -0.033333333333333215`, -0.39898666675111505`, -0.16666666666666635`, 
                    0.7391333335444539`}}, {{0.6800086723750827`}, {0.20873170736856567`, 
                    1.350641011945992`}, {-0.14667533904175162`, -0.008731707368566571`, 0.5466753390417497`}, {-0.07539837403523394`, 
                    0.07158121027623332`, -0.12460162596476629`, 
                    0.9950854563904354`}, {-0.31466319771663337`, -0.18317398371923999`, -0.2186701356167018`, 0.04984065038590653`, 
                    0.46080138758001454`}, {-0.18317398371924098`, -0.6575213729993834`, -0.016826016280760664`, -0.764700849222838`, 0.1933970731789676`, 
                    0.9347692285780239`}, {-0.21867013561670018`, -0.016826016280760022`, -0.18132986438329987`, 0.1501593496140931`, 
                    0.07253194575331895`, 0.006602926821029281`, 
                    0.32746805424668124`}, {0.04984065038590612`, -0.764700849222842`, 
                    0.1501593496140936`, -0.30196581744382267`, -0.06006373984563706`, 0.4874529936441956`, -0.13993626015436128`, 
                    0.5792136730224698`}}, {{1.003169031234403`}, {0.0664150118640493`, 0.4644468504586452`}, {-0.6876173760369875`, 
                    0.11340882977411776`, 
                    0.65961854614443`}, {0.04674216310745233`, -0.1926673884709279`, -0.20735598226556895`, 
                    0.4111335498746109`}, {-0.4425469260619438`, -0.18032715124340404`, 0.5194307444852497`, -0.012568521293645829`, 
                    1.171355662786141`}, {-0.18032715124340257`, -0.14288576107041995`, -0.07923518796031237`, 0.09619906165445968`, 
                    0.032241370050240026`, 
                    0.5609151772751191`}, {0.12699527086452822`, 
                    0.0005033096052353692`, -0.49143191459269464`, 
                    0.17318234045176295`, -1.248239481209437`, 
                    0.22732096915347544`, 
                    1.6126761249375934`}, {0.06716997627190202`, -0.12889370091729924`, 0.17318234045176273`, -0.3146652230581417`, 
                    0.1606543024868099`, -0.5142284778591546`, -0.4010066192104738`, 
                    0.9577874018345915`}}, {{0.3317556545455318`}, {0.11345754772082195`, 0.3386273464698206`}, {-0.21469456818340404`, 
                    0.058178065348982955`, 
                    0.568368210227618`}, {-0.008488601317679922`, 
                    0.11004915024886941`, -0.2393892483529001`, 
                    0.6624385621917099`}, {-0.152760937878611`, -0.13478262482190217`, -0.009048827652804903`, 0.0351449476940644`, 
                    0.4660016920461203`}, {-0.1347826248219377`, -0.14073547700991185`, -0.03152171897264111`, -0.3574139870725048`, 0.09746373989491985`, 
                    0.4870462485596363`}, {0.03569985151330002`, -0.03685298824789385`, -0.34462481439300063`, 
                    0.21273290197655115`, -0.3041919265156139`, 
                    0.06884060389967317`, 
                    0.6131168893966787`}, {0.029813678418818768`, -0.3079410197033212`, 0.2127329019764943`, -0.4150737253676198`, 
                    0.0021739372330102924`, 
                    0.0111032155182329`, -0.24472051762828073`, 
                    0.7119115295608935`}}}, 
            LocalConstitutiveMatrices -> {{{1.0666666666666667`}, {0.26666666666666666`, 1.0666666666666667`}, {0, 0, 
                    0.4`}}, {{1.0666666666666667`}, {0.26666666666666666`, 
                    1.0666666666666667`}, {0, 0, 
                    0.4`}}, {{1.0666666666666667`}, {0.26666666666666666`, 
                    1.0666666666666667`}, {0, 0, 
                    0.4`}}, {{1.0666666666666667`}, {0.26666666666666666`, 
                    1.0666666666666667`}, {0, 0, 
                    0.4`}}, {{1.0666666666666667`}, {0.26666666666666666`, 
                    1.0666666666666667`}, {0, 0, 0.4`}}}, 
            LocalInterpolants -> {{(-0.033158157896269275` (u^2) + 
                        u (-0.14736959065008567` + 
                              0.17684350878010283` v) + 
                        0.13263263158507713` (-5.833333333333334` + 
                              v) (-1.3888888888888886` + 
                              v))/(4.052663742877359` + 0.3315815789626931` u - 
                        0.8842175439005134` v), (0.03315815789626929` (u^2) + u (0.41447697370336617` - 
                              0.23210710527388506` v) + 
                        0.19894894737761573` (-4.166666666666667` + 
                              v) (-1.388888888888889` + 
                              v))/(4.052663742877359` + 0.3315815789626931` u - 
                        0.8842175439005134` v), (u (0.2578967836376502` + 
                              0.22105438597512875` v) - 
                        0.2210543859751287` (-4.166666666666667` + 
                              v) (1.1666666666666665` + 
                              v))/(4.052663742877359` + 0.3315815789626931` u - 
                        0.8842175439005134` v), (u (-0.1934225877282376` - 0.1657907894813465` v) - 
                        0.11052719298756437` (-5.833333333333333` + 
                              v) (1.1666666666666665` + 
                              v))/(4.052663742877359` + 0.3315815789626931` u - 
                        0.8842175439005134` v)}, {(0.8660254037844387` - 
                        0.6606219426304372` u - 0.408031199859976` (u^2) - 
                        0.233160685634272` v + 
                        0.2720207999066507` u v)/(4.041451884327381` + 
                        1.6321247994399033` u), (1.1547005383792515` + 1.4766843423503888` u + 
                        0.40803119985997593` (u^2) - 0.3108809141790293` v - 
                        0.2720207999066506` u v)/(4.041451884327381` + 
                        1.6321247994399033` u), (1.1547005383792515` + 1.4766843423503888` u + 
                        0.4080311998599759` (u^2) + 0.3108809141790293` v + 
                        0.2720207999066506` u v)/(4.041451884327381` + 
                        1.6321247994399033` u), (0.8660254037844387` - 0.6606219426304372` u - 
                        0.408031199859976` (u^2) + 0.233160685634272` v - 
                        0.2720207999066507` u v)/(4.041451884327381` + 
                        1.6321247994399033` u)}, {(u (-0.23316068563427186` + 0.18134719993776696` v) - 
                        0.12089813329184464` (-1.285714285714286` + 
                              v) (5.571428571428572` + 
                              v))/(4.04145188432738` + 
                        1.088083199626602` v), (u (0.2331606856342719` - 
                              0.181347199937767` v) - 
                        0.24179626658368936` (-1.2857142857142858` + 
                              v) (2.7857142857142856` + 
                              v))/(4.04145188432738` + 
                        1.088083199626602` v), (u (0.3108809141790292` + 
                              0.18134719993776702` v) + 
                        0.24179626658368933` (1.7142857142857153` + 
                              v) (2.785714285714284` + 
                              v))/(4.04145188432738` + 
                        1.088083199626602` v), (u (-0.3108809141790292` - 0.18134719993776702` v) + 
                        0.12089813329184464` (1.7142857142857146` + 
                              v) (5.571428571428573` + 
                              v))/(4.04145188432738` + 
                        1.088083199626602` v)}, {(1.239497513433882` + 0.5547694090359752` u - 
                        0.22385432294434074` (u^2) + 0.3179380238919623` v + 
                        0.2238543229443408` u v)/(4.238009043746706` - 
                        1.0503933615080605` u + 
                        0.688782532136433` v), (0.17219563303410826` (u^2) + u (-0.999732907151649` - 0.24107388624775158` v) + 
                        0.06887825321364331` (3.8985507246376856` + 
                              v) (4.76811594202898` + 
                              v))/(4.238009043746706` - 1.0503933615080605` u + 
                        0.688782532136433` v), (0.12914672477558126` (u^2) + u (-0.8689640496011088` + 0.12053694312387578` v) - 
                        0.06887825321364333` (-3.615942028985507` + 
                              v) (4.768115942028985` + 
                              v))/(4.238009043746706` - 1.0503933615080605` u + 
                        0.688782532136433` v), (0.530605598401636` + 0.2635341862087222` u - 
                        0.07748803486534875` (u^2) - 0.1467406264116749` v - 
                        0.10331737982046499` u v)/(4.238009043746706` - 
                        1.0503933615080605` u + 
                        0.688782532136433` v)}, {(1.0827904974169502` - 
                        0.4154893769158065` u - 0.4523048913260678` v + 
                        0.17355885364837487` u v)/(4.010637059632144` - 
                        0.12397060974883906` u - 
                        0.2975294633972142` v), (u (0.44516718955264994` - 
                              0.18595591462325883` v) + 
                        0.07438236584930352` (-5.87878787878788` + 
                              v) (-2.3939393939393936` + 
                              v))/(4.010637059632144` - 0.12397060974883906` u - 
                        0.2975294633972142` v), (-0.030992652437209806` (u^2) + 
                        u (0.30654550774258427` + 0.19835297559814272` v) - 
                        0.07438236584930352` (-5.87878787878788` + 
                              v) (2.0404040404040407` + 
                              v))/(4.010637059632144` - 0.12397060974883906` u - 
                        0.2975294633972142` v), (0.988805065453092` - 0.4601939301282667` u + 
                        0.0309926524372098` (u^2) + 0.4846123835636441` v - 
                        0.18595591462325878` u v)/(4.010637059632144` - 
                        0.12397060974883906` u - 
                        0.2975294633972142` v)}}, 
            LocalStrainDisplacementMatrices -> {{{-(0.3315815789626931` (-0.033158157896269275` (u^2) + 
                                  u (-0.14736959065008567` + 
                                        0.17684350878010283` v) + 
                                  0.13263263158507713` (-5.833333333333334` + v) (-1.3888888888888886` + 
                                        v)))/(4.052663742877359` + 0.3315815789626931` u - 
                                0.8842175439005134` v)^2 + (-0.14736959065008567` - 0.06631631579253855` u + 
                            0.17684350878010283` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v), 
                    0, -(0.3315815789626931` (0.03315815789626929` (u^2) + u (0.41447697370336617` - 
                                        0.23210710527388506` v) + 
                                  0.19894894737761573` (-4.166666666666667` + v) (-1.388888888888889` + 
                                        v)))/(4.052663742877359` + 0.3315815789626931` u - 
                                0.8842175439005134` v)^2 + (0.41447697370336617` + 
                            0.06631631579253858` u - 
                            0.23210710527388506` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v), 
                    0, (0.2578967836376502` + 
                            0.22105438597512875` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v) - (0.3315815789626931` (u (0.2578967836376502` + 0.22105438597512875` v) - 
                                0.2210543859751287` (-4.166666666666667` + v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 0.8842175439005134` v)^2, 
                    0, (-0.1934225877282376` - 
                            0.1657907894813465` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v) - (0.3315815789626931` (u (-0.1934225877282376` - 
                                      0.1657907894813465` v) - 
                                0.11052719298756437` (-5.833333333333333` + 
                                      v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 0.8842175439005134` v)^2, 
                    0}, {0, (0.8842175439005134` (-0.033158157896269275` (u^2) + 
                                u (-0.14736959065008567` + 
                                      0.17684350878010283` v) + 
                                0.13263263158507713` (-5.833333333333334` + v) (-1.3888888888888886` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2 + (0.17684350878010283` u + 
                            0.13263263158507713` (-5.833333333333334` + v) + 0.13263263158507713` (-1.3888888888888886` + 
                                  
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 0.8842175439005134` v), 
                    0, (0.8842175439005134` (0.03315815789626929` (u^2) + u (0.41447697370336617` - 
                                      0.23210710527388506` v) + 
                                0.19894894737761573` (-4.166666666666667` + v) (-1.388888888888889` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2 + (-0.23210710527388506` u + 
                            0.19894894737761573` (-4.166666666666667` + v) + 0.19894894737761573` (-1.388888888888889` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 0.8842175439005134` v), 
                    0, (0.22105438597512875` u - 
                            0.2210543859751287` (-4.166666666666667` + 
                                  v) - 
                            0.2210543859751287` (1.1666666666666665` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v) + (0.8842175439005134` (u (0.2578967836376502` + 0.22105438597512875` v) - 
                                0.2210543859751287` (-4.166666666666667` + v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 0.8842175439005134` v)^2, 
                    0, (-0.1657907894813465` u - 
                            0.11052719298756437` (-5.833333333333333` + v) - 0.11052719298756437` (1.1666666666666665` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v) + (0.8842175439005134` (u (-0.1934225877282376` - 
                                      0.1657907894813465` v) - 
                                0.11052719298756437` (-5.833333333333333` + 
                                      v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2}, {(0.8842175439005134` (-0.033158157896269275` (u^2) + 
                                u (-0.14736959065008567` + 
                                      0.17684350878010283` v) + 
                                0.13263263158507713` (-5.833333333333334` + v) (-1.3888888888888886` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2 + (0.17684350878010283` u + 
                            0.13263263158507713` (-5.833333333333334` + v) + 0.13263263158507713` (-1.3888888888888886` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v), -(0.3315815789626931` (-0.033158157896269275` (u^2) + 
                                  u (-0.14736959065008567` + 
                                        0.17684350878010283` v) + 
                                  0.13263263158507713` (-5.833333333333334` + v) (-1.3888888888888886` + 
                                        v)))/(4.052663742877359` + 0.3315815789626931` u - 
                                0.8842175439005134` v)^2 + (-0.14736959065008567` - 0.06631631579253855` u + 
                            0.17684350878010283` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v), (0.8842175439005134` (0.03315815789626929` (u^2) + 
                                u (0.41447697370336617` - 0.23210710527388506` v) + 
                                0.19894894737761573` (-4.166666666666667` + v) (-1.388888888888889` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2 + (-0.23210710527388506` u + 
                            0.19894894737761573` (-4.166666666666667` + v) + 0.19894894737761573` (-1.388888888888889` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v), -(0.3315815789626931` (0.03315815789626929` (u^2) + 
                                  u (0.41447697370336617` - 0.23210710527388506` v) + 
                                  0.19894894737761573` (-4.166666666666667` + v) (-1.388888888888889` + 
                                        v)))/(4.052663742877359` + 0.3315815789626931` u - 
                                0.8842175439005134` v)^2 + (0.41447697370336617` + 
                            0.06631631579253858` u - 
                            0.23210710527388506` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v), (0.22105438597512875` u - 
                            0.2210543859751287` (-4.166666666666667` + 
                                  v) - 
                            0.2210543859751287` (1.1666666666666665` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v) + (0.8842175439005134` (u (0.2578967836376502` + 0.22105438597512875` v) - 
                                0.2210543859751287` (-4.166666666666667` + v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2, (0.2578967836376502` + 
                            0.22105438597512875` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v) - (0.3315815789626931` (u (0.2578967836376502` + 0.22105438597512875` v) - 
                                0.2210543859751287` (-4.166666666666667` + v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2, (-0.1657907894813465` u - 
                            0.11052719298756437` (-5.833333333333333` + v) - 0.11052719298756437` (1.1666666666666665` + 
                                  v))/(4.052663742877359` + 0.3315815789626931` u - 
                            0.8842175439005134` v) + (0.8842175439005134` (u (-0.1934225877282376` - 
                                      0.1657907894813465` v) - 
                                0.11052719298756437` (-5.833333333333333` + 
                                      v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2, (-0.1934225877282376` - 
                            0.1657907894813465` v)/(4.052663742877359` + 
                            0.3315815789626931` u - 
                            0.8842175439005134` v) - (0.3315815789626931` (u (-0.1934225877282376` - 
                                      0.1657907894813465` v) - 
                                0.11052719298756437` (-5.833333333333333` + 
                                      v) (1.1666666666666665` + 
                                      v)))/(4.052663742877359` + 0.3315815789626931` u - 
                              0.8842175439005134` v)^2}}, {{(-0.6606219426304372` - 0.816062399719952` u + 
                            0.2720207999066507` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (0.8660254037844387` - 
                                0.6606219426304372` u - 
                                0.408031199859976` (u^2) - 
                                0.233160685634272` v + 
                                0.2720207999066507` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), 
                    0, (1.4766843423503888` + 
                            0.8160623997199519` u - 
                            0.2720207999066506` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (1.1547005383792515` + 
                                1.4766843423503888` u + 
                                0.40803119985997593` (u^2) - 
                                0.3108809141790293` v - 
                                0.2720207999066506` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), 
                    0, (1.4766843423503888` + 
                            0.8160623997199518` u + 
                            0.2720207999066507` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (1.1547005383792515` + 
                                1.4766843423503888` u + 
                                0.4080311998599759` (u^2) + 
                                0.3108809141790293` v + 
                                0.2720207999066506` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), 
                    0, (-0.6606219426304372` - 0.816062399719952` u - 
                            0.2720207999066506` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (0.8660254037844387` - 
                                0.6606219426304372` u - 
                                0.408031199859976` (u^2) + 
                                0.233160685634272` v - 
                                0.2720207999066507` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), 
                    0}, {0, ((-0.233160685634272` + 0.2720207999066507` u)/(4.041451884327381` + 1.6321247994399033` u)), 0, ((-0.3108809141790293` - 0.2720207999066506` u)/(4.041451884327381` + 1.6321247994399033` u)), 0, ((0.3108809141790293` + 0.2720207999066507` u)/(4.041451884327381` + 1.6321247994399033` u)), 
                    0, ((0.233160685634272` - 0.2720207999066506` u)/(4.041451884327381` + 1.6321247994399033` u))}, {((-0.233160685634272` + 0.2720207999066507` u)/(4.041451884327381` + 1.6321247994399033` u)), (-0.6606219426304372` - 0.816062399719952` u + 
                            0.2720207999066507` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (0.8660254037844387` - 
                                0.6606219426304372` u - 
                                0.408031199859976` (u^2) - 
                                0.233160685634272` v + 
                                0.2720207999066507` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), ((-0.3108809141790293` - 0.2720207999066506` u)/(4.041451884327381` + 1.6321247994399033` u)), (1.4766843423503888` + 0.8160623997199519` u - 
                            0.2720207999066506` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (1.1547005383792515` + 
                                1.4766843423503888` u + 
                                0.40803119985997593` (u^2) - 
                                0.3108809141790293` v - 
                                0.2720207999066506` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), ((0.3108809141790293` + 0.2720207999066507` u)/(4.041451884327381` + 1.6321247994399033` u)), (1.4766843423503888` + 
                            0.8160623997199518` u + 
                            0.2720207999066507` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (1.1547005383792515` + 
                                1.4766843423503888` u + 
                                0.4080311998599759` (u^2) + 
                                0.3108809141790293` v + 
                                0.2720207999066506` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2), ((0.233160685634272` - 0.2720207999066506` u)/(4.041451884327381` + 1.6321247994399033` u)), (-0.6606219426304372` - 0.816062399719952` u - 
                            0.2720207999066506` v)/(4.041451884327381` + 
                            1.6321247994399033` u) - (1.6321247994399033` (0.8660254037844387` - 
                                0.6606219426304372` u - 
                                0.408031199859976` (u^2) + 
                                0.233160685634272` v - 
                                0.2720207999066507` u v))/(((4.041451884327381` + 1.6321247994399033` u))^2)}}, {{((-0.23316068563427186` + 0.18134719993776696` v)/(4.04145188432738` + 1.088083199626602` v)), 
                    0, ((0.2331606856342719` - 0.181347199937767` v)/(4.04145188432738` + 1.088083199626602` v)), 
                    0, ((0.3108809141790292` + 0.18134719993776702` v)/(4.04145188432738` + 1.088083199626602` v)), 
                    0, ((-0.3108809141790292` - 0.18134719993776702` v)/(4.04145188432738` + 1.088083199626602` v)), 
                    0}, {0, (0.18134719993776696` u - 
                            0.12089813329184464` (-1.285714285714286` + v) - 0.12089813329184464` (5.571428571428572` + v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (-0.23316068563427186` + 0.18134719993776696` v) - 
                                0.12089813329184464` (-1.285714285714286` + 
                                      v) (5.571428571428572` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), 
                    0, (-0.181347199937767` u - 
                            0.24179626658368936` (-1.2857142857142858` + v) - 0.24179626658368936` (2.7857142857142856` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (0.2331606856342719` - 
                                      0.181347199937767` v) - 
                                0.24179626658368936` (-1.2857142857142858` + 
                                      v) (2.7857142857142856` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), 
                    0, (0.18134719993776702` u + 
                            0.24179626658368933` (1.7142857142857153` + v) + 
                            0.24179626658368933` (2.785714285714284` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (0.3108809141790292` + 
                                      0.18134719993776702` v) + 
                                0.24179626658368933` (1.7142857142857153` + 
                                      v) (2.785714285714284` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), 
                    0, (-0.181347199937767` u + 
                            0.12089813329184464` (1.7142857142857146` + v) + 
                            0.12089813329184464` (5.571428571428573` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (-0.3108809141790292` - 0.18134719993776702` v) + 
                                0.12089813329184464` (1.7142857142857146` + 
                                      v) (5.571428571428573` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2)}, {(0.18134719993776696` u - 
                            0.12089813329184464` (-1.285714285714286` + v) - 0.12089813329184464` (5.571428571428572` + v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (-0.23316068563427186` + 0.18134719993776696` v) - 
                                0.12089813329184464` (-1.285714285714286` + 
                                      v) (5.571428571428572` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), ((-0.23316068563427186` + 0.18134719993776696` v)/(4.04145188432738` + 1.088083199626602` v)), (-0.181347199937767` u - 
                            0.24179626658368936` (-1.2857142857142858` + v) - 0.24179626658368936` (2.7857142857142856` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (0.2331606856342719` - 
                                      0.181347199937767` v) - 
                                0.24179626658368936` (-1.2857142857142858` + 
                                      v) (2.7857142857142856` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), ((0.2331606856342719` - 0.181347199937767` v)/(4.04145188432738` + 1.088083199626602` v)), (0.18134719993776702` u + 
                            0.24179626658368933` (1.7142857142857153` + v) + 
                            0.24179626658368933` (2.785714285714284` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (0.3108809141790292` + 
                                      0.18134719993776702` v) + 
                                0.24179626658368933` (1.7142857142857153` + 
                                      v) (2.785714285714284` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), ((0.3108809141790292` + 0.18134719993776702` v)/(4.04145188432738` + 1.088083199626602` v)), (-0.181347199937767` u + 
                            0.12089813329184464` (1.7142857142857146` + v) + 
                            0.12089813329184464` (5.571428571428573` + 
                                  v))/(4.04145188432738` + 
                            1.088083199626602` v) - (1.088083199626602` (u (-0.3108809141790292` - 0.18134719993776702` v) + 
                                0.12089813329184464` (1.7142857142857146` + 
                                      v) (5.571428571428573` + 
                                      v)))/(((4.04145188432738` + 1.088083199626602` v))^2), ((-0.3108809141790292` - 0.18134719993776702` v)/(4.04145188432738` + 1.088083199626602` v))}}, {{(0.5547694090359752` - 
                            0.4477086458886815` u + 
                            0.2238543229443408` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (1.239497513433882` + 
                                0.5547694090359752` u - 
                                0.22385432294434074` (u^2) + 
                                0.3179380238919623` v + 
                                0.2238543229443408` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, 
                    0, (-0.999732907151649` + 0.3443912660682165` u - 
                            0.24107388624775158` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.17219563303410826` (u^2) + 
                                u (-0.999732907151649` - 
                                      0.24107388624775158` v) + 
                                0.06887825321364331` (3.8985507246376856` + 
                                      v) (4.76811594202898` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 0.688782532136433` v)^2, 
                    0, (-0.8689640496011088` + 0.2582934495511625` u + 
                            0.12053694312387578` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.12914672477558126` (u^2) + 
                                u (-0.8689640496011088` + 
                                      0.12053694312387578` v) - 
                                0.06887825321364333` (-3.615942028985507` + 
                                      v) (4.768115942028985` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 0.688782532136433` v)^2, 
                    0, (0.2635341862087222` - 
                            0.1549760697306975` u - 
                            0.10331737982046499` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.530605598401636` + 
                                0.2635341862087222` u - 
                                0.07748803486534875` (u^2) - 
                                0.1467406264116749` v - 
                                0.10331737982046499` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, 
                    0}, {0, (0.3179380238919623` + 0.2238543229443408` u)/(4.238009043746706` - 1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (1.239497513433882` + 0.5547694090359752` u - 
                                0.22385432294434074` (u^2) + 
                                0.3179380238919623` v + 
                                0.2238543229443408` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, 
                    0, (-0.24107388624775158` u + 
                            0.06887825321364331` (3.8985507246376856` + v) + 
                            0.06887825321364331` (4.76811594202898` + 
                                  v))/(4.238009043746706` - 1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.17219563303410826` (u^2) + 
                                u (-0.999732907151649` - 
                                      0.24107388624775158` v) + 
                                0.06887825321364331` (3.8985507246376856` + 
                                      v) (4.76811594202898` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 0.688782532136433` v)^2, 
                    0, (0.12053694312387578` u - 
                            0.06887825321364333` (-3.615942028985507` + v) - 0.06887825321364333` (4.768115942028985` + v))/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.12914672477558126` (u^2) + 
                                u (-0.8689640496011088` + 
                                      0.12053694312387578` v) - 
                                0.06887825321364333` (-3.615942028985507` + 
                                      v) (4.768115942028985` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 0.688782532136433` v)^2, 
                    0, (-0.1467406264116749` - 
                            0.10331737982046499` u)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.530605598401636` + 0.2635341862087222` u - 
                                0.07748803486534875` (u^2) - 
                                0.1467406264116749` v - 
                                0.10331737982046499` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2}, {(0.3179380238919623` + 
                            0.2238543229443408` u)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (1.239497513433882` + 0.5547694090359752` u - 
                                0.22385432294434074` (u^2) + 
                                0.3179380238919623` v + 
                                0.2238543229443408` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, (0.5547694090359752` - 
                            0.4477086458886815` u + 
                            0.2238543229443408` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (1.239497513433882` + 
                                0.5547694090359752` u - 
                                0.22385432294434074` (u^2) + 
                                0.3179380238919623` v + 
                                0.2238543229443408` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, (-0.24107388624775158` u + 
                            0.06887825321364331` (3.8985507246376856` + v) + 
                            0.06887825321364331` (4.76811594202898` + 
                                  v))/(4.238009043746706` - 1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.17219563303410826` (u^2) + u (-0.999732907151649` - 
                                      0.24107388624775158` v) + 
                                0.06887825321364331` (3.8985507246376856` + 
                                      v) (4.76811594202898` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 
                              0.688782532136433` v)^2, (-0.999732907151649` + 0.3443912660682165` u - 
                            0.24107388624775158` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.17219563303410826` (u^2) + 
                                u (-0.999732907151649` - 
                                      0.24107388624775158` v) + 
                                0.06887825321364331` (3.8985507246376856` + 
                                      v) (4.76811594202898` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 
                              0.688782532136433` v)^2, (0.12053694312387578` u - 
                            0.06887825321364333` (-3.615942028985507` + v) - 0.06887825321364333` (4.768115942028985` + v))/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.12914672477558126` (u^2) + 
                                u (-0.8689640496011088` + 
                                      0.12053694312387578` v) - 
                                0.06887825321364333` (-3.615942028985507` + 
                                      v) (4.768115942028985` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 
                              0.688782532136433` v)^2, (-0.8689640496011088` + 0.2582934495511625` u + 
                            0.12053694312387578` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.12914672477558126` (u^2) + 
                                u (-0.8689640496011088` + 
                                      0.12053694312387578` v) - 
                                0.06887825321364333` (-3.615942028985507` + 
                                      v) (4.768115942028985` + 
                                      v)))/(4.238009043746706` - 1.0503933615080605` u + 
                              0.688782532136433` v)^2, (-0.1467406264116749` - 
                            0.10331737982046499` u)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) - (0.688782532136433` (0.530605598401636` + 0.2635341862087222` u - 
                                0.07748803486534875` (u^2) - 
                                0.1467406264116749` v - 
                                0.10331737982046499` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2, (0.2635341862087222` - 
                            0.1549760697306975` u - 
                            0.10331737982046499` v)/(4.238009043746706` - 
                            1.0503933615080605` u + 
                            0.688782532136433` v) + (1.0503933615080605` (0.530605598401636` + 
                                0.2635341862087222` u - 
                                0.07748803486534875` (u^2) - 
                                0.1467406264116749` v - 
                                0.10331737982046499` u v))/(4.238009043746706` - 
                              1.0503933615080605` u + 
                              0.688782532136433` v)^2}}, {{(-0.4154893769158065` + 
                            0.17355885364837487` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (1.0827904974169502` - 0.4154893769158065` u - 0.4523048913260678` v + 
                                0.17355885364837487` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, 
                    0, (0.12397060974883906` (u (0.44516718955264994` - 
                                      0.18595591462325883` v) + 
                                0.07438236584930352` (-5.87878787878788` + v) (-2.3939393939393936` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2 + (0.44516718955264994` - 
                            0.18595591462325883` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v), 
                    0, (0.30654550774258427` - 
                            0.06198530487441961` u + 
                            0.19835297559814272` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (-0.030992652437209806` (u^2) + 
                                u (0.30654550774258427` + 0.19835297559814272` v) - 
                                0.07438236584930352` (-5.87878787878788` + v) (2.0404040404040407` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2, 
                    0, (-0.4601939301282667` + 0.0619853048744196` u - 
                            0.18595591462325878` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (0.988805065453092` - 
                                0.4601939301282667` u + 
                                0.0309926524372098` (u^2) + 
                                0.4846123835636441` v - 
                                0.18595591462325878` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, 
                    0}, {0, (-0.4523048913260678` + 
                            0.17355885364837487` u)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.2975294633972142` (1.0827904974169502` - 
                                0.4154893769158065` u - 
                                0.4523048913260678` v + 
                                0.17355885364837487` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, 
                    0, (0.2975294633972142` (u (0.44516718955264994` - 
                                      0.18595591462325883` v) + 
                                0.07438236584930352` (-5.87878787878788` + v) (-2.3939393939393936` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2 + (-0.18595591462325883` u + 
                            0.07438236584930352` (-5.87878787878788` + 
                                  v) + 
                            0.07438236584930352` (-2.3939393939393936` + v))/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v), 
                    0, (0.19835297559814272` u - 
                            0.07438236584930352` (-5.87878787878788` + 
                                  v) - 
                            0.07438236584930352` (2.0404040404040407` + 
                                  v))/(4.010637059632144` - 0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.2975294633972142` (-0.030992652437209806` (u^2) + 
                                u (0.30654550774258427` + 0.19835297559814272` v) - 
                                0.07438236584930352` (-5.87878787878788` + v) (2.0404040404040407` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2, 
                    0, (0.4846123835636441` - 
                            0.18595591462325878` u)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.2975294633972142` (0.988805065453092` - 
                                0.4601939301282667` u + 
                                0.0309926524372098` (u^2) + 
                                0.4846123835636441` v - 
                                0.18595591462325878` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2}, {(-0.4523048913260678` + 
                            0.17355885364837487` u)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.2975294633972142` (1.0827904974169502` - 
                                0.4154893769158065` u - 
                                0.4523048913260678` v + 
                                0.17355885364837487` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, (-0.4154893769158065` + 
                            0.17355885364837487` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (1.0827904974169502` - 0.4154893769158065` u - 0.4523048913260678` v + 
                                0.17355885364837487` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, (0.2975294633972142` (u (0.44516718955264994` - 
                                      0.18595591462325883` v) + 
                                0.07438236584930352` (-5.87878787878788` + v) (-2.3939393939393936` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2 + (-0.18595591462325883` u + 
                            0.07438236584930352` (-5.87878787878788` + 
                                  v) + 
                            0.07438236584930352` (-2.3939393939393936` + v))/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v), (0.12397060974883906` (u (0.44516718955264994` - 0.18595591462325883` v) + 
                                0.07438236584930352` (-5.87878787878788` + v) (-2.3939393939393936` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2 + (0.44516718955264994` - 
                            0.18595591462325883` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v), (0.19835297559814272` u - 
                            0.07438236584930352` (-5.87878787878788` + 
                                  v) - 
                            0.07438236584930352` (2.0404040404040407` + 
                                  v))/(4.010637059632144` - 0.12397060974883906` u - 
                            
                            0.2975294633972142` v) + (0.2975294633972142` (-0.030992652437209806` (u^2) + 
                                u (0.30654550774258427` + 0.19835297559814272` v) - 
                                0.07438236584930352` (-5.87878787878788` + v) (2.0404040404040407` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2, (0.30654550774258427` - 
                            0.06198530487441961` u + 
                            0.19835297559814272` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (-0.030992652437209806` (u^2) + 
                                u (0.30654550774258427` + 0.19835297559814272` v) - 
                                0.07438236584930352` (-5.87878787878788` + v) (2.0404040404040407` + 
                                      v)))/(4.010637059632144` - 0.12397060974883906` u - 
                              0.2975294633972142` v)^2, (0.4846123835636441` - 
                            0.18595591462325878` u)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.2975294633972142` (0.988805065453092` - 
                                0.4601939301282667` u + 
                                0.0309926524372098` (u^2) + 
                                0.4846123835636441` v - 
                                0.18595591462325878` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2, (-0.4601939301282667` + 0.0619853048744196` u - 
                            0.18595591462325878` v)/(4.010637059632144` - 
                            0.12397060974883906` u - 
                            0.2975294633972142` v) + (0.12397060974883906` (0.988805065453092` - 
                                0.4601939301282667` u + 
                                0.0309926524372098` (u^2) + 
                                0.4846123835636441` v - 
                                0.18595591462325878` u v))/(4.010637059632144` - 
                              0.12397060974883906` u - 
                              0.2975294633972142` v)^2}}}}};

sol = resultRules[[2]]

Nodal Coordinates

The nodal coordinates are:

globalNodes

The element coordinates are:

connections

Table[
        Print[StringJoin["Nodal coordinates for element number-", 
            ToString[i], "\n"] , 
          Flatten[Take[globalNodes, {#}] & /@  connections[[i]], 
            1]
], {i, Length[connections]}];

Stress-strain relation

The lower triangle of the planeStress constitutiv relation with:
YoungsModulus=1.0 ;
PoissonRatio=1/4;
is:

(LocalConstitutiveMatrices /. sol)[[1]]

Boundary conditions

Roller at node number:

rollers[[1, 1]]

Hinge at node number:

hinges[[1, 1]]

\(\(Table[
        Print[StringJoin["x-Force at node number-", 
            ToString[
\((First[
                      nonZeroNodalForces[\([i]\)]] + 1)\)/
                2
], "
"], 
          Last[nonZeroNodalForces[\([i]\)]
]], 
{i, nonZeroNodalForces // Length}];\)\)

Wachpress interpolants

Elemental central coordinate axes are (u,v):

Table[
        Print[StringJoin["Element number-", 
            ToString[
              i], "\n"] , (Global`LocalInterpolants /. 
                sol)[[i]]
], {i, 
          Length[connections]}];

Strain-displacement matrices

To facilitate reading, transpose of the strain-displacement matrices are printed:

Table[
        Print[StringJoin["Element number-", ToString[i], "\n"] , 
          MatrixForm[
            Transpose[(Global`LocalStrainDisplacementMatrices /. 
                    sol)[[i]]]
]], {i, 
          Length[connections]}];

Stiffness matrices

The lower triangle of the symmetric matrices are  printed in the pyramid form:

Table[
        Print[StringJoin["\n", "Element number-", 
            ToString[i], "\n"] , 
          MatrixForm[(Global`LocalStiffnessMatrices /. 
                  sol)[[i]]]
], {i, 
          Length[connections]}];

Computed nodal Displacements

{rx, ry} = 
      Transpose[Partition[GlobalNodalDisplacements /. sol, 2]]

Nodal displacements in x- direction:

rx

Nodal displacements in y- direction:

ry

Computed Strains

All calculations are represented here in the non-dimensional form.

The total applied force is 2, the width is 10 and the thickness is 1.
The exact strains are: {2/10, -ν* 2/10, 0}, here ν=1/4.

The nodal displacements are:

uu = LocalNodalDisplacements /. resultRules[[2]];

The strain-displacement matrices are:

bb = 
        LocalStrainDisplacementMatrices /. resultRules[[2]];

The computed strains are:

ee = Simplify[
Table[
                    bb[[ii]] . uu[[ii]], {ii, 
                      Length[uu]}]
] // Chop // Expand // 
            Together // Apart;

Chop[ee]

The exact values are obtained.

Overall accuracy and  computational error

The round-off error can be observed from the following output.
The error is to the order of (10^(-12)):

ee