MFEM v4.8.0
Finite element discretization library
Loading...
Searching...
No Matches
intrules_cut.hpp
Go to the documentation of this file.
1// Copyright (c) 2010-2025, Lawrence Livermore National Security, LLC. Produced
2// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3// LICENSE and NOTICE for details. LLNL-CODE-806117.
4//
5// This file is part of the MFEM library. For more information and source code
6// availability visit https://mfem.org.
7//
8// MFEM is free software; you can redistribute it and/or modify it under the
9// terms of the BSD-3 license. We welcome feedback and contributions, see file
10// CONTRIBUTING.md for details.
11
12#ifndef MFEM_CUTINTRULES
13#define MFEM_CUTINTRULES
14
15#include "../config/config.hpp"
16#include "../general/array.hpp"
17#include "intrules.hpp"
18#include "eltrans.hpp"
19#include "coefficient.hpp"
20
21
22#ifdef MFEM_USE_ALGOIM
23#ifdef MFEM_HAVE_GCC_PRAGMA_DIAGNOSTIC
24#pragma GCC diagnostic push
25#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
26#endif
27#include <algoim_quad.hpp>
28#pragma GCC diagnostic pop
29#endif
30
31namespace mfem
32{
33/**
34 @brief Abstract class for construction of IntegrationRules in cut elements.
35
36 Interface for construction of cut-surface and cut-volume IntegrationRules. The
37 cut is specified by the zero level set of a given Coefficient.
38*/
40{
41protected:
42 /// Order of the IntegrationRule.
43 int Order;
44 /// The zero level set of this Coefficient defines the cut surface.
46 /// Space order for the LS projection.
48
49 /// @name Tolerances used for point comparisons
50 ///@{
51#ifdef MFEM_USE_DOUBLE
52 static constexpr real_t tol_1 = 1e-12;
53 static constexpr real_t tol_2 = 1e-15;
54#elif defined(MFEM_USE_SINGLE)
55 static constexpr real_t tol_1 = 1e-5;
56 static constexpr real_t tol_2 = 1e-7;
57#endif
58 ///@}
59
60 /** @brief Constructor to set up the generated cut IntegrationRules.
61
62 @param [in] order Order of the constructed IntegrationRule.
63 @param [in] lvlset Coefficient whose zero level set specifies the cut.
64 @param [in] lsO Polynomial degree for projecting the level-set
65 Coefficient to a GridFunction, which is used to
66 compute gradients and normals. */
67 CutIntegrationRules(int order, Coefficient& lvlset, int lsO = 2)
68 : Order(order), LvlSet(&lvlset), lsOrder(lsO)
69 { MFEM_VERIFY(order > 0 && lsO > 0, "Invalid input") }
70
71public:
72
73 /// Change the order of the constructed IntegrationRule.
74 virtual void SetOrder(int order);
75
76 /// Change the Coefficient whose zero level set specifies the cut.
77 virtual void SetLevelSetCoefficient(Coefficient &ls) { LvlSet = &ls; }
78
79 /// Change the polynomial degree for projecting the level set Coefficient
80 /// to a GridFunction, which is used to compute local gradients and normals.
81 virtual void SetLevelSetProjectionOrder(int order);
82
83 /**
84 @brief Construct a cut-surface IntegrationRule.
85
86 Construct an IntegrationRule to integrate on the surface given by the
87 already specified level set function, for the element given by @a Tr.
88
89 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
90 @param [out] result IntegrationRule on the cut-surface
91 */
93 IntegrationRule& result) = 0;
94
95 /**
96 @brief Construct a cut-volume IntegrationRule.
97
98 Construct an IntegrationRule to integrate in the subdomain given by the
99 positive values of the already specified level set function, for the element
100 given by @a Tr.
101
102 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
103 @param [out] result IntegrationRule for the cut-volume
104 @param [in] sir Corresponding IntegrationRule for the surface, which can
105 be used to avoid computations.
106 */
108 IntegrationRule& result,
109 const IntegrationRule* sir = NULL) = 0;
110
111 /**
112 @brief Compute transformation quadrature weights for surface integration.
113
114 Compute the transformation weights for integration over the cut-surface in
115 reference space.
116
117 @param [in] Tr Specifies the IntegrationRule's associated element.
118 @param [in] sir IntegrationRule defining the IntegrationPoints
119 @param [out] weights Vector containing the transformation weights.
120 */
122 const IntegrationRule &sir,
123 Vector &weights) = 0;
124
125 /// @brief Destructor of CutIntegrationRules
127};
128
129#ifdef MFEM_USE_ALGOIM
130// define templated element bases
131namespace TmplPoly_1D
132{
133
134/// Templated version of CalcBinomTerms
135template<typename float_type>
136void CalcBinomTerms(const int p, const float_type x, const float_type y,
137 float_type* u)
138{
139 if (p == 0)
140 {
141 u[0] = float_type(1.);
142 }
143 else
144 {
145 int i;
146 const int *b = Poly_1D::Binom(p);
147 float_type z = x;
148 for (i = 1; i < p; i++)
149 {
150 u[i] = b[i]*z;
151 z *= x;
152 }
153 u[p] = z;
154 z = y;
155 for (i--; i > 0; i--)
156 {
157 u[i] *= z;
158 z *= y;
159 }
160 u[0] = z;
161 }
162}
163
164/// Templated version of CalcBinomTerms
165template<typename float_type>
166void CalcBinomTerms(const int p, const float_type x, const float_type y,
167 float_type* u, float_type* d)
168{
169 if (p == 0)
170 {
171 u[0] = float_type(1.);
172 d[0] = float_type(0.);
173 }
174 else
175 {
176 int i;
177 const int *b = Poly_1D::Binom(p);
178 const float_type xpy = x + y, ptx = p*x;
179 float_type z = float_type(1.);
180
181 for (i = 1; i < p; i++)
182 {
183 d[i] = b[i]*z*(i*xpy - ptx);
184 z *= x;
185 u[i] = b[i]*z;
186 }
187 d[p] = p*z;
188 u[p] = z*x;
189 z = float_type(1.);
190 for (i--; i > 0; i--)
191 {
192 d[i] *= z;
193 z *= y;
194 u[i] *= z;
195 }
196 d[0] = -p*z;
197 u[0] = z*y;
198 }
199
200}
201
202/// Templated evaluation of Bernstein basis
203template <typename float_type>
204void CalcBernstein(const int p, const float_type x, float_type *u)
205{
206 CalcBinomTerms(p, x, 1. - x, u);
207}
208
209
210/// Templated evaluation of Bernstein basis
211template <typename float_type>
212void CalcBernstein(const int p, const float_type x,
213 float_type *u, float_type *d)
214{
215 CalcBinomTerms(p, x, 1. - x, u, d);
216}
217
218
219}
220
222{
223public:
224
225 /** @brief Constructor to set up the generated cut IntegrationRules.
226
227 @param [in] order Order of the constructed IntegrationRule.
228 @param [in] lvlset Coefficient whose zero level set specifies the cut.
229 @param [in] lsO Polynomial degree for projecting the level-set
230 Coefficient to a GridFunction, which is used to
231 compute gradients and normals. */
232 AlgoimIntegrationRules(int order, Coefficient &lvlset, int lsO = 2)
233 : CutIntegrationRules(order, lvlset, lsO)
234 {
235 pe=nullptr;
236 le=nullptr;
237 currentLvlSet=nullptr;
238 currentGeometry=Geometry::Type::INVALID;
239 currentElementNo = -1;
240 }
241
243 {
244 delete pe;
245 delete le;
246 }
247
248 virtual void SetOrder(int order) override
249 {
250 MFEM_VERIFY(order > 0, "Invalid input");
251 Order = order;
252 delete pe;
253 delete le;
254 pe=nullptr;
255 le=nullptr;
256 currentLvlSet=nullptr;
257 currentGeometry=Geometry::Type::INVALID;
258 currentElementNo=-1;
259 }
260
261 virtual void SetLevelSetProjectionOrder(int order) override
262 {
263 MFEM_VERIFY(order > 0, "Invalid input");
264 lsOrder = order;
265 delete pe;
266 delete le;
267 pe=nullptr;
268 le=nullptr;
269 currentLvlSet=nullptr;
270 currentGeometry=Geometry::Type::INVALID;
271 currentElementNo=-1;
272 }
273
274
275 /**
276 @brief Construct a cut-surface IntegrationRule.
277
278 Construct an IntegrationRule to integrate on the surface given by the
279 already specified level set function, for the element given by @a Tr.
280
281 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
282 @param [out] result IntegrationRule on the cut-surface
283 */
284 virtual
286 IntegrationRule &result) override;
287
288 /**
289 @brief Construct a cut-volume IntegrationRule.
290
291 Construct an IntegrationRule to integrate in the subdomain given by the
292 positive values of the already specified level set function, for the element
293 given by @a Tr.
294
295 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
296 @param [out] result IntegrationRule for the cut-volume
297 @param [in] sir Corresponding IntegrationRule for the surface, which can
298 be used to avoid computations.
299 */
300 virtual
302 IntegrationRule &result,
303 const IntegrationRule *sir = nullptr) override;
304
305
306 /**
307 @brief Compute transformation quadrature weights for surface integration.
308
309 Compute the transformation weights for integration over the cut-surface in
310 reference space.
311
312 @param [in] Tr Specifies the IntegrationRule's associated element.
313 @param [in] sir IntegrationRule defining the IntegrationPoints
314 @param [out] weights Vector containing the transformation weights.
315 */
316 virtual
318 const IntegrationRule &sir,
319 Vector &weights) override;
320
321private:
322
323 /// projects the lvlset coefficient onto the lsvec,
324 /// i.e., represent the level-set using Bernstein bases
325 void GenerateLSVector(ElementTransformation &Tr, Coefficient* lvlset);
326
327
328 /// Lagrange finite element used for converting coefficients to positive basis
329 FiniteElement* le;
331 DenseMatrix T; //Projection matrix from nodal basis to positive basis
332 Vector lsvec; // level-set in Bernstein basis
333 Vector lsfun; // level-set in nodal basis
334 Geometry::Type currentGeometry; // the current element geometry
335 Coefficient* currentLvlSet; //the current level-set coefficient
336 int currentElementNo; //the current element No
337
338 /// 3D level-set function object required by Algoim.
339 struct LevelSet3D
340 {
341 /// Constructor for 3D level-set function object required by Algoim.
342 LevelSet3D(PositiveTensorFiniteElement* el_, Vector& lsfun_)
343 : el(el_), lsfun(lsfun_) { }
344
345 /// Returns the value of the LSF for point x.
346 template<typename T>
347 T operator() (const blitz::TinyVector<T,3>& x) const
348 {
349 int el_order=el->GetOrder();
350 T u1[el_order+1];
351 T u2[el_order+1];
352 T u3[el_order+1];
353 TmplPoly_1D::CalcBernstein(el_order, x[0], u1);
354 TmplPoly_1D::CalcBernstein(el_order, x[1], u2);
355 TmplPoly_1D::CalcBernstein(el_order, x[2], u3);
356
357 const Array<int>& dof_map=el->GetDofMap();
358
359 T res=T(0.0);
360 for (int oo = 0, kk = 0; kk <= el_order; kk++)
361 for (int jj = 0; jj <= el_order; jj++)
362 for (int ii = 0; ii <= el_order; ii++)
363 {
364 res=res-u1[ii]*u2[jj]*u3[kk]*lsfun(dof_map[oo++]);
365 }
366 return res;
367 }
368
369 /// Returns the gradients of the LSF for point x.
370 template<typename T>
371 blitz::TinyVector<T,3> grad(const blitz::TinyVector<T,3>& x) const
372 {
373 int el_order=el->GetOrder();
374 T u1[el_order+1];
375 T u2[el_order+1];
376 T u3[el_order+1];
377 T d1[el_order+1];
378 T d2[el_order+1];
379 T d3[el_order+1];
380
381 TmplPoly_1D::CalcBernstein(el_order,x[0], u1, d1);
382 TmplPoly_1D::CalcBernstein(el_order,x[1], u2, d2);
383 TmplPoly_1D::CalcBernstein(el_order,x[2], u3, d3);
384
385 blitz::TinyVector<T,3> res(T(0.0),T(0.0),T(0.0));
386
387 const Array<int>& dof_map=el->GetDofMap();
388
389 for (int oo = 0, kk = 0; kk <= el_order; kk++)
390 for (int jj = 0; jj <= el_order; jj++)
391 for (int ii = 0; ii <= el_order; ii++)
392 {
393 res[0]=res[0]-d1[ii]*u2[jj]*u3[kk]*lsfun(dof_map[oo]);
394 res[1]=res[1]-u1[ii]*d2[jj]*u3[kk]*lsfun(dof_map[oo]);
395 res[2]=res[2]-u1[ii]*u2[jj]*d3[kk]*lsfun(dof_map[oo]);
396 oo++;
397 }
398
399 return res;
400 }
401
402 private:
403 PositiveTensorFiniteElement* el;
404 Vector& lsfun;
405 };
406
407 /// 2D level-set function object required by Algoim.
408 struct LevelSet2D
409 {
410 /// Constructor for 2D level-set function object required by Algoim.
411 LevelSet2D(PositiveTensorFiniteElement* el_, Vector& lsfun_)
412 :el(el_), lsfun(lsfun_) { }
413
414 /// Returns the value of the LSF for point x.
415 template<typename T>
416 T operator() (const blitz::TinyVector<T,2>& x) const
417 {
418 int el_order=el->GetOrder();
419 T u1[el_order+1];
420 T u2[el_order+1];
421 TmplPoly_1D::CalcBernstein(el_order, x[0], u1);
422 TmplPoly_1D::CalcBernstein(el_order, x[1], u2);
423
424 const Array<int>& dof_map=el->GetDofMap();
425
426 T res=T(0.0);
427
428 for (int oo = 0, jj = 0; jj <= el_order; jj++)
429 for (int ii = 0; ii <= el_order; ii++)
430 {
431 res=res-u1[ii]*u2[jj]*lsfun(dof_map[oo++]);
432 }
433 return res;
434 }
435
436 /// Returns the gradients of the LSF for point x.
437 template<typename T>
438 blitz::TinyVector<T,2> grad(const blitz::TinyVector<T,2>& x) const
439 {
440 int el_order=el->GetOrder();
441 T u1[el_order+1];
442 T u2[el_order+1];
443 T d1[el_order+1];
444 T d2[el_order+1];
445
446 TmplPoly_1D::CalcBernstein(el_order,x[0], u1, d1);
447 TmplPoly_1D::CalcBernstein(el_order,x[1], u2, d2);
448
449 blitz::TinyVector<T,2> res(T(0.0),T(0.0));
450
451 const Array<int>& dof_map=el->GetDofMap();
452
453 for (int oo = 0, jj = 0; jj <= el_order; jj++)
454 for (int ii = 0; ii <= el_order; ii++)
455 {
456 res[0]=res[0]-(d1[ii]*u2[jj])*lsfun(dof_map[oo]);
457 res[1]=res[1]-(u1[ii]*d2[jj])*lsfun(dof_map[oo]);
458 oo++;
459 }
460
461 return res;
462 }
463
464
465 private:
466 PositiveTensorFiniteElement* el;
467 Vector& lsfun;
468 };
469};
470#endif //MFEM_USE_ALGOIM
471
472#ifdef MFEM_USE_LAPACK
473
474/**
475 @brief Class for subdomain IntegrationRules by means of moment-fitting
476
477 Class for subdomain (surface and subdomain) IntegrationRules by means of
478 moment-fitting. The class provides different functions to construct the
479 IntegrationRules. The construction is done as described in Mueller et al. in
480 "Highly accurate surface and volume integration on implicit domains by means of
481 moment-fitting" (2013, see
482 https://onlinelibrary.wiley.com/doi/full/10.1002/nme.4569).
483*/
485{
486protected:
487 /// @brief Space Dimension of the element
488 int dim;
489 /// @brief Number of divergence-free basis functions for surface integration
491 /// @brief Number of basis functions for volume integration
493 /// @brief IntegrationRule representing the reused IntegrationPoints
495 /// @brief SVD of the matrix for volumetric IntegrationRules
497 /// @brief Array of face integration points
499 /// @brief Column-wise Matrix for the face quadrature weights
501 /// @brief Indicates the already computed face IntegrationRules
503
504 /**
505 @brief Initialization for surface IntegrationRule
506
507 Initialize the members for computation of surface IntegrationRule. This is
508 called when the first IntegrationRule is computed or when Order or level-set
509 change.
510
511 @param [in] order Order of the IntegrationRule
512 @param [in] levelset level-set function defining the implicit interface
513 @param [in] lsO polynomial degree for approximation of level-set function
514 @param [in] Tr ElemenTransformation to initalize the members with
515 */
516 void InitSurface(int order, Coefficient& levelset, int lsO,
518
519 /**
520 @brief Initialization for volume IntegrationRule
521
522 Initialize the members for computation of surface IntegrationRule. This is
523 called when the first IntegrationRule is computed or when Order or level-set
524 change.
525
526 @param [in] order Order of the IntegrationRule
527 @param [in] levelset level-set function defining the implicit interface
528 @param [in] lsO polynomial degree for approximation of level-set function
529 @param [in] Tr ElemenTransformation to initalize the members with
530 */
531 void InitVolume(int order, Coefficient& levelset, int lsO,
533
534 /// @brief Initialize the MomentFittingIntRules
535 void Init(int order, Coefficient& levelset, int lsO)
536 { Order = order; LvlSet = &levelset; lsOrder = lsO; FaceWeightsComp = 0.;}
537
538 /// @brief Clear stored data of the MomentFittingIntRules
539 void Clear();
540
541 /**
542 @brief Compute the IntegrationRules on the faces
543
544 Compute the IntegrationRules on the (cut) faces of an element. These will
545 be saved and reused if possible.
546
547 @param [in] Tr ElementTransformation of the element the IntegrationRules on
548 the faces are computed
549 */
551
552 /**
553 @brief Compute 1D quadrature weights
554
555 Compute the quadrature weights for the 1D surface quadrature rule.
556
557 @param [in] Tr ElementTransformation of the current element
558 */
560
561 /**
562 @brief Compute the 1D quadrature weights
563
564 Compute the 1D quadrature weights for the volumetric subdomain quadrature
565 rule.
566
567 @param [in] Tr ElementTransformation of the current element
568 */
570
571 /**
572 @brief Compute 2D quadrature weights
573
574 Compute the quadrature weights for the 2D surface quadrature rule by means
575 of moment-fitting. To construct the quadrature rule, special integrals are
576 reduced to integrals over the edges of the subcell where the level-set is
577 positive.
578
579 @param [in] Tr ElementTransformation of the current element
580 */
582
583 /**
584 @brief Compute the 2D quadrature weights
585
586 Compute the 2D quadrature weights for the volumetric subdomain quadrature
587 rule by means of moment-fitting. To construct the quadrature rule, special
588 integrals are reduced to integrals over the boundary of the subcell where
589 the level-set is positive.
590
591 @param [in] Tr ElementTransformation of the current element
592 @param [in] sir corresponding IntegrationRule on surface
593 */
595 const IntegrationRule* sir);
596
597 /**
598 @brief Compute 2D quadrature weights
599
600 Compute the quadrature weights for the 3D surface quadrature rule by means
601 of moment-fitting. To construct the quadrature rule, special integrals are
602 reduced to integrals over the edges of the subcell where the level-set is
603 positive.
604
605 @param [in] Tr ElementTransformation of the current element
606 */
608
609
610 /**
611 @brief Compute the 3D quadrature weights
612
613 Compute the 3D quadrature weights for the volumetric subdomain quadrature
614 rule by means of moment-fitting. To construct the quadrature rule, special
615 integrals are reduced to integrals over the boundary of the subcell where
616 the level-set is positive.
617
618 @param [in] Tr ElementTransformation of the current element
619 @param [in] sir corresponding IntegrationRule on surface
620 */
622 const IntegrationRule* sir);
623
624 /// @brief A divergence free basis on the element [-1,1]^2
625 void DivFreeBasis2D(const IntegrationPoint& ip, DenseMatrix& shape);
626 /// @brief A orthogonalized divergence free basis on the element [-1,1]^2
627 void OrthoBasis2D(const IntegrationPoint& ip, DenseMatrix& shape);
628 /// @brief A orthogonalized divergence free basis on the element [-1,1]^3
629 void OrthoBasis3D(const IntegrationPoint& ip, DenseMatrix& shape);
630 /// @brief A step of the modified Gram-Schmidt algorithm
631 void mGSStep(DenseMatrix& shape, DenseTensor& shapeMFN, int step);
632
633 /// @brief Monomial basis on the element [-1,1]^2
634 void Basis2D(const IntegrationPoint& ip, Vector& shape);
635 /// @brief Antiderivatives of the monomial basis on the element [-1,1]^2
636 void BasisAD2D(const IntegrationPoint& ip, DenseMatrix& shape);
637 /// @brief Monomial basis on the element [-1,1]^3
638 void Basis3D(const IntegrationPoint& ip, Vector& shape);
639 /// @brief Antiderivatives of the monomial basis on the element [-1,1]^3
640 void BasisAD3D(const IntegrationPoint& ip, DenseMatrix& shape);
641
642public:
643
644 /** @brief Constructor to set up the generated cut IntegrationRules.
645
646 @param [in] order Order of the constructed IntegrationRule.
647 @param [in] lvlset Coefficient whose zero level set specifies the cut.
648 @param [in] lsO Polynomial degree for projecting the level-set
649 Coefficient to a GridFunction, which is used to
650 compute gradients and normals. */
652 : CutIntegrationRules(order, lvlset, lsO),
653 dim(-1), nBasis(-1), nBasisVolume(-1), VolumeSVD(nullptr)
655
656 /// Change the order of the constructed IntegrationRule.
657 void SetOrder(int order) override;
658
661
662 /**
663 @brief Construct a cut-surface IntegrationRule.
664
665 Construct an IntegrationRule to integrate on the surface given by the
666 already specified level set function, for the element given by @a Tr.
667
668 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
669 @param [out] result IntegrationRule on the cut-surface
670 */
672 IntegrationRule& result) override;
673
674 /**
675 @brief Construct a cut-volume IntegrationRule.
676
677 Construct an IntegrationRule to integrate in the subdomain given by the
678 positive values of the already specified level set function, for the element
679 given by @a Tr.
680
681 @param [in] Tr Specifies the IntegrationRule's associated mesh element.
682 @param [out] result IntegrationRule for the cut-volume
683 @param [in] sir Corresponding IntegrationRule for the surface, which can
684 be used to avoid computations.
685 */
687 IntegrationRule& result,
688 const IntegrationRule* sir = nullptr) override;
689
690 /**
691 @brief Compute transformation quadrature weights for surface integration.
692
693 Compute the transformation weights for integration over the cut-surface in
694 reference space.
695
696 @param [in] Tr Specifies the IntegrationRule's associated element.
697 @param [in] sir IntegrationRule defining the IntegrationPoints
698 @param [out] weights Vector containing the transformation weights.
699 */
701 const IntegrationRule &sir,
702 Vector &weights) override;
703
704 /// @brief Destructor of MomentFittingIntRules
705 ~MomentFittingIntRules() override { delete VolumeSVD; }
706};
707
708#endif //MFEM_USE_LAPACK
709
710namespace DivFreeBasis
711{
712
713/// @brief 3 dimensional divergence free basis functions on [-1,1]^3
714inline void GetDivFree3DBasis(const Vector& X, DenseMatrix& shape, int Order)
715{
716 int nBasis;
717 if (Order == 0) { nBasis = 3; }
718 else if (Order == 1) { nBasis = 11; }
719 else if (Order == 2) { nBasis = 26; }
720 else if (Order == 3) { nBasis = 50; }
721 else if (Order == 4) { nBasis = 85; }
722 else if (Order == 5) { nBasis = 133; }
723 else if (Order == 6) { nBasis = 196; }
724 else { nBasis = 276; Order = 7; }
725
726 shape.SetSize(nBasis, 3);
727 shape = 0.;
728
729 real_t xi = X(0);
730 real_t eta = X(1);
731 real_t nu = X(2);
732
733 switch (Order)
734 {
735 case 7:
736 shape(196,0) = -2.995357736356377*nu + 26.958219627207395*pow(nu,3.)
737 - 59.30808317985627*pow(nu,5.)
738 + 36.714527682768164*pow(nu,7.);
739 shape(197,1) = -2.995357736356377*nu + 26.958219627207395*pow(nu,3.)
740 - 59.30808317985627*pow(nu,5.)
741 + 36.714527682768164*pow(nu,7.);
742 shape(198,0) = -0.689981317681863*eta
743 + 14.489607671319124*eta*pow(nu,2.)
744 - 43.46882301395737*eta*pow(nu,4.)
745 + 31.87713687690207*eta*pow(nu,6.);
746 shape(199,1) = -0.689981317681863*eta
747 + 14.489607671319124*eta*pow(nu,2.)
748 - 43.46882301395737*eta*pow(nu,4.)
749 + 31.87713687690207*eta*pow(nu,6.);
750 shape(199,2) = 0.689981317681863*nu - 4.829869223773041*pow(nu,3.)
751 + 8.693764602791473*pow(nu,5.)
752 - 4.553876696700296*pow(nu,7.);
753 shape(200,0) = -2.4581457378987928*nu + 11.471346776861033*pow(nu,3.)
754 - 10.324212099174929*pow(nu,5.)
755 + 7.374437213696378*pow(eta,2.)*nu
756 - 34.4140403305831*pow(eta,2.)*pow(nu,3.)
757 + 30.972636297524787*pow(eta,2.)*pow(nu,5.);
758 shape(201,1) = -2.4581457378987928*nu + 11.471346776861033*pow(nu,3.)
759 - 10.324212099174929*pow(nu,5.)
760 + 7.374437213696378*pow(eta,2.)*nu
761 - 34.4140403305831*pow(eta,2.)*pow(nu,3.)
762 + 30.972636297524787*pow(eta,2.)*pow(nu,5.);
763 shape(201,2) = 0.49162914757975856*eta
764 - 7.374437213696378*eta*pow(nu,2.)
765 + 17.20702016529155*eta*pow(nu,4.)
766 - 10.324212099174929*eta*pow(nu,6.);
767 shape(202,0) = -1.5785117100452566*eta
768 + 15.785117100452565*eta*pow(nu,2.)
769 - 18.415969950527995*eta*pow(nu,4.)
770 + 2.6308528500754274*pow(eta,3.)
771 - 26.308528500754274*pow(eta,3.)*pow(nu,2.)
772 + 30.69328325087999*pow(eta,3.)*pow(nu,4.);
773 shape(203,1) = -1.5785117100452566*eta
774 + 15.785117100452565*eta*pow(nu,2.)
775 - 18.415969950527995*eta*pow(nu,4.)
776 + 2.6308528500754274*pow(eta,3.)
777 - 26.308528500754274*pow(eta,3.)*pow(nu,2.)
778 + 30.69328325087999*pow(eta,3.)*pow(nu,4.);
779 shape(203,2) = 1.5785117100452566*nu - 5.261705700150855*pow(nu,3.)
780 + 3.6831939901055986*pow(nu,5.)
781 - 7.8925585502262825*pow(eta,2.)*nu
782 + 26.308528500754274*pow(eta,2.)*pow(nu,3.)
783 - 18.415969950527995*pow(eta,2.)*pow(nu,5.);
784 shape(204,0) = -1.5785117100452566*nu + 2.6308528500754274*pow(nu,3.)
785 + 15.785117100452565*pow(eta,2.)*nu
786 - 26.308528500754274*pow(eta,2.)*pow(nu,3.)
787 - 18.415969950527995*pow(eta,4.)*nu
788 + 30.69328325087999*pow(eta,4.)*pow(nu,3.);
789 shape(205,1) = -1.5785117100452566*nu + 2.6308528500754274*pow(nu,3.)
790 + 15.785117100452565*pow(eta,2.)*nu
791 - 26.308528500754274*pow(eta,2.)*pow(nu,3.)
792 - 18.415969950527995*pow(eta,4.)*nu
793 + 30.69328325087999*pow(eta,4.)*pow(nu,3.);
794 shape(205,2) = 2.6308528500754274*eta
795 - 15.785117100452565*eta*pow(nu,2.)
796 + 13.154264250377137*eta*pow(nu,4.)
797 - 6.138656650175998*pow(eta,3.)
798 + 36.83193990105599*pow(eta,3.)*pow(nu,2.)
799 - 30.69328325087999*pow(eta,3.)*pow(nu,4.);
800 shape(206,0) = -2.4581457378987928*eta
801 + 7.374437213696378*eta*pow(nu,2.)
802 + 11.471346776861033*pow(eta,3.)
803 - 34.4140403305831*pow(eta,3.)*pow(nu,2.)
804 - 10.324212099174929*pow(eta,5.)
805 + 30.972636297524787*pow(eta,5.)*pow(nu,2.);
806 shape(207,1) = -2.4581457378987928*eta
807 + 7.374437213696378*eta*pow(nu,2.)
808 + 11.471346776861033*pow(eta,3.)
809 - 34.4140403305831*pow(eta,3.)*pow(nu,2.)
810 - 10.324212099174929*pow(eta,5.)
811 + 30.972636297524787*pow(eta,5.)*pow(nu,2.);
812 shape(207,2) = 2.4581457378987928*nu - 2.4581457378987928*pow(nu,3.)
813 - 34.4140403305831*pow(eta,2.)*nu
814 + 34.4140403305831*pow(eta,2.)*pow(nu,3.)
815 + 51.621060495874644*pow(eta,4.)*nu
816 - 51.621060495874644*pow(eta,4.)*pow(nu,3.);
817 shape(208,0) = -0.689981317681863*nu
818 + 14.489607671319124*pow(eta,2.)*nu
819 - 43.46882301395737*pow(eta,4.)*nu
820 + 31.87713687690207*pow(eta,6.)*nu;
821 shape(209,1) = -0.689981317681863*nu
822 + 14.489607671319124*pow(eta,2.)*nu
823 - 43.46882301395737*pow(eta,4.)*nu
824 + 31.87713687690207*pow(eta,6.)*nu;
825 shape(209,2) = 4.829869223773041*eta
826 - 14.489607671319124*eta*pow(nu,2.)
827 - 28.97921534263825*pow(eta,3.)
828 + 86.93764602791474*pow(eta,3.)*pow(nu,2.)
829 + 31.87713687690207*pow(eta,5.)
830 - 95.63141063070621*pow(eta,5.)*pow(nu,2.);
831 shape(210,0) = -2.995357736356377*eta + 26.958219627207395*pow(eta,3.)
832 - 59.30808317985627*pow(eta,5.)
833 + 36.714527682768164*pow(eta,7.);
834 shape(211,1) = -2.995357736356377*eta + 26.958219627207395*pow(eta,3.)
835 - 59.30808317985627*pow(eta,5.)
836 + 36.714527682768164*pow(eta,7.);
837 shape(211,2) = 2.995357736356377*nu
838 - 80.87465888162218*pow(eta,2.)*nu
839 + 296.54041589928136*pow(eta,4.)*nu
840 - 257.00169377937715*pow(eta,6.)*nu;
841 shape(212,2) = -2.995357736356377*eta + 26.958219627207395*pow(eta,3.)
842 - 59.30808317985627*pow(eta,5.)
843 + 36.714527682768164*pow(eta,7.);
844 shape(213,0) = -0.689981317681863*xi
845 + 14.489607671319124*xi*pow(nu,2.)
846 - 43.46882301395737*xi*pow(nu,4.)
847 + 31.87713687690207*xi*pow(nu,6.);
848 shape(213,2) = 0.689981317681863*nu - 4.829869223773041*pow(nu,3.)
849 + 8.693764602791473*pow(nu,5.)
850 - 4.553876696700296*pow(nu,7.);
851 shape(214,1) = -0.689981317681863*xi
852 + 14.489607671319124*xi*pow(nu,2.)
853 - 43.46882301395737*xi*pow(nu,4.)
854 + 31.87713687690207*xi*pow(nu,6.);
855 shape(215,0) = 6.595897162251698*xi*eta*nu
856 - 30.780853423841258*xi*eta*pow(nu,3.)
857 + 27.70276808145713*xi*eta*pow(nu,5.);
858 shape(215,2) = 0.21986323874172325*eta
859 - 3.297948581125849*eta*pow(nu,2.)
860 + 7.695213355960314*eta*pow(nu,4.)
861 - 4.617128013576188*eta*pow(nu,6.);
862 shape(216,1) = 6.595897162251698*xi*eta*nu
863 - 30.780853423841258*xi*eta*pow(nu,3.)
864 + 27.70276808145713*xi*eta*pow(nu,5.);
865 shape(216,2) = 0.21986323874172325*xi
866 - 3.297948581125849*xi*pow(nu,2.)
867 + 7.695213355960314*xi*pow(nu,4.)
868 - 4.617128013576188*xi*pow(nu,6.);
869 shape(217,0) = -0.7702348464916399*xi
870 + 7.7023484649163985*xi*pow(nu,2.)
871 - 8.986073209069131*xi*pow(nu,4.)
872 + 2.3107045394749197*xi*pow(eta,2.)
873 - 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
874 + 26.958219627207395*xi*pow(eta,2.)*pow(nu,4.);
875 shape(217,2) = 0.7702348464916399*nu - 2.567449488305466*pow(nu,3.)
876 + 1.7972146418138264*pow(nu,5.)
877 - 2.3107045394749197*pow(eta,2.)*nu
878 + 7.7023484649163985*pow(eta,2.)*pow(nu,3.)
879 - 5.391643925441479*pow(eta,2.)*pow(nu,5.);
880 shape(218,1) = -0.7702348464916399*xi
881 + 7.7023484649163985*xi*pow(nu,2.)
882 - 8.986073209069131*xi*pow(nu,4.)
883 + 2.3107045394749197*xi*pow(eta,2.)
884 - 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
885 + 26.958219627207395*xi*pow(eta,2.)*pow(nu,4.);
886 shape(218,2) = -4.621409078949839*xi*eta*nu
887 + 15.404696929832797*xi*eta*pow(nu,3.)
888 - 10.783287850882958*xi*eta*pow(nu,5.);
889 shape(219,0) = 9.644865862208764*xi*eta*nu
890 - 16.074776437014606*xi*eta*pow(nu,3.)
891 - 16.074776437014606*xi*pow(eta,3.)*nu
892 + 26.79129406169101*xi*pow(eta,3.)*pow(nu,3.);
893 shape(219,2) = 0.8037388218507303*eta
894 - 4.822432931104382*eta*pow(nu,2.)
895 + 4.0186941092536514*eta*pow(nu,4.)
896 - 1.3395647030845506*pow(eta,3.)
897 + 8.037388218507303*pow(eta,3.)*pow(nu,2.)
898 - 6.697823515422753*pow(eta,3.)*pow(nu,4.);
899 shape(220,1) = 9.644865862208764*xi*eta*nu
900 - 16.074776437014606*xi*eta*pow(nu,3.)
901 - 16.074776437014606*xi*pow(eta,3.)*nu
902 + 26.79129406169101*xi*pow(eta,3.)*pow(nu,3.);
903 shape(220,2) = 0.8037388218507303*xi
904 - 4.822432931104382*xi*pow(nu,2.)
905 + 4.0186941092536514*xi*pow(nu,4.)
906 - 4.0186941092536514*xi*pow(eta,2.)
907 + 24.11216465552191*xi*pow(eta,2.)*pow(nu,2.)
908 - 20.093470546268257*xi*pow(eta,2.)*pow(nu,4.);
909 shape(221,0) = -0.7702348464916399*xi
910 + 2.3107045394749197*xi*pow(nu,2.)
911 + 7.7023484649163985*xi*pow(eta,2.)
912 - 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
913 - 8.986073209069131*xi*pow(eta,4.)
914 + 26.958219627207395*xi*pow(eta,4.)*pow(nu,2.);
915 shape(221,2) = 0.7702348464916399*nu - 0.7702348464916399*pow(nu,3.)
916 - 7.7023484649163985*pow(eta,2.)*nu
917 + 7.7023484649163985*pow(eta,2.)*pow(nu,3.)
918 + 8.986073209069131*pow(eta,4.)*nu
919 - 8.986073209069131*pow(eta,4.)*pow(nu,3.);
920 shape(222,1) = -0.7702348464916399*xi
921 + 2.3107045394749197*xi*pow(nu,2.)
922 + 7.7023484649163985*xi*pow(eta,2.)
923 - 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
924 - 8.986073209069131*xi*pow(eta,4.)
925 + 26.958219627207395*xi*pow(eta,4.)*pow(nu,2.);
926 shape(222,2) = -15.404696929832797*xi*eta*nu
927 + 15.404696929832797*xi*eta*pow(nu,3.)
928 + 35.944292836276524*xi*pow(eta,3.)*nu
929 - 35.944292836276524*xi*pow(eta,3.)*pow(nu,3.);
930 shape(223,0) = 6.595897162251698*xi*eta*nu
931 - 30.780853423841258*xi*pow(eta,3.)*nu
932 + 27.70276808145713*xi*pow(eta,5.)*nu;
933 shape(223,2) = 1.0993161937086162*eta
934 - 3.297948581125849*eta*pow(nu,2.)
935 - 5.130142237306876*pow(eta,3.)
936 + 15.390426711920629*pow(eta,3.)*pow(nu,2.)
937 + 4.617128013576188*pow(eta,5.)
938 - 13.851384040728565*pow(eta,5.)*pow(nu,2.);
939 shape(224,1) = 6.595897162251698*xi*eta*nu
940 - 30.780853423841258*xi*pow(eta,3.)*nu
941 + 27.70276808145713*xi*pow(eta,5.)*nu;
942 shape(224,2) = 1.0993161937086162*xi
943 - 3.297948581125849*xi*pow(nu,2.)
944 - 15.390426711920629*xi*pow(eta,2.)
945 + 46.17128013576188*xi*pow(eta,2.)*pow(nu,2.)
946 + 23.08564006788094*xi*pow(eta,4.)
947 - 69.25692020364282*xi*pow(eta,4.)*pow(nu,2.);
948 shape(225,0) = -0.689981317681863*xi
949 + 14.489607671319124*xi*pow(eta,2.)
950 - 43.46882301395737*xi*pow(eta,4.)
951 + 31.87713687690207*xi*pow(eta,6.);
952 shape(225,2) = 0.689981317681863*nu
953 - 14.489607671319124*pow(eta,2.)*nu
954 + 43.46882301395737*pow(eta,4.)*nu
955 - 31.87713687690207*pow(eta,6.)*nu;
956 shape(226,1) = -0.689981317681863*xi
957 + 14.489607671319124*xi*pow(eta,2.)
958 - 43.46882301395737*xi*pow(eta,4.)
959 + 31.87713687690207*xi*pow(eta,6.);
960 shape(226,2) = -28.97921534263825*xi*eta*nu
961 + 173.87529205582948*xi*pow(eta,3.)*nu
962 - 191.26282126141243*xi*pow(eta,5.)*nu;
963 shape(227,2) = -0.689981317681863*xi
964 + 14.489607671319124*xi*pow(eta,2.)
965 - 43.46882301395737*xi*pow(eta,4.)
966 + 31.87713687690207*xi*pow(eta,6.);
967 shape(228,0) = -2.4581457378987928*nu + 11.471346776861033*pow(nu,3.)
968 - 10.324212099174929*pow(nu,5.)
969 + 7.374437213696378*pow(xi,2.)*nu
970 - 34.4140403305831*pow(xi,2.)*pow(nu,3.)
971 + 30.972636297524787*pow(xi,2.)*pow(nu,5.);
972 shape(228,2) = 0.49162914757975856*xi
973 - 7.374437213696378*xi*pow(nu,2.)
974 + 17.20702016529155*xi*pow(nu,4.)
975 - 10.324212099174929*xi*pow(nu,6.);
976 shape(229,1) = 2.4581457378987928*nu + 11.471346776861033*pow(nu,3.)
977 - 10.324212099174929*pow(nu,5.)
978 + 7.374437213696378*pow(xi,2.)*nu
979 - 34.4140403305831*pow(xi,2.)*pow(nu,3.)
980 + 30.972636297524787*pow(xi,2.)*pow(nu,5.);
981 shape(230,0) = -0.7702348464916399*eta
982 + 7.7023484649163985*eta*pow(nu,2.)
983 - 8.986073209069131*eta*pow(nu,4.)
984 + 2.3107045394749197*pow(xi,2.)*eta
985 - 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
986 + 26.958219627207395*pow(xi,2.)*eta*pow(nu,4.);
987 shape(230,2) = -4.621409078949839*xi*eta*nu
988 + 15.404696929832797*xi*eta*pow(nu,3.)
989 - 10.783287850882958*xi*eta*pow(nu,5.);
990 shape(231,1) = -0.7702348464916399*eta
991 + 7.7023484649163985*eta*pow(nu,2.)
992 - 8.986073209069131*eta*pow(nu,4.)
993 + 2.3107045394749197*pow(xi,2.)*eta
994 - 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
995 + 26.958219627207395*pow(xi,2.)*eta*pow(nu,4.);
996 shape(231,2) = 0.7702348464916399*nu - 2.567449488305466*pow(nu,3.)
997 + 1.7972146418138264*pow(nu,5.)
998 - 2.3107045394749197*pow(xi,2.)*nu
999 + 7.7023484649163985*pow(xi,2.)*pow(nu,3.)
1000 - 5.391643925441479*pow(xi,2.)*pow(nu,5.);
1001 shape(232,0) = -1.753901900050285*nu + 2.9231698334171416*pow(nu,3.)
1002 + 5.261705700150855*pow(eta,2.)*nu
1003 - 8.769509500251425*pow(eta,2.)*pow(nu,3.)
1004 + 5.261705700150855*pow(xi,2.)*nu
1005 - 8.769509500251425*pow(xi,2.)*pow(nu,3.)
1006 - 15.785117100452565*pow(xi,2.)*pow(eta,2.)*nu
1007 + 26.308528500754274*pow(xi,2.)*pow(eta,2.)*pow(nu,3.);
1008 shape(232,2) = 0.8769509500251426*xi
1009 - 5.261705700150855*xi*pow(nu,2.)
1010 + 4.384754750125713*xi*pow(nu,4.)
1011 - 2.6308528500754274*xi*pow(eta,2.)
1012 + 15.785117100452565*xi*pow(eta,2.)*pow(nu,2.)
1013 - 13.154264250377137*xi*pow(eta,2.)*pow(nu,4.);
1014 shape(233,1) = 1.753901900050285*nu + 2.9231698334171416*pow(nu,3.)
1015 + 5.261705700150855*pow(eta,2.)*nu
1016 - 8.769509500251425*pow(eta,2.)*pow(nu,3.)
1017 + 5.261705700150855*pow(xi,2.)*nu
1018 - 8.769509500251425*pow(xi,2.)*pow(nu,3.)
1019 - 15.785117100452565*pow(xi,2.)*pow(eta,2.)*nu
1020 + 26.308528500754274*pow(xi,2.)*pow(eta,2.)*pow(nu,3.);
1021 shape(233,2) = 0.8769509500251426*eta
1022 - 5.261705700150855*eta*pow(nu,2.)
1023 + 4.384754750125713*eta*pow(nu,4.)
1024 - 2.6308528500754274*pow(xi,2.)*eta
1025 + 15.785117100452565*pow(xi,2.)*eta*pow(nu,2.)
1026 - 13.154264250377137*pow(xi,2.)*eta*pow(nu,4.);
1027 shape(234,0) = -1.753901900050285*eta
1028 + 5.261705700150855*eta*pow(nu,2.)
1029 + 2.9231698334171416*pow(eta,3.)
1030 - 8.769509500251425*pow(eta,3.)*pow(nu,2.)
1031 + 5.261705700150855*pow(xi,2.)*eta
1032 - 15.785117100452565*pow(xi,2.)*eta*pow(nu,2.)
1033 - 8.769509500251425*pow(xi,2.)*pow(eta,3.)
1034 + 26.308528500754274*pow(xi,2.)*pow(eta,3.)*pow(nu,2.);
1035 shape(234,2) = -10.52341140030171*xi*eta*nu
1036 + 10.52341140030171*xi*eta*pow(nu,3.)
1037 + 17.53901900050285*xi*pow(eta,3.)*nu
1038 - 17.53901900050285*xi*pow(eta,3.)*pow(nu,3.);
1039 shape(235,1) = -1.753901900050285*eta
1040 + 5.261705700150855*eta*pow(nu,2.)
1041 + 2.9231698334171416*pow(eta,3.)
1042 - 8.769509500251425*pow(eta,3.)*pow(nu,2.)
1043 + 5.261705700150855*pow(xi,2.)*eta
1044 - 15.785117100452565*pow(xi,2.)*eta*pow(nu,2.)
1045 - 8.769509500251425*pow(xi,2.)*pow(eta,3.)
1046 + 26.308528500754274*pow(xi,2.)*pow(eta,3.)*pow(nu,2.);
1047 shape(235,2) = 1.753901900050285*nu - 1.753901900050285*pow(nu,3.)
1048 - 8.769509500251425*pow(eta,2.)*nu
1049 + 8.769509500251425*pow(eta,2.)*pow(nu,3.)
1050 - 5.261705700150855*pow(xi,2.)*nu
1051 + 5.261705700150855*pow(xi,2.)*pow(nu,3.)
1052 + 26.308528500754274*pow(xi,2.)*pow(eta,2.)*nu
1053 - 26.308528500754274*pow(xi,2.)*pow(eta,2.)*pow(nu,3.);
1054 shape(236,0) = -0.7702348464916399*nu
1055 + 7.7023484649163985*pow(eta,2.)*nu
1056 - 8.986073209069131*pow(eta,4.)*nu
1057 + 2.3107045394749197*pow(xi,2.)*nu
1058 - 23.107045394749196*pow(xi,2.)*pow(eta,2.)*nu
1059 + 26.958219627207395*pow(xi,2.)*pow(eta,4.)*nu;
1060 shape(236,2) = 0.7702348464916399*xi
1061 - 2.3107045394749197*xi*pow(nu,2.)
1062 - 7.7023484649163985*xi*pow(eta,2.)
1063 + 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
1064 + 8.986073209069131*xi*pow(eta,4.)
1065 - 26.958219627207395*xi*pow(eta,4.)*pow(nu,2.);
1066 shape(237,1) = -0.7702348464916399*nu
1067 + 7.7023484649163985*pow(eta,2.)*nu
1068 - 8.986073209069131*pow(eta,4.)*nu
1069 + 2.3107045394749197*pow(xi,2.)*nu
1070 - 23.107045394749196*pow(xi,2.)*pow(eta,2.)*nu
1071 + 26.958219627207395*pow(xi,2.)*pow(eta,4.)*nu;
1072 shape(237,2) = 2.567449488305466*eta
1073 - 7.7023484649163985*eta*pow(nu,2.)
1074 - 5.990715472712754*pow(eta,3.)
1075 + 17.972146418138262*pow(eta,3.)*pow(nu,2.)
1076 - 7.7023484649163985*pow(xi,2.)*eta
1077 + 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
1078 + 17.972146418138262*pow(xi,2.)*pow(eta,3.)
1079 - 53.91643925441479*pow(xi,2.)*pow(eta,3.)*pow(nu,2.);
1080 shape(238,0) = -2.4581457378987928*eta
1081 + 11.471346776861033*pow(eta,3.)
1082 - 10.324212099174929*pow(eta,5.)
1083 + 7.374437213696378*pow(xi,2.)*eta
1084 - 34.4140403305831*pow(xi,2.)*pow(eta,3.)
1085 + 30.972636297524787*pow(xi,2.)*pow(eta,5.);
1086 shape(238,2) = -14.748874427392757*xi*eta*nu
1087 + 68.8280806611662*xi*pow(eta,3.)*nu
1088 - 61.94527259504957*xi*pow(eta,5.)*nu;
1089 shape(239,1) = -2.4581457378987928*eta
1090 + 11.471346776861033*pow(eta,3.)
1091 - 10.324212099174929*pow(eta,5.)
1092 + 7.374437213696378*pow(xi,2.)*eta
1093 - 34.4140403305831*pow(xi,2.)*pow(eta,3.)
1094 + 30.972636297524787*pow(xi,2.)*pow(eta,5.);
1095 shape(239,2) = 2.4581457378987928*nu
1096 - 34.4140403305831*pow(eta,2.)*nu
1097 + 51.621060495874644*pow(eta,4.)*nu
1098 - 7.374437213696378*pow(xi,2.)*nu
1099 + 103.24212099174929*pow(xi,2.)*pow(eta,2.)*nu
1100 - 154.86318148762393*pow(xi,2.)*pow(eta,4.)*nu;
1101 shape(240,2) = -2.4581457378987928*eta
1102 + 11.471346776861033*pow(eta,3.)
1103 - 10.324212099174929*pow(eta,5.)
1104 + 7.374437213696378*pow(xi,2.)*eta
1105 - 34.4140403305831*pow(xi,2.)*pow(eta,3.)
1106 + 30.972636297524787*pow(xi,2.)*pow(eta,5.);
1107 shape(241,0) = -1.5785117100452566*xi
1108 + 15.785117100452565*xi*pow(nu,2.)
1109 - 18.415969950527995*xi*pow(nu,4.)
1110 + 2.6308528500754274*pow(xi,3.)
1111 - 26.308528500754274*pow(xi,3.)*pow(nu,2.)
1112 + 30.69328325087999*pow(xi,3.)*pow(nu,4.);
1113 shape(241,2) = 1.5785117100452566*nu - 5.261705700150855*pow(nu,3.)
1114 + 3.6831939901055986*pow(nu,5.)
1115 - 7.8925585502262825*pow(xi,2.)*nu
1116 + 26.308528500754274*pow(xi,2.)*pow(nu,3.)
1117 - 18.415969950527995*pow(xi,2.)*pow(nu,5.);
1118 shape(242,1) = -1.5785117100452566*xi
1119 + 15.785117100452565*xi*pow(nu,2.)
1120 - 18.415969950527995*xi*pow(nu,4.)
1121 + 2.6308528500754274*pow(xi,3.)
1122 - 26.308528500754274*pow(xi,3.)*pow(nu,2.)
1123 + 30.69328325087999*pow(xi,3.)*pow(nu,4.);
1124 shape(243,0) = 9.644865862208764*xi*eta*nu
1125 - 16.074776437014606*xi*eta*pow(nu,3.)
1126 - 16.074776437014606*pow(xi,3.)*eta*nu
1127 + 26.79129406169101*pow(xi,3.)*eta*pow(nu,3.);
1128 shape(243,2) = 0.8037388218507303*eta
1129 - 4.822432931104382*eta*pow(nu,2.)
1130 + 4.0186941092536514*eta*pow(nu,4.)
1131 - 4.0186941092536514*pow(xi,2.)*eta
1132 + 24.11216465552191*pow(xi,2.)*eta*pow(nu,2.)
1133 - 20.093470546268257*pow(xi,2.)*eta*pow(nu,4.);
1134 shape(244,1) = 9.644865862208764*xi*eta*nu
1135 - 16.074776437014606*xi*eta*pow(nu,3.)
1136 - 16.074776437014606*pow(xi,3.)*eta*nu
1137 + 26.79129406169101*pow(xi,3.)*eta*pow(nu,3.);
1138 shape(244,2) = 0.8037388218507303*xi
1139 - 4.822432931104382*xi*pow(nu,2.)
1140 + 4.0186941092536514*xi*pow(nu,4.)
1141 - 1.3395647030845506*pow(xi,3.)
1142 + 8.037388218507303*pow(xi,3.)*pow(nu,2.)
1143 - 6.697823515422753*pow(xi,3.)*pow(nu,4.);
1144 shape(245,0) = -1.753901900050285*xi + 5.261705700150855*xi*pow(nu,2.)
1145 + 5.261705700150855*xi*pow(eta,2.)
1146 - 15.785117100452565*xi*pow(eta,2.)*pow(nu,2.)
1147 + 2.9231698334171416*pow(xi,3.)
1148 - 8.769509500251425*pow(xi,3.)*pow(nu,2.)
1149 - 8.769509500251425*pow(xi,3.)*pow(eta,2.)
1150 + 26.308528500754274*pow(xi,3.)*pow(eta,2.)*pow(nu,2.);
1151 shape(245,2) = 1.753901900050285*nu - 1.753901900050285*pow(nu,3.)
1152 - 5.261705700150855*pow(eta,2.)*nu
1153 + 5.261705700150855*pow(eta,2.)*pow(nu,3.)
1154 - 8.769509500251425*pow(xi,2.)*nu
1155 + 8.769509500251425*pow(xi,2.)*pow(nu,3.)
1156 + 26.308528500754274*pow(xi,2.)*pow(eta,2.)*nu
1157 - 26.308528500754274*pow(xi,2.)*pow(eta,2.)*pow(nu,3.);
1158 shape(246,1) = -1.753901900050285*xi + 5.261705700150855*xi*pow(nu,2.)
1159 + 5.261705700150855*xi*pow(eta,2.)
1160 - 15.785117100452565*xi*pow(eta,2.)*pow(nu,2.)
1161 + 2.9231698334171416*pow(xi,3.)
1162 - 8.769509500251425*pow(xi,3.)*pow(nu,2.)
1163 - 8.769509500251425*pow(xi,3.)*pow(eta,2.)
1164 + 26.308528500754274*pow(xi,3.)*pow(eta,2.)*pow(nu,2.);
1165 shape(246,2) = -10.52341140030171*xi*eta*nu
1166 + 10.52341140030171*xi*eta*pow(nu,3.)
1167 + 17.53901900050285*pow(xi,3.)*eta*nu
1168 - 17.53901900050285*pow(xi,3.)*eta*pow(nu,3.);
1169 shape(247,0) = 9.644865862208764*xi*eta*nu
1170 - 16.074776437014606*xi*pow(eta,3.)*nu
1171 - 16.074776437014606*pow(xi,3.)*eta*nu
1172 + 26.79129406169101*pow(xi,3.)*pow(eta,3.)*nu;
1173 shape(247,2) = 1.6074776437014606*eta
1174 - 4.822432931104382*eta*pow(nu,2.)
1175 - 2.679129406169101*pow(eta,3.)
1176 + 8.037388218507303*pow(eta,3.)*pow(nu,2.)
1177 - 8.037388218507303*pow(xi,2.)*eta
1178 + 24.11216465552191*pow(xi,2.)*eta*pow(nu,2.)
1179 + 13.395647030845504*pow(xi,2.)*pow(eta,3.)
1180 - 40.186941092536514*pow(xi,2.)*pow(eta,3.)*pow(nu,2.);
1181 shape(248,1) = 9.644865862208764*xi*eta*nu
1182 - 16.074776437014606*xi*pow(eta,3.)*nu
1183 - 16.074776437014606*pow(xi,3.)*eta*nu
1184 + 26.79129406169101*pow(xi,3.)*pow(eta,3.)*nu;
1185 shape(248,2) = 1.6074776437014606*xi
1186 - 4.822432931104382*xi*pow(nu,2.)
1187 - 8.037388218507303*xi*pow(eta,2.)
1188 + 24.11216465552191*xi*pow(eta,2.)*pow(nu,2.)
1189 - 2.679129406169101*pow(xi,3.)
1190 + 8.037388218507303*pow(xi,3.)*pow(nu,2.)
1191 + 13.395647030845504*pow(xi,3.)*pow(eta,2.)
1192 - 40.186941092536514*pow(xi,3.)*pow(eta,2.)*pow(nu,2.);
1193 shape(249,0) = -1.5785117100452566*xi
1194 + 15.785117100452565*xi*pow(eta,2.)
1195 - 18.415969950527995*xi*pow(eta,4.)
1196 + 2.6308528500754274*pow(xi,3.)
1197 - 26.308528500754274*pow(xi,3.)*pow(eta,2.)
1198 + 30.69328325087999*pow(xi,3.)*pow(eta,4.);
1199 shape(249,2) = 1.5785117100452566*nu
1200 - 15.785117100452565*pow(eta,2.)*nu
1201 + 18.415969950527995*pow(eta,4.)*nu
1202 - 7.8925585502262825*pow(xi,2.)*nu
1203 + 78.92558550226282*pow(xi,2.)*pow(eta,2.)*nu
1204 - 92.07984975263996*pow(xi,2.)*pow(eta,4.)*nu;
1205 shape(250,1) = -1.5785117100452566*xi
1206 + 15.785117100452565*xi*pow(eta,2.)
1207 - 18.415969950527995*xi*pow(eta,4.)
1208 + 2.6308528500754274*pow(xi,3.)
1209 - 26.308528500754274*pow(xi,3.)*pow(eta,2.)
1210 + 30.69328325087999*pow(xi,3.)*pow(eta,4.);
1211 shape(250,2) = -31.57023420090513*xi*eta*nu
1212 + 73.66387980211196*xi*pow(eta,3.)*nu
1213 + 52.61705700150855*pow(xi,3.)*eta*nu
1214 - 122.77313300351994*pow(xi,3.)*pow(eta,3.)*nu;
1215 shape(251,2) = -1.5785117100452566*xi
1216 + 15.785117100452565*xi*pow(eta,2.)
1217 - 18.415969950527995*xi*pow(eta,4.)
1218 + 2.6308528500754274*pow(xi,3.)
1219 - 26.308528500754274*pow(xi,3.)*pow(eta,2.)
1220 + 30.69328325087999*pow(xi,3.)*pow(eta,4.);
1221 shape(252,0) = -1.5785117100452566*nu + 2.6308528500754274*pow(nu,3.)
1222 + 15.785117100452565*pow(xi,2.)*nu
1223 - 26.308528500754274*pow(xi,2.)*pow(nu,3.)
1224 - 18.415969950527995*pow(xi,4.)*nu
1225 + 30.69328325087999*pow(xi,4.)*pow(nu,3.);
1226 shape(252,2) = 2.6308528500754274*xi
1227 - 15.785117100452565*xi*pow(nu,2.)
1228 + 13.154264250377137*xi*pow(nu,4.)
1229 - 6.138656650175998*pow(xi,3.)
1230 + 36.83193990105599*pow(xi,3.)*pow(nu,2.)
1231 - 30.69328325087999*pow(xi,3.)*pow(nu,4.);
1232 shape(253,1) = -1.5785117100452566*nu + 2.6308528500754274*pow(nu,3.)
1233 + 15.785117100452565*pow(xi,2.)*nu
1234 - 26.308528500754274*pow(xi,2.)*pow(nu,3.)
1235 - 18.415969950527995*pow(xi,4.)*nu
1236 + 30.69328325087999*pow(xi,4.)*pow(nu,3.);
1237 shape(254,0) = -0.7702348464916399*eta
1238 + 2.3107045394749197*eta*pow(nu,2.)
1239 + 7.7023484649163985*pow(xi,2.)*eta
1240 - 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
1241 - 8.986073209069131*pow(xi,4.)*eta
1242 + 26.958219627207395*pow(xi,4.)*eta*pow(nu,2.);
1243 shape(254,2) = -15.404696929832797*xi*eta*nu
1244 + 15.404696929832797*xi*eta*pow(nu,3.)
1245 + 35.944292836276524*pow(xi,3.)*eta*nu
1246 - 35.944292836276524*pow(xi,3.)*eta*pow(nu,3.);
1247 shape(255,1) = -0.7702348464916399*eta
1248 + 2.3107045394749197*eta*pow(nu,2.)
1249 + 7.7023484649163985*pow(xi,2.)*eta
1250 - 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
1251 - 8.986073209069131*pow(xi,4.)*eta
1252 + 26.958219627207395*pow(xi,4.)*eta*pow(nu,2.);
1253 shape(255,2) = 0.7702348464916399*nu - 0.7702348464916399*pow(nu,3.)
1254 - 7.7023484649163985*pow(xi,2.)*nu
1255 + 7.7023484649163985*pow(xi,2.)*pow(nu,3.)
1256 + 8.986073209069131*pow(xi,4.)*nu
1257 - 8.986073209069131*pow(xi,4.)*pow(nu,3.);
1258 shape(256,0) = -0.7702348464916399*nu
1259 + 2.3107045394749197*pow(eta,2.)*nu
1260 + 7.7023484649163985*pow(xi,2.)*nu
1261 - 23.107045394749196*pow(xi,2.)*pow(eta,2.)*nu
1262 - 8.986073209069131*pow(xi,4.)*nu
1263 + 26.958219627207395*pow(xi,4.)*pow(eta,2.)*nu;
1264 shape(256,2) = 2.567449488305466*xi
1265 - 7.7023484649163985*xi*pow(nu,2.)
1266 - 7.7023484649163985*xi*pow(eta,2.)
1267 + 23.107045394749196*xi*pow(eta,2.)*pow(nu,2.)
1268 - 5.990715472712754*pow(xi,3.)
1269 + 17.972146418138262*pow(xi,3.)*pow(nu,2.)
1270 + 17.972146418138262*pow(xi,3.)*pow(eta,2.)
1271 - 53.91643925441479*pow(xi,3.)*pow(eta,2.)*pow(nu,2.);
1272 shape(257,1) = -0.7702348464916399*nu
1273 + 2.3107045394749197*pow(eta,2.)*nu
1274 + 7.7023484649163985*pow(xi,2.)*nu
1275 - 23.107045394749196*pow(xi,2.)*pow(eta,2.)*nu
1276 - 8.986073209069131*pow(xi,4.)*nu
1277 + 26.958219627207395*pow(xi,4.)*pow(eta,2.)*nu;
1278 shape(257,2) = 0.7702348464916399*eta
1279 - 2.3107045394749197*eta*pow(nu,2.)
1280 - 7.7023484649163985*pow(xi,2.)*eta
1281 + 23.107045394749196*pow(xi,2.)*eta*pow(nu,2.)
1282 + 8.986073209069131*pow(xi,4.)*eta
1283 - 26.958219627207395*pow(xi,4.)*eta*pow(nu,2.);
1284 shape(258,0) = -1.5785117100452566*eta
1285 + 2.6308528500754274*pow(eta,3.)
1286 + 15.785117100452565*pow(xi,2.)*eta
1287 - 26.308528500754274*pow(xi,2.)*pow(eta,3.)
1288 - 18.415969950527995*pow(xi,4.)*eta
1289 + 30.69328325087999*pow(xi,4.)*pow(eta,3.);
1290 shape(258,2) = -31.57023420090513*xi*eta*nu
1291 + 52.61705700150855*xi*pow(eta,3.)*nu
1292 + 73.66387980211196*pow(xi,3.)*eta*nu
1293 - 122.77313300351994*pow(xi,3.)*pow(eta,3.)*nu;
1294 shape(259,1) = -1.5785117100452566*eta
1295 + 2.6308528500754274*pow(eta,3.)
1296 + 15.785117100452565*pow(xi,2.)*eta
1297 - 26.308528500754274*pow(xi,2.)*pow(eta,3.)
1298 - 18.415969950527995*pow(xi,4.)*eta
1299 + 30.69328325087999*pow(xi,4.)*pow(eta,3.);
1300 shape(259,2) = 1.5785117100452566*nu
1301 - 7.8925585502262825*pow(eta,2.)*nu
1302 - 15.785117100452565*pow(xi,2.)*nu
1303 + 78.92558550226282*pow(xi,2.)*pow(eta,2.)*nu
1304 + 18.415969950527995*pow(xi,4.)*nu
1305 - 92.07984975263996*pow(xi,4.)*pow(eta,2.)*nu;
1306 shape(260,2) = -1.5785117100452566*eta
1307 + 2.6308528500754274*pow(eta,3.)
1308 + 15.785117100452565*pow(xi,2.)*eta
1309 - 26.308528500754274*pow(xi,2.)*pow(eta,3.)
1310 - 18.415969950527995*pow(xi,4.)*eta
1311 + 30.69328325087999*pow(xi,4.)*pow(eta,3.);
1312 shape(261,0) = -2.4581457378987928*xi
1313 + 7.374437213696378*xi*pow(nu,2.)
1314 + 11.471346776861033*pow(xi,3.)
1315 - 34.4140403305831*pow(xi,3.)*pow(nu,2.)
1316 - 10.324212099174929*pow(xi,5.)
1317 + 30.972636297524787*pow(xi,5.)*pow(nu,2.);
1318 shape(261,2) = 2.4581457378987928*nu - 2.4581457378987928*pow(nu,3.)
1319 - 34.4140403305831*pow(xi,2.)*nu
1320 + 34.4140403305831*pow(xi,2.)*pow(nu,3.)
1321 + 51.621060495874644*pow(xi,4.)*nu
1322 - 51.621060495874644*pow(xi,4.)*pow(nu,3.);
1323 shape(262,1) = -2.4581457378987928*xi
1324 + 7.374437213696378*xi*pow(nu,2.)
1325 + 11.471346776861033*pow(xi,3.)
1326 - 34.4140403305831*pow(xi,3.)*pow(nu,2.)
1327 - 10.324212099174929*pow(xi,5.)
1328 + 30.972636297524787*pow(xi,5.)*pow(nu,2.);
1329 shape(263,0) = 6.595897162251698*xi*eta*nu
1330 - 30.780853423841258*pow(xi,3.)*eta*nu
1331 + 27.70276808145713*pow(xi,5.)*eta*nu;
1332 shape(263,2) = 1.0993161937086162*eta
1333 - 3.297948581125849*eta*pow(nu,2.)
1334 - 15.390426711920629*pow(xi,2.)*eta
1335 + 46.17128013576188*pow(xi,2.)*eta*pow(nu,2.)
1336 + 23.08564006788094*pow(xi,4.)*eta
1337 - 69.25692020364282*pow(xi,4.)*eta*pow(nu,2.);
1338 shape(264,1) = 6.595897162251698*xi*eta*nu
1339 - 30.780853423841258*pow(xi,3.)*eta*nu
1340 + 27.70276808145713*pow(xi,5.)*eta*nu;
1341 shape(264,2) = 1.0993161937086162*xi
1342 - 3.297948581125849*xi*pow(nu,2.)
1343 - 5.130142237306876*pow(xi,3.)
1344 + 15.390426711920629*pow(xi,3.)*pow(nu,2.)
1345 + 4.617128013576188*pow(xi,5.)
1346 - 13.851384040728565*pow(xi,5.)*pow(nu,2.);
1347 shape(265,0) = -2.4581457378987928*xi
1348 + 7.374437213696378*xi*pow(eta,2.)
1349 + 11.471346776861033*pow(xi,3.)
1350 - 34.4140403305831*pow(xi,3.)*pow(eta,2.)
1351 - 10.324212099174929*pow(xi,5.)
1352 + 30.972636297524787*pow(xi,5.)*pow(eta,2.);
1353 shape(265,2) = 2.4581457378987928*nu
1354 - 7.374437213696378*pow(eta,2.)*nu
1355 - 34.4140403305831*pow(xi,2.)*nu
1356 + 103.24212099174929*pow(xi,2.)*pow(eta,2.)*nu
1357 + 51.621060495874644*pow(xi,4.)*nu
1358 - 154.86318148762393*pow(xi,4.)*pow(eta,2.)*nu;
1359 shape(266,1) = -2.4581457378987928*xi
1360 + 7.374437213696378*xi*pow(eta,2.)
1361 + 11.471346776861033*pow(xi,3.)
1362 - 34.4140403305831*pow(xi,3.)*pow(eta,2.)
1363 - 10.324212099174929*pow(xi,5.)
1364 + 30.972636297524787*pow(xi,5.)*pow(eta,2.);
1365 shape(266,2) = -14.748874427392757*xi*eta*nu
1366 + 68.8280806611662*pow(xi,3.)*eta*nu
1367 - 61.94527259504957*pow(xi,5.)*eta*nu;
1368 shape(267,2) = -2.4581457378987928*xi
1369 + 7.374437213696378*xi*pow(eta,2.)
1370 + 11.471346776861033*pow(xi,3.)
1371 - 34.4140403305831*pow(xi,3.)*pow(eta,2.)
1372 - 10.324212099174929*pow(xi,5.)
1373 + 30.972636297524787*pow(xi,5.)*pow(eta,2.);
1374 shape(268,0) = -0.689981317681863*nu
1375 + 14.489607671319124*pow(xi,2.)*nu
1376 - 43.46882301395737*pow(xi,4.)*nu
1377 + 31.87713687690207*pow(xi,6.)*nu;
1378 shape(268,2) = 4.829869223773041*xi
1379 - 14.489607671319124*xi*pow(nu,2.)
1380 - 28.97921534263825*pow(xi,3.)
1381 + 86.93764602791474*pow(xi,3.)*pow(nu,2.)
1382 + 31.87713687690207*pow(xi,5.)
1383 - 95.63141063070621*pow(xi,5.)*pow(nu,2.);
1384 shape(269,1) = -0.689981317681863*nu
1385 + 14.489607671319124*pow(xi,2.)*nu
1386 - 43.46882301395737*pow(xi,4.)*nu
1387 + 31.87713687690207*pow(xi,6.)*nu;
1388 shape(270,0) = -0.689981317681863*eta
1389 + 14.489607671319124*pow(xi,2.)*eta
1390 - 43.46882301395737*pow(xi,4.)*eta
1391 + 31.87713687690207*pow(xi,6.)*eta;
1392 shape(270,2) = -28.97921534263825*xi*eta*nu
1393 + 173.87529205582948*pow(xi,3.)*eta*nu
1394 - 191.26282126141243*pow(xi,5.)*eta*nu;;
1395 shape(271,1) = -0.689981317681863*eta
1396 + 14.489607671319124*pow(xi,2.)*eta
1397 - 43.46882301395737*pow(xi,4.)*eta
1398 + 31.87713687690207*pow(xi,6.)*eta;
1399 shape(271,2) = 0.689981317681863*nu
1400 - 14.489607671319124*pow(xi,2.)*nu
1401 + 43.46882301395737*pow(xi,4.)*nu
1402 - 31.87713687690207*pow(xi,6.)*nu;
1403 shape(272,2) = -0.689981317681863*eta
1404 + 14.489607671319124*pow(xi,2.)*eta
1405 - 43.46882301395737*pow(xi,4.)*eta
1406 + 31.87713687690207*pow(xi,6.)*eta;
1407 shape(273,0) = -2.995357736356377*xi + 26.958219627207395*pow(xi,3.)
1408 - 59.30808317985627*pow(xi,5.)
1409 + 36.714527682768164*pow(xi,7.);
1410 shape(273,2) = 2.995357736356377*nu - 80.87465888162218*pow(xi,2.)*nu
1411 + 296.54041589928136*pow(xi,4.)*nu
1412 - 257.00169377937715*pow(xi,6.)*nu;
1413 shape(274,1) = -2.995357736356377*xi + 26.958219627207395*pow(xi,3.)
1414 - 59.30808317985627*pow(xi,5.)
1415 + 36.714527682768164*pow(xi,7.);
1416 shape(275,2) = -2.995357736356377*xi + 26.958219627207395*pow(xi,3.)
1417 - 59.30808317985627*pow(xi,5.)
1418 + 36.714527682768164*pow(xi,7.);
1419 case 6:
1420 shape(133,0) = -0.3983608994994363 + 8.365578889488162*pow(nu,2.)
1421 - 25.096736668464487*pow(nu,4.)
1422 + 18.404273556873957*pow(nu,6.);
1423 shape(134,1) = -0.3983608994994363 + 8.365578889488162*pow(nu,2.)
1424 - 25.096736668464487*pow(nu,4.)
1425 + 18.404273556873957*pow(nu,6.);
1426 shape(135,0) = 3.8081430021731064*eta*nu
1427 - 17.771334010141164*eta*pow(nu,3.)
1428 + 15.994200609127047*eta*pow(nu,5.);
1429 shape(136,1) = 3.8081430021731064*eta*nu
1430 - 17.771334010141164*eta*pow(nu,3.)
1431 + 15.994200609127047*eta*pow(nu,5.);
1432 shape(136,2) = 0.1269381000724369 - 1.9040715010865532*pow(nu,2.)
1433 + 4.442833502535291*pow(nu,4.)
1434 - 2.6657001015211743*pow(nu,6.);
1435 shape(137,0) = -0.44469529596117835 + 4.446952959611783*pow(nu,2.)
1436 - 5.188111786213748*pow(nu,4.)
1437 + 1.334085887883535*pow(eta,2.)
1438 - 13.34085887883535*pow(eta,2.)*pow(nu,2.)
1439 + 15.564335358641243*pow(eta,2.)*pow(nu,4.);
1440 shape(138,1) = -0.44469529596117835 + 4.446952959611783*pow(nu,2.)
1441 - 5.188111786213748*pow(nu,4.)
1442 + 1.334085887883535*pow(eta,2.)
1443 - 13.34085887883535*pow(eta,2.)*pow(nu,2.)
1444 + 15.564335358641243*pow(eta,2.)*pow(nu,4.);
1445 shape(138,2) = -2.66817177576707*eta*nu
1446 + 8.893905919223567*eta*pow(nu,3.)
1447 - 6.225734143456497*eta*pow(nu,5.);
1448 shape(139,0) = 5.568465901844061*eta*nu
1449 - 9.280776503073437*eta*pow(nu,3.)
1450 - 9.280776503073437*pow(eta,3.)*nu
1451 + 15.467960838455728*pow(eta,3.)*pow(nu,3.);
1452 shape(140,1) = 5.568465901844061*eta*nu
1453 - 9.280776503073437*eta*pow(nu,3.)
1454 - 9.280776503073437*pow(eta,3.)*nu
1455 + 15.467960838455728*pow(eta,3.)*pow(nu,3.);
1456 shape(140,2) = 0.4640388251536718 - 2.7842329509220307*pow(nu,2.)
1457 + 2.320194125768359*pow(nu,4.)
1458 - 2.320194125768359*pow(eta,2.)
1459 + 13.921164754610153*pow(eta,2.)*pow(nu,2.)
1460 - 11.600970628841795*pow(eta,2.)*pow(nu,4.);
1461 shape(141,0) = -0.44469529596117835 + 1.334085887883535*pow(nu,2.)
1462 + 4.446952959611783*pow(eta,2.)
1463 - 13.34085887883535*pow(eta,2.)*pow(nu,2.)
1464 - 5.188111786213748*pow(eta,4.)
1465 + 15.564335358641243*pow(eta,4.)*pow(nu,2.);
1466 shape(142,1) = -0.44469529596117835 + 1.334085887883535*pow(nu,2.)
1467 + 4.446952959611783*pow(eta,2.)
1468 - 13.34085887883535*pow(eta,2.)*pow(nu,2.)
1469 - 5.188111786213748*pow(eta,4.)
1470 + 15.564335358641243*pow(eta,4.)*pow(nu,2.);
1471 shape(142,2) = -8.893905919223567*eta*nu
1472 + 8.893905919223567*eta*pow(nu,3.)
1473 + 20.75244714485499*pow(eta,3.)*nu
1474 - 20.75244714485499*pow(eta,3.)*pow(nu,3.);
1475 shape(143,0) = 3.8081430021731064*eta*nu
1476 - 17.771334010141164*pow(eta,3.)*nu
1477 + 15.994200609127047*pow(eta,5.)*nu;
1478 shape(144,1) = 3.8081430021731064*eta*nu
1479 - 17.771334010141164*pow(eta,3.)*nu
1480 + 15.994200609127047*pow(eta,5.)*nu;
1481 shape(144,2) = 0.6346905003621844 - 1.9040715010865532*pow(nu,2.)
1482 - 8.885667005070582*pow(eta,2.)
1483 + 26.657001015211744*pow(eta,2.)*pow(nu,2.)
1484 + 13.328500507605872*pow(eta,4.)
1485 - 39.985501522817614*pow(eta,4.)*pow(nu,2.);
1486 shape(145,0) = -0.3983608994994363 + 8.365578889488162*pow(eta,2.)
1487 - 25.096736668464487*pow(eta,4.)
1488 + 18.404273556873957*pow(eta,6.);
1489 shape(146,1) = -0.3983608994994363 + 8.365578889488162*pow(eta,2.)
1490 - 25.096736668464487*pow(eta,4.)
1491 + 18.404273556873957*pow(eta,6.);
1492 shape(146,2) = -16.731157778976325*eta*nu
1493 + 100.38694667385795*pow(eta,3.)*nu
1494 - 110.42564134124375*pow(eta,5.)*nu;
1495 shape(147,2) = -0.3983608994994363 + 8.365578889488162*pow(eta,2.)
1496 - 25.096736668464487*pow(eta,4.)
1497 + 18.404273556873957*pow(eta,6.);
1498 shape(148,0) = 3.8081430021731064*xi*nu
1499 - 17.771334010141164*xi*pow(nu,3.)
1500 + 15.994200609127047*xi*pow(nu,5.);
1501 shape(148,2) = 0.1269381000724369 - 1.9040715010865532*pow(nu,2.)
1502 + 4.442833502535291*pow(nu,4.)
1503 - 2.6657001015211743*pow(nu,6.);
1504 shape(149,1) = 3.8081430021731064*xi*nu
1505 - 17.771334010141164*xi*pow(nu,3.)
1506 + 15.994200609127047*xi*pow(nu,5.);
1507 shape(150,0) = 1.1932426932522988*xi*eta
1508 - 11.932426932522988*xi*eta*pow(nu,2.)
1509 + 13.921164754610153*xi*eta*pow(nu,4.);
1510 shape(150,2) = -1.1932426932522988*eta*nu
1511 + 3.97747564417433*eta*pow(nu,3.)
1512 - 2.7842329509220307*eta*pow(nu,5.);
1513 shape(151,1) = 1.1932426932522988*xi*eta
1514 - 11.932426932522988*xi*eta*pow(nu,2.)
1515 + 13.921164754610153*xi*eta*pow(nu,4.);
1516 shape(151,2) = -1.1932426932522988*xi*nu
1517 + 3.97747564417433*xi*pow(nu,3.)
1518 - 2.7842329509220307*xi*pow(nu,5.);
1519 shape(152,0) = 2.7171331399105196*xi*nu
1520 - 4.5285552331842*xi*pow(nu,3.)
1521 - 8.15139941973156*xi*pow(eta,2.)*nu
1522 + 13.5856656995526*xi*pow(eta,2.)*pow(nu,3.);
1523 shape(152,2) = 0.22642776165920997 - 1.3585665699552598*pow(nu,2.)
1524 + 1.13213880829605*pow(nu,4.)
1525 - 0.6792832849776299*pow(eta,2.)
1526 + 4.07569970986578*pow(eta,2.)*pow(nu,2.)
1527 - 3.39641642488815*pow(eta,2.)*pow(nu,4.);
1528 shape(153,1) = 2.7171331399105196*xi*nu
1529 - 4.5285552331842*xi*pow(nu,3.)
1530 - 8.15139941973156*xi*pow(eta,2.)*nu
1531 + 13.5856656995526*xi*pow(eta,2.)*pow(nu,3.);
1532 shape(153,2) = -1.3585665699552598*xi*eta
1533 + 8.15139941973156*xi*eta*pow(nu,2.)
1534 - 6.792832849776299*xi*eta*pow(nu,4.);
1535 shape(154,0) = 2.7171331399105196*xi*eta
1536 - 8.15139941973156*xi*eta*pow(nu,2.)
1537 - 4.5285552331842*xi*pow(eta,3.)
1538 + 13.5856656995526*xi*pow(eta,3.)*pow(nu,2.);
1539 shape(154,2) = -2.7171331399105196*eta*nu
1540 + 2.7171331399105196*eta*pow(nu,3.)
1541 + 4.5285552331842*pow(eta,3.)*nu
1542 - 4.5285552331842*pow(eta,3.)*pow(nu,3.);
1543 shape(155,1) = 2.7171331399105196*xi*eta
1544 - 8.15139941973156*xi*eta*pow(nu,2.)
1545 - 4.5285552331842*xi*pow(eta,3.)
1546 + 13.5856656995526*xi*pow(eta,3.)*pow(nu,2.);
1547 shape(155,2) = -2.7171331399105196*xi*nu
1548 + 2.7171331399105196*xi*pow(nu,3.)
1549 + 13.5856656995526*xi*pow(eta,2.)*nu
1550 - 13.5856656995526*xi*pow(eta,2.)*pow(nu,3.);
1551 shape(156,0) = 1.1932426932522988*xi*nu
1552 - 11.932426932522988*xi*pow(eta,2.)*nu
1553 + 13.921164754610153*xi*pow(eta,4.)*nu;
1554 shape(156,2) = 0.1988737822087165 - 0.5966213466261495*pow(nu,2.)
1555 - 1.988737822087165*pow(eta,2.)
1556 + 5.966213466261495*pow(eta,2.)*pow(nu,2.)
1557 + 2.320194125768359*pow(eta,4.)
1558 - 6.9605823773050775*pow(eta,4.)*pow(nu,2.);
1559 shape(157,1) = 1.1932426932522988*xi*nu
1560 - 11.932426932522988*xi*pow(eta,2.)*nu
1561 + 13.921164754610153*xi*pow(eta,4.)*nu;
1562 shape(157,2) = -3.97747564417433*xi*eta
1563 + 11.932426932522988*xi*eta*pow(nu,2.)
1564 + 9.280776503073437*xi*pow(eta,3.)
1565 - 27.84232950922031*xi*pow(eta,3.)*pow(nu,2.);
1566 shape(158,0) = 3.8081430021731064*xi*eta
1567 - 17.771334010141164*xi*pow(eta,3.)
1568 + 15.994200609127047*xi*pow(eta,5.);
1569 shape(158,2) = -3.8081430021731064*eta*nu
1570 + 17.771334010141164*pow(eta,3.)*nu
1571 - 15.994200609127047*pow(eta,5.)*nu;
1572 shape(159,1) = 3.8081430021731064*xi*eta
1573 - 17.771334010141164*xi*pow(eta,3.)
1574 + 15.994200609127047*xi*pow(eta,5.);
1575 shape(159,2) = -3.8081430021731064*xi*nu
1576 + 53.31400203042349*xi*pow(eta,2.)*nu
1577 - 79.97100304563523*xi*pow(eta,4.)*nu;
1578 shape(160,2) = 3.8081430021731064*xi*eta
1579 - 17.771334010141164*xi*pow(eta,3.)
1580 + 15.994200609127047*xi*pow(eta,5.);
1581 shape(161,0) = -0.44469529596117835 + 4.446952959611783*pow(nu,2.)
1582 - 5.188111786213748*pow(nu,4.)
1583 + 1.334085887883535*pow(xi,2.)
1584 - 13.34085887883535*pow(xi,2.)*pow(nu,2.)
1585 + 15.564335358641243*pow(xi,2.)*pow(nu,4.);
1586 shape(161,2) = -2.66817177576707*xi*nu
1587 + 8.893905919223567*xi*pow(nu,3.)
1588 - 6.225734143456497*xi*pow(nu,5.);
1589 shape(162,1) = -0.44469529596117835 + 4.446952959611783*pow(nu,2.)
1590 - 5.188111786213748*pow(nu,4.)
1591 + 1.334085887883535*pow(xi,2.)
1592 - 13.34085887883535*pow(xi,2.)*pow(nu,2.)
1593 + 15.564335358641243*pow(xi,2.)*pow(nu,4.);
1594 shape(163,0) = 2.7171331399105196*eta*nu
1595 - 4.5285552331842*eta*pow(nu,3.)
1596 - 8.15139941973156*pow(xi,2.)*eta*nu
1597 + 13.5856656995526*pow(xi,2.)*eta*pow(nu,3.);
1598 shape(163,2) = -1.3585665699552598*xi*eta
1599 + 8.15139941973156*xi*eta*pow(nu,2.)
1600 - 6.792832849776299*xi*eta*pow(nu,4.);
1601 shape(164,1) = 2.7171331399105196*eta*nu
1602 - 4.5285552331842*eta*pow(nu,3.)
1603 - 8.15139941973156*pow(xi,2.)*eta*nu
1604 + 13.5856656995526*pow(xi,2.)*eta*pow(nu,3.);
1605 shape(164,2) = 0.22642776165920997 - 1.3585665699552598*pow(nu,2.)
1606 + 1.13213880829605*pow(nu,4.)
1607 - 0.6792832849776299*pow(xi,2.)
1608 + 4.07569970986578*pow(xi,2.)*pow(nu,2.)
1609 - 3.39641642488815*pow(xi,2.)*pow(nu,4.);
1610 shape(165,0) = -0.49410588440130926 + 1.4823176532039277*pow(nu,2.)
1611 + 1.4823176532039277*pow(eta,2.)
1612 - 4.446952959611783*pow(eta,2.)*pow(nu,2.)
1613 + 1.4823176532039277*pow(xi,2.)
1614 - 4.446952959611783*pow(xi,2.)*pow(nu,2.)
1615 - 4.446952959611783*pow(xi,2.)*pow(eta,2.)
1616 + 13.34085887883535*pow(xi,2.)*pow(eta,2.)*pow(nu,2.);
1617 shape(165,2) = -2.9646353064078554*xi*nu
1618 + 2.9646353064078554*xi*pow(nu,3.)
1619 + 8.893905919223567*xi*pow(eta,2.)*nu
1620 - 8.893905919223567*xi*pow(eta,2.)*pow(nu,3.);
1621 shape(166,1) = -0.49410588440130926 + 1.4823176532039277*pow(nu,2.)
1622 + 1.4823176532039277*pow(eta,2.)
1623 - 4.446952959611783*pow(eta,2.)*pow(nu,2.)
1624 + 1.4823176532039277*pow(xi,2.)
1625 - 4.446952959611783*pow(xi,2.)*pow(nu,2.)
1626 - 4.446952959611783*pow(xi,2.)*pow(eta,2.)
1627 + 13.34085887883535*pow(xi,2.)*pow(eta,2.)*pow(nu,2.);
1628 shape(166,2) = -2.9646353064078554*eta*nu
1629 + 2.9646353064078554*eta*pow(nu,3.)
1630 + 8.893905919223567*pow(xi,2.)*eta*nu
1631 - 8.893905919223567*pow(xi,2.)*eta*pow(nu,3.);
1632 shape(167,0) = 2.7171331399105196*eta*nu
1633 - 4.5285552331842*pow(eta,3.)*nu
1634 - 8.15139941973156*pow(xi,2.)*eta*nu
1635 + 13.5856656995526*pow(xi,2.)*pow(eta,3.)*nu;
1636 shape(167,2) = -2.7171331399105196*xi*eta
1637 + 8.15139941973156*xi*eta*pow(nu,2.)
1638 + 4.5285552331842*xi*pow(eta,3.)
1639 - 13.5856656995526*xi*pow(eta,3.)*pow(nu,2.);
1640 shape(168,1) = 2.7171331399105196*eta*nu
1641 - 4.5285552331842*pow(eta,3.)*nu
1642 - 8.15139941973156*pow(xi,2.)*eta*nu
1643 + 13.5856656995526*pow(xi,2.)*pow(eta,3.)*nu;
1644 shape(168,2) = 0.45285552331841994 - 1.3585665699552598*pow(nu,2.)
1645 - 2.2642776165921*pow(eta,2.)
1646 + 6.792832849776299*pow(eta,2.)*pow(nu,2.)
1647 - 1.3585665699552598*pow(xi,2.)
1648 + 4.07569970986578*pow(xi,2.)*pow(nu,2.)
1649 + 6.792832849776299*pow(xi,2.)*pow(eta,2.)
1650 - 20.3784985493289*pow(xi,2.)*pow(eta,2.)*pow(nu,2.);
1651 shape(169,0) = -0.44469529596117835 + 4.446952959611783*pow(eta,2.)
1652 - 5.188111786213748*pow(eta,4.)
1653 + 1.334085887883535*pow(xi,2.)
1654 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1655 + 15.564335358641243*pow(xi,2.)*pow(eta,4.);
1656 shape(169,2) = -2.66817177576707*xi*nu
1657 + 26.6817177576707*xi*pow(eta,2.)*nu
1658 - 31.128670717282485*xi*pow(eta,4.)*nu;
1659 shape(170,1) = -0.44469529596117835 + 4.446952959611783*pow(eta,2.)
1660 - 5.188111786213748*pow(eta,4.)
1661 + 1.334085887883535*pow(xi,2.)
1662 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1663 + 15.564335358641243*pow(xi,2.)*pow(eta,4.);
1664 shape(170,2) = -8.893905919223567*eta*nu
1665 + 20.75244714485499*pow(eta,3.)*nu
1666 + 26.6817177576707*pow(xi,2.)*eta*nu
1667 - 62.25734143456497*pow(xi,2.)*pow(eta,3.)*nu;
1668 shape(171,2) = -0.44469529596117835 + 4.446952959611783*pow(eta,2.)
1669 - 5.188111786213748*pow(eta,4.)
1670 + 1.334085887883535*pow(xi,2.)
1671 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1672 + 15.564335358641243*pow(xi,2.)*pow(eta,4.);
1673 shape(172,0) = 5.568465901844061*xi*nu
1674 - 9.280776503073437*xi*pow(nu,3.)
1675 - 9.280776503073437*pow(xi,3.)*nu
1676 + 15.467960838455728*pow(xi,3.)*pow(nu,3.);
1677 shape(172,2) = 0.4640388251536718 - 2.7842329509220307*pow(nu,2.)
1678 + 2.320194125768359*pow(nu,4.)
1679 - 2.320194125768359*pow(xi,2.)
1680 + 13.921164754610153*pow(xi,2.)*pow(nu,2.)
1681 - 11.600970628841795*pow(xi,2.)*pow(nu,4.);
1682 shape(173,1) = 5.568465901844061*xi*nu
1683 - 9.280776503073437*xi*pow(nu,3.)
1684 - 9.280776503073437*pow(xi,3.)*nu
1685 + 15.467960838455728*pow(xi,3.)*pow(nu,3.);
1686 shape(174,0) = 2.7171331399105196*xi*eta
1687 - 8.15139941973156*xi*eta*pow(nu,2.)
1688 - 4.5285552331842*pow(xi,3.)*eta
1689 + 13.5856656995526*pow(xi,3.)*eta*pow(nu,2.);
1690 shape(174,2) = -2.7171331399105196*eta*nu
1691 + 2.7171331399105196*eta*pow(nu,3.)
1692 + 13.5856656995526*pow(xi,2.)*eta*nu
1693 - 13.5856656995526*pow(xi,2.)*eta*pow(nu,3.);
1694 shape(175,1) = 2.7171331399105196*xi*eta
1695 - 8.15139941973156*xi*eta*pow(nu,2.)
1696 - 4.5285552331842*pow(xi,3.)*eta
1697 + 13.5856656995526*pow(xi,3.)*eta*pow(nu,2.);
1698 shape(175,2) = -2.7171331399105196*xi*nu
1699 + 2.7171331399105196*xi*pow(nu,3.)
1700 + 4.5285552331842*pow(xi,3.)*nu
1701 - 4.5285552331842*pow(xi,3.)*pow(nu,3.);
1702 shape(176,0) = 2.7171331399105196*xi*nu
1703 - 8.15139941973156*xi*pow(eta,2.)*nu
1704 - 4.5285552331842*pow(xi,3.)*nu
1705 + 13.5856656995526*pow(xi,3.)*pow(eta,2.)*nu;
1706 shape(176,2) = 0.45285552331841994 - 1.3585665699552598*pow(nu,2.)
1707 - 1.3585665699552598*pow(eta,2.)
1708 + 4.07569970986578*pow(eta,2.)*pow(nu,2.)
1709 - 2.2642776165921*pow(xi,2.)
1710 + 6.792832849776299*pow(xi,2.)*pow(nu,2.)
1711 + 6.792832849776299*pow(xi,2.)*pow(eta,2.)
1712 - 20.3784985493289*pow(xi,2.)*pow(eta,2.)*pow(nu,2.);
1713 shape(177,1) = 2.7171331399105196*xi*nu
1714 - 8.15139941973156*xi*pow(eta,2.)*nu
1715 - 4.5285552331842*pow(xi,3.)*nu
1716 + 13.5856656995526*pow(xi,3.)*pow(eta,2.)*nu;
1717 shape(177,2) = -2.7171331399105196*xi*eta
1718 + 8.15139941973156*xi*eta*pow(nu,2.)
1719 + 4.5285552331842*pow(xi,3.)*eta
1720 - 13.5856656995526*pow(xi,3.)*eta*pow(nu,2.);
1721 shape(178,0) = 5.568465901844061*xi*eta
1722 - 9.280776503073437*xi*pow(eta,3.)
1723 - 9.280776503073437*pow(xi,3.)*eta
1724 + 15.467960838455728*pow(xi,3.)*pow(eta,3.);
1725 shape(178,2) = -5.568465901844061*eta*nu
1726 + 9.280776503073437*pow(eta,3.)*nu
1727 + 27.84232950922031*pow(xi,2.)*eta*nu
1728 - 46.40388251536718*pow(xi,2.)*pow(eta,3.)*nu;
1729 shape(179,1) = 5.568465901844061*xi*eta
1730 - 9.280776503073437*xi*pow(eta,3.)
1731 - 9.280776503073437*pow(xi,3.)*eta
1732 + 15.467960838455728*pow(xi,3.)*pow(eta,3.);
1733 shape(179,2) = -5.568465901844061*xi*nu
1734 + 27.84232950922031*xi*pow(eta,2.)*nu
1735 + 9.280776503073437*pow(xi,3.)*nu
1736 - 46.40388251536718*pow(xi,3.)*pow(eta,2.)*nu;
1737 shape(180,2) = 5.568465901844061*xi*eta
1738 - 9.280776503073437*xi*pow(eta,3.)
1739 - 9.280776503073437*pow(xi,3.)*eta
1740 + 15.467960838455728*pow(xi,3.)*pow(eta,3.);
1741 shape(181,0) = -0.44469529596117835 + 1.334085887883535*pow(nu,2.)
1742 + 4.446952959611783*pow(xi,2.)
1743 - 13.34085887883535*pow(xi,2.)*pow(nu,2.)
1744 - 5.188111786213748*pow(xi,4.)
1745 + 15.564335358641243*pow(xi,4.)*pow(nu,2.);
1746 shape(181,2) = -8.893905919223567*xi*nu
1747 + 8.893905919223567*xi*pow(nu,3.)
1748 + 20.75244714485499*pow(xi,3.)*nu
1749 - 20.75244714485499*pow(xi,3.)*pow(nu,3.);
1750 shape(182,1) = -0.44469529596117835 + 1.334085887883535*pow(nu,2.)
1751 + 4.446952959611783*pow(xi,2.)
1752 - 13.34085887883535*pow(xi,2.)*pow(nu,2.)
1753 - 5.188111786213748*pow(xi,4.)
1754 + 15.564335358641243*pow(xi,4.)*pow(nu,2.);
1755 shape(183,0) = 1.1932426932522988*eta*nu
1756 - 11.932426932522988*pow(xi,2.)*eta*nu
1757 + 13.921164754610153*pow(xi,4.)*eta*nu;
1758 shape(183,2) = -3.97747564417433*xi*eta
1759 + 11.932426932522988*xi*eta*pow(nu,2.)
1760 + 9.280776503073437*pow(xi,3.)*eta
1761 - 27.84232950922031*pow(xi,3.)*eta*pow(nu,2.);
1762 shape(184,1) = 1.1932426932522988*eta*nu
1763 - 11.932426932522988*pow(xi,2.)*eta*nu
1764 + 13.921164754610153*pow(xi,4.)*eta*nu;
1765 shape(184,2) = 0.1988737822087165 - 0.5966213466261495*pow(nu,2.)
1766 - 1.988737822087165*pow(xi,2.)
1767 + 5.966213466261495*pow(xi,2.)*pow(nu,2.)
1768 + 2.320194125768359*pow(xi,4.)
1769 - 6.9605823773050775*pow(xi,4.)*pow(nu,2.);
1770 shape(185,0) = -0.44469529596117835 + 1.334085887883535*pow(eta,2.)
1771 + 4.446952959611783*pow(xi,2.)
1772 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1773 - 5.188111786213748*pow(xi,4.)
1774 + 15.564335358641243*pow(xi,4.)*pow(eta,2.);
1775 shape(185,2) = -8.893905919223567*xi*nu
1776 + 26.6817177576707*xi*pow(eta,2.)*nu
1777 + 20.75244714485499*pow(xi,3.)*nu
1778 - 62.25734143456497*pow(xi,3.)*pow(eta,2.)*nu;
1779 shape(186,1) = -0.44469529596117835 + 1.334085887883535*pow(eta,2.)
1780 + 4.446952959611783*pow(xi,2.)
1781 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1782 - 5.188111786213748*pow(xi,4.)
1783 + 15.564335358641243*pow(xi,4.)*pow(eta,2.);
1784 shape(186,2) = -2.66817177576707*eta*nu
1785 + 26.6817177576707*pow(xi,2.)*eta*nu
1786 - 31.128670717282485*pow(xi,4.)*eta*nu;
1787 shape(187,2) = -0.44469529596117835 + 1.334085887883535*pow(eta,2.)
1788 + 4.446952959611783*pow(xi,2.)
1789 - 13.34085887883535*pow(xi,2.)*pow(eta,2.)
1790 - 5.188111786213748*pow(xi,4.)
1791 + 15.564335358641243*pow(xi,4.)*pow(eta,2.);
1792 shape(188,0) = 3.8081430021731064*xi*nu
1793 - 17.771334010141164*pow(xi,3.)*nu
1794 + 15.994200609127047*pow(xi,5.)*nu;
1795 shape(188,2) = 0.6346905003621844 - 1.9040715010865532*pow(nu,2.)
1796 - 8.885667005070582*pow(xi,2.)
1797 + 26.657001015211744*pow(xi,2.)*pow(nu,2.)
1798 + 13.328500507605872*pow(xi,4.)
1799 - 39.985501522817614*pow(xi,4.)*pow(nu,2.);
1800 shape(189,1) = 3.8081430021731064*xi*nu
1801 - 17.771334010141164*pow(xi,3.)*nu
1802 + 15.994200609127047*pow(xi,5.)*nu;
1803 shape(190,0) = 3.8081430021731064*xi*eta
1804 - 17.771334010141164*pow(xi,3.)*eta
1805 + 15.994200609127047*pow(xi,5.)*eta;
1806 shape(190,2) = -3.8081430021731064*eta*nu
1807 + 53.31400203042349*pow(xi,2.)*eta*nu
1808 - 79.97100304563523*pow(xi,4.)*eta*nu;
1809 shape(191,1) = 3.8081430021731064*xi*eta
1810 - 17.771334010141164*pow(xi,3.)*eta
1811 + 15.994200609127047*pow(xi,5.)*eta;
1812 shape(191,2) = -3.8081430021731064*xi*nu
1813 + 17.771334010141164*pow(xi,3.)*nu
1814 - 15.994200609127047*pow(xi,5.)*nu;
1815 shape(192,2) = 3.8081430021731064*xi*eta
1816 - 17.771334010141164*pow(xi,3.)*eta
1817 + 15.994200609127047*pow(xi,5.)*eta;
1818 shape(193,0) = -0.3983608994994363 + 8.365578889488162*pow(xi,2.)
1819 - 25.096736668464487*pow(xi,4.)
1820 + 18.404273556873957*pow(xi,6.);
1821 shape(193,2) = -16.731157778976325*xi*nu
1822 + 100.38694667385795*pow(xi,3.)*nu
1823 - 110.42564134124375*pow(xi,5.)*nu;
1824 shape(194,1) = -0.3983608994994363 + 8.365578889488162*pow(xi,2.)
1825 - 25.096736668464487*pow(xi,4.)
1826 + 18.404273556873957*pow(xi,6.);
1827 shape(195,2) = -0.3983608994994363 + 8.365578889488162*pow(xi,2.)
1828 - 25.096736668464487*pow(xi,4.)
1829 + 18.404273556873957*pow(xi,6.);
1830 case 5:
1831 shape( 85,0) = 2.1986323874172324*nu - 10.260284474613751*pow(nu,3.)
1832 + 9.234256027152377*pow(nu,5.);
1833 shape( 86,1) = 2.1986323874172324*nu - 10.260284474613751*pow(nu,3.)
1834 + 9.234256027152377*pow(nu,5.);
1835 shape( 87,0) = 0.6889189901577688*eta
1836 - 6.889189901577688*eta*pow(nu,2.)
1837 + 8.037388218507303*eta*pow(nu,4.);
1838 shape( 88,1) = 0.6889189901577688*eta
1839 - 6.889189901577688*eta*pow(nu,2.)
1840 + 8.037388218507303*eta*pow(nu,4.);
1841 shape( 88,2) = -0.6889189901577688*nu + 2.2963966338592297*pow(nu,3.)
1842 - 1.6074776437014606*pow(nu,5.);
1843 shape( 89,0) = 1.5687375497513918*nu - 2.6145625829189862*pow(nu,3.)
1844 - 4.706212649254175*pow(eta,2.)*nu
1845 + 7.843687748756959*pow(eta,2.)*pow(nu,3.);
1846 shape( 90,1) = 1.5687375497513918*nu - 2.6145625829189862*pow(nu,3.)
1847 - 4.706212649254175*pow(eta,2.)*nu
1848 + 7.843687748756959*pow(eta,2.)*pow(nu,3.);
1849 shape( 90,2) = -0.7843687748756958*eta
1850 + 4.706212649254175*eta*pow(nu,2.)
1851 - 3.921843874378479*eta*pow(nu,4.);
1852 shape( 91,0) = 1.5687375497513918*eta
1853 - 4.706212649254175*eta*pow(nu,2.)
1854 - 2.6145625829189862*pow(eta,3.)
1855 + 7.843687748756959*pow(eta,3.)*pow(nu,2.);
1856 shape( 92,1) = 1.5687375497513918*eta
1857 - 4.706212649254175*eta*pow(nu,2.)
1858 - 2.6145625829189862*pow(eta,3.)
1859 + 7.843687748756959*pow(eta,3.)*pow(nu,2.);
1860 shape( 92,2) = -1.5687375497513918*nu + 1.5687375497513918*pow(nu,3.)
1861 + 7.843687748756959*pow(eta,2.)*nu
1862 - 7.843687748756959*pow(eta,2.)*pow(nu,3.);
1863 shape( 93,0) = 0.6889189901577688*nu
1864 - 6.889189901577688*pow(eta,2.)*nu
1865 + 8.037388218507303*pow(eta,4.)*nu;
1866 shape( 94,1) = 0.6889189901577688*nu
1867 - 6.889189901577688*pow(eta,2.)*nu
1868 + 8.037388218507303*pow(eta,4.)*nu;
1869 shape( 94,2) = -2.2963966338592297*eta
1870 + 6.889189901577688*eta*pow(nu,2.)
1871 + 5.358258812338202*pow(eta,3.)
1872 - 16.074776437014606*pow(eta,3.)*pow(nu,2.);
1873 shape( 95,0) = 2.1986323874172324*eta
1874 - 10.260284474613751*pow(eta,3.)
1875 + 9.234256027152377*pow(eta,5.);
1876 shape( 96,1) = 2.1986323874172324*eta
1877 - 10.260284474613751*pow(eta,3.)
1878 + 9.234256027152377*pow(eta,5.);
1879 shape( 96,2) = -2.1986323874172324*nu
1880 + 30.780853423841258*pow(eta,2.)*nu
1881 - 46.17128013576188*pow(eta,4.)*nu;
1882 shape( 97,2) = 2.1986323874172324*eta
1883 - 10.260284474613751*pow(eta,3.)
1884 + 9.234256027152377*pow(eta,5.);
1885 shape( 98,0) = 0.6889189901577688*xi
1886 - 6.889189901577688*xi*pow(nu,2.)
1887 + 8.037388218507303*xi*pow(nu,4.);
1888 shape( 98,2) = -0.6889189901577688*nu + 2.2963966338592297*pow(nu,3.)
1889 - 1.6074776437014606*pow(nu,5.);
1890 shape( 99,1) = 0.6889189901577688*xi
1891 - 6.889189901577688*xi*pow(nu,2.)
1892 + 8.037388218507303*xi*pow(nu,4.);
1893 shape(100,0) = -4.209364560120684*xi*eta*nu
1894 + 7.0156076002011405*xi*eta*pow(nu,3.);
1895 shape(100,2) = -0.350780380010057*eta
1896 + 2.104682280060342*eta*pow(nu,2.)
1897 - 1.753901900050285*eta*pow(nu,4.);
1898 shape(101,1) = -4.209364560120684*xi*eta*nu
1899 + 7.0156076002011405*xi*eta*pow(nu,3.);
1900 shape(101,2) = -0.350780380010057*xi + 2.104682280060342*xi*pow(nu,2.)
1901 - 1.753901900050285*xi*pow(nu,4.);
1902 shape(102,0) = 0.7654655446197431*xi
1903 - 2.2963966338592297*xi*pow(nu,2.)
1904 - 2.2963966338592297*xi*pow(eta,2.)
1905 + 6.889189901577688*xi*pow(eta,2.)*pow(nu,2.);
1906 shape(102,2) = -0.7654655446197431*nu + 0.7654655446197431*pow(nu,3.)
1907 + 2.2963966338592297*pow(eta,2.)*nu
1908 - 2.2963966338592297*pow(eta,2.)*pow(nu,3.);
1909 shape(103,1) = 0.7654655446197431*xi
1910 - 2.2963966338592297*xi*pow(nu,2.)
1911 - 2.2963966338592297*xi*pow(eta,2.)
1912 + 6.889189901577688*xi*pow(eta,2.)*pow(nu,2.);
1913 shape(103,2) = 4.592793267718459*xi*eta*nu
1914 - 4.592793267718459*xi*eta*pow(nu,3.);
1915 shape(104,0) = -4.209364560120684*xi*eta*nu
1916 + 7.0156076002011405*xi*pow(eta,3.)*nu;
1917 shape(104,2) = -0.701560760020114*eta
1918 + 2.104682280060342*eta*pow(nu,2.)
1919 + 1.1692679333668567*pow(eta,3.)
1920 - 3.50780380010057*pow(eta,3.)*pow(nu,2.);
1921 shape(105,1) = -4.209364560120684*xi*eta*nu
1922 + 7.0156076002011405*xi*pow(eta,3.)*nu;
1923 shape(105,2) = -0.701560760020114*xi + 2.104682280060342*xi*pow(nu,2.)
1924 + 3.50780380010057*xi*pow(eta,2.)
1925 - 10.52341140030171*xi*pow(eta,2.)*pow(nu,2.);
1926 shape(106,0) = 0.6889189901577688*xi
1927 - 6.889189901577688*xi*pow(eta,2.)
1928 + 8.037388218507303*xi*pow(eta,4.);
1929 shape(106,2) = -0.6889189901577688*nu
1930 + 6.889189901577688*pow(eta,2.)*nu
1931 - 8.037388218507303*pow(eta,4.)*nu;
1932 shape(107,1) = 0.6889189901577688*xi
1933 - 6.889189901577688*xi*pow(eta,2.)
1934 + 8.037388218507303*xi*pow(eta,4.);
1935 shape(107,2) = 13.778379803155376*xi*eta*nu
1936 - 32.14955287402921*xi*pow(eta,3.)*nu;
1937 shape(108,2) = 0.6889189901577688*xi
1938 - 6.889189901577688*xi*pow(eta,2.)
1939 + 8.037388218507303*xi*pow(eta,4.);
1940 shape(109,0) = 1.5687375497513918*nu - 2.6145625829189862*pow(nu,3.)
1941 - 4.706212649254175*pow(xi,2.)*nu
1942 + 7.843687748756959*pow(xi,2.)*pow(nu,3.);
1943 shape(109,2) = -0.7843687748756958*xi
1944 + 4.706212649254175*xi*pow(nu,2.)
1945 - 3.921843874378479*xi*pow(nu,4.);
1946 shape(110,1) = 1.5687375497513918*nu - 2.6145625829189862*pow(nu,3.)
1947 - 4.706212649254175*pow(xi,2.)*nu
1948 + 7.843687748756959*pow(xi,2.)*pow(nu,3.);
1949 shape(111,0) = 0.7654655446197431*eta
1950 - 2.2963966338592297*eta*pow(nu,2.)
1951 - 2.2963966338592297*pow(xi,2.)*eta
1952 + 6.889189901577688*pow(xi,2.)*eta*pow(nu,2.);
1953 shape(111,2) = 4.592793267718459*xi*eta*nu
1954 - 4.592793267718459*xi*eta*pow(nu,3.);
1955 shape(112,1) = 0.7654655446197431*eta
1956 - 2.2963966338592297*eta*pow(nu,2.)
1957 - 2.2963966338592297*pow(xi,2.)*eta
1958 + 6.889189901577688*pow(xi,2.)*eta*pow(nu,2.);
1959 shape(112,2) = -0.7654655446197431*nu + 0.7654655446197431*pow(nu,3.)
1960 + 2.2963966338592297*pow(xi,2.)*nu
1961 - 2.2963966338592297*pow(xi,2.)*pow(nu,3.);
1962 shape(113,0) = 0.7654655446197431*nu
1963 - 2.2963966338592297*pow(eta,2.)*nu
1964 - 2.2963966338592297*pow(xi,2.)*nu
1965 + 6.889189901577688*pow(xi,2.)*pow(eta,2.)*nu;
1966 shape(113,2) = -0.7654655446197431*xi
1967 + 2.2963966338592297*xi*pow(nu,2.)
1968 + 2.2963966338592297*xi*pow(eta,2.)
1969 - 6.889189901577688*xi*pow(eta,2.)*pow(nu,2.);
1970 shape(114,1) = 0.7654655446197431*nu
1971 - 2.2963966338592297*pow(eta,2.)*nu
1972 - 2.2963966338592297*pow(xi,2.)*nu
1973 + 6.889189901577688*pow(xi,2.)*pow(eta,2.)*nu;
1974 shape(114,2) = -0.7654655446197431*eta
1975 + 2.2963966338592297*eta*pow(nu,2.)
1976 + 2.2963966338592297*pow(xi,2.)*eta
1977 - 6.889189901577688*pow(xi,2.)*eta*pow(nu,2.);
1978 shape(115,0) = 1.5687375497513918*eta
1979 - 2.6145625829189862*pow(eta,3.)
1980 - 4.706212649254175*pow(xi,2.)*eta
1981 + 7.843687748756959*pow(xi,2.)*pow(eta,3.);
1982 shape(115,2) = 9.41242529850835*xi*eta*nu
1983 - 15.687375497513917*xi*pow(eta,3.)*nu;
1984 shape(116,1) = 1.5687375497513918*eta
1985 - 2.6145625829189862*pow(eta,3.)
1986 - 4.706212649254175*pow(xi,2.)*eta
1987 + 7.843687748756959*pow(xi,2.)*pow(eta,3.);
1988 shape(116,2) = -1.5687375497513918*nu
1989 + 7.843687748756959*pow(eta,2.)*nu
1990 + 4.706212649254175*pow(xi,2.)*nu
1991 - 23.531063246270875*pow(xi,2.)*pow(eta,2.)*nu;
1992 shape(117,2) = 1.5687375497513918*eta
1993 - 2.6145625829189862*pow(eta,3.)
1994 - 4.706212649254175*pow(xi,2.)*eta
1995 + 7.843687748756959*pow(xi,2.)*pow(eta,3.);
1996 shape(118,0) = 1.5687375497513918*xi
1997 - 4.706212649254175*xi*pow(nu,2.)
1998 - 2.6145625829189862*pow(xi,3.)
1999 + 7.843687748756959*pow(xi,3.)*pow(nu,2.);
2000 shape(118,2) = -1.5687375497513918*nu + 1.5687375497513918*pow(nu,3.)
2001 + 7.843687748756959*pow(xi,2.)*nu
2002 - 7.843687748756959*pow(xi,2.)*pow(nu,3.);
2003 shape(119,1) = 1.5687375497513918*xi
2004 - 4.706212649254175*xi*pow(nu,2.)
2005 - 2.6145625829189862*pow(xi,3.)
2006 + 7.843687748756959*pow(xi,3.)*pow(nu,2.);
2007 shape(120,0) = -4.209364560120684*xi*eta*nu
2008 + 7.0156076002011405*pow(xi,3.)*eta*nu;
2009 shape(120,2) = -0.701560760020114*eta
2010 + 2.104682280060342*eta*pow(nu,2.)
2011 + 3.50780380010057*pow(xi,2.)*eta
2012 - 10.52341140030171*pow(xi,2.)*eta*pow(nu,2.);
2013 shape(121,1) = -4.209364560120684*xi*eta*nu
2014 + 7.0156076002011405*pow(xi,3.)*eta*nu;
2015 shape(121,2) = -0.701560760020114*xi + 2.104682280060342*xi*pow(nu,2.)
2016 + 1.1692679333668567*pow(xi,3.)
2017 - 3.50780380010057*pow(xi,3.)*pow(nu,2.);
2018 shape(122,0) = 1.5687375497513918*xi
2019 - 4.706212649254175*xi*pow(eta,2.)
2020 - 2.6145625829189862*pow(xi,3.)
2021 + 7.843687748756959*pow(xi,3.)*pow(eta,2.);
2022 shape(122,2) = -1.5687375497513918*nu
2023 + 4.706212649254175*pow(eta,2.)*nu
2024 + 7.843687748756959*pow(xi,2.)*nu
2025 - 23.531063246270875*pow(xi,2.)*pow(eta,2.)*nu;
2026 shape(123,1) = 1.5687375497513918*xi
2027 - 4.706212649254175*xi*pow(eta,2.)
2028 - 2.6145625829189862*pow(xi,3.)
2029 + 7.843687748756959*pow(xi,3.)*pow(eta,2.);
2030 shape(123,2) = 9.41242529850835*xi*eta*nu
2031 - 15.687375497513917*pow(xi,3.)*eta*nu;
2032 shape(124,2) = 1.5687375497513918*xi
2033 - 4.706212649254175*xi*pow(eta,2.)
2034 - 2.6145625829189862*pow(xi,3.)
2035 + 7.843687748756959*pow(xi,3.)*pow(eta,2.);
2036 shape(125,0) = 0.6889189901577688*nu
2037 - 6.889189901577688*pow(xi,2.)*nu
2038 + 8.037388218507303*pow(xi,4.)*nu;
2039 shape(125,2) = -2.2963966338592297*xi
2040 + 6.889189901577688*xi*pow(nu,2.)
2041 + 5.358258812338202*pow(xi,3.)
2042 - 16.074776437014606*pow(xi,3.)*pow(nu,2.);
2043 shape(126,1) = 0.6889189901577688*nu
2044 - 6.889189901577688*pow(xi,2.)*nu
2045 + 8.037388218507303*pow(xi,4.)*nu;
2046 shape(127,0) = 0.6889189901577688*eta
2047 - 6.889189901577688*pow(xi,2.)*eta
2048 + 8.037388218507303*pow(xi,4.)*eta;
2049 shape(127,2) = 13.778379803155376*xi*eta*nu
2050 - 32.14955287402921*pow(xi,3.)*eta*nu;
2051 shape(128,1) = 0.6889189901577688*eta
2052 - 6.889189901577688*pow(xi,2.)*eta
2053 + 8.037388218507303*pow(xi,4.)*eta;
2054 shape(128,2) = -0.6889189901577688*nu
2055 + 6.889189901577688*pow(xi,2.)*nu
2056 - 8.037388218507303*pow(xi,4.)*nu;
2057 shape(129,2) = 0.6889189901577688*eta
2058 - 6.889189901577688*pow(xi,2.)*eta
2059 + 8.037388218507303*pow(xi,4.)*eta;
2060 shape(130,0) = 2.1986323874172324*xi - 10.260284474613751*pow(xi,3.)
2061 + 9.234256027152377*pow(xi,5.);
2062 shape(130,2) = -2.1986323874172324*nu
2063 + 30.780853423841258*pow(xi,2.)*nu
2064 - 46.17128013576188*pow(xi,4.)*nu;
2065 shape(131,1) = 2.1986323874172324*xi - 10.260284474613751*pow(xi,3.)
2066 + 9.234256027152377*pow(xi,5.);
2067 shape(132,2) = 2.1986323874172324*xi - 10.260284474613751*pow(xi,3.)
2068 + 9.234256027152377*pow(xi,5.);
2069 case 4:
2070 shape( 50,0) = 0.397747564417433 - 3.97747564417433*pow(nu,2.)
2071 + 4.640388251536718*pow(nu,4.);
2072 shape( 51,1) = 0.397747564417433 - 3.97747564417433*pow(nu,2.)
2073 + 4.640388251536718*pow(nu,4.);
2074 shape( 52,0) = -2.4302777619029476*eta*nu
2075 + 4.050462936504912*eta*pow(nu,3.);
2076 shape( 53,1) = -2.4302777619029476*eta*nu
2077 + 4.050462936504912*eta*pow(nu,3.);
2078 shape( 53,2) = -0.20252314682524564 + 1.2151388809514738*pow(nu,2.)
2079 - 1.0126157341262283*pow(nu,4.);
2080 shape( 54,0) = 0.4419417382415922 - 1.3258252147247767*pow(nu,2.)
2081 - 1.3258252147247767*pow(eta,2.)
2082 + 3.97747564417433*pow(eta,2.)*pow(nu,2.);
2083 shape( 55,1) = 0.4419417382415922 - 1.3258252147247767*pow(nu,2.)
2084 - 1.3258252147247767*pow(eta,2.)
2085 + 3.97747564417433*pow(eta,2.)*pow(nu,2.);
2086 shape( 55,2) = 2.6516504294495533*eta*nu
2087 - 2.6516504294495533*eta*pow(nu,3.);
2088 shape( 56,0) = -2.4302777619029476*eta*nu
2089 + 4.050462936504912*pow(eta,3.)*nu;
2090 shape( 57,1) = -2.4302777619029476*eta*nu
2091 + 4.050462936504912*pow(eta,3.)*nu;
2092 shape( 57,2) = -0.4050462936504913 + 1.2151388809514738*pow(nu,2.)
2093 + 2.025231468252456*pow(eta,2.)
2094 - 6.075694404757369*pow(eta,2.)*pow(nu,2.);
2095 shape( 58,0) = 0.397747564417433 - 3.97747564417433*pow(eta,2.)
2096 + 4.640388251536718*pow(eta,4.);
2097 shape( 59,1) = 0.397747564417433 - 3.97747564417433*pow(eta,2.)
2098 + 4.640388251536718*pow(eta,4.);
2099 shape( 59,2) = 7.95495128834866*eta*nu
2100 - 18.561553006146873*pow(eta,3.)*nu;
2101 shape( 60,2) = 0.397747564417433 - 3.97747564417433*pow(eta,2.)
2102 + 4.640388251536718*pow(eta,4.);
2103 shape( 61,0) = -2.4302777619029476*xi*nu
2104 + 4.050462936504912*xi*pow(nu,3.);
2105 shape( 61,2) = -0.20252314682524564 + 1.2151388809514738*pow(nu,2.)
2106 - 1.0126157341262283*pow(nu,4.);
2107 shape( 62,1) = -2.4302777619029476*xi*nu
2108 + 4.050462936504912*xi*pow(nu,3.);
2109 shape( 63,0) = -1.1858541225631423*xi*eta
2110 + 3.557562367689427*xi*eta*pow(nu,2.);
2111 shape( 63,2) = 1.1858541225631423*eta*nu
2112 - 1.1858541225631423*eta*pow(nu,3.);
2113 shape( 64,1) = -1.1858541225631423*xi*eta
2114 + 3.557562367689427*xi*eta*pow(nu,2.);
2115 shape( 64,2) = 1.1858541225631423*xi*nu
2116 - 1.1858541225631423*xi*pow(nu,3.);
2117 shape( 65,0) = -1.1858541225631423*xi*nu
2118 + 3.557562367689427*xi*pow(eta,2.)*nu;
2119 shape( 65,2) = -0.19764235376052372
2120 + 0.5929270612815711*pow(nu,2.)
2121 + 0.5929270612815711*pow(eta,2.)
2122 - 1.7787811838447134*pow(eta,2.)*pow(nu,2.);
2123 shape( 66,1) = -1.1858541225631423*xi*nu
2124 + 3.557562367689427*xi*pow(eta,2.)*nu;
2125 shape( 66,2) = 1.1858541225631423*xi*eta
2126 - 3.557562367689427*xi*eta*pow(nu,2.);
2127 shape( 67,0) = -2.4302777619029476*xi*eta
2128 + 4.050462936504912*xi*pow(eta,3.);
2129 shape( 67,2) = 2.4302777619029476*eta*nu
2130 - 4.050462936504912*pow(eta,3.)*nu;
2131 shape( 68,1) = -2.4302777619029476*xi*eta
2132 + 4.050462936504912*xi*pow(eta,3.);
2133 shape( 68,2) = 2.4302777619029476*xi*nu
2134 - 12.151388809514739*xi*pow(eta,2.)*nu;
2135 shape( 69,2) = -2.4302777619029476*xi*eta
2136 + 4.050462936504912*xi*pow(eta,3.);
2137 shape( 70,0) = 0.4419417382415922 - 1.3258252147247767*pow(nu,2.)
2138 - 1.3258252147247767*pow(xi,2.)
2139 + 3.97747564417433*pow(xi,2.)*pow(nu,2.);
2140 shape( 70,2) = 2.6516504294495533*xi*nu
2141 - 2.6516504294495533*xi*pow(nu,3.);
2142 shape( 71,1) = 0.4419417382415922 - 1.3258252147247767*pow(nu,2.)
2143 - 1.3258252147247767*pow(xi,2.)
2144 + 3.97747564417433*pow(xi,2.)*pow(nu,2.);
2145 shape( 72,0) = -1.1858541225631423*eta*nu
2146 + 3.557562367689427*pow(xi,2.)*eta*nu;
2147 shape( 72,2) = 1.1858541225631423*xi*eta
2148 - 3.557562367689427*xi*eta*pow(nu,2.);
2149 shape( 73,1) = -1.1858541225631423*eta*nu
2150 + 3.557562367689427*pow(xi,2.)*eta*nu;
2151 shape( 73,2) = -0.19764235376052372 + 0.5929270612815711*pow(nu,2.)
2152 + 0.5929270612815711*pow(xi,2.)
2153 - 1.7787811838447134*pow(xi,2.)*pow(nu,2.);
2154 shape( 74,0) = 0.4419417382415922 - 1.3258252147247767*pow(eta,2.)
2155 - 1.3258252147247767*pow(xi,2.)
2156 + 3.97747564417433*pow(xi,2.)*pow(eta,2.);
2157 shape( 74,2) = 2.6516504294495533*xi*nu
2158 - 7.95495128834866*xi*pow(eta,2.)*nu;
2159 shape( 75,1) = 0.4419417382415922 - 1.3258252147247767*pow(eta,2.)
2160 - 1.3258252147247767*pow(xi,2.)
2161 + 3.97747564417433*pow(xi,2.)*pow(eta,2.);
2162 shape( 75,2) = 2.6516504294495533*eta*nu
2163 - 7.95495128834866*pow(xi,2.)*eta*nu;
2164 shape( 76,2) = 0.4419417382415922 - 1.3258252147247767*pow(eta,2.)
2165 - 1.3258252147247767*pow(xi,2.)
2166 + 3.97747564417433*pow(xi,2.)*pow(eta,2.);
2167 shape( 77,0) = -2.4302777619029476*xi*nu
2168 + 4.050462936504912*pow(xi,3.)*nu;
2169 shape( 77,2) = -0.4050462936504913 + 1.2151388809514738*pow(nu,2.)
2170 + 2.025231468252456*pow(xi,2.)
2171 - 6.075694404757369*pow(xi,2.)*pow(nu,2.);
2172 shape( 78,1) = -2.4302777619029476*xi*nu
2173 + 4.050462936504912*pow(xi,3.)*nu;
2174 shape( 79,0) = -2.4302777619029476*xi*eta
2175 + 4.050462936504912*pow(xi,3.)*eta;
2176 shape( 79,2) = 2.4302777619029476*eta*nu
2177 - 12.151388809514739*pow(xi,2.)*eta*nu;
2178 shape( 80,1) = 2.4302777619029476*xi*eta
2179 + 4.050462936504912*pow(xi,3.)*eta;
2180 shape( 80,2) = 2.4302777619029476*xi*nu
2181 - 4.050462936504912*pow(xi,3.)*nu;
2182 shape( 81,2) = -2.4302777619029476*xi*eta
2183 + 4.050462936504912*pow(xi,3.)*eta;
2184 shape( 82,0) = 0.397747564417433 - 3.97747564417433*pow(xi,2.)
2185 + 4.640388251536718*pow(xi,4.);
2186 shape( 82,2) = 7.95495128834866*xi*nu
2187 - 18.561553006146873*pow(xi,3.)*nu;
2188 shape( 83,1) = 0.397747564417433 - 3.97747564417433*pow(xi,2.)
2189 + 4.640388251536718*pow(xi,4.);
2190 shape( 84,2) = 0.397747564417433 - 3.97747564417433*pow(xi,2.)
2191 + 4.640388251536718*pow(xi,4.);
2192 case 3:
2193 shape( 26,0) = -1.403121520040228*nu + 2.3385358667337135*pow(nu,3.);
2194 shape( 27,1) = -1.403121520040228*nu + 2.3385358667337135*pow(nu,3.);
2195 shape( 28,0) = -0.6846531968814576*eta
2196 + 2.053959590644373*eta*pow(nu,2.);
2197 shape( 29,1) = -0.6846531968814576*eta
2198 + 2.053959590644373*eta*pow(nu,2.);
2199 shape( 29,2) = 0.6846531968814576*nu - 0.6846531968814576*pow(nu,3.);
2200 shape( 30,0) = -0.6846531968814576*nu
2201 + 2.053959590644373*pow(eta,2.)*nu;
2202 shape( 31,1) = -0.6846531968814576*nu
2203 + 2.053959590644373*pow(eta,2.)*nu;
2204 shape( 31,2) = 0.6846531968814576*eta
2205 - 2.053959590644373*eta*pow(nu,2.);
2206 shape( 32,0) = -1.403121520040228*eta
2207 + 2.3385358667337135*pow(eta,3.);
2208 shape( 33,1) = -1.403121520040228*eta
2209 + 2.3385358667337135*pow(eta,3.);
2210 shape( 33,2) = 1.403121520040228*nu
2211 - 7.0156076002011405*pow(eta,2.)*nu;
2212 shape( 34,2) = -1.403121520040228*eta
2213 + 2.3385358667337135*pow(eta,3.);
2214 shape( 35,0) = -0.6846531968814576*xi
2215 + 2.053959590644373*xi*pow(nu,2.);
2216 shape( 35,2) = 0.6846531968814576*nu - 0.6846531968814576*pow(nu,3.);
2217 shape( 36,1) = -0.6846531968814576*xi
2218 + 2.053959590644373*xi*pow(nu,2.);
2219 shape( 37,0) = 1.8371173070873836*xi*eta*nu;
2220 shape( 37,2) = 0.30618621784789724*eta
2221 - 0.9185586535436918*eta*pow(nu,2.);
2222 shape( 38,1) = 1.8371173070873836*xi*eta*nu;
2223 shape( 38,2) = 0.30618621784789724*xi
2224 - 0.9185586535436918*xi*pow(nu,2.);
2225 shape( 39,0) = -0.6846531968814576*xi
2226 + 2.053959590644373*xi*pow(eta,2.);
2227 shape( 39,2) = 0.6846531968814576*nu
2228 - 2.053959590644373*pow(eta,2.)*nu;
2229 shape( 40,1) = -0.6846531968814576*xi
2230 + 2.053959590644373*xi*pow(eta,2.);
2231 shape( 40,2) = -4.107919181288746*xi*eta*nu;
2232 shape( 41,2) = -0.6846531968814576*xi
2233 + 2.053959590644373*xi*pow(eta,2.);
2234 shape( 42,0) = -0.6846531968814576*nu
2235 + 2.053959590644373*pow(xi,2.)*nu;
2236 shape( 42,2) = 0.6846531968814576*xi
2237 - 2.053959590644373*xi*pow(nu,2.);
2238 shape( 43,1) = -0.6846531968814576*nu
2239 + 2.053959590644373*pow(xi,2.)*nu;
2240 shape( 44,0) = -0.6846531968814576*eta
2241 + 2.053959590644373*pow(xi,2.)*eta;
2242 shape( 44,2) = -4.107919181288746*xi*eta*nu;
2243 shape( 45,1) = -0.6846531968814576*eta
2244 + 2.053959590644373*pow(xi,2.)*eta;
2245 shape( 45,2) = 0.6846531968814576*nu
2246 - 2.053959590644373*pow(xi,2.)*nu;
2247 shape( 46,2) = -0.6846531968814576*eta
2248 + 2.053959590644373*pow(xi,2.)*eta;
2249 shape( 47,0) = -1.403121520040228*xi + 2.3385358667337135*pow(xi,3.);
2250 shape( 47,2) = 1.403121520040228*nu
2251 - 7.0156076002011405*pow(xi,2.)*nu;
2252 shape( 48,1) = -1.403121520040228*xi + 2.3385358667337135*pow(xi,3.);
2253 shape( 49,2) = -1.403121520040228*xi + 2.3385358667337135*pow(xi,3.);
2254 case 2:
2255 shape( 11,0) = -0.39528470752104744 + 1.1858541225631423*pow(nu,2.);
2256 shape( 12,1) = -0.39528470752104744 + 1.1858541225631423*pow(nu,2.);
2257 shape( 13,0) = 1.0606601717798212*eta*nu;
2258 shape( 14,1) = 1.0606601717798212*eta*nu;
2259 shape( 14,2) = 0.1767766952966369 - 0.5303300858899106*pow(nu,2.);
2260 shape( 15,0) = -0.39528470752104744 + 1.1858541225631423*pow(eta,2.);
2261 shape( 16,1) = -0.39528470752104744 + 1.1858541225631423*pow(eta,2.);
2262 shape( 16,2) = -2.3717082451262845*eta*nu;
2263 shape( 17,2) = -0.39528470752104744 + 1.1858541225631423*pow(eta,2.);
2264 shape( 18,0) = 1.0606601717798212*xi*nu;
2265 shape( 18,2) = 0.1767766952966369 - 0.5303300858899106*pow(nu,2.);
2266 shape( 19,1) = 1.0606601717798212*xi*nu;
2267 shape( 20,0) = 1.0606601717798212*xi*eta;
2268 shape( 20,2) = -1.0606601717798212*eta*nu;
2269 shape( 21,1) = 1.0606601717798212*xi*eta;
2270 shape( 21,2) = -1.0606601717798212*xi*nu;
2271 shape( 22,2) = 1.0606601717798212*xi*eta;
2272 shape( 23,0) = -0.39528470752104744 + 1.1858541225631423*pow(xi,2.);
2273 shape( 23,2) = -2.3717082451262845*xi*nu;
2274 shape( 24,1) = -0.39528470752104744 + 1.1858541225631423*pow(xi,2.);
2275 shape( 25,2) = -0.39528470752104744 + 1.1858541225631423*pow(xi,2.);
2276 case 1:
2277 shape( 3,0) = 0.6123724356957945*nu;
2278 shape( 4,1) = 0.6123724356957945*nu;
2279 shape( 5,0) = 0.6123724356957945*eta;
2280 shape( 6,1) = 0.6123724356957945*eta;
2281 shape( 6,2) = -0.6123724356957945*nu;
2282 shape( 7,2) = 0.6123724356957945*eta;
2283 shape( 8,0) = 0.6123724356957945*xi;
2284 shape( 8,2) = -0.6123724356957945*nu;
2285 shape( 9,1) = 0.6123724356957945*xi;
2286 shape( 10,2) = 0.6123724356957945*xi;
2287 case 0:
2288 shape( 0,0) = 0.3535533905932738;
2289 shape( 1,1) = 0.3535533905932738;
2290 shape( 2,2) = 0.3535533905932738;
2291 }
2292}
2293
2294}
2295
2296}
2297
2298#endif
virtual void GetVolumeIntegrationRule(ElementTransformation &Tr, IntegrationRule &result, const IntegrationRule *sir=nullptr) override
Construct a cut-volume IntegrationRule.
virtual void GetSurfaceIntegrationRule(ElementTransformation &Tr, IntegrationRule &result) override
Construct a cut-surface IntegrationRule.
virtual void SetOrder(int order) override
Change the order of the constructed IntegrationRule.
AlgoimIntegrationRules(int order, Coefficient &lvlset, int lsO=2)
Constructor to set up the generated cut IntegrationRules.
virtual void GetSurfaceWeights(ElementTransformation &Tr, const IntegrationRule &sir, Vector &weights) override
Compute transformation quadrature weights for surface integration.
virtual void SetLevelSetProjectionOrder(int order) override
Base class Coefficients that optionally depend on space and time. These are used by the BilinearFormI...
Abstract class for construction of IntegrationRules in cut elements.
static constexpr real_t tol_1
virtual void SetLevelSetProjectionOrder(int order)
Coefficient * LvlSet
The zero level set of this Coefficient defines the cut surface.
virtual ~CutIntegrationRules()
Destructor of CutIntegrationRules.
virtual void SetLevelSetCoefficient(Coefficient &ls)
Change the Coefficient whose zero level set specifies the cut.
int lsOrder
Space order for the LS projection.
virtual void GetSurfaceIntegrationRule(ElementTransformation &Tr, IntegrationRule &result)=0
Construct a cut-surface IntegrationRule.
int Order
Order of the IntegrationRule.
static constexpr real_t tol_2
virtual void GetVolumeIntegrationRule(ElementTransformation &Tr, IntegrationRule &result, const IntegrationRule *sir=NULL)=0
Construct a cut-volume IntegrationRule.
virtual void SetOrder(int order)
Change the order of the constructed IntegrationRule.
virtual void GetSurfaceWeights(ElementTransformation &Tr, const IntegrationRule &sir, Vector &weights)=0
Compute transformation quadrature weights for surface integration.
CutIntegrationRules(int order, Coefficient &lvlset, int lsO=2)
Constructor to set up the generated cut IntegrationRules.
Class for Singular Value Decomposition of a DenseMatrix.
Definition densemat.hpp:964
Data type dense matrix using column-major storage.
Definition densemat.hpp:24
void SetSize(int s)
Change the size of the DenseMatrix to s x s.
Definition densemat.hpp:108
Rank 3 tensor (array of matrices)
Abstract class for all finite elements.
Definition fe_base.hpp:244
int GetOrder() const
Returns the order of the finite element. In the case of anisotropic orders, returns the maximum order...
Definition fe_base.hpp:338
Class for integration point with weight.
Definition intrules.hpp:35
Class for an integration rule - an Array of IntegrationPoint.
Definition intrules.hpp:100
Class for subdomain IntegrationRules by means of moment-fitting.
void BasisAD2D(const IntegrationPoint &ip, DenseMatrix &shape)
Antiderivatives of the monomial basis on the element [-1,1]^2.
void mGSStep(DenseMatrix &shape, DenseTensor &shapeMFN, int step)
A step of the modified Gram-Schmidt algorithm.
void OrthoBasis3D(const IntegrationPoint &ip, DenseMatrix &shape)
A orthogonalized divergence free basis on the element [-1,1]^3.
Vector FaceWeightsComp
Indicates the already computed face IntegrationRules.
void ComputeVolumeWeights1D(ElementTransformation &Tr)
Compute the 1D quadrature weights.
Array< IntegrationPoint > FaceIP
Array of face integration points.
int nBasis
Number of divergence-free basis functions for surface integration.
void ComputeSurfaceWeights2D(ElementTransformation &Tr)
Compute 2D quadrature weights.
void Init(int order, Coefficient &levelset, int lsO)
Initialize the MomentFittingIntRules.
~MomentFittingIntRules() override
Destructor of MomentFittingIntRules.
void Basis2D(const IntegrationPoint &ip, Vector &shape)
Monomial basis on the element [-1,1]^2.
void InitSurface(int order, Coefficient &levelset, int lsO, ElementTransformation &Tr)
Initialization for surface IntegrationRule.
void InitVolume(int order, Coefficient &levelset, int lsO, ElementTransformation &Tr)
Initialization for volume IntegrationRule.
DenseMatrix FaceWeights
Column-wise Matrix for the face quadrature weights.
void ComputeSurfaceWeights1D(ElementTransformation &Tr)
Compute 1D quadrature weights.
void SetOrder(int order) override
Change the order of the constructed IntegrationRule.
int dim
Space Dimension of the element.
void OrthoBasis2D(const IntegrationPoint &ip, DenseMatrix &shape)
A orthogonalized divergence free basis on the element [-1,1]^2.
void ComputeVolumeWeights2D(ElementTransformation &Tr, const IntegrationRule *sir)
Compute the 2D quadrature weights.
DenseMatrixSVD * VolumeSVD
SVD of the matrix for volumetric IntegrationRules.
void Basis3D(const IntegrationPoint &ip, Vector &shape)
Monomial basis on the element [-1,1]^3.
void ComputeFaceWeights(ElementTransformation &Tr)
Compute the IntegrationRules on the faces.
void GetSurfaceIntegrationRule(ElementTransformation &Tr, IntegrationRule &result) override
Construct a cut-surface IntegrationRule.
void GetSurfaceWeights(ElementTransformation &Tr, const IntegrationRule &sir, Vector &weights) override
Compute transformation quadrature weights for surface integration.
void ComputeSurfaceWeights3D(ElementTransformation &Tr)
Compute 2D quadrature weights.
void DivFreeBasis2D(const IntegrationPoint &ip, DenseMatrix &shape)
A divergence free basis on the element [-1,1]^2.
IntegrationRule ir
IntegrationRule representing the reused IntegrationPoints.
int nBasisVolume
Number of basis functions for volume integration.
void Clear()
Clear stored data of the MomentFittingIntRules.
void BasisAD3D(const IntegrationPoint &ip, DenseMatrix &shape)
Antiderivatives of the monomial basis on the element [-1,1]^3.
MomentFittingIntRules(int order, Coefficient &lvlset, int lsO)
Constructor to set up the generated cut IntegrationRules.
void GetVolumeIntegrationRule(ElementTransformation &Tr, IntegrationRule &result, const IntegrationRule *sir=nullptr) override
Construct a cut-volume IntegrationRule.
void ComputeVolumeWeights3D(ElementTransformation &Tr, const IntegrationRule *sir)
Compute the 3D quadrature weights.
static const int * Binom(const int p)
Get a pointer to an array containing the binomial coefficients "pchoose k" for k=0,...
Definition fe_base.cpp:2044
const Array< int > & GetDofMap() const
Get an Array<int> that maps lexicographically ordered indices to the indices of the respective nodes/...
Definition fe_base.hpp:1273
Vector data type.
Definition vector.hpp:82
void SetSize(int s)
Resize the vector to size s.
Definition vector.hpp:558
real_t lvlset(const Vector &X)
Level-set function defining the implicit interface.
Definition ex38.cpp:49
real_t b
Definition lissajous.cpp:42
void GetDivFree3DBasis(const Vector &X, DenseMatrix &shape, int Order)
3 dimensional divergence free basis functions on [-1,1]^3
void CalcBernstein(const int p, const float_type x, float_type *u)
Templated evaluation of Bernstein basis.
void CalcBinomTerms(const int p, const float_type x, const float_type y, float_type *u)
Templated version of CalcBinomTerms.
real_t u(const Vector &xvec)
Definition lor_mms.hpp:22
float real_t
Definition config.hpp:43
real_t p(const Vector &x, real_t t)