![]() |
LifeV
|
#include <ETCurrentFE_FD3.hpp>
Private Types | |
typedef VectorSmall< fieldDim > | array1D_Return_Type |
typedef MatrixSmall< fieldDim, spaceDim > | matrix_Return_Type |
typedef std::vector< std::vector< array1D_Return_Type > > | array2D_vector_Type |
typedef std::vector< std::vector< matrix_Return_Type > > | array2D_matrix_Type |
typedef std::vector< std::vector< std::vector< matrix_Return_Type > > > | array_3D_matrix_Type |
typedef MatrixSmall< spaceDim, spaceDim > | matrix_d2Phi |
typedef std::vector< std::vector< std::vector< matrix_d2Phi > > > | array_d2Phi |
typedef std::vector< Real > | array1D_Type |
typedef std::vector< array1D_Type > | array2D_Type |
typedef std::vector< array2D_Type > | array3D_Type |
typedef std::vector< std::vector< array1D_Return_Type > > | arrayLaplacian_Type |
typedef std::vector< array3D_Type > | array4D_Type |
Private Member Functions | |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateDetJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
template<> | |
void | updateInverseJacobian (const UInt &iQuadPt) |
Private Attributes | |
const ReferenceFE * | M_referenceFE |
const GeometricMap * | M_geometricMap |
const QuadratureRule * | M_quadratureRule |
UInt | M_nbFEDof |
UInt | M_nbMapDof |
UInt | M_nbQuadPt |
UInt | M_currentId |
UInt | M_currentLocalId |
array2D_vector_Type | M_phi |
array2D_Type | M_phiMap |
array3D_Type | M_dphiReferenceFE |
array3D_Type | M_dphiGeometricMap |
array4D_Type | M_d2phiReferenceFE |
array2D_Type | M_cellNode |
array2D_Type | M_quadNode |
array3D_Type | M_jacobian |
array1D_Type | M_detJacobian |
array1D_Type | M_wDet |
array3D_Type | M_tInverseJacobian |
array2D_matrix_Type | M_dphi |
array2D_Type | M_divergence |
array_d2Phi | M_d2phi |
arrayLaplacian_Type | M_laplacian |
Friends | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationPhiI |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationPhiJ |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationDphiI |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationDphiJ |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationDivI |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationDivJ |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationLaplacianI |
Friend to allow direct access to the raw data. More... | |
template<UInt dim, UInt FSpaceDim> | |
class | ExpressionAssembly::EvaluationLaplacianJ |
Friend to allow direct access to the raw data. More... | |
Static constants | |
static const UInt | S_spaceDimension = spaceDim |
Static value for the space dimension. More... | |
static const UInt | S_fieldDimension = fieldDim |
Static value for the dimension of the field (fieldDim here as it is a vectorial FE) More... | |
Constructors, destructor | |
ETCurrentFE (const ReferenceFE &refFE, const GeometricMap &geoMap, const QuadratureRule &qr) | |
Full constructor. More... | |
ETCurrentFE (const ReferenceFE &refFE, const GeometricMap &geoMap) | |
Constructor without quadrature rule. More... | |
ETCurrentFE (const ETCurrentFE< spaceDim, fieldDim > &otherFE) | |
Copy constructor. More... | |
virtual | ~ETCurrentFE () |
Destructor. More... | |
Methods | |
template<typename elementType > | |
void | update (const elementType &element, const flag_Type &flag) |
Update method. More... | |
void | showMe (std::ostream &out=std::cout) const |
ShowMe method. More... | |
Set Methods | |
void | setQuadratureRule (const QuadratureRule &qr) |
Setter for the quadrature rule. More... | |
Get Methods | |
UInt | nbFEDof () const |
Getter for the number of degrees of freedom of this element. More... | |
const array1D_Return_Type & | phi (const UInt &i, const UInt &q) const |
Getter for the values of the basis functions in the quadrature nodes in the current element. More... | |
Real | quadNode (const UInt &q, const UInt &coord) const |
Getter for the coordinates of the quadrature nodes in the current element. More... | |
Real | wDet (const UInt &q) const |
Getter for the weighted jacobian determinant (current element) More... | |
const Real & | dphi (const UInt &i, const UInt &iCoor, const UInt &dxi, const UInt &q) const |
Getter for the derivatives of the basis function in the quadrature nodes (current element) More... | |
MatrixSmall< spaceDim, 3 > const & | dphi (const UInt &i, const UInt &q) const |
Getter for the derivatives of the basis function in the quadrature nodes (current element) More... | |
const array1D_Return_Type & | divergence (const UInt &i, const UInt &q) const |
Getter for the divergence of the basis functions in the quadrature nodes in the current element. More... | |
const VectorSmall< fieldDim > & | laplacian (const UInt &i, const UInt &q) const |
Getter for the laplacian of the basis functions in the quadrature nodes in the current element. More... | |
UInt | currentId () const |
Getter for the identifier of the current element. More... | |
Private Methods | |
ETCurrentFE () | |
No default constructor. More... | |
void | operator= (const ETCurrentFE< spaceDim, fieldDim > &) |
No assignement. More... | |
void | setupInternalConstants () |
Resize all the internal containers w.r. to the stored data and compute the constant values. More... | |
template<typename ElementType > | |
void | updateCellNode (const ElementType &element) |
Update the cell nodes. More... | |
void | updateQuadNode (const UInt &iQuadPt) |
Update the quadrature nodes. More... | |
void | updateJacobian (const UInt &iQuadPt) |
Update Jacobian. More... | |
void | updateDetJacobian (const UInt &iQuadPt) |
Update DetJacobian. More... | |
void | updateInverseJacobian (const UInt &iQuadPt) |
Update InverseJacobian. More... | |
void | updateWDet (const UInt &iQuadPt) |
Update WeightedJacobian. More... | |
void | updateDphi (const UInt &iQuadPt) |
Update Dphi. More... | |
void | updateD2phi (const UInt &iQuadPt) |
Update D2phi. More... | |
void | updateDivergence (const UInt &iQuadPt) |
Update Divergence. More... | |
void | updateLaplacian (const UInt &iQuadPt) |
Update Laplacian. More... | |
ETCurrenteFE is a template class. This is the non-specialized class used with fieldDim = 3 or 2 (using faster VectorSmall return objects)
Definition at line 8 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 51 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 54 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 57 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 60 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 63 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 66 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 67 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 288 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 291 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 294 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 296 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 299 of file ETCurrentFE_FD3.hpp.
ETCurrentFE | ( | const ReferenceFE & | refFE, |
const GeometricMap & | geoMap, | ||
const QuadratureRule & | qr | ||
) |
Full constructor.
refFE | The reference element for the FE |
geoMap | The geometric map from the reference element to the current element |
qr | The quadrature rule |
Definition at line 439 of file ETCurrentFE_FD3.hpp.
ETCurrentFE | ( | const ReferenceFE & | refFE, |
const GeometricMap & | geoMap | ||
) |
Constructor without quadrature rule.
refFE | The reference element for the FE |
geoMap | The geometric map from the reference element to the current element |
Definition at line 490 of file ETCurrentFE_FD3.hpp.
ETCurrentFE | ( | const ETCurrentFE< spaceDim, fieldDim > & | otherFE | ) |
Copy constructor.
otherFE | The currentFE to be copied |
Definition at line 541 of file ETCurrentFE_FD3.hpp.
|
virtual |
Destructor.
Definition at line 591 of file ETCurrentFE_FD3.hpp.
|
private |
No default constructor.
void update | ( | const elementType & | element, |
const flag_Type & | flag | ||
) |
Update method.
The update method computes the required quantities (indicated by the flag, see in Flags to update the ETCurrentFE) on the element.
element | The current element were to compute the values |
flag | The flag indicating the quantities to update |
Template parameters
elementType: The type of the element
Template requirements
elementType: has a id() method returning the identifier (global); has a localId() method returning the identifier (local); has a method point(UInt i) that returns the ith point.
Definition at line 602 of file ETCurrentFE_FD3.hpp.
void showMe | ( | std::ostream & | out = std::cout | ) | const |
ShowMe method.
out | Output stream were to print the informations |
Definition at line 674 of file ETCurrentFE_FD3.hpp.
void setQuadratureRule | ( | const QuadratureRule & | qr | ) |
Setter for the quadrature rule.
Beware that when this setter is called, all the internal structures have to be reshaped (according to the number of quadrature nodes).
qr | The new quadrature to use. |
Definition at line 763 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the number of degrees of freedom of this element.
Definition at line 164 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the values of the basis functions in the quadrature nodes in the current element.
i | The index of the basis function |
q | The index of the quadrature node |
Definition at line 175 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the coordinates of the quadrature nodes in the current element.
q | The index of the quadrature node |
coord | The coordinate required |
Definition at line 189 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the weighted jacobian determinant (current element)
q | The index of the quadrature point |
Definition at line 202 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the derivatives of the basis function in the quadrature nodes (current element)
i | The index of the basis function |
iCoor | The component of the basis function to be derived |
dxi | The direction of the derivative required (0 for d/dx, 1 for d/dy...) |
q | The index of the quadrature node |
Definition at line 217 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the derivatives of the basis function in the quadrature nodes (current element)
i | The index of the basis function |
q | The index of the quadrature node |
Definition at line 234 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the divergence of the basis functions in the quadrature nodes in the current element.
i | The index of the basis function |
q | The index of the quadrature node |
Definition at line 248 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the laplacian of the basis functions in the quadrature nodes in the current element.
i | The index of the basis function |
q | The index of the quadrature node |
Definition at line 264 of file ETCurrentFE_FD3.hpp.
|
inline |
Getter for the identifier of the current element.
Definition at line 277 of file ETCurrentFE_FD3.hpp.
|
private |
No assignement.
|
private |
Resize all the internal containers w.r. to the stored data and compute the constant values.
Definition at line 777 of file ETCurrentFE_FD3.hpp.
|
private |
Update the cell nodes.
Definition at line 1169 of file ETCurrentFE_FD3.hpp.
|
private |
Update the quadrature nodes.
Definition at line 953 of file ETCurrentFE_FD3.hpp.
|
private |
Update Jacobian.
Definition at line 977 of file ETCurrentFE_FD3.hpp.
|
private |
Update DetJacobian.
|
private |
Update InverseJacobian.
|
private |
Update WeightedJacobian.
Definition at line 1004 of file ETCurrentFE_FD3.hpp.
|
private |
Update Dphi.
Definition at line 1017 of file ETCurrentFE_FD3.hpp.
|
private |
Update D2phi.
Definition at line 1091 of file ETCurrentFE_FD3.hpp.
|
private |
Update Divergence.
Definition at line 1060 of file ETCurrentFE_FD3.hpp.
|
private |
Update Laplacian.
Definition at line 1133 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 49 of file ETCurrentFE.cpp.
|
private |
Definition at line 64 of file ETCurrentFE.cpp.
|
private |
Definition at line 80 of file ETCurrentFE.cpp.
|
private |
Definition at line 100 of file ETCurrentFE.cpp.
|
private |
Definition at line 116 of file ETCurrentFE.cpp.
|
private |
Definition at line 137 of file ETCurrentFE.cpp.
|
private |
Definition at line 184 of file ETCurrentFE.cpp.
|
private |
Definition at line 198 of file ETCurrentFE.cpp.
|
private |
Definition at line 213 of file ETCurrentFE.cpp.
|
private |
Definition at line 234 of file ETCurrentFE.cpp.
|
private |
Definition at line 250 of file ETCurrentFE.cpp.
|
private |
Definition at line 271 of file ETCurrentFE.cpp.
|
private |
Definition at line 318 of file ETCurrentFE.cpp.
|
private |
Definition at line 332 of file ETCurrentFE.cpp.
|
private |
Definition at line 347 of file ETCurrentFE.cpp.
|
private |
Definition at line 368 of file ETCurrentFE.cpp.
|
private |
Definition at line 384 of file ETCurrentFE.cpp.
|
private |
Definition at line 405 of file ETCurrentFE.cpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 16 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 20 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 24 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 28 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 32 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 36 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 40 of file ETCurrentFE_FD3.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 44 of file ETCurrentFE_FD3.hpp.
|
static |
Static value for the space dimension.
Definition at line 75 of file ETCurrentFE_FD3.hpp.
|
static |
Static value for the dimension of the field (fieldDim here as it is a vectorial FE)
Definition at line 78 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 348 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 350 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 352 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 355 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 357 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 359 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 362 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 364 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 367 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 370 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 372 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 374 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 376 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 379 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 381 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 383 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 385 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 387 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 389 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 392 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 394 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 397 of file ETCurrentFE_FD3.hpp.
|
private |
Definition at line 400 of file ETCurrentFE_FD3.hpp.