IFEM  90A354
Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
FiniteElement Class Reference

Class representing a finite element. More...

#include <FiniteElement.h>

Inheritance diagram for FiniteElement:
Inheritance graph
[legend]
Collaboration diagram for FiniteElement:
Collaboration graph
[legend]

Public Member Functions

 FiniteElement (size_t n=0, size_t i=0)
 Default constructor.
 
virtual size_t getNoBasis () const
 Returns the number of bases.
 
virtual const Vectorbasis (char) const
 Returns a const reference to the basis function values.
 
virtual Vectorbasis (char)
 Returns a reference to the basis function values.
 
virtual const Matrixgrad (char) const
 Returns a const reference to the basis function derivatives.
 
virtual const Matrix3Dhess (char) const
 Returns a const reference to the basis function 2nd-derivatives.
 
virtual const Matrix4Dhess2 (char) const
 Returns a const reference to the basis function 3nd-derivatives.
 
- Public Member Functions inherited from ItgPoint
 ItgPoint (size_t i=0)
 Default constructor.
 
 ItgPoint (double a, double b=0.0, double c=0.0, size_t i=0)
 Constructor initializing the spline domain parameters.
 
 ItgPoint (const double *par, size_t i=0)
 Alternative constructor initializing the spline domain parameters.
 
virtual ~ItgPoint ()
 Empty destructor.
 

Public Attributes

double detJxW
 Weighted determinant of the coordinate mapping.
 
Vector N
 Basis function values.
 
Matrix dNdX
 First derivatives (gradient) of the basis functions.
 
Matrix3D d2NdX2
 Second derivatives of the basis functions.
 
Matrix4D d3NdX3
 Third derivatives of the basis functions.
 
Matrix G
 Covariant basis / Matrix used for stabilized methods.
 
Matrix H
 Hessian.
 
Matrix P
 Matrix holding Piola-mapped basis function values. More...
 
Matrix dPdX
 Matrix holding Piola-mapped basis derivatives. More...
 
short int p
 Polynomial order of the basis in u-direction.
 
short int q
 Polynomial order of the basis in v-direction.
 
short int r
 Polynomial order of the basis in r-direction.
 
double age
 Time since birth of this element.
 
double h
 Characteristic element size/diameter.
 
Vec3Vec XC
 Array with element corner coordinate vectors.
 
Vector Navg
 Volume-averaged basis function values.
 
Matrix Xn
 Matrix of element nodal coordinates.
 
Tensor Te
 Local-to-global element transformation matrix.
 
std::vector< TensorTn
 Array of element nodal rotation matrices.
 
Vec3Vec En
 Array of nodal eccentricity vectors.
 
- Public Attributes inherited from ItgPoint
size_t iGP
 Global integration point counter.
 
double u
 First spline parameter of the point.
 
double v
 Second spline parameter of the point.
 
double w
 Third spline parameter of the point.
 
int iel
 Identifier of the element containing this point.
 
size_t idx
 Global index (0-based) of the element containing this point.
 
double xi
 First local coordinate within current element.
 
double eta
 Second local coordinate within current element.
 
double zeta
 Third local coordinate within current element.
 

Protected Member Functions

virtual Matrixgrad (char)
 Returns a reference to the basis function derivatives.
 
virtual Matrix3Dhess (char)
 Returns a reference to the basis function 2nd-derivatives.
 
virtual std::ostream & write (std::ostream &os) const
 Writes the finite element object to the given output stream.
 

Friends

std::ostream & operator<< (std::ostream &os, const FiniteElement &fe)
 Global output stream operator.
 

Detailed Description

Class representing a finite element.

Member Data Documentation

◆ dPdX

Matrix FiniteElement::dPdX

Matrix holding Piola-mapped basis derivatives.

The column index i is cumulative, e.g., if N1 is the number of functions in basis 1 and N2 is the number of functions in basis 2, then 1 ≤ i ≤ N1 for the first basis and N1+1 ≤ i ≤ N1+N2 for the second basis. This matrix is therefore of dimension 4×(N1+N2), where the two first rows are the X-derivatives and the two last rows are the Y-derivatives.

Referenced by PiolaOperators::Weak::Gradient(), PiolaOperators::Residual::Gradient(), PiolaOperators::Weak::Laplacian(), PiolaOperators::Residual::Laplacian(), MxFiniteElement::piolaGradient(), and write().

◆ P

Matrix FiniteElement::P

Matrix holding Piola-mapped basis function values.

The column index i is cumulative, e.g., if N1 is the number of functions in basis 1 and N2 is the number of functions in basis 2, then 1 ≤ i ≤ N1 for the first basis and N1+1 ≤ i ≤ N1+N2 for the second basis. This matrix is therefore of dimension 2×(N1+N2).

Referenced by PiolaOperators::Weak::Convection(), PiolaOperators::Residual::Convection(), ASMs2Dmx::evalSolutionPiola(), ASMu2Dmx::evalSolutionPiola(), PiolaOperators::Weak::Mass(), MxFiniteElement::piolaBasis(), PiolaOperators::Weak::Source(), and write().


The documentation for this class was generated from the following files: