LifeV
IntegrateMatrixVolumeID< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType > Class Template Reference

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

#include <IntegrateMatrixVolumeID.hpp>

+ Collaboration diagram for IntegrateMatrixVolumeID< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType >:

Private Attributes

vectorVolumesPtr_Type M_volumeList
 
vectorIndexPtr_Type M_indexList
 
QRAdapterType M_qrAdapter
 
std::shared_ptr< TestSpaceType > M_testSpace
 
std::shared_ptr< SolutionSpaceType > M_solutionSpace
 
evaluation_Type M_evaluation
 
ETCurrentFE< 3, 1 > * M_globalCFE_std
 
ETCurrentFE< 3, 1 > * M_globalCFE_adapted
 
ETCurrentFE< 3, TestSpaceType::field_dim > * M_testCFE_std
 
ETCurrentFE< 3, TestSpaceType::field_dim > * M_testCFE_adapted
 
ETCurrentFE< 3, SolutionSpaceType::field_dim > * M_solutionCFE_std
 
ETCurrentFE< 3, SolutionSpaceType::field_dim > * M_solutionCFE_adapted
 
ETMatrixElemental M_elementalMatrix
 

Public Types

typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::field_dim, SolutionSpaceType::field_dim, 3 >::evaluation_Type evaluation_Type
 Type of the Evaluation. More...
 
typedef MeshType::element_Type element_Type
 
typedef std::shared_ptr< std::vector< element_Type * > > vectorVolumesPtr_Type
 
typedef std::shared_ptr< std::vector< UInt > > vectorIndexPtr_Type
 

Constructors, destructor

 IntegrateMatrixVolumeID (const vectorVolumesPtr_Type volumeList, const vectorIndexPtr_Type indexList, const QRAdapterType &qrAdapter, const std::shared_ptr< TestSpaceType > &testSpace, const std::shared_ptr< SolutionSpaceType > &solutionSpace, const ExpressionType &expression)
 Full data constructor. More...
 
 IntegrateMatrixVolumeID (const IntegrateMatrixVolumeID< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType > &integrator)
 Copy constructor. More...
 
 ~IntegrateMatrixVolumeID ()
 Destructor. More...
 

Operator

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 addTo (std::shared_ptr< MatrixType > mat)
 

Private Methods

 IntegrateMatrixVolumeID ()
 

Detailed Description

template<typename MeshType, typename TestSpaceType, typename SolutionSpaceType, typename ExpressionType, typename QRAdapterType>
class LifeV::ExpressionAssembly::IntegrateMatrixVolumeID< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType >

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

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 vector 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 75 of file IntegrateMatrixVolumeID.hpp.

Member Typedef Documentation

◆ evaluation_Type

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

Type of the Evaluation.

Definition at line 86 of file IntegrateMatrixVolumeID.hpp.

◆ element_Type

◆ vectorVolumesPtr_Type

typedef std::shared_ptr<std::vector<element_Type*> > vectorVolumesPtr_Type

Definition at line 90 of file IntegrateMatrixVolumeID.hpp.

◆ vectorIndexPtr_Type

typedef std::shared_ptr<std::vector<UInt> > vectorIndexPtr_Type

Definition at line 91 of file IntegrateMatrixVolumeID.hpp.

Constructor & Destructor Documentation

◆ IntegrateMatrixVolumeID() [1/3]

IntegrateMatrixVolumeID ( const vectorVolumesPtr_Type  volumeList,
const vectorIndexPtr_Type  indexList,
const QRAdapterType &  qrAdapter,
const std::shared_ptr< TestSpaceType > &  testSpace,
const std::shared_ptr< SolutionSpaceType > &  solutionSpace,
const ExpressionType &  expression 
)

Full data constructor.

Definition at line 209 of file IntegrateMatrixVolumeID.hpp.

◆ IntegrateMatrixVolumeID() [2/3]

IntegrateMatrixVolumeID ( const IntegrateMatrixVolumeID< MeshType, TestSpaceType, SolutionSpaceType, ExpressionType, QRAdapterType > &  integrator)

Copy constructor.

Definition at line 242 of file IntegrateMatrixVolumeID.hpp.

◆ ~IntegrateMatrixVolumeID()

Destructor.

Definition at line 270 of file IntegrateMatrixVolumeID.hpp.

◆ IntegrateMatrixVolumeID() [3/3]

Member Function Documentation

◆ operator>>() [1/2]

void operator>> ( MatrixType &  mat)
inline

Operator wrapping the addTo method.

Definition at line 121 of file IntegrateMatrixVolumeID.hpp.

◆ operator>>() [2/2]

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

Operator wrapping the addTo method (for shared_ptr)

Definition at line 128 of file IntegrateMatrixVolumeID.hpp.

◆ check()

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

Ouput method.

Definition at line 288 of file IntegrateMatrixVolumeID.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 vector, sum over the quadrature nodes, assemble in the global vector.

Definition at line 303 of file IntegrateMatrixVolumeID.hpp.

◆ addTo() [2/2]

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

Definition at line 154 of file IntegrateMatrixVolumeID.hpp.

Field Documentation

◆ M_volumeList

vectorVolumesPtr_Type M_volumeList
private

Definition at line 173 of file IntegrateMatrixVolumeID.hpp.

◆ M_indexList

vectorIndexPtr_Type M_indexList
private

Definition at line 174 of file IntegrateMatrixVolumeID.hpp.

◆ M_qrAdapter

QRAdapterType M_qrAdapter
private

Definition at line 177 of file IntegrateMatrixVolumeID.hpp.

◆ M_testSpace

std::shared_ptr<TestSpaceType> M_testSpace
private

Definition at line 180 of file IntegrateMatrixVolumeID.hpp.

◆ M_solutionSpace

std::shared_ptr<SolutionSpaceType> M_solutionSpace
private

Definition at line 181 of file IntegrateMatrixVolumeID.hpp.

◆ M_evaluation

evaluation_Type M_evaluation
private

Definition at line 184 of file IntegrateMatrixVolumeID.hpp.

◆ M_globalCFE_std

ETCurrentFE<3, 1>* M_globalCFE_std
private

Definition at line 186 of file IntegrateMatrixVolumeID.hpp.

◆ M_globalCFE_adapted

ETCurrentFE<3, 1>* M_globalCFE_adapted
private

Definition at line 187 of file IntegrateMatrixVolumeID.hpp.

◆ M_testCFE_std

ETCurrentFE<3, TestSpaceType::field_dim>* M_testCFE_std
private

Definition at line 189 of file IntegrateMatrixVolumeID.hpp.

◆ M_testCFE_adapted

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

Definition at line 190 of file IntegrateMatrixVolumeID.hpp.

◆ M_solutionCFE_std

ETCurrentFE<3, SolutionSpaceType::field_dim>* M_solutionCFE_std
private

Definition at line 192 of file IntegrateMatrixVolumeID.hpp.

◆ M_solutionCFE_adapted

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

Definition at line 193 of file IntegrateMatrixVolumeID.hpp.

◆ M_elementalMatrix

ETMatrixElemental M_elementalMatrix
private

Definition at line 195 of file IntegrateMatrixVolumeID.hpp.


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