LifeV
IntegrateMatrixElementLSAdapted< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, LSFESpaceType, LSVectorType > Class Template Reference

The class to actually perform the loop over the elements to assemble a matrix. More...

#include <IntegrateMatrixElementLSAdapted.hpp>

+ Collaboration diagram for IntegrateMatrixElementLSAdapted< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, LSFESpaceType, LSVectorType >:

Private Attributes

std::shared_ptr< MeshTypeM_mesh
 
QRAdapter_Type M_QRAdapter
 
std::shared_ptr< TestSpaceType > M_testSpace
 
std::shared_ptr< SolutionSpaceType > M_solutionSpace
 
evaluation_Type M_evaluation
 
ETCurrentFE< 3, 1 > * M_globalCFE_unadapted
 
ETCurrentFE< 3, 1 > * M_globalCFE_adapted
 
ETCurrentFE< 3, TestSpaceType::S_fieldDim > * M_testCFE_unadapted
 
ETCurrentFE< 3, TestSpaceType::S_fieldDim > * M_testCFE_adapted
 
ETCurrentFE< 3, SolutionSpaceType::S_fieldDim > * M_solutionCFE_unadapted
 
ETCurrentFE< 3, SolutionSpaceType::S_fieldDim > * M_solutionCFE_adapted
 
ETMatrixElemental M_elementalMatrix
 

Public Types

typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::S_fieldDim, SolutionSpaceType::S_fieldDim, 3 >::evaluation_Type evaluation_Type
 Type of the Evaluation. More...
 
typedef LevelSetQRAdapter< LSFESpaceType, LSVectorType > QRAdapter_Type
 Type of the adapter. More...
 

Constructors, destructor

 IntegrateMatrixElementLSAdapted (const std::shared_ptr< MeshType > &mesh, const QRAdapter_Type &QRAdapter, const std::shared_ptr< TestSpaceType > &testSpace, const std::shared_ptr< SolutionSpaceType > &solutionSpace, const ExpressionType &expression)
 Full data constructor. More...
 
 IntegrateMatrixElementLSAdapted (const IntegrateMatrixElementLSAdapted< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, LSFESpaceType, LSVectorType > &integrator)
 Copy constructor. More...
 
 ~IntegrateMatrixElementLSAdapted ()
 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)
 

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 addTo (std::shared_ptr< MatrixType > mat)
 Method that performs the assembly. More...
 

Private Methods

 IntegrateMatrixElementLSAdapted ()
 No empty constructor. More...
 

Detailed Description

template<typename MeshType, typename TestSpaceType, typename SolutionSpaceType, typename ExpressionType, typename LSFESpaceType, typename LSVectorType>
class LifeV::ExpressionAssembly::IntegrateMatrixElementLSAdapted< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, LSFESpaceType, LSVectorType >

The class to actually perform the loop over the elements to assemble a matrix.

Author
Samuel Quinodoz samue.nosp@m.l.qu.nosp@m.inodo.nosp@m.z@ep.nosp@m.fl.ch

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).

The speciality of this class with respect to the LifeV::ExpressionAssembly::IntegrateMatrixElement class is that the quadrature can be adapted.

Definition at line 78 of file IntegrateMatrixElementLSAdapted.hpp.

Member Typedef Documentation

◆ evaluation_Type

typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::S_fieldDim, SolutionSpaceType::S_fieldDim, 3 >::evaluation_Type evaluation_Type

Type of the Evaluation.

Definition at line 89 of file IntegrateMatrixElementLSAdapted.hpp.

◆ QRAdapter_Type

typedef LevelSetQRAdapter<LSFESpaceType, LSVectorType> QRAdapter_Type

Type of the adapter.

Definition at line 92 of file IntegrateMatrixElementLSAdapted.hpp.

Constructor & Destructor Documentation

◆ IntegrateMatrixElementLSAdapted() [1/3]

IntegrateMatrixElementLSAdapted ( const std::shared_ptr< MeshType > &  mesh,
const QRAdapter_Type QRAdapter,
const std::shared_ptr< TestSpaceType > &  testSpace,
const std::shared_ptr< SolutionSpaceType > &  solutionSpace,
const ExpressionType &  expression 
)

Full data constructor.

Definition at line 226 of file IntegrateMatrixElementLSAdapted.hpp.

◆ IntegrateMatrixElementLSAdapted() [2/3]

IntegrateMatrixElementLSAdapted ( const IntegrateMatrixElementLSAdapted< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, LSFESpaceType, LSVectorType > &  integrator)

Copy constructor.

Definition at line 262 of file IntegrateMatrixElementLSAdapted.hpp.

◆ ~IntegrateMatrixElementLSAdapted()

Destructor.

Definition at line 295 of file IntegrateMatrixElementLSAdapted.hpp.

◆ IntegrateMatrixElementLSAdapted() [3/3]

No empty constructor.

Member Function Documentation

◆ operator>>() [1/2]

void operator>> ( MatrixType &  mat)
inline

Operator wrapping the addTo method.

Definition at line 123 of file IntegrateMatrixElementLSAdapted.hpp.

◆ operator>>() [2/2]

void operator>> ( std::shared_ptr< MatrixType >  mat)
inline

Definition at line 129 of file IntegrateMatrixElementLSAdapted.hpp.

◆ check()

void check ( std::ostream &  out = std::cout)

Ouput method.

Definition at line 317 of file IntegrateMatrixElementLSAdapted.hpp.

◆ addTo() [1/2]

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 336 of file IntegrateMatrixElementLSAdapted.hpp.

◆ addTo() [2/2]

void addTo ( std::shared_ptr< MatrixType >  mat)
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 166 of file IntegrateMatrixElementLSAdapted.hpp.

Field Documentation

◆ M_mesh

std::shared_ptr<MeshType> M_mesh
private

Definition at line 185 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_QRAdapter

QRAdapter_Type M_QRAdapter
private

Definition at line 188 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_testSpace

std::shared_ptr<TestSpaceType> M_testSpace
private

Definition at line 191 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_solutionSpace

std::shared_ptr<SolutionSpaceType> M_solutionSpace
private

Definition at line 192 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_evaluation

evaluation_Type M_evaluation
private

Definition at line 195 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_globalCFE_unadapted

ETCurrentFE<3, 1>* M_globalCFE_unadapted
private

Definition at line 198 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_globalCFE_adapted

ETCurrentFE<3, 1>* M_globalCFE_adapted
private

Definition at line 199 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_testCFE_unadapted

ETCurrentFE<3, TestSpaceType::S_fieldDim>* M_testCFE_unadapted
private

Definition at line 201 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_testCFE_adapted

ETCurrentFE<3, TestSpaceType::S_fieldDim>* M_testCFE_adapted
private

Definition at line 202 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_solutionCFE_unadapted

ETCurrentFE<3, SolutionSpaceType::S_fieldDim>* M_solutionCFE_unadapted
private

Definition at line 204 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_solutionCFE_adapted

ETCurrentFE<3, SolutionSpaceType::S_fieldDim>* M_solutionCFE_adapted
private

Definition at line 205 of file IntegrateMatrixElementLSAdapted.hpp.

◆ M_elementalMatrix

ETMatrixElemental M_elementalMatrix
private

Definition at line 207 of file IntegrateMatrixElementLSAdapted.hpp.


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