Class ae108::cpppetsc::MeshDataProvider
template <class MeshType_>
ClassList > ae108 > cpppetsc > MeshDataProvider
#include <MeshDataProvider.h>
Public Types
Type | Name |
---|---|
typedef typename mesh_type::matrix_type | matrix_type |
typedef MeshType_ | mesh_type |
typedef typename mesh_type::policy_type | policy_type |
typedef typename mesh_type::size_type | size_type |
typedef typename mesh_type::value_type | value_type |
typedef typename mesh_type::vector_type | vector_type |
Public Functions
Type | Name |
---|---|
MeshDataProvider (SharedEntity< DM, policy_type > mesh, const size_type totalNumberOfElements) |
|
void | addEntityData (const size_type entityPointIndex, const std::vector< value_type > & data, local< vector_type > *const localVector) const Add data corresponding to the specified entity from the data buffer to the vector. |
void | addEntityMatrix (const size_type entityPointIndex, const std::vector< value_type > & data, matrix_type *const matrix) const Add data corresponding to the specified entity from the data buffer to the matrix. |
void | assertCorrectBaseMesh (const vector_type & vector) const Asserts that the vector has been created with the associated mesh. |
void | copyEntityData (const size_type entityPointIndex, const local< vector_type > & localVector, std::vector< value_type > *const data) const Copies data corresponding to the specified entity from the vector to the data buffer. |
size_type | elementPointIndexToGlobalIndex (const size_type pointIndex) const Convert an internal element index to a 'canonical' element index. |
std::pair< size_type, size_type > | globalDofLineRange (const size_type entityPointIndex) const Returns the global line range that corresponds to the degrees of freedom of the vertex or element. |
std::pair< size_type, size_type > | localDofLineRange (const size_type entityPointIndex) const Returns the global line range that corresponds to the degrees of freedom of the vertex or element. |
size_type | numberOfDofs (const size_type entityPointIndex) const |
size_type | numberOfVertices (const size_type elementPointIndex) const Returns the number of vertices of the element. |
void | setEntityData (const size_type entityPointIndex, const std::vector< value_type > & data, local< vector_type > *const localVector) const Set data corresponding to the specified entity from the data buffer in the vector. |
size_type | vertexPointIndexToGlobalIndex (const size_type pointIndex) const Convert an internal vertex index to a 'canonical' vertex index. |
std::vector< size_type > | vertices (const size_type elementPointIndex) const Returns the vertex indices for the element. |
Detailed Description
brief Provides the necessary data for local entity views.
Public Types Documentation
typedef matrix_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::matrix_type = typename mesh_type::matrix_type;
typedef mesh_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::mesh_type = MeshType_;
typedef policy_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::policy_type = typename mesh_type::policy_type;
typedef size_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::size_type = typename mesh_type::size_type;
typedef value_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::value_type = typename mesh_type::value_type;
typedef vector_type
using ae108::cpppetsc::MeshDataProvider< MeshType_ >::vector_type = typename mesh_type::vector_type;
Public Functions Documentation
function MeshDataProvider
explicit ae108::cpppetsc::MeshDataProvider::MeshDataProvider (
SharedEntity < DM, policy_type > mesh,
const size_type totalNumberOfElements
)
function addEntityData
Add data corresponding to the specified entity from the data buffer to the vector.
void ae108::cpppetsc::MeshDataProvider::addEntityData (
const size_type entityPointIndex,
const std::vector< value_type > & data,
local < vector_type > *const localVector
) const
Parameters:
entityPointIndex
Specifies the entity.data
The data buffer.localVector
A valid pointer to a mesh-local vector.
function addEntityMatrix
Add data corresponding to the specified entity from the data buffer to the matrix.
void ae108::cpppetsc::MeshDataProvider::addEntityMatrix (
const size_type entityPointIndex,
const std::vector< value_type > & data,
matrix_type *const matrix
) const
Parameters:
entityPointIndex
Specifies the entity.data
The data buffer.matrix
A valid pointer to a matrix.
function assertCorrectBaseMesh
Asserts that the vector has been created with the associated mesh.
void ae108::cpppetsc::MeshDataProvider::assertCorrectBaseMesh (
const vector_type & vector
) const
function copyEntityData
Copies data corresponding to the specified entity from the vector to the data buffer.
void ae108::cpppetsc::MeshDataProvider::copyEntityData (
const size_type entityPointIndex,
const local < vector_type > & localVector,
std::vector< value_type > *const data
) const
Parameters:
entityPointIndex
Specifies the entity.localVector
A mesh-local vector.data
A valid pointer to a buffer object.
function elementPointIndexToGlobalIndex
Convert an internal element index to a 'canonical' element index.
size_type ae108::cpppetsc::MeshDataProvider::elementPointIndexToGlobalIndex (
const size_type pointIndex
) const
function globalDofLineRange
Returns the global line range that corresponds to the degrees of freedom of the vertex or element.
std::pair< size_type, size_type > ae108::cpppetsc::MeshDataProvider::globalDofLineRange (
const size_type entityPointIndex
) const
Remark:
Returns negative line numbers (-begin - 1, -end - 1) if the point data is not owned locally (e.g. for ghost points). In particular, first >= end in this case.
function localDofLineRange
Returns the global line range that corresponds to the degrees of freedom of the vertex or element.
std::pair< size_type, size_type > ae108::cpppetsc::MeshDataProvider::localDofLineRange (
const size_type entityPointIndex
) const
function numberOfDofs
size_type ae108::cpppetsc::MeshDataProvider::numberOfDofs (
const size_type entityPointIndex
) const
function numberOfVertices
Returns the number of vertices of the element.
size_type ae108::cpppetsc::MeshDataProvider::numberOfVertices (
const size_type elementPointIndex
) const
function setEntityData
Set data corresponding to the specified entity from the data buffer in the vector.
void ae108::cpppetsc::MeshDataProvider::setEntityData (
const size_type entityPointIndex,
const std::vector< value_type > & data,
local < vector_type > *const localVector
) const
Parameters:
entityPointIndex
Specifies the entity.data
The data buffer.localVector
A valid pointer to a mesh-local vector.
function vertexPointIndexToGlobalIndex
Convert an internal vertex index to a 'canonical' vertex index.
size_type ae108::cpppetsc::MeshDataProvider::vertexPointIndexToGlobalIndex (
const size_type pointIndex
) const
function vertices
Returns the vertex indices for the element.
std::vector< size_type > ae108::cpppetsc::MeshDataProvider::vertices (
const size_type elementPointIndex
) const
The documentation for this class was generated from the following file cpppetsc/src/include/ae108/cpppetsc/MeshDataProvider.h