LifeV
ReferenceElement.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5  Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6  Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8  This file is part of LifeV.
9 
10  LifeV is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published by
12  the Free Software Foundation, either version 3 of the License, or
13  (at your option) any later version.
14 
15  LifeV is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  Lesser General Public License for more details.
19 
20  You should have received a copy of the GNU Lesser General Public License
21  along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 
27 /*!
28  @file
29  @brief Base class for ReferenceFE and GeometricMap
30 
31  @author Jean-Frederic Gerbeau
32  Samuel Quinodoz <samuel.quinodoz@epfl.ch>
33  @date 00-04-2002
34 
35  @contributor
36  @mantainer Samuel Quinodoz <samuel.quinodoz@epfl.ch>
37  */
38 
39 #ifndef REFELE_H
40 #define REFELE_H 1
41 
42 #include <lifev/core/LifeV.hpp>
43 
44 #include <lifev/core/mesh/ElementShapes.hpp>
45 
46 namespace LifeV
47 {
48 typedef boost::numeric::ublas::vector<Real> GeoVector;
49 
50 //! ReferenceElement - The basis class for the geometric mapping and the reference finite elements.
51 /*!
52  @author J.-F. Gerbeau
53  @date 04/2002
54 
55  Implemented orginially by J.-F. Gerbeau (04/2002) but totally modified by S.Quinodoz (samuel.quinodoz@epfl.ch , 04/2010)
56 
57  This class contains all the basis functions, their derivatives and the reference coordinates. It is the basis class for the geometric map (LifeV::GeometricMap) and the reference finite element (LifeV::ReferenceFE).
58 
59  \todo Add Volume
60  \todo Add the minimal dimension and checks
61  \todo Incorporate vectorial FEs
62  \todo Think dimensionless
63  \todo change M_refCoor
64 
65 */
67 {
68 
69 public:
70 
71  //! @name Public Types
72  //@{
73 
74  // Some typedefs for functions
75  typedef Real ( * function_Type ) ( const GeoVector& );
76 
77  //@}
78 
79  //! @name Constructor & Destructor
80  //@{
81 
82  //! Full constructor
83  /*!
84  @param name Name of the reference element
85  @param shape Shape related to this reference element
86  @param nbDof Number of degrees of freedom
87  @param nbLocalCoor Number of local coordinates
88  @param phi Array of the basis functions
89  @param dPhi Array of the derivatives of the basis functions
90  @param d2Phi Array of the second derivatives of the basis functions
91  @param refCoor Array of the reference coordinates for this reference element
92  */
93  ReferenceElement ( std::string name, ReferenceShapes shape, UInt nbDof, UInt nbLocalCoor, UInt feDim,
94  const function_Type* phi, const function_Type* dPhi, const function_Type* d2Phi,
95  const function_Type* divPhi, const Real* refCoor);
96 
97  //! Destructor
98  virtual ~ReferenceElement();
99 
100  //@}
101 
102 
103 
104  //! @name Methods
105  //@{
106 
107  //! return the first local coordinate of the i-th node of the reference element
108  Real xi ( UInt i ) const
109  {
110  ASSERT_BD ( i < M_nbDof )
111  return M_refCoor[ 3 * i ];
112  }
113  //! return the second local coordinate of the i-th node of the reference element
114  Real eta ( UInt i ) const
115  {
116  ASSERT_BD ( i < M_nbDof )
117  return M_refCoor[ 3 * i + 1 ];
118  }
119  //! return the third local coordinate of the i-th node of the reference element
120  Real zeta ( UInt i ) const
121  {
122  ASSERT_BD ( i < M_nbDof )
123  return M_refCoor[ 3 * i + 2 ];
124  }
125  //! return the icoor-th local coordinate of the i-th node of the reference element
126  Real refCoor ( UInt i, UInt icoor ) const
127  {
128  ASSERT_BD ( i < M_nbDof && icoor < M_nbLocalCoor )
129  return M_refCoor[ 3 * i + icoor ];
130  }
131  //! return the coordinates of the reference element
132  std::vector<GeoVector> refCoor() const;
133 
134  //! Return the value of the i-th basis function in the point v
135  Real phi ( UInt i, const GeoVector& v ) const
136  {
137  ASSERT_BD ( i < M_nbDof )
138  return M_phi[ i ] ( v );
139  }
140 
141  //! return the value of the component icoor-th of the i-th basis function on point v.
142  Real phi ( UInt i, UInt icoor, const GeoVector& v ) const
143  {
144  ASSERT_BD ( i < M_nbDof && icoor < M_feDim )
145  return M_phi[ i * M_feDim + icoor ] ( v );
146  }
147 
148  //! return the value of the icoor-th derivative of the i-th basis function on point v
149  Real dPhi ( UInt i, UInt icoor, const GeoVector& v ) const
150  {
151  ASSERT_BD ( i < M_nbDof && icoor < M_nbLocalCoor )
152  return M_dPhi[ i * M_nbLocalCoor + icoor ] ( v );
153  }
154 
155  //! return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point v
156  Real d2Phi ( UInt i, UInt icoor, UInt jcoor, const GeoVector& v ) const
157  {
158  ASSERT_BD ( i < M_nbDof && icoor < M_nbLocalCoor && jcoor < M_nbLocalCoor )
159  return M_d2Phi[ ( i * M_nbLocalCoor + icoor ) * M_nbLocalCoor + jcoor ] ( v );
160  }
161  //! return the value of the divergence of the i-th basis function on point v.
162  Real divPhi ( UInt i, const GeoVector& v ) const
163  {
164  ASSERT_BD ( i < M_nbDof )
165  return M_divPhi[ i ] ( v );
166  }
167 
168 
169  //! Check if the refEle has phi functions
170  bool hasPhi() const
171  {
172  return ( M_phi != static_cast<function_Type*> (NULL) );
173  }
174  //! Check if the refEle has dPhi functions
175  bool hasDPhi() const
176  {
177  return ( M_dPhi != static_cast<function_Type*> (NULL) );
178  }
179  //! Check if the refEle has d2Phi functions
180  bool hasD2Phi() const
181  {
182  return ( M_d2Phi != static_cast<function_Type*> (NULL) );
183  }
184  //! Check if the refEle has divPhi functions
185  bool hasDivPhi() const
186  {
187  return ( M_divPhi != static_cast<function_Type*> (NULL) );
188  }
189 
190  //! Method for transforming nodal values into FE values
191  /*!
192  This method can be used to retrieve the FE coefficients corresponding
193  to the values given in the nodes (important for the interpolation
194  procedures). For lagrangian elements (like P1 or P2),
195  this method is just giving back the same values. However, for nodal but
196  non-lagrangian finite elements (like P1Bubble), the values returned are
197  different from the output.
198 
199  For example, using P1Bubble finite element, if one gives as input values
200  that are all 1 (the finite element function is constant), this
201  function will return 1 for the P1 nodes but 0 for the bubble. Indeed, by
202  suming the P1 function, we already get the constant function over the
203  whole element and there is no need for the bubble.
204 
205  Of course, this method is accessible only for nodal finite elements.
206  If one tries to use this method with a non nodal finite element, an
207  error will be displayed and the program will stop running.
208  */
209  virtual std::vector<Real> nodalToFEValues (const std::vector<Real>& /*nodalValues*/) const
210  {
211  //By default, it is not possible to use it.
212  std::cerr << " Trying to access nodal values via nodalToFEValues function. " << std::endl;
213  std::cerr << " This FE is not nodal, impossible operation! " << std::endl;
214  abort();
215  std::vector<Real> dummy;
216  return dummy;
217  }
218 
219  //@}
220 
221 
222 
223  //! @name Get Methods
224  //@{
225 
226  //! Return the name of the reference element.
227  const std::string& name() const
228  {
229  return M_name;
230  }
231 
232  //! Return the number of degrees of freedom for this reference element
233  const UInt& nbDof() const
234  {
235  return M_nbDof;
236  }
237 
238  //! OLD: Return the number of local coordinates
239  const LIFEV_DEPRECATED (UInt&) nbCoor() const
240  {
241  return M_nbLocalCoor;
242  }
243 
244  //! Return the number of local coordinates
245  const UInt& nbLocalCoor() const
246  {
247  return M_nbLocalCoor;
248  }
249 
250  //! Return the dimension of the FE (scalar vs vectorial FE)
251  const UInt& feDim() const
252  {
253  return M_feDim;
254  }
255 
256  //! Return the shape of the element
257  const ReferenceShapes& shape() const
258  {
259  return M_shape;
260  }
261 
262  //@}
263 
264  //! @name Old Methods - Avoid using them!
265  //@{
266 
267  //! return the value of the i-th basis function on point (x,y,z)
268  inline Real phi ( UInt i, const Real& x, const Real& y, const Real& z ) const
269  {
270  ASSERT_BD ( i < M_nbDof )
271  GeoVector v (3);
272  v[0] = x;
273  v[1] = y;
274  v[2] = z;
275  return M_phi[ i ] ( v );
276  }
277 
278  //! return the value of the component icoor-th of the i-th basis function on point (x,y,z).
279  inline Real phi ( UInt i, UInt icoor, const Real& x, const Real& y, const Real& z ) const
280  {
281  ASSERT_BD ( i < M_nbDof && icoor < M_feDim )
282  GeoVector v (3);
283  v[0] = x;
284  v[1] = y;
285  v[2] = z;
286  return M_phi[ i * M_feDim + icoor ] ( v );
287  }
288 
289  //! return the value of the icoor-th derivative of the i-th basis function on point (x,y,z)
290  inline Real dPhi ( UInt i, UInt icoor, const Real& x, const Real& y, const Real& z ) const
291  {
292  ASSERT_BD ( i < M_nbDof && icoor < M_nbLocalCoor )
293  GeoVector v (3);
294  v[0] = x;
295  v[1] = y;
296  v[2] = z;
297  return M_dPhi[ i * M_nbLocalCoor + icoor ] ( v );
298  }
299  //! return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point (x,y,z)
300  inline Real d2Phi ( UInt i, UInt icoor, UInt jcoor, const Real& x, const Real& y, const Real& z ) const
301  {
302  ASSERT_BD ( i < M_nbDof && icoor < M_nbLocalCoor && jcoor < M_nbLocalCoor )
303  GeoVector v (3);
304  v[0] = x;
305  v[1] = y;
306  v[2] = z;
307  return M_d2Phi[ ( i * M_nbLocalCoor + icoor ) * M_nbLocalCoor + jcoor ] ( v );
308  }
309  //! return the value of the divergence of the i-th basis function on point (x,y,z).
310  inline Real divPhi ( UInt i, const Real& x, const Real& y, const Real& z ) const
311  {
312  ASSERT_BD ( i < M_nbDof )
313  GeoVector v (3);
314  v[0] = x;
315  v[1] = y;
316  v[2] = z;
317  return M_divPhi[ i ] ( v );
318  }
319 
320  //@}
321 
322 private:
323 
324  //! @name Private Methods
325  //@{
326 
327  //! No way to use the empty constructor
329 
330  //! No way to use the copy constuctor
332 
333  //@}
334 
335 
336  //! pointer on the basis functions
337  const function_Type* M_phi;
338 
339  //! pointer on the derivatives of the basis functions
340  const function_Type* M_dPhi;
341 
342  //! pointer on the second derivatives of the basis functions
343  const function_Type* M_d2Phi;
344 
345  //! pointer on the divergence of the basis functions
346  const function_Type* M_divPhi;
347 
348  //! reference coordinates. Order: xistd::placeholders::_1,etA_1,zetA_1,xistd::placeholders::_2,etA_2,zetA_2,...
349  const Real* M_refCoor;
350 
351 
352 
353  //! name of the reference element
354  const std::string M_name;
355 
356  //! geometrical shape of the element
358 
359  //! Total number of degrees of freedom
360  const UInt M_nbDof;
361 
362  //! Number of local coordinates
364 
365  //! Number of dimension of the FE (1 for scalar FE, more for vectorial FE)
366  const UInt M_feDim;
367 
368 };
369 
370 
371 
372 
373 
374 
375 //======================================================================
376 //
377 // P0 (0D)
378 //
379 //======================================================================
380 /*
381  1
382 */
383 
384 Real fct1_P0_0D ( const GeoVector& );
385 Real derfct1_P0_0D ( const GeoVector& );
386 Real der2fct1_P0_0D ( const GeoVector& );
387 
388 static const Real refcoor_P0_0D[ 3 ] =
389 {
390  1. , 0. , 0.
391 };
392 
393 static const ReferenceElement::function_Type fct_P0_0D[ 1 ] =
394 {
395  fct1_P0_0D
396 };
397 
398 static const ReferenceElement::function_Type derfct_P0_0D[ 1 ] =
399 {
401 };
402 
403 static const ReferenceElement::function_Type der2fct_P0_0D[ 1 ] =
404 {
406 };
407 
408 //======================================================================
409 //
410 // P0 (1D)
411 //
412 //======================================================================
413 /*
414  --1--
415 */
416 Real fct1_P0_1D ( const GeoVector& v );
417 
418 Real derfct1_1_P0_1D ( const GeoVector& );
419 
420 Real der2fct1_P0_1D ( const GeoVector& );
421 
422 static const Real refcoor_P0_1D[ 3 ] =
423 {
424  1. / 2. , 0. , 0.,
425 };
426 
427 static const ReferenceElement::function_Type fct_P0_1D[ 1 ] =
428 {
429  fct1_P0_1D
430 };
431 static const ReferenceElement::function_Type derfct_P0_1D[ 1 ] =
432 {
434 };
435 static const ReferenceElement::function_Type der2fct_P0_1D[ 1 ] =
436 {
438 };
439 
440 //======================================================================
441 //
442 // P1 (1D)
443 //
444 //======================================================================
445 /*
446  1-----2
447 */
448 Real fct1_P1_1D ( const GeoVector& v );
449 Real fct2_P1_1D ( const GeoVector& v );
450 
451 Real derfct1_1_P1_1D ( const GeoVector& );
452 Real derfct2_1_P1_1D ( const GeoVector& );
453 
454 Real der2fct1_P1_1D ( const GeoVector& );
455 
456 static const Real refcoor_P1_1D[ 6 ] =
457 {
458  0. , 0. , 0.,
459  1. , 0. , 0.
460 };
461 
462 static const ReferenceElement::function_Type fct_P1_1D[ 2 ] =
463 {
465 };
466 static const ReferenceElement::function_Type derfct_P1_1D[ 2 ] =
467 {
469 };
470 static const ReferenceElement::function_Type der2fct_P1_1D[ 2 ] =
471 {
473 };
474 
475 //======================================================================
476 //
477 // P2 (1D)
478 //
479 //======================================================================
480 /*
481  1--3--2
482 */
483 Real fct1_P2_1D ( const GeoVector& v );
484 Real fct2_P2_1D ( const GeoVector& v );
485 Real fct3_P2_1D ( const GeoVector& v );
486 
487 Real derfct1_1_P2_1D ( const GeoVector& v );
488 Real derfct2_1_P2_1D ( const GeoVector& v );
489 Real derfct3_1_P2_1D ( const GeoVector& v );
490 
491 Real der2fct1_11_P2_1D ( const GeoVector& v );
492 Real der2fct2_11_P2_1D ( const GeoVector& v );
493 Real der2fct3_11_P2_1D ( const GeoVector& v );
494 
495 static const Real refcoor_P2_1D[ 9 ] =
496 {
497  0. , 0. , 0.,
498  1. , 0. , 0.,
499  0.5 , 0. , 0.
500 };
501 static const ReferenceElement::function_Type fct_P2_1D[ 3 ] =
502 {
504 };
505 static const ReferenceElement::function_Type derfct_P2_1D[ 3 ] =
506 {
508 };
509 static const ReferenceElement::function_Type der2fct_P2_1D[ 3 ] =
510 {
512 };
513 
514 //======================================================================
515 //
516 // P0 (2D)
517 //
518 //======================================================================
519 /*
520 
521  |\
522  | \
523  | 1\
524  ---
525 */
526 Real fct1_P0_2D ( const GeoVector& v );
527 // First and Second derivatives are both equal (to 0).
528 Real derfct1_P0_2D ( const GeoVector& );
529 Real der2fct1_P0_2D ( const GeoVector& );
530 
531 static const Real refcoor_P0_2D[ 3 ] =
532 {
533  1. / 3. , 1. / 3. , 0.
534 }
535 ; // check this : gravity center??
536 
537 static const ReferenceElement::function_Type fct_P0_2D[ 1 ] =
538 {
539  fct1_P0_2D
540 };
541 
542 static const ReferenceElement::function_Type derfct_P0_2D[ 2 ] =
543 {
545 };
546 
547 static const ReferenceElement::function_Type der2fct_P0_2D[ 4 ] =
548 {
551 };
552 
553 //======================================================================
554 //
555 // P1 (2D)
556 //
557 //======================================================================
558 /*
559  3
560  |\
561  | \
562  | \
563  1---2
564 */
565 Real fct1_P1_2D ( const GeoVector& v );
566 Real fct2_P1_2D ( const GeoVector& v );
567 Real fct3_P1_2D ( const GeoVector& v );
568 
569 Real derfct1_1_P1_2D ( const GeoVector& );
570 Real derfct1_2_P1_2D ( const GeoVector& );
571 Real derfct2_1_P1_2D ( const GeoVector& );
572 Real derfct2_2_P1_2D ( const GeoVector& );
573 Real derfct3_1_P1_2D ( const GeoVector& );
574 Real derfct3_2_P1_2D ( const GeoVector& );
575 
576 // Second derivatives
577 Real der2fctx_xx_P1_2D ( const GeoVector& );
578 
579 static const Real refcoor_P1_2D[ 9 ] =
580 {
581  0. , 0. , 0.,
582  1. , 0. , 0.,
583  0. , 1. , 0.
584 };
585 
586 static const ReferenceElement::function_Type fct_P1_2D[ 3 ] =
587 {
589 };
590 
591 static const ReferenceElement::function_Type derfct_P1_2D[ 6 ] =
592 {
596 };
597 static const ReferenceElement::function_Type der2fct_P1_2D[ 12 ] =
598 {
602 };
603 //======================================================================
604 //
605 // P1bubble (2D)
606 //
607 //======================================================================
608 /*
609  3
610  |\
611  | \
612  |4.\
613  1---2
614 */
615 Real fct1_P1bubble_2D ( const GeoVector& v );
616 Real fct2_P1bubble_2D ( const GeoVector& v );
617 Real fct3_P1bubble_2D ( const GeoVector& v );
618 Real fct4_P1bubble_2D ( const GeoVector& v );
619 
620 Real derfct1_1_P1bubble_2D ( const GeoVector& );
621 Real derfct1_2_P1bubble_2D ( const GeoVector& );
622 Real derfct2_1_P1bubble_2D ( const GeoVector& );
623 Real derfct2_2_P1bubble_2D ( const GeoVector& );
624 Real derfct3_1_P1bubble_2D ( const GeoVector& );
625 Real derfct3_2_P1bubble_2D ( const GeoVector& );
626 Real derfct4_1_P1bubble_2D ( const GeoVector& );
627 Real derfct4_2_P1bubble_2D ( const GeoVector& );
628 
629 // Second derivatives
630 Real der2fctx_xx_P1bubble_2D ( const GeoVector& );
631 Real der2fct4_11_P1bubble_2D ( const GeoVector& );
632 Real der2fct4_12_P1bubble_2D ( const GeoVector& );
633 Real der2fct4_21_P1bubble_2D ( const GeoVector& );
634 Real der2fct4_22_P1bubble_2D ( const GeoVector& );
635 
636 static const Real refcoor_P1bubble_2D[ 12 ] =
637 {
638  0. , 0. , 0.,
639  1. , 0. , 0.,
640  0. , 1. , 0.,
641  1. / 3., 1. / 3., 1. / 3.
642 };
643 
644 static const ReferenceElement::function_Type fct_P1bubble_2D[ 4 ] =
645 {
647 };
648 
649 static const ReferenceElement::function_Type derfct_P1bubble_2D[ 8 ] =
650 {
655 };
656 static const ReferenceElement::function_Type der2fct_P1bubble_2D[ 16 ] =
657 {
662 };
663 
664 
665 //======================================================================
666 //
667 // P2 (2D)
668 //
669 //======================================================================
670 /*
671  3
672  |\
673  6 5
674  | \
675  1-4-2
676 */
677 Real fct1_P2_2D ( const GeoVector& v );
678 Real fct2_P2_2D ( const GeoVector& v );
679 Real fct3_P2_2D ( const GeoVector& v );
680 Real fct4_P2_2D ( const GeoVector& v );
681 Real fct5_P2_2D ( const GeoVector& v );
682 Real fct6_P2_2D ( const GeoVector& v );
683 
684 Real derfct1_1_P2_2D ( const GeoVector& v );
685 Real derfct1_2_P2_2D ( const GeoVector& v );
686 Real derfct2_1_P2_2D ( const GeoVector& v );
687 Real derfct2_2_P2_2D ( const GeoVector& v );
688 Real derfct3_1_P2_2D ( const GeoVector& v );
689 Real derfct3_2_P2_2D ( const GeoVector& v );
690 Real derfct4_1_P2_2D ( const GeoVector& v );
691 Real derfct4_2_P2_2D ( const GeoVector& v );
692 Real derfct5_1_P2_2D ( const GeoVector& v );
693 Real derfct5_2_P2_2D ( const GeoVector& v );
694 Real derfct6_1_P2_2D ( const GeoVector& v );
695 Real derfct6_2_P2_2D ( const GeoVector& v );
696 
697 Real der2fct1_11_P2_2D ( const GeoVector& v );
698 Real der2fct1_12_P2_2D ( const GeoVector& v );
699 Real der2fct1_21_P2_2D ( const GeoVector& v );
700 Real der2fct1_22_P2_2D ( const GeoVector& v );
701 
702 Real der2fct2_11_P2_2D ( const GeoVector& v );
703 Real der2fct2_12_P2_2D ( const GeoVector& v );
704 Real der2fct2_21_P2_2D ( const GeoVector& v );
705 Real der2fct2_22_P2_2D ( const GeoVector& v );
706 
707 Real der2fct3_11_P2_2D ( const GeoVector& v );
708 Real der2fct3_12_P2_2D ( const GeoVector& v );
709 Real der2fct3_21_P2_2D ( const GeoVector& v );
710 Real der2fct3_22_P2_2D ( const GeoVector& v );
711 
712 Real der2fct4_11_P2_2D ( const GeoVector& v );
713 Real der2fct4_12_P2_2D ( const GeoVector& v );
714 Real der2fct4_21_P2_2D ( const GeoVector& v );
715 Real der2fct4_22_P2_2D ( const GeoVector& v );
716 
717 Real der2fct5_11_P2_2D ( const GeoVector& v );
718 Real der2fct5_12_P2_2D ( const GeoVector& v );
719 Real der2fct5_21_P2_2D ( const GeoVector& v );
720 Real der2fct5_22_P2_2D ( const GeoVector& v );
721 
722 Real der2fct6_11_P2_2D ( const GeoVector& v );
723 Real der2fct6_12_P2_2D ( const GeoVector& v );
724 Real der2fct6_21_P2_2D ( const GeoVector& v );
725 Real der2fct6_22_P2_2D ( const GeoVector& v );
726 
727 static const Real refcoor_P2_2D[ 18 ] =
728 {
729  0. , 0. , 0.,
730  1. , 0. , 0.,
731  0. , 1. , 0.,
732  0.5 , 0. , 0.,
733  0.5 , 0.5 , 0.,
734  0. , 0.5 , 0.
735 };
736 
737 static const ReferenceElement::function_Type fct_P2_2D[ 6 ] =
738 {
741 };
742 
743 static const ReferenceElement::function_Type derfct_P2_2D[ 12 ] =
744 {
751 };
752 static const ReferenceElement::function_Type der2fct_P2_2D[ 24 ] =
753 {
760 };
761 
762 //!======================================================================
763 //
764 // RT0 Triangle (2D)
765 //
766 //!======================================================================
767 /*
768  3
769  |\
770  | \
771  | \
772  1---2
773 SEE ElementShapes.cc for the ORIENTATION CONVENTIONS
774 point 1: 0, 0, 0
775 point 2: 1, 0, 0
776 point 3: 0, 1, 0
777 
778 facet 1: 1, 2
779 facet 2: 2, 3
780 facet 3: 3, 1
781 */
782 
783 Real fct1_RT0_1_TRIA_2D ( const GeoVector& v );
784 Real fct1_RT0_2_TRIA_2D ( const GeoVector& v );
785 Real fct1_RT0_3_TRIA_2D ( const GeoVector& v );
786 
787 Real fct2_RT0_1_TRIA_2D ( const GeoVector& v );
788 Real fct2_RT0_2_TRIA_2D ( const GeoVector& v );
789 Real fct2_RT0_3_TRIA_2D ( const GeoVector& v );
790 
791 Real fct3_RT0_1_TRIA_2D ( const GeoVector& v );
792 Real fct3_RT0_2_TRIA_2D ( const GeoVector& v );
793 Real fct3_RT0_3_TRIA_2D ( const GeoVector& v );
794 
795 Real fct1_DIV_RT0_TRIA_2D ( const GeoVector& v );
796 Real fct2_DIV_RT0_TRIA_2D ( const GeoVector& v );
797 Real fct3_DIV_RT0_TRIA_2D ( const GeoVector& v );
798 
799 static const Real refcoor_RT0_TRIA_2D[ 9 ] =
800 {
801  1. / 2. , 0. , 0. ,
802  1. / 2. , 1. / 2. , 0. ,
803  0. , 1. / 2. , 0.
804 };
805 
806 static const ReferenceElement::function_Type fct_RT0_TRIA_2D[ 6 ] =
807 {
811 };
812 
813 static const ReferenceElement::function_Type fct_DIV_RT0_TRIA_2D[ 3 ] =
814 {
817 };
818 
819 
820 //======================================================================
821 //
822 // Q0 (2D)
823 //
824 //======================================================================
825 /*
826  -------
827  | |
828  | 1 |
829  | |
830  -------
831 
832 */
833 Real fct1_Q0_2D ( const GeoVector& v );
834 Real derfct1_Q0_2D ( const GeoVector& v );
835 // The second derivative is equal to the first : both = 0.
836 Real der2fct1_Q0_2D ( const GeoVector& v );
837 
838 static const Real refcoor_Q0_2D[ 3 ] =
839 {
840  0.5, 0.5, 0.
841 };
842 
843 static const ReferenceElement::function_Type fct_Q0_2D[ 1 ] =
844 {
845  fct1_Q0_2D
846 };
847 
848 static const ReferenceElement::function_Type derfct_Q0_2D[ 2 ] =
849 {
851 };
852 
853 static const ReferenceElement::function_Type der2fct_Q0_2D[ 4 ] =
854 {
857 };
858 
859 //======================================================================
860 //
861 // Q1 (2D)
862 //
863 //======================================================================
864 /*
865  4-------3
866  | |
867  | |
868  | |
869  1-------2
870 */
871 Real fct1_Q1_2D ( const GeoVector& v );
872 Real fct2_Q1_2D ( const GeoVector& v );
873 Real fct3_Q1_2D ( const GeoVector& v );
874 Real fct4_Q1_2D ( const GeoVector& v );
875 
876 Real derfct1_1_Q1_2D ( const GeoVector& v );
877 Real derfct1_2_Q1_2D ( const GeoVector& v );
878 Real derfct2_1_Q1_2D ( const GeoVector& v );
879 Real derfct2_2_Q1_2D ( const GeoVector& v );
880 Real derfct3_1_Q1_2D ( const GeoVector& v );
881 Real derfct3_2_Q1_2D ( const GeoVector& v );
882 Real derfct4_1_Q1_2D ( const GeoVector& v );
883 Real derfct4_2_Q1_2D ( const GeoVector& v );
884 
885 // Second derivatives
886 Real der2fctx_xx_Q1_2D ( const GeoVector& );
887 
888 static const Real refcoor_Q1_2D[ 12 ] =
889 {
890  0. , 0. , 0.,
891  1. , 0. , 0.,
892  1. , 1. , 0.,
893  0. , 1. , 0.
894 };
895 
896 static const ReferenceElement::function_Type fct_Q1_2D[ 4 ] =
897 {
899 };
900 
901 static const ReferenceElement::function_Type derfct_Q1_2D[ 8 ] =
902 {
907 };
908 static const ReferenceElement::function_Type der2fct_Q1_2D[ 16 ] =
909 {
914 };
915 
916 //======================================================================
917 //
918 // Q2 (2D)
919 //
920 //======================================================================
921 /*
922  4---7---3
923  | |
924  8 9 6
925  | |
926  1---5---2
927 */
928 Real fct1_Q2_2D ( const GeoVector& v );
929 Real fct5_Q2_2D ( const GeoVector& v );
930 Real fct2_Q2_2D ( const GeoVector& v );
931 Real fct6_Q2_2D ( const GeoVector& v );
932 Real fct3_Q2_2D ( const GeoVector& v );
933 Real fct7_Q2_2D ( const GeoVector& v );
934 Real fct4_Q2_2D ( const GeoVector& v );
935 Real fct8_Q2_2D ( const GeoVector& v );
936 Real fct9_Q2_2D ( const GeoVector& v );
937 
938 Real derfct1_1_Q2_2D ( const GeoVector& v );
939 Real derfct1_2_Q2_2D ( const GeoVector& v );
940 Real derfct5_1_Q2_2D ( const GeoVector& v );
941 Real derfct5_2_Q2_2D ( const GeoVector& v );
942 Real derfct2_1_Q2_2D ( const GeoVector& v );
943 Real derfct2_2_Q2_2D ( const GeoVector& v );
944 Real derfct6_1_Q2_2D ( const GeoVector& v );
945 Real derfct6_2_Q2_2D ( const GeoVector& v );
946 Real derfct3_1_Q2_2D ( const GeoVector& v );
947 Real derfct3_2_Q2_2D ( const GeoVector& v );
948 Real derfct7_1_Q2_2D ( const GeoVector& v );
949 Real derfct7_2_Q2_2D ( const GeoVector& v );
950 Real derfct4_1_Q2_2D ( const GeoVector& v );
951 Real derfct4_2_Q2_2D ( const GeoVector& v );
952 Real derfct8_1_Q2_2D ( const GeoVector& v );
953 Real derfct8_2_Q2_2D ( const GeoVector& v );
954 Real derfct9_1_Q2_2D ( const GeoVector& v );
955 Real derfct9_2_Q2_2D ( const GeoVector& v );
956 
957 Real der2fct1_11_Q2_2D ( const GeoVector& v );
958 Real der2fct1_12_Q2_2D ( const GeoVector& v );
959 Real der2fct1_21_Q2_2D ( const GeoVector& v );
960 Real der2fct1_22_Q2_2D ( const GeoVector& v );
961 
962 Real der2fct5_11_Q2_2D ( const GeoVector& v );
963 Real der2fct5_12_Q2_2D ( const GeoVector& v );
964 Real der2fct5_21_Q2_2D ( const GeoVector& v );
965 Real der2fct5_22_Q2_2D ( const GeoVector& v );
966 
967 Real der2fct2_11_Q2_2D ( const GeoVector& v );
968 Real der2fct2_12_Q2_2D ( const GeoVector& v );
969 Real der2fct2_21_Q2_2D ( const GeoVector& v );
970 Real der2fct2_22_Q2_2D ( const GeoVector& v );
971 
972 Real der2fct6_11_Q2_2D ( const GeoVector& v );
973 Real der2fct6_12_Q2_2D ( const GeoVector& v );
974 Real der2fct6_21_Q2_2D ( const GeoVector& v );
975 Real der2fct6_22_Q2_2D ( const GeoVector& v );
976 
977 Real der2fct3_11_Q2_2D ( const GeoVector& v );
978 Real der2fct3_12_Q2_2D ( const GeoVector& v );
979 Real der2fct3_21_Q2_2D ( const GeoVector& v );
980 Real der2fct3_22_Q2_2D ( const GeoVector& v );
981 
982 Real der2fct7_11_Q2_2D ( const GeoVector& v );
983 Real der2fct7_12_Q2_2D ( const GeoVector& v );
984 Real der2fct7_21_Q2_2D ( const GeoVector& v );
985 Real der2fct7_22_Q2_2D ( const GeoVector& v );
986 
987 Real der2fct4_11_Q2_2D ( const GeoVector& v );
988 Real der2fct4_12_Q2_2D ( const GeoVector& v );
989 Real der2fct4_21_Q2_2D ( const GeoVector& v );
990 Real der2fct4_22_Q2_2D ( const GeoVector& v );
991 
992 Real der2fct8_11_Q2_2D ( const GeoVector& v );
993 Real der2fct8_12_Q2_2D ( const GeoVector& v );
994 Real der2fct8_21_Q2_2D ( const GeoVector& v );
995 Real der2fct8_22_Q2_2D ( const GeoVector& v );
996 
997 Real der2fct9_11_Q2_2D ( const GeoVector& v );
998 Real der2fct9_12_Q2_2D ( const GeoVector& v );
999 Real der2fct9_21_Q2_2D ( const GeoVector& v );
1000 Real der2fct9_22_Q2_2D ( const GeoVector& v );
1001 
1002 
1003 static const Real refcoor_Q2_2D[ 27 ] =
1004 {
1005  0. , 0. , 0.,
1006  1. , 0. , 0.,
1007  1. , 1. , 0.,
1008  0. , 1. , 0.,
1009  0.5 , 0. , 0.,
1010  1. , 0.5 , 0.,
1011  0.5 , 1. , 0.,
1012  0. , 0.5 , 0.,
1013  0.5 , 0.5 , 0.
1014 };
1015 
1016 static const ReferenceElement::function_Type fct_Q2_2D[ 9 ] =
1017 {
1020  fct9_Q2_2D
1021 };
1022 
1023 
1024 static const ReferenceElement::function_Type derfct_Q2_2D[ 18 ] =
1025 {
1035 };
1036 
1037 static const ReferenceElement::function_Type der2fct_Q2_2D[ 36 ] =
1038 {
1048 };
1049 
1050 //======================================================================
1051 //
1052 // P0 (3D)
1053 //
1054 //======================================================================
1055 /*
1056 
1057  / .
1058  / \.
1059  / . \\
1060  / . 1 \\
1061  /. \!
1062  ----------
1063 */
1064 Real fct1_P0_3D ( const GeoVector& v );
1065 
1066 Real derfct1_P0_3D ( const GeoVector& );
1067 
1068 // Second derivatives
1069 Real der2fct1_P0_3D ( const GeoVector& );
1070 
1071 static const Real refcoor_P0_3D[ 3 ] =
1072 {
1073  0.25 , 0.25 , 0.25
1074 };
1075 
1076 static const ReferenceElement::function_Type fct_P0_3D[ 1 ] =
1077 {
1078  fct1_P0_3D
1079 };
1080 
1081 static const ReferenceElement::function_Type derfct_P0_3D[ 3 ] =
1082 {
1084 };
1085 static const ReferenceElement::function_Type der2fct_P0_3D[ 9 ] =
1086 {
1090 };
1091 
1092 //======================================================================
1093 //
1094 // P1 (3D)
1095 //
1096 //======================================================================
1097 /*
1098  4
1099  / .
1100  / \.3
1101  / . \\
1102  / . \\
1103  /. \!
1104  1 ----------2
1105 */
1106 Real fct1_P1_3D ( const GeoVector& v );
1107 Real fct2_P1_3D ( const GeoVector& v );
1108 Real fct3_P1_3D ( const GeoVector& v );
1109 Real fct4_P1_3D ( const GeoVector& v );
1110 
1111 Real derfct1_1_P1_3D ( const GeoVector& );
1112 Real derfct1_2_P1_3D ( const GeoVector& );
1113 Real derfct1_3_P1_3D ( const GeoVector& );
1114 Real derfct2_1_P1_3D ( const GeoVector& );
1115 Real derfct2_2_P1_3D ( const GeoVector& );
1116 Real derfct2_3_P1_3D ( const GeoVector& );
1117 Real derfct3_1_P1_3D ( const GeoVector& );
1118 Real derfct3_2_P1_3D ( const GeoVector& );
1119 Real derfct3_3_P1_3D ( const GeoVector& );
1120 Real derfct4_1_P1_3D ( const GeoVector& );
1121 Real derfct4_2_P1_3D ( const GeoVector& );
1122 Real derfct4_3_P1_3D ( const GeoVector& );
1123 
1124 // Second derivatives
1125 Real der2fctx_xx_P1_3D ( const GeoVector& );
1126 
1127 static const Real refcoor_P1_3D[ 12 ] =
1128 {
1129  0. , 0. , 0.,
1130  1. , 0. , 0.,
1131  0. , 1. , 0.,
1132  0. , 0. , 1.
1133 };
1134 
1135 static const ReferenceElement::function_Type fct_P1_3D[ 4 ] =
1136 {
1138 };
1139 
1140 static const ReferenceElement::function_Type derfct_P1_3D[ 12 ] =
1141 {
1146 };
1147 static const ReferenceElement::function_Type der2fct_P1_3D[ 36 ] =
1148 {
1157 };
1158 
1159 //======================================================================
1160 //
1161 // P1 Bubble (3D)
1162 //
1163 //======================================================================
1164 /*
1165  4
1166  / .
1167  / \.3
1168  / . \\
1169  / . .5 \\
1170  /. \!
1171  1 ----------2
1172 */
1173 Real fct1_P1bubble_3D ( const GeoVector& v );
1174 Real fct2_P1bubble_3D ( const GeoVector& v );
1175 Real fct3_P1bubble_3D ( const GeoVector& v );
1176 Real fct4_P1bubble_3D ( const GeoVector& v );
1177 Real fct5_P1bubble_3D ( const GeoVector& v );
1178 
1179 Real derfct1_1_P1bubble_3D ( const GeoVector& );
1180 Real derfct1_2_P1bubble_3D ( const GeoVector& );
1181 Real derfct1_3_P1bubble_3D ( const GeoVector& );
1182 Real derfct2_1_P1bubble_3D ( const GeoVector& );
1183 Real derfct2_2_P1bubble_3D ( const GeoVector& );
1184 Real derfct2_3_P1bubble_3D ( const GeoVector& );
1185 Real derfct3_1_P1bubble_3D ( const GeoVector& );
1186 Real derfct3_2_P1bubble_3D ( const GeoVector& );
1187 Real derfct3_3_P1bubble_3D ( const GeoVector& );
1188 Real derfct4_1_P1bubble_3D ( const GeoVector& );
1189 Real derfct4_2_P1bubble_3D ( const GeoVector& );
1190 Real derfct4_3_P1bubble_3D ( const GeoVector& );
1191 Real derfct5_1_P1bubble_3D ( const GeoVector& );
1192 Real derfct5_2_P1bubble_3D ( const GeoVector& );
1193 Real derfct5_3_P1bubble_3D ( const GeoVector& );
1194 
1195 // Second derivatives
1196 Real der2fctx_xx_P1bubble_3D ( const GeoVector& );
1197 Real der2fct5_11_P1bubble_3D ( const GeoVector& );
1198 Real der2fct5_12_P1bubble_3D ( const GeoVector& );
1199 Real der2fct5_13_P1bubble_3D ( const GeoVector& );
1200 Real der2fct5_21_P1bubble_3D ( const GeoVector& );
1201 Real der2fct5_22_P1bubble_3D ( const GeoVector& );
1202 Real der2fct5_23_P1bubble_3D ( const GeoVector& );
1203 Real der2fct5_31_P1bubble_3D ( const GeoVector& );
1204 Real der2fct5_32_P1bubble_3D ( const GeoVector& );
1205 Real der2fct5_33_P1bubble_3D ( const GeoVector& );
1206 
1207 static const Real refcoor_P1bubble_3D[ 15 ] =
1208 {
1209  0. , 0. , 0.,
1210  1. , 0. , 0.,
1211  0. , 1. , 0.,
1212  0. , 0. , 1.,
1213  0.25, 0.25, 0.25
1214 };
1215 
1216 static const ReferenceElement::function_Type fct_P1bubble_3D[ 5 ] =
1217 {
1219 };
1220 
1221 static const ReferenceElement::function_Type derfct_P1bubble_3D[ 15 ] =
1222 {
1228 };
1229 static const ReferenceElement::function_Type der2fct_P1bubble_3D[ 45 ] =
1230 {
1246 };
1247 
1248 //======================================================================
1249 //
1250 // P2 (3D)
1251 //
1252 //======================================================================
1253 /*
1254  4
1255  / .10
1256  / \.3
1257  8 . 9\
1258  / 7 \6
1259  /. \!
1260  1 -----5----2
1261 */
1262 Real fct1_P2_3D ( const GeoVector& v );
1263 Real fct2_P2_3D ( const GeoVector& v );
1264 Real fct3_P2_3D ( const GeoVector& v );
1265 Real fct4_P2_3D ( const GeoVector& v );
1266 Real fct5_P2_3D ( const GeoVector& v );
1267 Real fct6_P2_3D ( const GeoVector& v );
1268 Real fct7_P2_3D ( const GeoVector& v );
1269 Real fct8_P2_3D ( const GeoVector& v );
1270 Real fct9_P2_3D ( const GeoVector& v );
1271 Real fct10_P2_3D ( const GeoVector& v );
1272 
1273 
1274 Real derfct1_1_P2_3D ( const GeoVector& v );
1275 Real derfct1_2_P2_3D ( const GeoVector& v );
1276 Real derfct1_3_P2_3D ( const GeoVector& v );
1277 
1278 Real derfct2_1_P2_3D ( const GeoVector& v );
1279 Real derfct2_2_P2_3D ( const GeoVector& v );
1280 Real derfct2_3_P2_3D ( const GeoVector& v );
1281 
1282 Real derfct3_1_P2_3D ( const GeoVector& v );
1283 Real derfct3_2_P2_3D ( const GeoVector& v );
1284 Real derfct3_3_P2_3D ( const GeoVector& v );
1285 
1286 Real derfct4_1_P2_3D ( const GeoVector& v );
1287 Real derfct4_2_P2_3D ( const GeoVector& v );
1288 Real derfct4_3_P2_3D ( const GeoVector& v );
1289 
1290 Real derfct5_1_P2_3D ( const GeoVector& v );
1291 Real derfct5_2_P2_3D ( const GeoVector& v );
1292 Real derfct5_3_P2_3D ( const GeoVector& v );
1293 
1294 Real derfct6_1_P2_3D ( const GeoVector& v );
1295 Real derfct6_2_P2_3D ( const GeoVector& v );
1296 Real derfct6_3_P2_3D ( const GeoVector& v );
1297 
1298 Real derfct7_1_P2_3D ( const GeoVector& v );
1299 Real derfct7_2_P2_3D ( const GeoVector& v );
1300 Real derfct7_3_P2_3D ( const GeoVector& v );
1301 
1302 Real derfct8_1_P2_3D ( const GeoVector& v );
1303 Real derfct8_2_P2_3D ( const GeoVector& v );
1304 Real derfct8_3_P2_3D ( const GeoVector& v );
1305 
1306 Real derfct9_1_P2_3D ( const GeoVector& v );
1307 Real derfct9_2_P2_3D ( const GeoVector& v );
1308 Real derfct9_3_P2_3D ( const GeoVector& v );
1309 
1310 Real derfct10_1_P2_3D ( const GeoVector& v );
1311 Real derfct10_2_P2_3D ( const GeoVector& v );
1312 Real derfct10_3_P2_3D ( const GeoVector& v );
1313 
1314 
1315 Real der2fct1_11_P2_3D ( const GeoVector& v );
1316 Real der2fct1_12_P2_3D ( const GeoVector& v );
1317 Real der2fct1_13_P2_3D ( const GeoVector& v );
1318 Real der2fct1_21_P2_3D ( const GeoVector& v );
1319 Real der2fct1_22_P2_3D ( const GeoVector& v );
1320 Real der2fct1_23_P2_3D ( const GeoVector& v );
1321 Real der2fct1_31_P2_3D ( const GeoVector& v );
1322 Real der2fct1_32_P2_3D ( const GeoVector& v );
1323 Real der2fct1_33_P2_3D ( const GeoVector& v );
1324 
1325 Real der2fct2_11_P2_3D ( const GeoVector& v );
1326 Real der2fct2_12_P2_3D ( const GeoVector& v );
1327 Real der2fct2_13_P2_3D ( const GeoVector& v );
1328 Real der2fct2_21_P2_3D ( const GeoVector& v );
1329 Real der2fct2_22_P2_3D ( const GeoVector& v );
1330 Real der2fct2_23_P2_3D ( const GeoVector& v );
1331 Real der2fct2_31_P2_3D ( const GeoVector& v );
1332 Real der2fct2_32_P2_3D ( const GeoVector& v );
1333 Real der2fct2_33_P2_3D ( const GeoVector& v );
1334 
1335 Real der2fct3_11_P2_3D ( const GeoVector& v );
1336 Real der2fct3_12_P2_3D ( const GeoVector& v );
1337 Real der2fct3_13_P2_3D ( const GeoVector& v );
1338 Real der2fct3_21_P2_3D ( const GeoVector& v );
1339 Real der2fct3_22_P2_3D ( const GeoVector& v );
1340 Real der2fct3_23_P2_3D ( const GeoVector& v );
1341 Real der2fct3_31_P2_3D ( const GeoVector& v );
1342 Real der2fct3_32_P2_3D ( const GeoVector& v );
1343 Real der2fct3_33_P2_3D ( const GeoVector& v );
1344 
1345 Real der2fct4_11_P2_3D ( const GeoVector& v );
1346 Real der2fct4_12_P2_3D ( const GeoVector& v );
1347 Real der2fct4_13_P2_3D ( const GeoVector& v );
1348 Real der2fct4_21_P2_3D ( const GeoVector& v );
1349 Real der2fct4_22_P2_3D ( const GeoVector& v );
1350 Real der2fct4_23_P2_3D ( const GeoVector& v );
1351 Real der2fct4_31_P2_3D ( const GeoVector& v );
1352 Real der2fct4_32_P2_3D ( const GeoVector& v );
1353 Real der2fct4_33_P2_3D ( const GeoVector& v );
1354 
1355 Real der2fct5_11_P2_3D ( const GeoVector& v );
1356 Real der2fct5_12_P2_3D ( const GeoVector& v );
1357 Real der2fct5_13_P2_3D ( const GeoVector& v );
1358 Real der2fct5_21_P2_3D ( const GeoVector& v );
1359 Real der2fct5_22_P2_3D ( const GeoVector& v );
1360 Real der2fct5_23_P2_3D ( const GeoVector& v );
1361 Real der2fct5_31_P2_3D ( const GeoVector& v );
1362 Real der2fct5_32_P2_3D ( const GeoVector& v );
1363 Real der2fct5_33_P2_3D ( const GeoVector& v );
1364 
1365 Real der2fct6_11_P2_3D ( const GeoVector& v );
1366 Real der2fct6_12_P2_3D ( const GeoVector& v );
1367 Real der2fct6_13_P2_3D ( const GeoVector& v );
1368 Real der2fct6_21_P2_3D ( const GeoVector& v );
1369 Real der2fct6_22_P2_3D ( const GeoVector& v );
1370 Real der2fct6_23_P2_3D ( const GeoVector& v );
1371 Real der2fct6_31_P2_3D ( const GeoVector& v );
1372 Real der2fct6_32_P2_3D ( const GeoVector& v );
1373 Real der2fct6_33_P2_3D ( const GeoVector& v );
1374 
1375 Real der2fct7_11_P2_3D ( const GeoVector& v );
1376 Real der2fct7_12_P2_3D ( const GeoVector& v );
1377 Real der2fct7_13_P2_3D ( const GeoVector& v );
1378 Real der2fct7_21_P2_3D ( const GeoVector& v );
1379 Real der2fct7_22_P2_3D ( const GeoVector& v );
1380 Real der2fct7_23_P2_3D ( const GeoVector& v );
1381 Real der2fct7_31_P2_3D ( const GeoVector& v );
1382 Real der2fct7_32_P2_3D ( const GeoVector& v );
1383 Real der2fct7_33_P2_3D ( const GeoVector& v );
1384 
1385 Real der2fct8_11_P2_3D ( const GeoVector& v );
1386 Real der2fct8_12_P2_3D ( const GeoVector& v );
1387 Real der2fct8_13_P2_3D ( const GeoVector& v );
1388 Real der2fct8_21_P2_3D ( const GeoVector& v );
1389 Real der2fct8_22_P2_3D ( const GeoVector& v );
1390 Real der2fct8_23_P2_3D ( const GeoVector& v );
1391 Real der2fct8_31_P2_3D ( const GeoVector& v );
1392 Real der2fct8_32_P2_3D ( const GeoVector& v );
1393 Real der2fct8_33_P2_3D ( const GeoVector& v );
1394 
1395 Real der2fct9_11_P2_3D ( const GeoVector& v );
1396 Real der2fct9_12_P2_3D ( const GeoVector& v );
1397 Real der2fct9_13_P2_3D ( const GeoVector& v );
1398 Real der2fct9_21_P2_3D ( const GeoVector& v );
1399 Real der2fct9_22_P2_3D ( const GeoVector& v );
1400 Real der2fct9_23_P2_3D ( const GeoVector& v );
1401 Real der2fct9_31_P2_3D ( const GeoVector& v );
1402 Real der2fct9_32_P2_3D ( const GeoVector& v );
1403 Real der2fct9_33_P2_3D ( const GeoVector& v );
1404 
1405 Real der2fct10_11_P2_3D ( const GeoVector& v );
1406 Real der2fct10_12_P2_3D ( const GeoVector& v );
1407 Real der2fct10_13_P2_3D ( const GeoVector& v );
1408 Real der2fct10_21_P2_3D ( const GeoVector& v );
1409 Real der2fct10_22_P2_3D ( const GeoVector& v );
1410 Real der2fct10_23_P2_3D ( const GeoVector& v );
1411 Real der2fct10_31_P2_3D ( const GeoVector& v );
1412 Real der2fct10_32_P2_3D ( const GeoVector& v );
1413 Real der2fct10_33_P2_3D ( const GeoVector& v );
1414 
1415 
1416 static const Real refcoor_P2_3D[ 30 ] =
1417 {
1418  0. , 0. , 0. ,
1419  1. , 0. , 0. ,
1420  0. , 1. , 0. ,
1421  0. , 0. , 1. ,
1422  0.5 , 0. , 0. ,
1423  0.5, 0.5 , 0. ,
1424  0. , 0.5 , 0. ,
1425  0. , 0. , 0.5,
1426  0.5, 0. , 0.5,
1427  0. , 0.5 , 0.5
1428 };
1429 
1430 static const ReferenceElement::function_Type fct_P2_3D[ 10 ] =
1431 {
1435 };
1436 
1437 static const ReferenceElement::function_Type derfct_P2_3D[ 30 ] =
1438 {
1449 };
1450 /*the perl-script:
1451  #!/usr/bin/perl
1452  for($i=1;$i<=10;$i++){
1453  for($j=1;$j<=3;$j++){
1454  printf "der2fct$i\_$j"."1\_P2\_3D, der2fct$i\_$j"."2\_P2\_3D, der2fct$i\_$j"."3_P2\_3D,\n";
1455  }
1456 }
1457 */
1458 static const ReferenceElement::function_Type der2fct_P2_3D[ 90 ] =
1459 {
1490 };
1491 //======================================================================
1492 //
1493 // P2tilde (3D)
1494 // NAVIER-STOKES P2 Basis Oriented to the mass lumping
1495 //
1496 //======================================================================
1497 /*
1498  4
1499  / .10
1500  / \.3
1501  8 . 9\
1502  / 7 .11 6
1503  /. \!
1504  1 -----5----2
1505 */
1506 Real fct1_P2tilde_3D ( const GeoVector& v );
1507 Real fct2_P2tilde_3D ( const GeoVector& v );
1508 Real fct3_P2tilde_3D ( const GeoVector& v );
1509 Real fct4_P2tilde_3D ( const GeoVector& v );
1510 Real fct5_P2tilde_3D ( const GeoVector& v );
1511 Real fct6_P2tilde_3D ( const GeoVector& v );
1512 Real fct7_P2tilde_3D ( const GeoVector& v );
1513 Real fct8_P2tilde_3D ( const GeoVector& v );
1514 Real fct9_P2tilde_3D ( const GeoVector& v );
1515 Real fct10_P2tilde_3D ( const GeoVector& v );
1516 Real fct11_P2tilde_3D ( const GeoVector& v );
1517 
1518 
1519 Real derfct1_1_P2tilde_3D ( const GeoVector& v );
1520 Real derfct1_2_P2tilde_3D ( const GeoVector& v );
1521 Real derfct1_3_P2tilde_3D ( const GeoVector& v );
1522 
1523 Real derfct2_1_P2tilde_3D ( const GeoVector& v );
1524 Real derfct2_2_P2tilde_3D ( const GeoVector& v );
1525 Real derfct2_3_P2tilde_3D ( const GeoVector& v );
1526 
1527 Real derfct3_1_P2tilde_3D ( const GeoVector& v );
1528 Real derfct3_2_P2tilde_3D ( const GeoVector& v );
1529 Real derfct3_3_P2tilde_3D ( const GeoVector& v );
1530 
1531 Real derfct4_1_P2tilde_3D ( const GeoVector& v );
1532 Real derfct4_2_P2tilde_3D ( const GeoVector& v );
1533 Real derfct4_3_P2tilde_3D ( const GeoVector& v );
1534 
1535 Real derfct5_1_P2tilde_3D ( const GeoVector& v );
1536 Real derfct5_2_P2tilde_3D ( const GeoVector& v );
1537 Real derfct5_3_P2tilde_3D ( const GeoVector& v );
1538 
1539 Real derfct6_1_P2tilde_3D ( const GeoVector& v );
1540 Real derfct6_2_P2tilde_3D ( const GeoVector& v );
1541 Real derfct6_3_P2tilde_3D ( const GeoVector& v );
1542 
1543 Real derfct7_1_P2tilde_3D ( const GeoVector& v );
1544 Real derfct7_2_P2tilde_3D ( const GeoVector& v );
1545 Real derfct7_3_P2tilde_3D ( const GeoVector& v );
1546 
1547 Real derfct8_1_P2tilde_3D ( const GeoVector& v );
1548 Real derfct8_2_P2tilde_3D ( const GeoVector& v );
1549 Real derfct8_3_P2tilde_3D ( const GeoVector& v );
1550 
1551 Real derfct9_1_P2tilde_3D ( const GeoVector& v );
1552 Real derfct9_2_P2tilde_3D ( const GeoVector& v );
1553 Real derfct9_3_P2tilde_3D ( const GeoVector& v );
1554 
1555 Real derfct10_1_P2tilde_3D ( const GeoVector& v );
1556 Real derfct10_2_P2tilde_3D ( const GeoVector& v );
1557 Real derfct10_3_P2tilde_3D ( const GeoVector& v );
1558 
1559 Real derfct11_1_P2tilde_3D ( const GeoVector& v );
1560 Real derfct11_2_P2tilde_3D ( const GeoVector& v );
1561 Real derfct11_3_P2tilde_3D ( const GeoVector& v );
1562 
1563 
1564 Real der2fct1_11_P2tilde_3D ( const GeoVector& v );
1565 Real der2fct1_12_P2tilde_3D ( const GeoVector& v );
1566 Real der2fct1_13_P2tilde_3D ( const GeoVector& v );
1567 Real der2fct1_21_P2tilde_3D ( const GeoVector& v );
1568 Real der2fct1_22_P2tilde_3D ( const GeoVector& v );
1569 Real der2fct1_23_P2tilde_3D ( const GeoVector& v );
1570 Real der2fct1_31_P2tilde_3D ( const GeoVector& v );
1571 Real der2fct1_32_P2tilde_3D ( const GeoVector& v );
1572 Real der2fct1_33_P2tilde_3D ( const GeoVector& v );
1573 
1574 Real der2fct2_11_P2tilde_3D ( const GeoVector& v );
1575 Real der2fct2_12_P2tilde_3D ( const GeoVector& v );
1576 Real der2fct2_13_P2tilde_3D ( const GeoVector& v );
1577 Real der2fct2_21_P2tilde_3D ( const GeoVector& v );
1578 Real der2fct2_22_P2tilde_3D ( const GeoVector& v );
1579 Real der2fct2_23_P2tilde_3D ( const GeoVector& v );
1580 Real der2fct2_31_P2tilde_3D ( const GeoVector& v );
1581 Real der2fct2_32_P2tilde_3D ( const GeoVector& v );
1582 Real der2fct2_33_P2tilde_3D ( const GeoVector& v );
1583 
1584 Real der2fct3_11_P2tilde_3D ( const GeoVector& v );
1585 Real der2fct3_12_P2tilde_3D ( const GeoVector& v );
1586 Real der2fct3_13_P2tilde_3D ( const GeoVector& v );
1587 Real der2fct3_21_P2tilde_3D ( const GeoVector& v );
1588 Real der2fct3_22_P2tilde_3D ( const GeoVector& v );
1589 Real der2fct3_23_P2tilde_3D ( const GeoVector& v );
1590 Real der2fct3_31_P2tilde_3D ( const GeoVector& v );
1591 Real der2fct3_32_P2tilde_3D ( const GeoVector& v );
1592 Real der2fct3_33_P2tilde_3D ( const GeoVector& v );
1593 
1594 Real der2fct4_11_P2tilde_3D ( const GeoVector& v );
1595 Real der2fct4_12_P2tilde_3D ( const GeoVector& v );
1596 Real der2fct4_13_P2tilde_3D ( const GeoVector& v );
1597 Real der2fct4_21_P2tilde_3D ( const GeoVector& v );
1598 Real der2fct4_22_P2tilde_3D ( const GeoVector& v );
1599 Real der2fct4_23_P2tilde_3D ( const GeoVector& v );
1600 Real der2fct4_31_P2tilde_3D ( const GeoVector& v );
1601 Real der2fct4_32_P2tilde_3D ( const GeoVector& v );
1602 Real der2fct4_33_P2tilde_3D ( const GeoVector& v );
1603 
1604 Real der2fct5_11_P2tilde_3D ( const GeoVector& v );
1605 Real der2fct5_12_P2tilde_3D ( const GeoVector& v );
1606 Real der2fct5_13_P2tilde_3D ( const GeoVector& v );
1607 Real der2fct5_21_P2tilde_3D ( const GeoVector& v );
1608 Real der2fct5_22_P2tilde_3D ( const GeoVector& v );
1609 Real der2fct5_23_P2tilde_3D ( const GeoVector& v );
1610 Real der2fct5_31_P2tilde_3D ( const GeoVector& v );
1611 Real der2fct5_32_P2tilde_3D ( const GeoVector& v );
1612 Real der2fct5_33_P2tilde_3D ( const GeoVector& v );
1613 
1614 Real der2fct6_11_P2tilde_3D ( const GeoVector& v );
1615 Real der2fct6_12_P2tilde_3D ( const GeoVector& v );
1616 Real der2fct6_13_P2tilde_3D ( const GeoVector& v );
1617 Real der2fct6_21_P2tilde_3D ( const GeoVector& v );
1618 Real der2fct6_22_P2tilde_3D ( const GeoVector& v );
1619 Real der2fct6_23_P2tilde_3D ( const GeoVector& v );
1620 Real der2fct6_31_P2tilde_3D ( const GeoVector& v );
1621 Real der2fct6_32_P2tilde_3D ( const GeoVector& v );
1622 Real der2fct6_33_P2tilde_3D ( const GeoVector& v );
1623 
1624 Real der2fct7_11_P2tilde_3D ( const GeoVector& v );
1625 Real der2fct7_12_P2tilde_3D ( const GeoVector& v );
1626 Real der2fct7_13_P2tilde_3D ( const GeoVector& v );
1627 Real der2fct7_21_P2tilde_3D ( const GeoVector& v );
1628 Real der2fct7_22_P2tilde_3D ( const GeoVector& v );
1629 Real der2fct7_23_P2tilde_3D ( const GeoVector& v );
1630 Real der2fct7_31_P2tilde_3D ( const GeoVector& v );
1631 Real der2fct7_32_P2tilde_3D ( const GeoVector& v );
1632 Real der2fct7_33_P2tilde_3D ( const GeoVector& v );
1633 
1634 Real der2fct8_11_P2tilde_3D ( const GeoVector& v );
1635 Real der2fct8_12_P2tilde_3D ( const GeoVector& v );
1636 Real der2fct8_13_P2tilde_3D ( const GeoVector& v );
1637 Real der2fct8_21_P2tilde_3D ( const GeoVector& v );
1638 Real der2fct8_22_P2tilde_3D ( const GeoVector& v );
1639 Real der2fct8_23_P2tilde_3D ( const GeoVector& v );
1640 Real der2fct8_31_P2tilde_3D ( const GeoVector& v );
1641 Real der2fct8_32_P2tilde_3D ( const GeoVector& v );
1642 Real der2fct8_33_P2tilde_3D ( const GeoVector& v );
1643 
1644 Real der2fct9_11_P2tilde_3D ( const GeoVector& v );
1645 Real der2fct9_12_P2tilde_3D ( const GeoVector& v );
1646 Real der2fct9_13_P2tilde_3D ( const GeoVector& v );
1647 Real der2fct9_21_P2tilde_3D ( const GeoVector& v );
1648 Real der2fct9_22_P2tilde_3D ( const GeoVector& v );
1649 Real der2fct9_23_P2tilde_3D ( const GeoVector& v );
1650 Real der2fct9_31_P2tilde_3D ( const GeoVector& v );
1651 Real der2fct9_32_P2tilde_3D ( const GeoVector& v );
1652 Real der2fct9_33_P2tilde_3D ( const GeoVector& v );
1653 
1654 Real der2fct10_11_P2tilde_3D ( const GeoVector& v );
1655 Real der2fct10_12_P2tilde_3D ( const GeoVector& v );
1656 Real der2fct10_13_P2tilde_3D ( const GeoVector& v );
1657 Real der2fct10_21_P2tilde_3D ( const GeoVector& v );
1658 Real der2fct10_22_P2tilde_3D ( const GeoVector& v );
1659 Real der2fct10_23_P2tilde_3D ( const GeoVector& v );
1660 Real der2fct10_31_P2tilde_3D ( const GeoVector& v );
1661 Real der2fct10_32_P2tilde_3D ( const GeoVector& v );
1662 Real der2fct10_33_P2tilde_3D ( const GeoVector& v );
1663 
1664 Real der2fct11_11_P2tilde_3D ( const GeoVector& v );
1665 Real der2fct11_12_P2tilde_3D ( const GeoVector& v );
1666 Real der2fct11_13_P2tilde_3D ( const GeoVector& v );
1667 Real der2fct11_21_P2tilde_3D ( const GeoVector& v );
1668 Real der2fct11_22_P2tilde_3D ( const GeoVector& v );
1669 Real der2fct11_23_P2tilde_3D ( const GeoVector& v );
1670 Real der2fct11_31_P2tilde_3D ( const GeoVector& v );
1671 Real der2fct11_32_P2tilde_3D ( const GeoVector& v );
1672 Real der2fct11_33_P2tilde_3D ( const GeoVector& v );
1673 
1674 
1675 static const Real refcoor_P2tilde_3D[ 33 ] =
1676 {
1677  0. , 0. , 0. ,
1678  1. , 0. , 0. ,
1679  0. , 1. , 0. ,
1680  0. , 0. , 1. ,
1681  0.5 , 0. , 0. ,
1682  0.5 , 0.5 , 0. ,
1683  0. , 0.5 , 0. ,
1684  0. , 0. , 0.5,
1685  0.5 , 0. , 0.5,
1686  0. , 0.5 , 0.5,
1687  0.25, 0.25, 0.25
1688 };
1689 
1690 static const ReferenceElement::function_Type fct_P2tilde_3D[ 11 ] =
1691 {
1695 };
1696 
1697 static const ReferenceElement::function_Type derfct_P2tilde_3D[ 33 ] =
1698 {
1710 };
1711 /*the perl-script:
1712  #!/usr/bin/perl
1713  for($i=1;$i<=10;$i++){
1714  for($j=1;$j<=3;$j++){
1715  printf "der2fct$i\_$j"."1\_P2tilde\_3D, der2fct$i\_$j"."2\_P2tilde\_3D, der2fct$i\_$j"."3_P2tilde\_3D,\n";
1716  }
1717 }
1718 */
1719 static const ReferenceElement::function_Type der2fct_P2tilde_3D[ 99 ] =
1720 {
1754 };
1755 
1756 //======================================================================
1757 //
1758 // Q0 (3D)
1759 //
1760 //======================================================================
1761 /*
1762  ________
1763  /. /|
1764  / . / |
1765  /_______/ |
1766  | . 1 | |
1767  | .....|..|
1768  | . | /
1769  |. |/
1770  |_______|
1771 
1772 */
1773 Real fct1_Q0_3D ( const GeoVector& v );
1774 Real derfct1_Q0_3D ( const GeoVector& v );
1775 // The second derivative is equal to the first : both = 0.
1776 Real der2fct1_Q0_3D ( const GeoVector& v );
1777 
1778 static const Real refcoor_Q0_3D[ 3 ] =
1779 {
1780  0.5 , 0.5 , 0.5
1781 };
1782 
1783 
1784 static const ReferenceElement::function_Type fct_Q0_3D[ 1 ] =
1785 {
1786  fct1_Q0_3D
1787 };
1788 
1789 static const ReferenceElement::function_Type derfct_Q0_3D[ 3 ] =
1790 {
1792 };
1793 
1794 static const ReferenceElement::function_Type der2fct_Q0_3D[ 9 ] =
1795 {
1799 };
1800 
1801 //======================================================================
1802 //
1803 // Q1 (3D)
1804 //
1805 //======================================================================
1806 /*
1807  8-------7
1808  /. /|
1809  / . / |
1810  5_______6 |
1811  | . | |
1812  | 4....|..3
1813  | . | /
1814  |. |/
1815  1_______2
1816 */
1817 Real fct1_Q1_3D ( const GeoVector& v );
1818 Real fct2_Q1_3D ( const GeoVector& v );
1819 Real fct3_Q1_3D ( const GeoVector& v );
1820 Real fct4_Q1_3D ( const GeoVector& v );
1821 Real fct5_Q1_3D ( const GeoVector& v );
1822 Real fct6_Q1_3D ( const GeoVector& v );
1823 Real fct7_Q1_3D ( const GeoVector& v );
1824 Real fct8_Q1_3D ( const GeoVector& v );
1825 
1826 Real derfct1_1_Q1_3D ( const GeoVector& v );
1827 Real derfct1_2_Q1_3D ( const GeoVector& v );
1828 Real derfct1_3_Q1_3D ( const GeoVector& v );
1829 Real derfct2_1_Q1_3D ( const GeoVector& v );
1830 Real derfct2_2_Q1_3D ( const GeoVector& v );
1831 Real derfct2_3_Q1_3D ( const GeoVector& v );
1832 Real derfct3_1_Q1_3D ( const GeoVector& v );
1833 Real derfct3_2_Q1_3D ( const GeoVector& v );
1834 Real derfct3_3_Q1_3D ( const GeoVector& v );
1835 Real derfct4_1_Q1_3D ( const GeoVector& v );
1836 Real derfct4_2_Q1_3D ( const GeoVector& v );
1837 Real derfct4_3_Q1_3D ( const GeoVector& v );
1838 Real derfct5_1_Q1_3D ( const GeoVector& v );
1839 Real derfct5_2_Q1_3D ( const GeoVector& v );
1840 Real derfct5_3_Q1_3D ( const GeoVector& v );
1841 Real derfct6_1_Q1_3D ( const GeoVector& v );
1842 Real derfct6_2_Q1_3D ( const GeoVector& v );
1843 Real derfct6_3_Q1_3D ( const GeoVector& v );
1844 Real derfct7_1_Q1_3D ( const GeoVector& v );
1845 Real derfct7_2_Q1_3D ( const GeoVector& v );
1846 Real derfct7_3_Q1_3D ( const GeoVector& v );
1847 Real derfct8_1_Q1_3D ( const GeoVector& v );
1848 Real derfct8_2_Q1_3D ( const GeoVector& v );
1849 Real derfct8_3_Q1_3D ( const GeoVector& v );
1850 
1851 Real der2fct1_11_Q1_3D ( const GeoVector& v );
1852 Real der2fct1_12_Q1_3D ( const GeoVector& v );
1853 Real der2fct1_13_Q1_3D ( const GeoVector& v );
1854 Real der2fct1_21_Q1_3D ( const GeoVector& v );
1855 Real der2fct1_22_Q1_3D ( const GeoVector& v );
1856 Real der2fct1_23_Q1_3D ( const GeoVector& v );
1857 Real der2fct1_31_Q1_3D ( const GeoVector& v );
1858 Real der2fct1_32_Q1_3D ( const GeoVector& v );
1859 Real der2fct1_33_Q1_3D ( const GeoVector& v );
1860 
1861 Real der2fct2_11_Q1_3D ( const GeoVector& v );
1862 Real der2fct2_12_Q1_3D ( const GeoVector& v );
1863 Real der2fct2_13_Q1_3D ( const GeoVector& v );
1864 Real der2fct2_21_Q1_3D ( const GeoVector& v );
1865 Real der2fct2_22_Q1_3D ( const GeoVector& v );
1866 Real der2fct2_23_Q1_3D ( const GeoVector& v );
1867 Real der2fct2_31_Q1_3D ( const GeoVector& v );
1868 Real der2fct2_32_Q1_3D ( const GeoVector& v );
1869 Real der2fct2_33_Q1_3D ( const GeoVector& v );
1870 
1871 Real der2fct3_11_Q1_3D ( const GeoVector& v );
1872 Real der2fct3_12_Q1_3D ( const GeoVector& v );
1873 Real der2fct3_13_Q1_3D ( const GeoVector& v );
1874 Real der2fct3_21_Q1_3D ( const GeoVector& v );
1875 Real der2fct3_22_Q1_3D ( const GeoVector& v );
1876 Real der2fct3_23_Q1_3D ( const GeoVector& v );
1877 Real der2fct3_31_Q1_3D ( const GeoVector& v );
1878 Real der2fct3_32_Q1_3D ( const GeoVector& v );
1879 Real der2fct3_33_Q1_3D ( const GeoVector& v );
1880 
1881 Real der2fct4_11_Q1_3D ( const GeoVector& v );
1882 Real der2fct4_12_Q1_3D ( const GeoVector& v );
1883 Real der2fct4_13_Q1_3D ( const GeoVector& v );
1884 Real der2fct4_21_Q1_3D ( const GeoVector& v );
1885 Real der2fct4_22_Q1_3D ( const GeoVector& v );
1886 Real der2fct4_23_Q1_3D ( const GeoVector& v );
1887 Real der2fct4_31_Q1_3D ( const GeoVector& v );
1888 Real der2fct4_32_Q1_3D ( const GeoVector& v );
1889 Real der2fct4_33_Q1_3D ( const GeoVector& v );
1890 
1891 Real der2fct5_11_Q1_3D ( const GeoVector& v );
1892 Real der2fct5_12_Q1_3D ( const GeoVector& v );
1893 Real der2fct5_13_Q1_3D ( const GeoVector& v );
1894 Real der2fct5_21_Q1_3D ( const GeoVector& v );
1895 Real der2fct5_22_Q1_3D ( const GeoVector& v );
1896 Real der2fct5_23_Q1_3D ( const GeoVector& v );
1897 Real der2fct5_31_Q1_3D ( const GeoVector& v );
1898 Real der2fct5_32_Q1_3D ( const GeoVector& v );
1899 Real der2fct5_33_Q1_3D ( const GeoVector& v );
1900 
1901 Real der2fct6_11_Q1_3D ( const GeoVector& v );
1902 Real der2fct6_12_Q1_3D ( const GeoVector& v );
1903 Real der2fct6_13_Q1_3D ( const GeoVector& v );
1904 Real der2fct6_21_Q1_3D ( const GeoVector& v );
1905 Real der2fct6_22_Q1_3D ( const GeoVector& v );
1906 Real der2fct6_23_Q1_3D ( const GeoVector& v );
1907 Real der2fct6_31_Q1_3D ( const GeoVector& v );
1908 Real der2fct6_32_Q1_3D ( const GeoVector& v );
1909 Real der2fct6_33_Q1_3D ( const GeoVector& v );
1910 
1911 Real der2fct7_11_Q1_3D ( const GeoVector& v );
1912 Real der2fct7_12_Q1_3D ( const GeoVector& v );
1913 Real der2fct7_13_Q1_3D ( const GeoVector& v );
1914 Real der2fct7_21_Q1_3D ( const GeoVector& v );
1915 Real der2fct7_22_Q1_3D ( const GeoVector& v );
1916 Real der2fct7_23_Q1_3D ( const GeoVector& v );
1917 Real der2fct7_31_Q1_3D ( const GeoVector& v );
1918 Real der2fct7_32_Q1_3D ( const GeoVector& v );
1919 Real der2fct7_33_Q1_3D ( const GeoVector& v );
1920 
1921 Real der2fct8_11_Q1_3D ( const GeoVector& v );
1922 Real der2fct8_12_Q1_3D ( const GeoVector& v );
1923 Real der2fct8_13_Q1_3D ( const GeoVector& v );
1924 Real der2fct8_21_Q1_3D ( const GeoVector& v );
1925 Real der2fct8_22_Q1_3D ( const GeoVector& v );
1926 Real der2fct8_23_Q1_3D ( const GeoVector& v );
1927 Real der2fct8_31_Q1_3D ( const GeoVector& v );
1928 Real der2fct8_32_Q1_3D ( const GeoVector& v );
1929 Real der2fct8_33_Q1_3D ( const GeoVector& v );
1930 
1931 static const Real refcoor_Q1_3D[ 24 ] =
1932 {
1933  0. , 0. , 0. ,
1934  1. , 0. , 0. ,
1935  1. , 1. , 0. ,
1936  0. , 1. , 0. ,
1937  0. , 0. , 1. ,
1938  1. , 0. , 1. ,
1939  1. , 1. , 1. ,
1940  0. , 1. , 1.
1941 };
1942 
1943 
1944 static const ReferenceElement::function_Type fct_Q1_3D[ 8 ] =
1945 {
1948 };
1949 
1950 
1951 static const ReferenceElement::function_Type derfct_Q1_3D[ 24 ] =
1952 {
1961 };
1962 /*the perl-script:
1963  #!/usr/bin/perl
1964  for($i=1;$i<=10;$i++){
1965  for($j=1;$j<=3;$j++){
1966  printf "der2fct$i\_$j"."1\_P2\_3D, der2fct$i\_$j"."2\_P2\_3D, der2fct$i\_$j"."3_P2\_3D,\n";
1967  }
1968 }
1969 */
1970 static const ReferenceElement::function_Type der2fct_Q1_3D[ 72 ] =
1971 {
1996 };
1997 
1998 
1999 //!======================================================================
2000 //!
2001 //! RT0 (3D)
2002 //!
2003 //!======================================================================
2004 /*!
2005 
2006  8-------7
2007  /. /|
2008  / . / |
2009  5_______6 |
2010  | . | |
2011  | 4....|..3
2012  | . | /
2013  |. |/
2014  1_______2
2015 
2016 face 1: 1,4,3,2
2017 face 2: 1,5,8,4
2018 face 3: 1,2,6,5
2019 face 4: 2,3,7,6
2020 face 5: 3,4,8,7
2021 face 6: 5,6,7,8
2022 
2023 */
2024 
2025 Real fct1_RT0_1_HEXA_3D ( const GeoVector& v );
2026 Real fct1_RT0_2_HEXA_3D ( const GeoVector& v );
2027 Real fct1_RT0_3_HEXA_3D ( const GeoVector& v );
2028 
2029 Real fct2_RT0_1_HEXA_3D ( const GeoVector& v );
2030 Real fct2_RT0_2_HEXA_3D ( const GeoVector& v );
2031 Real fct2_RT0_3_HEXA_3D ( const GeoVector& v );
2032 
2033 Real fct3_RT0_1_HEXA_3D ( const GeoVector& v );
2034 Real fct3_RT0_2_HEXA_3D ( const GeoVector& v );
2035 Real fct3_RT0_3_HEXA_3D ( const GeoVector& v );
2036 
2037 Real fct4_RT0_1_HEXA_3D ( const GeoVector& v );
2038 Real fct4_RT0_2_HEXA_3D ( const GeoVector& v );
2039 Real fct4_RT0_3_HEXA_3D ( const GeoVector& v );
2040 
2041 Real fct5_RT0_1_HEXA_3D ( const GeoVector& v );
2042 Real fct5_RT0_2_HEXA_3D ( const GeoVector& v );
2043 Real fct5_RT0_3_HEXA_3D ( const GeoVector& v );
2044 
2045 Real fct6_RT0_1_HEXA_3D ( const GeoVector& v );
2046 Real fct6_RT0_2_HEXA_3D ( const GeoVector& v );
2047 Real fct6_RT0_3_HEXA_3D ( const GeoVector& v );
2048 
2049 Real fct1_DIV_RT0_HEXA_3D ( const GeoVector& v );
2050 Real fct2_DIV_RT0_HEXA_3D ( const GeoVector& v );
2051 Real fct3_DIV_RT0_HEXA_3D ( const GeoVector& v );
2052 Real fct4_DIV_RT0_HEXA_3D ( const GeoVector& v );
2053 Real fct5_DIV_RT0_HEXA_3D ( const GeoVector& v );
2054 Real fct6_DIV_RT0_HEXA_3D ( const GeoVector& v );
2055 
2056 static const Real refcoor_RT0_HEXA_3D[ 18 ] =
2057 {
2058  0.5 , 0.5 , 0. ,
2059  0. , 0.5 , 0.5 ,
2060  0.5 , 0. , 0.5 ,
2061  1. , 0.5 , 0.5 ,
2062  0.5 , 1. , 0.5 ,
2063  0.5 , 0.5 , 1.
2064 };
2065 
2066 static const ReferenceElement::function_Type fct_RT0_HEXA_3D[ 18 ] =
2067 {
2074 };
2075 
2076 static const ReferenceElement::function_Type fct_DIV_RT0_HEXA_3D[ 6 ] =
2077 {
2081 };
2082 
2083 
2084 //!======================================================================
2085 //!
2086 //! RT0 (3D)
2087 //!
2088 //!======================================================================
2089 /*
2090 
2091  4
2092  | .
2093  | \.3
2094  | . \\
2095  | . \\
2096  |. \
2097  1 ---------2
2098 
2099 SEE ElementShapes.cc for the ORIENTATION CONVENTIONS
2100 point 1: 0, 0, 0
2101 point 2: 1, 0, 0
2102 point 3: 0, 1, 0
2103 point 4: 0, 0, 1
2104 
2105 face 1: 2, 3, 4
2106 face 2: 1, 4, 3
2107 face 3: 1, 2, 4
2108 face 4: 1, 3, 2
2109 */
2110 
2111 Real fct1_RT0_1_TETRA_3D ( const GeoVector& v );
2112 Real fct1_RT0_2_TETRA_3D ( const GeoVector& v );
2113 Real fct1_RT0_3_TETRA_3D ( const GeoVector& v );
2114 
2115 Real fct2_RT0_1_TETRA_3D ( const GeoVector& v );
2116 Real fct2_RT0_2_TETRA_3D ( const GeoVector& v );
2117 Real fct2_RT0_3_TETRA_3D ( const GeoVector& v );
2118 
2119 Real fct3_RT0_1_TETRA_3D ( const GeoVector& v );
2120 Real fct3_RT0_2_TETRA_3D ( const GeoVector& v );
2121 Real fct3_RT0_3_TETRA_3D ( const GeoVector& v );
2122 
2123 Real fct4_RT0_1_TETRA_3D ( const GeoVector& v );
2124 Real fct4_RT0_2_TETRA_3D ( const GeoVector& v );
2125 Real fct4_RT0_3_TETRA_3D ( const GeoVector& v );
2126 
2127 
2128 Real fct1_DIV_RT0_TETRA_3D ( const GeoVector& v );
2129 Real fct2_DIV_RT0_TETRA_3D ( const GeoVector& v );
2130 Real fct3_DIV_RT0_TETRA_3D ( const GeoVector& v );
2131 Real fct4_DIV_RT0_TETRA_3D ( const GeoVector& v );
2132 
2133 
2134 static const Real refcoor_RT0_TETRA_3D[ 12 ] =
2135 {
2136  1. / 3 , 1. / 3. , 0. ,
2137  1. / 3. , 0. , 1. / 3. ,
2138  1. / 3. , 1. / 3. , 1. / 3. ,
2139  0. , 1. / 3. , 1. / 3.
2140 };
2141 
2142 static const ReferenceElement::function_Type fct_RT0_TETRA_3D[ 12 ] =
2143 {
2148 };
2149 
2150 static const ReferenceElement::function_Type fct_DIV_RT0_TETRA_3D[ 4 ] =
2151 {
2154 };
2155 
2156 }
2157 #endif
Real der2fct4_12_P2_3D(const GeoVector &)
Real der2fct11_33_P2tilde_3D(const GeoVector &v)
Real derfct5_2_P2tilde_3D(const GeoVector &v)
Real der2fct3_31_P2_3D(const GeoVector &)
Real der2fct5_12_P2_2D(const GeoVector &)
Real der2fct11_23_P2tilde_3D(const GeoVector &v)
Real der2fct3_21_Q2_2D(const GeoVector &v)
Real fct9_P2tilde_3D(const GeoVector &v)
Real derfct3_1_P1bubble_3D(const GeoVector &)
Real der2fct3_22_P2tilde_3D(const GeoVector &v)
Real der2fct6_32_P2_3D(const GeoVector &)
Real der2fct2_22_P2_3D(const GeoVector &)
Real derfct6_2_P2_2D(const GeoVector &v)
Real der2fct1_32_P2tilde_3D(const GeoVector &v)
Real der2fct6_21_P2tilde_3D(const GeoVector &v)
Real der2fct8_32_P2_3D(const GeoVector &)
Real der2fct4_32_P2tilde_3D(const GeoVector &v)
Real der2fct1_22_P2tilde_3D(const GeoVector &v)
Real der2fct7_13_Q1_3D(const GeoVector &v)
Real phi(UInt i, UInt icoor, const Real &x, const Real &y, const Real &z) const
return the value of the component icoor-th of the i-th basis function on point (x,y,z).
Real fct8_Q2_2D(const GeoVector &v)
Real der2fct6_22_Q1_3D(const GeoVector &)
Real der2fct2_13_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_P0_0D[1]
Real fct1_P0_1D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P0_0D[1]
Real der2fct4_13_P2_3D(const GeoVector &)
const function_Type * M_phi
pointer on the basis functions
Real der2fct3_12_Q1_3D(const GeoVector &v)
virtual std::vector< Real > nodalToFEValues(const std::vector< Real > &) const
Method for transforming nodal values into FE values.
Real der2fct6_23_P2tilde_3D(const GeoVector &v)
Real fct3_Q1_3D(const GeoVector &v)
Real fct2_P1bubble_3D(const GeoVector &v)
const function_Type * M_d2Phi
pointer on the second derivatives of the basis functions
Real fct2_RT0_1_HEXA_3D(const GeoVector &v)
Real der2fct10_31_P2_3D(const GeoVector &)
Real derfct10_3_P2_3D(const GeoVector &v)
Real der2fct5_11_Q1_3D(const GeoVector &)
Real der2fct4_22_P2_3D(const GeoVector &)
Real der2fct6_33_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P1bubble_3D[45]
Real der2fct3_12_P2_3D(const GeoVector &)
Real fct2_P1_3D(const GeoVector &v)
Real der2fctx_xx_Q1_2D(const GeoVector &)
Real der2fct8_13_P2_3D(const GeoVector &)
static const Real refcoor_Q0_2D[3]
static const ReferenceElement::function_Type fct_RT0_HEXA_3D[18]
Real der2fct11_11_P2tilde_3D(const GeoVector &v)
Real fct2_P2_2D(const GeoVector &v)
Real der2fct9_12_P2tilde_3D(const GeoVector &v)
Real der2fct5_13_P2tilde_3D(const GeoVector &v)
Real fct1_RT0_2_TETRA_3D(const GeoVector &v)
Real der2fct3_11_Q1_3D(const GeoVector &)
bool hasDPhi() const
Check if the refEle has dPhi functions.
Real fct3_P1_2D(const GeoVector &v)
Real fct2_DIV_RT0_TRIA_2D(const GeoVector &)
Real fct1_DIV_RT0_TRIA_2D(const GeoVector &)
Real derfct2_3_P1bubble_3D(const GeoVector &)
bool hasDivPhi() const
Check if the refEle has divPhi functions.
Real der2fct1_31_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P2_1D[3]
static const ReferenceElement::function_Type derfct_P2_2D[12]
Real der2fct2_21_P2_3D(const GeoVector &)
Real der2fct1_22_Q1_3D(const GeoVector &)
Real derfct4_2_P2_3D(const GeoVector &)
Real derfct1_2_P1bubble_2D(const GeoVector &)
Real fct2_P1bubble_2D(const GeoVector &v)
Real der2fct4_21_Q2_2D(const GeoVector &v)
Real der2fct6_11_P2tilde_3D(const GeoVector &v)
Real der2fct7_21_Q1_3D(const GeoVector &v)
Real fct3_RT0_3_TETRA_3D(const GeoVector &v)
Real der2fct2_11_Q1_3D(const GeoVector &)
Real der2fct2_23_P2_3D(const GeoVector &)
ReferenceElement - The basis class for the geometric mapping and the reference finite elements...
Real der2fct1_Q0_2D(const GeoVector &)
static const ReferenceElement::function_Type fct_P0_2D[1]
Real der2fct4_33_Q1_3D(const GeoVector &)
Real derfct5_3_P1bubble_3D(const GeoVector &v)
Real der2fct1_22_Q2_2D(const GeoVector &v)
Real der2fct4_11_Q1_3D(const GeoVector &)
Real derfct2_1_Q1_2D(const GeoVector &v)
Real fct7_P2_3D(const GeoVector &v)
Real derfct9_3_P2tilde_3D(const GeoVector &v)
Real derfct3_1_Q1_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P1bubble_2D[4]
Real der2fct11_32_P2tilde_3D(const GeoVector &v)
Real derfct1_3_Q1_3D(const GeoVector &v)
Real der2fct4_12_P1bubble_2D(const GeoVector &v)
static const Real refcoor_P2_3D[30]
Real der2fct7_21_P2_3D(const GeoVector &)
Real fct1_P1bubble_3D(const GeoVector &v)
Real der2fct6_12_Q1_3D(const GeoVector &v)
Real der2fct4_31_Q1_3D(const GeoVector &v)
Real derfct3_1_P2_2D(const GeoVector &)
Real der2fct7_12_P2_3D(const GeoVector &)
Real derfct3_2_Q1_3D(const GeoVector &v)
Real der2fct5_33_P1bubble_3D(const GeoVector &v)
Real der2fct3_13_P2tilde_3D(const GeoVector &v)
Real der2fct5_31_P2_3D(const GeoVector &)
Real der2fct6_12_P2_2D(const GeoVector &)
Real der2fct4_33_P2tilde_3D(const GeoVector &v)
Real derfct9_1_P2tilde_3D(const GeoVector &v)
Real fct9_P2_3D(const GeoVector &v)
#define ASSERT_BD(X)
Definition: LifeAssert.hpp:114
Real derfct4_3_P2tilde_3D(const GeoVector &v)
Real der2fct4_21_Q1_3D(const GeoVector &v)
Real fct5_P1bubble_3D(const GeoVector &v)
Real der2fct5_13_P1bubble_3D(const GeoVector &v)
Real der2fct6_33_P2_3D(const GeoVector &)
Real der2fct9_12_P2_3D(const GeoVector &)
Real der2fct9_23_P2_3D(const GeoVector &)
Real der2fct2_23_P2tilde_3D(const GeoVector &v)
static const Real refcoor_Q1_3D[24]
Real fct1_P0_0D(const GeoVector &)
Real derfct7_3_Q1_3D(const GeoVector &v)
Real fct2_P1_1D(const GeoVector &v)
Real fct2_Q2_2D(const GeoVector &v)
Real der2fct5_21_P2_2D(const GeoVector &)
Real der2fct6_12_Q2_2D(const GeoVector &v)
Real der2fct1_21_P2_3D(const GeoVector &)
Real der2fct10_33_P2tilde_3D(const GeoVector &v)
Real der2fct5_23_Q1_3D(const GeoVector &v)
Real fct5_RT0_3_HEXA_3D(const GeoVector &)
Real derfct5_1_P2tilde_3D(const GeoVector &v)
static const Real refcoor_RT0_TETRA_3D[12]
Real fct6_Q2_2D(const GeoVector &v)
Real der2fct2_11_P2_3D(const GeoVector &)
Real derfct1_2_P2_2D(const GeoVector &v)
Real der2fct2_32_P2_3D(const GeoVector &)
Real der2fct7_23_Q1_3D(const GeoVector &v)
Real derfct8_2_P2tilde_3D(const GeoVector &v)
Real d2Phi(UInt i, UInt icoor, UInt jcoor, const Real &x, const Real &y, const Real &z) const
return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point (x...
Real der2fct10_21_P2_3D(const GeoVector &)
std::vector< GeoVector > refCoor() const
return the coordinates of the reference element
Real der2fct5_31_Q1_3D(const GeoVector &v)
Real der2fct3_21_P2_2D(const GeoVector &)
Real der2fct2_11_P2_1D(const GeoVector &)
Real fct3_Q2_2D(const GeoVector &v)
static const Real refcoor_P1bubble_3D[15]
Real derfct2_2_P2tilde_3D(const GeoVector &v)
Real der2fct8_31_P2tilde_3D(const GeoVector &v)
Real fct1_P2_1D(const GeoVector &v)
Real der2fct1_12_P2_3D(const GeoVector &)
Real der2fct7_13_P2_3D(const GeoVector &)
Real derfct8_1_Q1_3D(const GeoVector &v)
Real derfct4_2_Q1_3D(const GeoVector &v)
Real derfct6_2_P2_3D(const GeoVector &v)
Real fct2_P2tilde_3D(const GeoVector &v)
Real derfct1_1_Q2_2D(const GeoVector &v)
Real derfct9_2_P2_3D(const GeoVector &)
Real der2fct5_32_P2tilde_3D(const GeoVector &v)
Real der2fct6_32_P2tilde_3D(const GeoVector &v)
Real derfct2_2_P1_3D(const GeoVector &)
Real fct5_Q2_2D(const GeoVector &v)
Real der2fct8_23_P2_3D(const GeoVector &)
Real derfct2_3_Q1_3D(const GeoVector &v)
Real der2fct5_23_P1bubble_3D(const GeoVector &v)
Real fct1_RT0_1_TRIA_2D(const GeoVector &v)
======================================================================
Real derfct4_3_P2_3D(const GeoVector &v)
Real der2fct7_23_P2_3D(const GeoVector &)
Real derfct4_1_P1bubble_2D(const GeoVector &v)
Real derfct6_3_P2tilde_3D(const GeoVector &v)
Real derfct1_1_P1bubble_3D(const GeoVector &)
static const ReferenceElement::function_Type derfct_Q0_2D[2]
Real derfct7_1_Q1_3D(const GeoVector &v)
Real der2fct7_23_P2tilde_3D(const GeoVector &v)
Real derfct3_3_Q1_3D(const GeoVector &v)
Real fct1_P1_2D(const GeoVector &v)
Real derfct2_2_P1bubble_3D(const GeoVector &)
Real fct10_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P0_0D[1]
Real der2fct8_11_Q1_3D(const GeoVector &)
static const Real refcoor_P1_3D[12]
Real der2fct7_12_Q2_2D(const GeoVector &v)
Real d2Phi(UInt i, UInt icoor, UInt jcoor, const GeoVector &v) const
return the value of the (icoor,jcoor)-th second derivative of the i-th basis function on point v ...
Real der2fctx_xx_P1_2D(const GeoVector &)
Real der2fct1_P0_2D(const GeoVector &)
Real derfct4_2_Q2_2D(const GeoVector &v)
Real der2fct9_33_P2tilde_3D(const GeoVector &v)
Real der2fct2_21_P2_2D(const GeoVector &)
Real der2fct3_31_Q1_3D(const GeoVector &v)
Real derfct6_1_Q2_2D(const GeoVector &v)
Real der2fct8_21_P2_3D(const GeoVector &)
Real der2fct3_23_Q1_3D(const GeoVector &v)
Real derfct1_3_P2_3D(const GeoVector &v)
static const Real refcoor_Q0_3D[3]
Real derfct2_2_P2_3D(const GeoVector &)
Real fct1_RT0_1_TETRA_3D(const GeoVector &v)
======================================================================
Real derfct7_3_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P0_3D[3]
Real der2fct3_12_P2_2D(const GeoVector &)
Real der2fct9_21_P2tilde_3D(const GeoVector &v)
Real der2fctx_xx_P1bubble_3D(const GeoVector &)
Real der2fct11_31_P2tilde_3D(const GeoVector &v)
Real der2fct5_11_P1bubble_3D(const GeoVector &v)
Real der2fct8_23_P2tilde_3D(const GeoVector &v)
Real fct3_RT0_1_TETRA_3D(const GeoVector &v)
bool hasPhi() const
Check if the refEle has phi functions.
Real derfct4_2_Q1_2D(const GeoVector &v)
Real derfct4_1_Q1_3D(const GeoVector &v)
Real der2fct7_32_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P1bubble_2D[8]
Real der2fct7_32_P2tilde_3D(const GeoVector &v)
Real derfct7_1_Q2_2D(const GeoVector &v)
Real der2fct4_21_P2tilde_3D(const GeoVector &v)
Real derfct5_2_Q2_2D(const GeoVector &v)
Real der2fct2_33_Q1_3D(const GeoVector &)
Real der2fct6_11_Q2_2D(const GeoVector &v)
Real der2fct5_11_Q2_2D(const GeoVector &v)
Real fct1_Q0_2D(const GeoVector &)
Real fct2_Q1_2D(const GeoVector &v)
Real fct2_RT0_1_TETRA_3D(const GeoVector &v)
Real fct5_RT0_2_HEXA_3D(const GeoVector &v)
Real der2fct1_33_P2_3D(const GeoVector &)
Real der2fct6_13_P2tilde_3D(const GeoVector &v)
Real fct11_P2tilde_3D(const GeoVector &v)
const ReferenceShapes & shape() const
Return the shape of the element.
Real der2fct2_11_Q2_2D(const GeoVector &v)
Real derfct6_1_P2_2D(const GeoVector &v)
Real der2fct6_31_P2tilde_3D(const GeoVector &v)
Real der2fct10_22_P2_3D(const GeoVector &)
Real der2fct1_P0_3D(const GeoVector &)
Real der2fct9_23_P2tilde_3D(const GeoVector &v)
Real der2fct4_22_P1bubble_2D(const GeoVector &v)
Real der2fct7_22_P2tilde_3D(const GeoVector &v)
static const Real refcoor_P0_2D[3]
Real der2fct2_21_P2tilde_3D(const GeoVector &v)
Real der2fct5_33_Q1_3D(const GeoVector &)
Real derfct1_1_P2tilde_3D(const GeoVector &v)
Real der2fct7_33_P2tilde_3D(const GeoVector &v)
Real fct4_Q1_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_Q2_2D[18]
Real fct2_DIV_RT0_TETRA_3D(const GeoVector &)
Real der2fct8_32_Q1_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_RT0_TETRA_3D[12]
Real der2fct9_22_Q2_2D(const GeoVector &v)
Real der2fct1_21_P2tilde_3D(const GeoVector &v)
Real der2fct5_12_P2tilde_3D(const GeoVector &v)
Real der2fct1_31_Q1_3D(const GeoVector &v)
Real fct1_DIV_RT0_TETRA_3D(const GeoVector &)
static const ReferenceElement::function_Type fct_P1_3D[4]
Real der2fct4_13_P2tilde_3D(const GeoVector &v)
Real der2fct7_13_P2tilde_3D(const GeoVector &v)
Real der2fct3_31_P2tilde_3D(const GeoVector &v)
Real der2fct10_21_P2tilde_3D(const GeoVector &v)
Real derfct2_3_P2_3D(const GeoVector &)
Real derfct2_2_Q1_2D(const GeoVector &v)
Real derfct10_3_P2tilde_3D(const GeoVector &v)
Real fct2_RT0_2_HEXA_3D(const GeoVector &)
Real fct5_DIV_RT0_HEXA_3D(const GeoVector &)
Real der2fct3_11_P2tilde_3D(const GeoVector &v)
Real dPhi(UInt i, UInt icoor, const GeoVector &v) const
return the value of the icoor-th derivative of the i-th basis function on point v ...
Real derfct7_2_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_RT0_TRIA_2D[6]
Real fct6_RT0_3_HEXA_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P1bubble_3D[5]
Real der2fct4_22_Q2_2D(const GeoVector &v)
Real der2fct3_32_P2_3D(const GeoVector &)
Real der2fct8_12_Q2_2D(const GeoVector &v)
Real der2fct6_22_P2tilde_3D(const GeoVector &v)
Real derfct2_2_P1_2D(const GeoVector &)
Real der2fct3_32_P2tilde_3D(const GeoVector &v)
Real der2fct7_11_P2tilde_3D(const GeoVector &v)
Real der2fct6_33_Q1_3D(const GeoVector &)
Real derfct11_3_P2tilde_3D(const GeoVector &v)
Real derfct1_2_P1_2D(const GeoVector &)
Real der2fct1_11_P2_3D(const GeoVector &)
Real xi(UInt i) const
return the first local coordinate of the i-th node of the reference element
Real fct9_Q2_2D(const GeoVector &v)
Real derfct9_3_P2_3D(const GeoVector &v)
Real der2fct6_21_Q1_3D(const GeoVector &v)
static const Real refcoor_Q1_2D[12]
Real derfct4_3_Q1_3D(const GeoVector &v)
Real der2fct2_12_Q2_2D(const GeoVector &v)
Real fct2_RT0_2_TRIA_2D(const GeoVector &v)
Real derfct2_2_Q1_3D(const GeoVector &v)
void updateInverseJacobian(const UInt &iQuadPt)
Real der2fct4_23_P2_3D(const GeoVector &)
Real derfct10_2_P2_3D(const GeoVector &v)
static const Real refcoor_P1_1D[6]
Real der2fct9_32_P2_3D(const GeoVector &)
Real derfct1_2_P2_3D(const GeoVector &v)
static const Real refcoor_RT0_TRIA_2D[9]
Real derfct4_2_P1_3D(const GeoVector &)
Real derfct11_1_P2tilde_3D(const GeoVector &v)
Real fct3_RT0_1_HEXA_3D(const GeoVector &)
Real derfct8_2_Q2_2D(const GeoVector &v)
Real der2fct4_11_P2tilde_3D(const GeoVector &v)
Real der2fct2_11_P2_2D(const GeoVector &)
Real der2fct4_12_P2_2D(const GeoVector &)
Real der2fct10_13_P2_3D(const GeoVector &)
Real derfct7_2_P2tilde_3D(const GeoVector &v)
Real der2fct10_13_P2tilde_3D(const GeoVector &v)
Real der2fct8_11_Q2_2D(const GeoVector &v)
Real der2fct3_22_Q2_2D(const GeoVector &v)
Real der2fct6_22_P2_2D(const GeoVector &)
Real derfct6_1_P2_3D(const GeoVector &v)
Real der2fct9_13_P2_3D(const GeoVector &)
Real der2fct5_31_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_Q0_3D[9]
Real der2fct8_12_P2_3D(const GeoVector &)
Real fct6_DIV_RT0_HEXA_3D(const GeoVector &)
Real der2fct1_Q0_3D(const GeoVector &)
Real der2fct2_21_Q2_2D(const GeoVector &v)
Real fct1_Q0_3D(const GeoVector &)
Real der2fct5_33_P2tilde_3D(const GeoVector &v)
Real der2fct2_31_P2tilde_3D(const GeoVector &v)
Real fct6_P2_2D(const GeoVector &v)
Real derfct4_3_P1bubble_3D(const GeoVector &)
Real der2fct3_13_P2_3D(const GeoVector &)
Real derfct3_1_P2_1D(const GeoVector &v)
Real der2fct4_21_P2_3D(const GeoVector &)
Real derfct2_1_P2_2D(const GeoVector &v)
Real derfct3_1_P1bubble_2D(const GeoVector &)
Real derfct1_2_Q2_2D(const GeoVector &v)
Real derfct5_1_P2_3D(const GeoVector &v)
Real der2fct3_11_P2_1D(const GeoVector &)
Real fct1_Q2_2D(const GeoVector &v)
Real derfct5_1_Q2_2D(const GeoVector &v)
Real der2fct5_22_P2tilde_3D(const GeoVector &v)
Real der2fct2_12_Q1_3D(const GeoVector &v)
Real der2fct5_23_P2tilde_3D(const GeoVector &v)
Real fct3_RT0_3_TRIA_2D(const GeoVector &v)
Real der2fct7_22_Q1_3D(const GeoVector &)
Real der2fct8_33_P2_3D(const GeoVector &)
Real der2fct10_33_P2_3D(const GeoVector &)
ReferenceElement()
No way to use the empty constructor.
Real derfct2_2_P1bubble_2D(const GeoVector &)
Real der2fct2_13_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_DIV_RT0_TRIA_2D[3]
static const ReferenceElement::function_Type der2fct_P1_1D[2]
Real fct2_RT0_1_TRIA_2D(const GeoVector &v)
Real der2fct6_22_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P1_3D[12]
static const ReferenceElement::function_Type fct_P2_2D[6]
Real der2fct4_11_P2_2D(const GeoVector &)
Real der2fct10_12_P2_3D(const GeoVector &)
Real derfct3_2_P1bubble_3D(const GeoVector &)
Real fct3_DIV_RT0_HEXA_3D(const GeoVector &)
Real der2fct1_31_P2_3D(const GeoVector &)
Real der2fct8_11_P2tilde_3D(const GeoVector &v)
Real der2fct4_11_Q2_2D(const GeoVector &v)
Real derfct3_2_P1_3D(const GeoVector &)
static const Real refcoor_P2tilde_3D[33]
static const Real refcoor_P0_0D[3]
Real der2fct9_22_P2_3D(const GeoVector &)
Real derfct1_1_P2_1D(const GeoVector &v)
Real derfct6_1_P2tilde_3D(const GeoVector &v)
Real der2fct5_32_P1bubble_3D(const GeoVector &v)
Real der2fct9_31_P2tilde_3D(const GeoVector &v)
Real der2fct11_21_P2tilde_3D(const GeoVector &v)
Real refCoor(UInt i, UInt icoor) const
return the icoor-th local coordinate of the i-th node of the reference element
Real der2fct1_33_Q1_3D(const GeoVector &)
Real derfct4_1_Q2_2D(const GeoVector &v)
Real der2fct6_21_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P2tilde_3D[11]
Real derfct7_1_P2_3D(const GeoVector &v)
Real der2fct1_11_P2tilde_3D(const GeoVector &v)
Real der2fct2_23_Q1_3D(const GeoVector &v)
Real der2fct4_23_Q1_3D(const GeoVector &v)
Real fct2_P2_3D(const GeoVector &v)
Real der2fct9_32_P2tilde_3D(const GeoVector &v)
Real fct1_RT0_1_HEXA_3D(const GeoVector &)
======================================================================
Real derfct1_1_Q1_3D(const GeoVector &v)
Real der2fct5_21_P2_3D(const GeoVector &)
Real der2fct9_13_P2tilde_3D(const GeoVector &v)
Real derfct3_2_Q1_2D(const GeoVector &v)
Real derfct1_P0_3D(const GeoVector &)
Real der2fct3_22_Q1_3D(const GeoVector &)
Real der2fct5_21_P1bubble_3D(const GeoVector &v)
Real derfct5_3_P2tilde_3D(const GeoVector &v)
Real derfct7_3_P2_3D(const GeoVector &v)
Real fct1_Q1_2D(const GeoVector &v)
Real derfct5_2_P2_3D(const GeoVector &v)
Real fct4_RT0_1_TETRA_3D(const GeoVector &v)
Real divPhi(UInt i, const GeoVector &v) const
return the value of the divergence of the i-th basis function on point v.
static const ReferenceElement::function_Type fct_P0_3D[1]
Real der2fct9_12_Q2_2D(const GeoVector &v)
Real fct4_RT0_2_HEXA_3D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_P0_1D[1]
Real fct3_P2tilde_3D(const GeoVector &v)
Real derfct2_1_P1_2D(const GeoVector &)
Real derfct9_1_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P1_2D[12]
Real derfct4_2_P2tilde_3D(const GeoVector &v)
Real derfct3_3_P1_3D(const GeoVector &)
Real derfct5_3_P2_3D(const GeoVector &v)
Real fct1_RT0_3_TETRA_3D(const GeoVector &v)
Real der2fct9_11_P2_3D(const GeoVector &)
Real derfct11_2_P2tilde_3D(const GeoVector &v)
Real der2fct5_32_P2_3D(const GeoVector &)
Real fct3_RT0_3_HEXA_3D(const GeoVector &)
Real derfct3_2_P1_2D(const GeoVector &)
bool hasD2Phi() const
Check if the refEle has d2Phi functions.
Real der2fct1_P1_1D(const GeoVector &)
Real der2fct2_21_Q1_3D(const GeoVector &v)
Real derfct1_1_Q1_2D(const GeoVector &v)
Real fct1_RT0_3_HEXA_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P2_3D[90]
Real fct8_P2tilde_3D(const GeoVector &v)
Real der2fct6_11_P2_2D(const GeoVector &)
Real der2fct3_33_Q1_3D(const GeoVector &)
Real der2fct2_22_Q2_2D(const GeoVector &v)
Real der2fct5_21_Q2_2D(const GeoVector &v)
Real derfct3_2_P2tilde_3D(const GeoVector &v)
Real der2fct2_31_Q1_3D(const GeoVector &v)
Real fct1_RT0_2_TRIA_2D(const GeoVector &v)
Real derfct3_1_P1_3D(const GeoVector &)
Real derfct6_3_Q1_3D(const GeoVector &v)
Real derfct4_1_P2_3D(const GeoVector &)
Real derfct5_1_P2_2D(const GeoVector &v)
Real derfct9_1_P2_3D(const GeoVector &v)
Real derfct1_2_P2tilde_3D(const GeoVector &v)
Real der2fct7_32_Q1_3D(const GeoVector &v)
Real der2fct1_23_P2tilde_3D(const GeoVector &v)
Real fct5_RT0_1_HEXA_3D(const GeoVector &)
Real fct5_P2_2D(const GeoVector &v)
Real der2fct3_11_P2_2D(const GeoVector &)
Real der2fct7_21_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P2_2D[24]
Real der2fct11_12_P2tilde_3D(const GeoVector &v)
Real der2fct5_11_P2_3D(const GeoVector &)
Real der2fct4_11_P2_3D(const GeoVector &)
Real der2fct3_12_Q2_2D(const GeoVector &v)
Real der2fct4_23_P2tilde_3D(const GeoVector &v)
Real derfct10_1_P2tilde_3D(const GeoVector &v)
Real der2fct6_12_P2_3D(const GeoVector &)
const ReferenceShapes M_shape
geometrical shape of the element
Real der2fctx_xx_P1bubble_2D(const GeoVector &)
Real der2fct6_21_P2_3D(const GeoVector &)
Real der2fct8_31_P2_3D(const GeoVector &)
Real der2fct3_11_P2_3D(const GeoVector &)
Real derfct1_3_P1bubble_3D(const GeoVector &)
static const ReferenceElement::function_Type fct_P0_1D[1]
Real der2fct3_23_P2tilde_3D(const GeoVector &v)
Real fct4_RT0_3_TETRA_3D(const GeoVector &v)
Real fct3_RT0_2_TETRA_3D(const GeoVector &v)
Real fct1_RT0_2_HEXA_3D(const GeoVector &)
const UInt M_nbLocalCoor
Number of local coordinates.
Real der2fct5_12_Q2_2D(const GeoVector &v)
Real der2fct4_31_P2_3D(const GeoVector &)
Real derfct2_1_P1bubble_2D(const GeoVector &)
Real derfct1_P0_0D(const GeoVector &)
Real der2fct7_11_P2_3D(const GeoVector &)
Real fct3_RT0_2_HEXA_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_Q0_3D[3]
Real fct7_P2tilde_3D(const GeoVector &v)
Real der2fct1_11_Q2_2D(const GeoVector &v)
const std::string M_name
name of the reference element
Real der2fct1_13_P2tilde_3D(const GeoVector &v)
Real der2fct5_11_P2tilde_3D(const GeoVector &v)
Real derfct1_1_P1_3D(const GeoVector &)
Real derfct9_2_P2tilde_3D(const GeoVector &v)
Real der2fct2_13_Q1_3D(const GeoVector &v)
Real fct3_P2_1D(const GeoVector &v)
Real der2fct1_P0_0D(const GeoVector &)
Real der2fct2_33_P2tilde_3D(const GeoVector &v)
Real der2fct7_31_Q1_3D(const GeoVector &v)
Real der2fct9_22_P2tilde_3D(const GeoVector &v)
Real fct7_Q1_3D(const GeoVector &v)
Real derfct7_2_P2_3D(const GeoVector &v)
Real der2fct8_22_P2tilde_3D(const GeoVector &v)
Real der2fct6_21_P2_2D(const GeoVector &)
Real der2fct4_11_P1bubble_2D(const GeoVector &v)
static const Real refcoor_P2_1D[9]
Real fct2_RT0_3_TETRA_3D(const GeoVector &v)
Real fct3_DIV_RT0_TETRA_3D(const GeoVector &)
virtual ~ReferenceElement()
Destructor.
const UInt M_nbDof
Total number of degrees of freedom.
Real der2fct6_31_P2_3D(const GeoVector &)
Real der2fct6_23_Q1_3D(const GeoVector &v)
Real der2fct5_32_Q1_3D(const GeoVector &v)
Real derfct7_2_Q1_3D(const GeoVector &v)
Real der2fct2_22_P2_2D(const GeoVector &)
const function_Type * M_dPhi
pointer on the derivatives of the basis functions
Real der2fct1_13_Q1_3D(const GeoVector &v)
const UInt & nbDof() const
Return the number of degrees of freedom for this reference element.
Real der2fct9_11_Q2_2D(const GeoVector &v)
Real fct4_DIV_RT0_TETRA_3D(const GeoVector &)
Real fct3_Q1_2D(const GeoVector &v)
Real derfct2_1_P1bubble_3D(const GeoVector &)
Real fct4_RT0_3_HEXA_3D(const GeoVector &)
Real der2fct8_13_P2tilde_3D(const GeoVector &v)
Real der2fct3_11_Q2_2D(const GeoVector &v)
Real fct2_RT0_3_TRIA_2D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P2_1D[3]
static const ReferenceElement::function_Type fct_P1_2D[3]
Real der2fct5_12_Q1_3D(const GeoVector &v)
Real der2fct11_13_P2tilde_3D(const GeoVector &v)
Real der2fct1_33_P2tilde_3D(const GeoVector &v)
Real fct1_P2_3D(const GeoVector &v)
Real derfct4_1_P1_3D(const GeoVector &)
Real der2fct7_11_Q2_2D(const GeoVector &v)
Real der2fct8_12_P2tilde_3D(const GeoVector &v)
Real derfct8_3_P2tilde_3D(const GeoVector &v)
Real fct2_P1_2D(const GeoVector &v)
Real fct1_DIV_RT0_HEXA_3D(const GeoVector &)
Real fct8_Q1_3D(const GeoVector &v)
const UInt M_feDim
Number of dimension of the FE (1 for scalar FE, more for vectorial FE)
Real der2fct9_21_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_DIV_RT0_TETRA_3D[4]
static const Real refcoor_P1bubble_2D[12]
Real fct3_P1_3D(const GeoVector &v)
Real derfct9_2_Q2_2D(const GeoVector &v)
Real derfct3_3_P1bubble_3D(const GeoVector &)
Real fct4_RT0_2_TETRA_3D(const GeoVector &v)
Real der2fct4_22_Q1_3D(const GeoVector &)
Real derfct3_1_Q2_2D(const GeoVector &v)
Real der2fct8_32_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P1_2D[6]
Real fct3_P1bubble_2D(const GeoVector &v)
Real der2fct8_33_P2tilde_3D(const GeoVector &v)
Real der2fct5_22_Q1_3D(const GeoVector &)
static const ReferenceElement::function_Type fct_Q2_2D[9]
Real der2fct8_21_Q1_3D(const GeoVector &v)
Real derfct2_3_P1_3D(const GeoVector &)
Real der2fct7_33_Q1_3D(const GeoVector &)
Real derfct1_1_P2_2D(const GeoVector &v)
Real der2fct8_13_Q1_3D(const GeoVector &v)
Real der2fct2_12_P2tilde_3D(const GeoVector &v)
Real der2fct8_12_Q1_3D(const GeoVector &v)
Real derfct3_2_P2_3D(const GeoVector &v)
Real der2fct6_13_P2_3D(const GeoVector &)
double Real
Generic real data.
Definition: LifeV.hpp:175
Real der2fct4_13_Q1_3D(const GeoVector &v)
Real der2fct6_32_Q1_3D(const GeoVector &v)
Real fct1_RT0_3_TRIA_2D(const GeoVector &v)
Real der2fct5_13_P2_3D(const GeoVector &)
Real der2fct5_21_Q1_3D(const GeoVector &v)
Real der2fct5_22_P1bubble_3D(const GeoVector &v)
Real fct2_RT0_3_HEXA_3D(const GeoVector &)
Real fct1_P1bubble_2D(const GeoVector &v)
Real fct4_Q1_2D(const GeoVector &v)
Real derfct2_1_P1_1D(const GeoVector &)
Real phi(UInt i, UInt icoor, const GeoVector &v) const
return the value of the component icoor-th of the i-th basis function on point v. ...
Real der2fct6_11_Q1_3D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_Q1_2D[16]
Real derfct7_1_P2tilde_3D(const GeoVector &v)
Real der2fct5_12_P2_3D(const GeoVector &)
Real derfct6_2_P2tilde_3D(const GeoVector &v)
Real der2fct4_12_Q2_2D(const GeoVector &v)
Real derfct1_Q0_3D(const GeoVector &)
Real derfct8_1_Q2_2D(const GeoVector &v)
Real der2fct1_12_Q1_3D(const GeoVector &v)
Real der2fct1_32_P2_3D(const GeoVector &)
Real der2fct6_12_P2tilde_3D(const GeoVector &v)
Real der2fct4_31_P2tilde_3D(const GeoVector &v)
Real der2fct8_21_Q2_2D(const GeoVector &v)
Real derfct5_2_P1bubble_3D(const GeoVector &v)
Real der2fct5_33_P2_3D(const GeoVector &)
Real der2fct3_33_P2tilde_3D(const GeoVector &v)
Real derfct8_1_P2_3D(const GeoVector &v)
Real fct2_P2_1D(const GeoVector &v)
const UInt & nbLocalCoor() const
Return the number of local coordinates.
Real derfct1_2_Q1_2D(const GeoVector &v)
Real der2fct8_22_P2_3D(const GeoVector &)
Real derfct4_2_P1bubble_3D(const GeoVector &)
Real der2fct2_32_P2tilde_3D(const GeoVector &v)
Real der2fct8_33_Q1_3D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P0_2D[2]
static const ReferenceElement::function_Type fct_Q1_3D[8]
Real fct3_P2_3D(const GeoVector &v)
Real der2fct3_12_P2tilde_3D(const GeoVector &v)
Real derfct5_2_Q1_3D(const GeoVector &v)
Real der2fct3_21_P2_3D(const GeoVector &)
Real der2fct1_12_P2_2D(const GeoVector &)
static const ReferenceElement::function_Type derfct_Q1_3D[24]
Real derfct4_1_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P0_2D[4]
Real der2fct6_31_Q1_3D(const GeoVector &v)
Real derfct3_1_P2tilde_3D(const GeoVector &v)
Real der2fct1_22_P2_3D(const GeoVector &)
Real der2fct4_32_P2_3D(const GeoVector &)
Real der2fct3_13_Q1_3D(const GeoVector &v)
Real der2fct7_31_P2_3D(const GeoVector &)
Real fct5_Q1_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P2tilde_3D[99]
Real der2fct10_23_P2_3D(const GeoVector &)
Real der2fct7_11_Q1_3D(const GeoVector &)
Real fct1_P1_1D(const GeoVector &v)
const UInt & feDim() const
Return the dimension of the FE (scalar vs vectorial FE)
Real der2fct1_22_P2_2D(const GeoVector &)
Real derfct1_1_P2_3D(const GeoVector &v)
Real fct5_P2tilde_3D(const GeoVector &v)
ReferenceElement(const ReferenceElement &)
No way to use the copy constuctor.
Real der2fct8_22_Q2_2D(const GeoVector &v)
Real derfct3_1_Q1_2D(const GeoVector &v)
Real der2fct10_31_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_Q0_2D[4]
Real der2fct7_21_Q2_2D(const GeoVector &v)
Real derfct8_2_Q1_3D(const GeoVector &v)
Real der2fct1_12_Q2_2D(const GeoVector &v)
Real der2fct7_12_P2tilde_3D(const GeoVector &v)
Real der2fct8_11_P2_3D(const GeoVector &)
Real fct4_RT0_1_HEXA_3D(const GeoVector &v)
const std::string & name() const
Return the name of the reference element.
Real der2fct9_11_P2tilde_3D(const GeoVector &v)
Real der2fct1_P0_1D(const GeoVector &)
Real der2fct3_33_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type fct_Q1_2D[4]
Real eta(UInt i) const
return the second local coordinate of the i-th node of the reference element
Real derfct8_3_P2_3D(const GeoVector &v)
static const Real refcoor_P0_3D[3]
Real fct4_P2_2D(const GeoVector &v)
Real derfct2_2_P2_2D(const GeoVector &)
Real derfct2_3_P2tilde_3D(const GeoVector &v)
Real fct8_P2_3D(const GeoVector &v)
Real derfct2_1_P1_3D(const GeoVector &)
Real derfct3_2_P1bubble_2D(const GeoVector &)
Real derfct2_1_P2_1D(const GeoVector &v)
Real derfct1_1_P0_1D(const GeoVector &)
Real der2fct4_32_Q1_3D(const GeoVector &v)
Real der2fct4_33_P2_3D(const GeoVector &)
Real derfct4_2_P1bubble_2D(const GeoVector &v)
Real der2fct2_32_Q1_3D(const GeoVector &v)
Real derfct8_2_P2_3D(const GeoVector &v)
Real fct1_Q1_3D(const GeoVector &v)
Real der2fct5_11_P2_2D(const GeoVector &)
Real fct1_P2tilde_3D(const GeoVector &v)
Real derfct3_2_P2_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P1_1D[2]
Real fct4_P1bubble_2D(const GeoVector &v)
Real derfct1_1_P1_1D(const GeoVector &)
Real der2fct6_23_P2_3D(const GeoVector &)
Real derfct10_1_P2_3D(const GeoVector &)
#define LIFEV_DEPRECATED(func)
Definition: LifeV.hpp:117
Real der2fct3_22_P2_3D(const GeoVector &)
Real der2fct2_12_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_Q1_3D[72]
Real fct5_P2_3D(const GeoVector &v)
Real fct2_DIV_RT0_HEXA_3D(const GeoVector &)
Real derfct3_2_Q2_2D(const GeoVector &v)
static const Real refcoor_Q2_2D[27]
Real der2fct10_23_P2tilde_3D(const GeoVector &v)
Real derfct1_1_P1_2D(const GeoVector &)
Real derfct5_1_P1bubble_3D(const GeoVector &v)
static const Real refcoor_P0_1D[3]
static const Real refcoor_RT0_HEXA_3D[18]
static const ReferenceElement::function_Type fct_Q0_2D[1]
Real derfct6_1_Q1_3D(const GeoVector &v)
Real fct4_Q2_2D(const GeoVector &v)
Real derfct3_3_P2tilde_3D(const GeoVector &v)
Real der2fct2_22_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P2tilde_3D[33]
Real fct3_DIV_RT0_TRIA_2D(const GeoVector &)
Real der2fct8_22_Q1_3D(const GeoVector &)
Real der2fct5_12_P1bubble_3D(const GeoVector &v)
static const ReferenceElement::function_Type fct_Q0_3D[1]
Real derfct5_1_Q1_3D(const GeoVector &v)
Real fct1_P2_2D(const GeoVector &v)
Real derfct2_1_P2_3D(const GeoVector &v)
Real fct6_Q1_3D(const GeoVector &v)
Real fct4_DIV_RT0_HEXA_3D(const GeoVector &)
Real der2fct11_22_P2tilde_3D(const GeoVector &v)
Real derfct8_1_P2tilde_3D(const GeoVector &v)
Real fct2_Q1_3D(const GeoVector &v)
Real der2fct10_11_P2tilde_3D(const GeoVector &v)
Real der2fct9_31_P2_3D(const GeoVector &)
Real fct1_P0_3D(const GeoVector &)
Real der2fct5_22_P2_3D(const GeoVector &)
Real der2fct7_22_P2_3D(const GeoVector &)
Real derfct1_2_P1_3D(const GeoVector &)
Real derfct3_3_P2_3D(const GeoVector &)
Real derfct5_2_P2_2D(const GeoVector &v)
Real der2fct1_13_P2_3D(const GeoVector &)
Real der2fct1_12_P2tilde_3D(const GeoVector &v)
Real phi(UInt i, const Real &x, const Real &y, const Real &z) const
return the value of the i-th basis function on point (x,y,z)
Real derfct6_2_Q1_3D(const GeoVector &v)
Real fct2_RT0_2_TETRA_3D(const GeoVector &v)
Real der2fct5_21_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P0_1D[1]
static const Real refcoor_P1_2D[9]
Real fct1_P1_3D(const GeoVector &v)
Real fct3_RT0_1_TRIA_2D(const GeoVector &v)
Real der2fct3_32_Q1_3D(const GeoVector &v)
Real der2fct2_12_P2_2D(const GeoVector &)
const function_Type * M_divPhi
pointer on the divergence of the basis functions
Real derfct1_Q0_2D(const GeoVector &)
Real derfct3_1_P1_2D(const GeoVector &)
Real fct6_RT0_1_HEXA_3D(const GeoVector &)
Real der2fct10_22_P2tilde_3D(const GeoVector &v)
Real der2fct1_11_P2_2D(const GeoVector &)
Real der2fct8_23_Q1_3D(const GeoVector &v)
Real der2fct8_21_P2tilde_3D(const GeoVector &v)
Real phi(UInt i, const GeoVector &v) const
Return the value of the i-th basis function in the point v.
static const Real refcoor_P2_2D[18]
Real zeta(UInt i) const
return the third local coordinate of the i-th node of the reference element
Real derfct4_1_P2_2D(const GeoVector &v)
Real der2fct6_22_Q2_2D(const GeoVector &v)
Real der2fct3_21_Q1_3D(const GeoVector &v)
Real der2fct2_11_P2tilde_3D(const GeoVector &v)
Real der2fct1_11_P2_1D(const GeoVector &)
Real derfct1_2_P1bubble_3D(const GeoVector &)
Real derfct4_3_P1_3D(const GeoVector &)
Real fct3_P2_2D(const GeoVector &v)
Real der2fct3_23_P2_3D(const GeoVector &)
Real der2fct2_22_Q1_3D(const GeoVector &)
Real der2fct2_33_P2_3D(const GeoVector &)
Real derfct2_1_Q1_3D(const GeoVector &v)
Real der2fct3_22_P2_2D(const GeoVector &)
Real fct6_P2_3D(const GeoVector &v)
Real derfct1_3_P2tilde_3D(const GeoVector &v)
Real der2fct4_12_P2tilde_3D(const GeoVector &v)
Real dPhi(UInt i, UInt icoor, const Real &x, const Real &y, const Real &z) const
return the value of the icoor-th derivative of the i-th basis function on point (x,y,z)
Real der2fct1_23_P2_3D(const GeoVector &)
Real der2fct4_22_P2_2D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_P1bubble_2D[16]
Real derfct6_3_P2_3D(const GeoVector &)
Real der2fct1_21_Q2_2D(const GeoVector &v)
Real derfct10_2_P2tilde_3D(const GeoVector &v)
Real derfct4_2_P2_2D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_Q2_2D[36]
ReferenceElement(std::string name, ReferenceShapes shape, UInt nbDof, UInt nbLocalCoor, UInt feDim, const function_Type *phi, const function_Type *dPhi, const function_Type *d2Phi, const function_Type *divPhi, const Real *refCoor)
Full constructor.
static const ReferenceElement::function_Type derfct_Q1_2D[8]
Real der2fct4_21_P1bubble_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_DIV_RT0_HEXA_3D[6]
Real der2fct5_22_Q2_2D(const GeoVector &v)
Real fct10_P2_3D(const GeoVector &v)
Real fct6_RT0_2_HEXA_3D(const GeoVector &)
Real derfct8_3_Q1_3D(const GeoVector &v)
Real der2fct1_23_Q1_3D(const GeoVector &v)
Real der2fct1_21_Q1_3D(const GeoVector &v)
Real der2fct1_32_Q1_3D(const GeoVector &v)
Real der2fct7_12_Q1_3D(const GeoVector &v)
Real derfct4_1_Q1_2D(const GeoVector &v)
Real der2fct1_11_Q1_3D(const GeoVector &)
Real der2fct5_22_P2_2D(const GeoVector &)
Real derfct5_3_Q1_3D(const GeoVector &v)
Real der2fct10_32_P2tilde_3D(const GeoVector &v)
Real der2fct10_12_P2tilde_3D(const GeoVector &v)
Real fct3_P1bubble_3D(const GeoVector &v)
Real der2fct2_31_P2_3D(const GeoVector &)
Real derfct1_P0_2D(const GeoVector &)
Real der2fct9_21_P2_3D(const GeoVector &)
Real der2fct4_21_P2_2D(const GeoVector &)
Real derfct1_1_P1bubble_2D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P2_3D[30]
Real der2fct9_33_P2_3D(const GeoVector &)
Real der2fct4_22_P2tilde_3D(const GeoVector &v)
uint32_type UInt
generic unsigned integer (used mainly for addressing)
Definition: LifeV.hpp:191
Real der2fct5_23_P2_3D(const GeoVector &)
Real der2fct6_11_P2_3D(const GeoVector &)
Real derfct6_2_Q2_2D(const GeoVector &v)
Real fct4_P2tilde_3D(const GeoVector &v)
Real derfct2_2_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type der2fct_P0_3D[9]
Real derfct1_2_Q1_3D(const GeoVector &v)
Real derfct1_3_P1_3D(const GeoVector &)
Real derfct3_1_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type fct_P2_3D[10]
Real der2fct10_11_P2_3D(const GeoVector &)
Real derfct4_1_P1bubble_3D(const GeoVector &)
Real fct7_Q2_2D(const GeoVector &v)
Real derfct2_1_Q2_2D(const GeoVector &v)
static const ReferenceElement::function_Type fct_P2_1D[3]
Real fct3_RT0_2_TRIA_2D(const GeoVector &v)
Real fct6_P2tilde_3D(const GeoVector &v)
static const ReferenceElement::function_Type derfct_P1_1D[2]
Real der2fct7_31_P2tilde_3D(const GeoVector &v)
Real fct4_P2_3D(const GeoVector &v)
Real der2fct4_12_Q1_3D(const GeoVector &v)
Real der2fct5_31_P1bubble_3D(const GeoVector &v)
Real fct4_P1_3D(const GeoVector &v)
Real der2fct6_13_Q1_3D(const GeoVector &v)
Real der2fct10_32_P2_3D(const GeoVector &)
static const ReferenceElement::function_Type der2fct_P1_3D[36]
Real divPhi(UInt i, const Real &x, const Real &y, const Real &z) const
return the value of the divergence of the i-th basis function on point (x,y,z).
const Real * M_refCoor
reference coordinates. Order: xistd::placeholders::_1,etA_1,zetA_1,xistd::placeholders::_2,etA_2,zetA_2,...
Real der2fct7_33_P2_3D(const GeoVector &)
Real der2fct5_13_Q1_3D(const GeoVector &v)
Real derfct2_1_P2tilde_3D(const GeoVector &v)
Real der2fct3_21_P2tilde_3D(const GeoVector &v)
Real der2fctx_xx_P1_3D(const GeoVector &)
static const ReferenceElement::function_Type derfct_P1bubble_3D[15]
Real fct1_P0_2D(const GeoVector &)
Real fct4_P1bubble_3D(const GeoVector &v)
Real der2fct7_22_Q2_2D(const GeoVector &v)
Real der2fct1_21_P2_2D(const GeoVector &)
Real der2fct8_31_Q1_3D(const GeoVector &v)