LifeV
|
#include <ETCurrentFE.hpp>
Private Types | |
typedef VectorSmall< spaceDim > | array1D_Return_Type |
typedef std::vector< Real > | array1D_Type |
typedef std::vector< array1D_Type > | array2D_Type |
typedef std::vector< array2D_Type > | array3D_Type |
typedef std::vector< array3D_Type > | array4D_Type |
typedef std::vector< VectorSmall< spaceDim > > | array1D_vector_Type |
typedef std::vector< std::vector< VectorSmall< spaceDim > > > | array2D_vector_Type |
typedef std::vector< std::vector< MatrixSmall< spaceDim, spaceDim > > > | array2D_matrix_Type |
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::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... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationHK |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationDetJacobian |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationMetricTensor |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationMetricVector |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationPosition |
Friend to allow direct access to the raw data. More... | |
template<UInt dim> | |
class | ExpressionAssembly::EvaluationMeas |
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 = 1 |
Static value for the dimension of the field (1 here as it is a scalar 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, 1 > &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... | |
Real | 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... | |
Real | dphi (const UInt &i, const UInt &dxi, const UInt &q) const |
Getter for the derivatives of the basis function in the quadrature nodes (current element) More... | |
VectorSmall< spaceDim > const & | dphi (const UInt &i, const UInt &q) const |
Getter for the derivatives of the basis function in the quadrature nodes (current element) More... | |
Real const & | laplacian (const UInt &i, const UInt &q) const |
Getter for the derivatives of the basis function in the quadrature nodes (current element) More... | |
UInt | currentId () const |
Getter for the identifier of the current element. More... | |
Real | diameter () const |
Getter for the diameter of the current element. More... | |
Real | detJac () const |
Getter for the eterminant of the jacobian of the current element. More... | |
MatrixSmall< 3, 3 > | metricTensor () const |
Getter for the metricTensor of the current element. More... | |
VectorSmall< 3 > | metricVector () const |
Getter for the metricTensor of the current element. More... | |
Real | measure () const |
Getter for the measure of the current element. More... | |
Private Methods | |
ETCurrentFE () | |
No default constructor. More... | |
void | operator= (const ETCurrentFE< spaceDim, 1 > &) |
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 | updateCellNode (const std::vector< VectorSmall< spaceDim > > &ptsCoordinates) |
Update the cell nodes with a std::vector of points. More... | |
void | updateDiameter () |
Update the diameter of the cell. More... | |
void | updateMetric () |
Update the metric of the cell. More... | |
void | updateMeasure () |
Update the measure of the cell. 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 | updateLaplacian (const UInt &iQuadPt) |
Update Laplacian. More... | |
The ETCurrentFE is the class to be used to compute quantities related to the quadrature and the basis functions in a real element (current element).
These quantities are computed using the update method. The update is managed through a system of flags that have to be passed to that method to require some of the quantities to be computed.
The access to the data, getters have to be used (excepted for some specific classes which have a direct access to the stored data through friendship).
This is the partial specialization of the generic ETCurrentFE for scalar finite element spaces.
Definition at line 139 of file ETCurrentFE.hpp.
|
private |
Definition at line 199 of file ETCurrentFE.hpp.
|
private |
Definition at line 455 of file ETCurrentFE.hpp.
|
private |
Definition at line 458 of file ETCurrentFE.hpp.
|
private |
Definition at line 461 of file ETCurrentFE.hpp.
|
private |
Definition at line 464 of file ETCurrentFE.hpp.
|
private |
Definition at line 467 of file ETCurrentFE.hpp.
|
private |
Definition at line 470 of file ETCurrentFE.hpp.
|
private |
Definition at line 473 of file ETCurrentFE.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 660 of file ETCurrentFE.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 718 of file ETCurrentFE.hpp.
ETCurrentFE | ( | const ETCurrentFE< spaceDim, 1 > & | otherFE | ) |
Copy constructor.
otherFE | The currentFE to be copied |
Definition at line 774 of file ETCurrentFE.hpp.
|
virtual |
Destructor.
Definition at line 829 of file ETCurrentFE.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 847 of file ETCurrentFE.hpp.
void showMe | ( | std::ostream & | out = std::cout | ) | const |
ShowMe method.
out | Output stream were to print the informations |
Definition at line 931 of file ETCurrentFE.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 1034 of file ETCurrentFE.hpp.
|
inline |
Getter for the number of degrees of freedom of this element.
Definition at line 300 of file ETCurrentFE.hpp.
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 311 of file ETCurrentFE.hpp.
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 324 of file ETCurrentFE.hpp.
Getter for the weighted jacobian determinant (current element)
q | The index of the quadrature point |
Definition at line 337 of file ETCurrentFE.hpp.
Getter for the derivatives of the basis function in the quadrature nodes (current element)
i | The index of the basis function |
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 351 of file ETCurrentFE.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 366 of file ETCurrentFE.hpp.
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 380 of file ETCurrentFE.hpp.
|
inline |
Getter for the identifier of the current element.
Definition at line 392 of file ETCurrentFE.hpp.
|
inline |
Getter for the diameter of the current element.
Definition at line 402 of file ETCurrentFE.hpp.
|
inline |
Getter for the eterminant of the jacobian of the current element.
Definition at line 412 of file ETCurrentFE.hpp.
|
inline |
Getter for the metricTensor of the current element.
Definition at line 422 of file ETCurrentFE.hpp.
|
inline |
Getter for the metricTensor of the current element.
Definition at line 432 of file ETCurrentFE.hpp.
|
inline |
Getter for the measure of the current element.
Definition at line 442 of file ETCurrentFE.hpp.
|
private |
No assignement.
|
private |
Resize all the internal containers w.r. to the stored data and compute the constant values.
Definition at line 1054 of file ETCurrentFE.hpp.
|
private |
Update the cell nodes.
Definition at line 1385 of file ETCurrentFE.hpp.
|
private |
Update the cell nodes with a std::vector of points.
Note here that this method is NOT a template specialization (which is impossible in this case, full specialization being forbidden in non specialized template classes), but an overload of the template method (which represents a better match in case the right arguments are passed).
Definition at line 1407 of file ETCurrentFE.hpp.
|
private |
Update the diameter of the cell.
Definition at line 1427 of file ETCurrentFE.hpp.
|
private |
Update the metric of the cell.
Definition at line 1457 of file ETCurrentFE.hpp.
|
private |
Update the measure of the cell.
Definition at line 1531 of file ETCurrentFE.hpp.
|
private |
Update the quadrature nodes.
Definition at line 1228 of file ETCurrentFE.hpp.
|
private |
Update Jacobian.
Definition at line 1253 of file ETCurrentFE.hpp.
|
private |
Update DetJacobian.
|
private |
Update InverseJacobian.
|
private |
Update WeightedJacobian.
Definition at line 1282 of file ETCurrentFE.hpp.
|
private |
Update Dphi.
Definition at line 1297 of file ETCurrentFE.hpp.
|
private |
Update D2phi.
Definition at line 1323 of file ETCurrentFE.hpp.
|
private |
Update Laplacian.
Definition at line 1358 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 147 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 151 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 155 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 159 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 163 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 167 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 171 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 175 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 179 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 183 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 187 of file ETCurrentFE.hpp.
|
friend |
Friend to allow direct access to the raw data.
Definition at line 191 of file ETCurrentFE.hpp.
|
static |
Static value for the space dimension.
Definition at line 207 of file ETCurrentFE.hpp.
|
static |
Static value for the dimension of the field (1 here as it is a scalar FE)
Definition at line 210 of file ETCurrentFE.hpp.
|
private |
Definition at line 538 of file ETCurrentFE.hpp.
|
private |
Definition at line 541 of file ETCurrentFE.hpp.
|
private |
Definition at line 544 of file ETCurrentFE.hpp.
|
private |
Definition at line 547 of file ETCurrentFE.hpp.
|
private |
Definition at line 550 of file ETCurrentFE.hpp.
|
private |
Definition at line 553 of file ETCurrentFE.hpp.
|
private |
Definition at line 556 of file ETCurrentFE.hpp.
|
private |
Definition at line 559 of file ETCurrentFE.hpp.
|
private |
Definition at line 562 of file ETCurrentFE.hpp.
|
private |
Definition at line 565 of file ETCurrentFE.hpp.
|
private |
Definition at line 568 of file ETCurrentFE.hpp.
|
private |
Definition at line 571 of file ETCurrentFE.hpp.
|
private |
Definition at line 574 of file ETCurrentFE.hpp.
|
private |
Definition at line 577 of file ETCurrentFE.hpp.
|
private |
Definition at line 580 of file ETCurrentFE.hpp.
|
private |
Definition at line 583 of file ETCurrentFE.hpp.
|
private |
Definition at line 586 of file ETCurrentFE.hpp.
|
private |
Definition at line 589 of file ETCurrentFE.hpp.
|
private |
Definition at line 592 of file ETCurrentFE.hpp.
|
private |
Definition at line 595 of file ETCurrentFE.hpp.
|
private |
Definition at line 598 of file ETCurrentFE.hpp.
|
private |
Definition at line 601 of file ETCurrentFE.hpp.
|
private |
Definition at line 604 of file ETCurrentFE.hpp.
|
private |
Definition at line 607 of file ETCurrentFE.hpp.
|
private |
Definition at line 610 of file ETCurrentFE.hpp.
|
private |
Definition at line 613 of file ETCurrentFE.hpp.