LifeV
|
The class to actually perform the loop over the elements to assemble a matrix. More...
#include <IntegrateMatrixElement.hpp>
Private Attributes | |
std::shared_ptr< MeshType > | M_mesh |
QRAdapterType | M_qrAdapter |
std::shared_ptr< TestSpaceType > | M_testSpace |
std::shared_ptr< SolutionSpaceType > | M_solutionSpace |
evaluation_Type | M_evaluation |
ETCurrentFE< MeshType::S_geoDimensions, 1 > * | M_globalCFE_std |
ETCurrentFE< MeshType::S_geoDimensions, 1 > * | M_globalCFE_adapted |
ETCurrentFE< TestSpaceType::space_dim, TestSpaceType::field_dim > * | M_testCFE_std |
ETCurrentFE< TestSpaceType::space_dim, TestSpaceType::field_dim > * | M_testCFE_adapted |
ETCurrentFE< TestSpaceType::space_dim, SolutionSpaceType::field_dim > * | M_solutionCFE_std |
ETCurrentFE< TestSpaceType::space_dim, SolutionSpaceType::field_dim > * | M_solutionCFE_adapted |
UInt | M_offsetUp |
UInt | M_offsetLeft |
OpenMPParameters | M_ompParams |
const UInt | M_regionFlag |
const UInt | M_numVolumeElements |
const UInt * | M_volumeElements |
const bool | M_integrateOnSubdomains |
Public Types | |
typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::field_dim, SolutionSpaceType::field_dim, MeshType::S_geoDimensions >::evaluation_Type | evaluation_Type |
Type of the Evaluation. More... | |
Constructors, destructor | |
IntegrateMatrixElement (const std::shared_ptr< MeshType > &mesh, const QRAdapterType &qrAdapter, const std::shared_ptr< TestSpaceType > &testSpace, const std::shared_ptr< SolutionSpaceType > &solutionSpace, const ExpressionType &expression, const UInt offsetUp=0, const UInt offsetLeft=0, const UInt regionFlag=0, const UInt numVolumeElements=0, const UInt *const volumeElements=nullptr, const bool subDomain=false) | |
Full data constructor. More... | |
IntegrateMatrixElement (const std::shared_ptr< MeshType > &mesh, const QRAdapterType &qrAdapter, const std::shared_ptr< TestSpaceType > &testSpace, const std::shared_ptr< SolutionSpaceType > &solutionSpace, const ExpressionType &expression, const OpenMPParameters &ompParams, const UInt offsetUp=0, const UInt offsetLeft=0, const UInt regionFlag=0, const UInt numVolumeElements=0, const UInt *const volumeElements=nullptr, const bool subDomain=false) | |
Full data constructor. More... | |
IntegrateMatrixElement (const IntegrateMatrixElement< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType > &integrator) | |
Copy constructor. More... | |
~IntegrateMatrixElement () | |
Destructor. More... | |
Operators | |
template<typename MatrixType > | |
void | operator>> (MatrixType &mat) |
Operator wrapping the addTo method. More... | |
template<typename MatrixType > | |
void | operator>> (std::shared_ptr< MatrixType > mat) |
Operator wrapping the addTo method (for shared_ptr) More... | |
Methods | |
void | check (std::ostream &out=std::cout) |
Ouput method. More... | |
template<typename MatrixType > | |
void | addTo (MatrixType &mat) |
Method that performs the assembly. More... | |
template<typename MatrixType > | |
void | addToSubdomain (MatrixType &mat) |
template<typename MatrixType > | |
void | addToClosed (MatrixType &mat) |
Method that performs the assembly. More... | |
template<typename MatrixType > | |
void | addTo (std::shared_ptr< MatrixType > mat) |
Method that performs the assembly. More... | |
template<typename MatrixType > | |
void | addToSubdomain (boost::shared_ptr< MatrixType > mat) |
template<typename MatrixType > | |
void | addToClosed (std::shared_ptr< MatrixType > mat) |
Method that performs the assembly. More... | |
Private Methods | |
IntegrateMatrixElement () | |
No empty constructor. More... | |
void | integrateElement (const UInt iElement, const UInt nbQuadPt, const UInt nbTestDof, const UInt nbSolutionDof, ETMatrixElemental &elementalMatrix, evaluation_Type &evaluation, ETCurrentFE< MeshType::S_geoDimensions, 1 > &globalCFE, ETCurrentFE< TestSpaceType::space_dim, TestSpaceType::field_dim > &testCFE, ETCurrentFE< SolutionSpaceType::space_dim, SolutionSpaceType::field_dim > &solutionCFE) |
Perform the computations for a single element. More... | |
The class to actually perform the loop over the elements to assemble a matrix.
This class is used to store the data required for the assembly of a matrix and perform that assembly with a loop over the elements, and then, for each elements, using the Evaluation corresponding to the Expression (This convertion is done within a typedef).
Definition at line 83 of file IntegrateMatrixElement.hpp.
typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::field_dim, SolutionSpaceType::field_dim, MeshType::S_geoDimensions >::evaluation_Type evaluation_Type |
Type of the Evaluation.
Definition at line 94 of file IntegrateMatrixElement.hpp.
IntegrateMatrixElement | ( | const std::shared_ptr< MeshType > & | mesh, |
const QRAdapterType & | qrAdapter, | ||
const std::shared_ptr< TestSpaceType > & | testSpace, | ||
const std::shared_ptr< SolutionSpaceType > & | solutionSpace, | ||
const ExpressionType & | expression, | ||
const UInt | offsetUp = 0 , |
||
const UInt | offsetLeft = 0 , |
||
const UInt | regionFlag = 0 , |
||
const UInt | numVolumeElements = 0 , |
||
const UInt *const | volumeElements = nullptr , |
||
const bool | subDomain = false |
||
) |
Full data constructor.
Definition at line 335 of file IntegrateMatrixElement.hpp.
IntegrateMatrixElement | ( | const std::shared_ptr< MeshType > & | mesh, |
const QRAdapterType & | qrAdapter, | ||
const std::shared_ptr< TestSpaceType > & | testSpace, | ||
const std::shared_ptr< SolutionSpaceType > & | solutionSpace, | ||
const ExpressionType & | expression, | ||
const OpenMPParameters & | ompParams, | ||
const UInt | offsetUp = 0 , |
||
const UInt | offsetLeft = 0 , |
||
const UInt | regionFlag = 0 , |
||
const UInt | numVolumeElements = 0 , |
||
const UInt *const | volumeElements = nullptr , |
||
const bool | subDomain = false |
||
) |
Full data constructor.
Definition at line 400 of file IntegrateMatrixElement.hpp.
IntegrateMatrixElement | ( | const IntegrateMatrixElement< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType > & | integrator | ) |
Copy constructor.
Definition at line 466 of file IntegrateMatrixElement.hpp.
Destructor.
Definition at line 521 of file IntegrateMatrixElement.hpp.
|
private |
No empty constructor.
|
inline |
Operator wrapping the addTo method.
Definition at line 143 of file IntegrateMatrixElement.hpp.
|
inline |
Operator wrapping the addTo method (for shared_ptr)
Definition at line 164 of file IntegrateMatrixElement.hpp.
void check | ( | std::ostream & | out = std::cout | ) |
Ouput method.
Definition at line 540 of file IntegrateMatrixElement.hpp.
void addTo | ( | MatrixType & | mat | ) |
Method that performs the assembly.
The loop over the elements is located right in this method. Everything for the assembly is then performed: update the values, update the local matrix, sum over the quadrature nodes, assemble in the global matrix.
Definition at line 614 of file IntegrateMatrixElement.hpp.
void addToSubdomain | ( | MatrixType & | mat | ) |
Definition at line 827 of file IntegrateMatrixElement.hpp.
void addToClosed | ( | MatrixType & | mat | ) |
Method that performs the assembly.
The loop over the elements is located right in this method. Everything for the assembly is then performed: update the values, update the local matrix, sum over the quadrature nodes, assemble in the global matrix. The method is used for closed matrices
Definition at line 689 of file IntegrateMatrixElement.hpp.
|
inline |
Method that performs the assembly.
The loop over the elements is located right in this method. Everything for the assembly is then performed: update the values, update the local matrix, sum over the quadrature nodes, assemble in the global matrix.
Specialized for the case where the matrix is passed as a shared_ptr
Definition at line 229 of file IntegrateMatrixElement.hpp.
|
inline |
Definition at line 237 of file IntegrateMatrixElement.hpp.
|
inline |
Method that performs the assembly.
The loop over the elements is located right in this method. Everything for the assembly is then performed: update the values, update the local matrix, sum over the quadrature nodes, assemble in the global matrix. This method is used with closed matrices.
Specialized for the case where the matrix is passed as a shared_ptr
Definition at line 255 of file IntegrateMatrixElement.hpp.
|
private |
Perform the computations for a single element.
This method computes the elemental matrix for a given element index
Definition at line 550 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 289 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 292 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 295 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 296 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 299 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 301 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 302 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 304 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 305 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 307 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 308 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 310 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 311 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 314 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 317 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 318 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 319 of file IntegrateMatrixElement.hpp.
|
private |
Definition at line 320 of file IntegrateMatrixElement.hpp.