LifeV
IntegrateVectorElement< MeshType, TestSpaceType, ExpressionType, QRAdapterType > Class Template Reference

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

#include <IntegrateVectorElement.hpp>

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

Private Attributes

std::shared_ptr< MeshTypeM_mesh
 
QRAdapterType M_qrAdapter
 
std::shared_ptr< TestSpaceType > M_testSpace
 
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
 
ETVectorElemental M_elementalVector
 
UInt M_offset
 

Public Types

typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::field_dim, 0, MeshType::S_geoDimensions >::evaluation_Type evaluation_Type
 Type of the Evaluation. More...
 

Constructors, destructor

 IntegrateVectorElement (const std::shared_ptr< MeshType > &mesh, const QRAdapterType &qrAdapter, const std::shared_ptr< TestSpaceType > &testSpace, const ExpressionType &expression, const UInt offset=0)
 Full data constructor. More...
 
 IntegrateVectorElement (const IntegrateVectorElement< MeshType, TestSpaceType, ExpressionType, QRAdapterType > &integrator)
 Copy constructor. More...
 
 ~IntegrateVectorElement ()
 Destructor. More...
 

Operator

template<typename VectorType >
void operator>> (VectorType &vector)
 Operator wrapping the addTo method. More...
 
template<typename VectorType >
void operator>> (std::shared_ptr< VectorType > vector)
 Operator wrapping the addTo method (for shared_ptr) More...
 

Methods

void check (std::ostream &out=std::cout)
 Ouput method. More...
 
template<typename VectorType >
void addTo (VectorType &vec)
 Method that performs the assembly. More...
 

Private Methods

 IntegrateVectorElement ()
 

Detailed Description

template<typename MeshType, typename TestSpaceType, typename ExpressionType, typename QRAdapterType>
class LifeV::ExpressionAssembly::IntegrateVectorElement< MeshType, TestSpaceType, 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 71 of file IntegrateVectorElement.hpp.

Member Typedef Documentation

◆ evaluation_Type

typedef ExpressionToEvaluation< ExpressionType, TestSpaceType::field_dim, 0, MeshType::S_geoDimensions >::evaluation_Type evaluation_Type

Type of the Evaluation.

Definition at line 82 of file IntegrateVectorElement.hpp.

Constructor & Destructor Documentation

◆ IntegrateVectorElement() [1/3]

IntegrateVectorElement ( const std::shared_ptr< MeshType > &  mesh,
const QRAdapterType &  qrAdapter,
const std::shared_ptr< TestSpaceType > &  testSpace,
const ExpressionType &  expression,
const UInt  offset = 0 
)

Full data constructor.

Definition at line 190 of file IntegrateVectorElement.hpp.

+ Here is the caller graph for this function:

◆ IntegrateVectorElement() [2/3]

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

Copy constructor.

Definition at line 241 of file IntegrateVectorElement.hpp.

+ Here is the caller graph for this function:

◆ ~IntegrateVectorElement()

Destructor.

Definition at line 286 of file IntegrateVectorElement.hpp.

◆ IntegrateVectorElement() [3/3]

Member Function Documentation

◆ operator>>() [1/2]

void operator>> ( VectorType &  vector)
inline

Operator wrapping the addTo method.

Definition at line 111 of file IntegrateVectorElement.hpp.

◆ operator>>() [2/2]

void operator>> ( std::shared_ptr< VectorType >  vector)
inline

Operator wrapping the addTo method (for shared_ptr)

Definition at line 118 of file IntegrateVectorElement.hpp.

◆ check()

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

Ouput method.

Definition at line 301 of file IntegrateVectorElement.hpp.

◆ addTo()

void addTo ( VectorType &  vec)

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 315 of file IntegrateVectorElement.hpp.

Field Documentation

◆ M_mesh

std::shared_ptr<MeshType> M_mesh
private

Definition at line 156 of file IntegrateVectorElement.hpp.

◆ M_qrAdapter

QRAdapterType M_qrAdapter
private

Definition at line 159 of file IntegrateVectorElement.hpp.

◆ M_testSpace

std::shared_ptr<TestSpaceType> M_testSpace
private

Definition at line 162 of file IntegrateVectorElement.hpp.

◆ M_evaluation

evaluation_Type M_evaluation
private

Definition at line 165 of file IntegrateVectorElement.hpp.

◆ M_globalCFE_std

ETCurrentFE<MeshType::S_geoDimensions, 1>* M_globalCFE_std
private

Definition at line 167 of file IntegrateVectorElement.hpp.

◆ M_globalCFE_adapted

ETCurrentFE<MeshType::S_geoDimensions, 1>* M_globalCFE_adapted
private

Definition at line 168 of file IntegrateVectorElement.hpp.

◆ M_testCFE_std

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

Definition at line 170 of file IntegrateVectorElement.hpp.

◆ M_testCFE_adapted

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

Definition at line 171 of file IntegrateVectorElement.hpp.

◆ M_elementalVector

ETVectorElemental M_elementalVector
private

Definition at line 173 of file IntegrateVectorElement.hpp.

◆ M_offset

UInt M_offset
private

Definition at line 176 of file IntegrateVectorElement.hpp.


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