Skip to content

Class ae108::cpppetsc::MeshDataProvider

template <class MeshType_>

ClassList > ae108 > cpppetsc > MeshDataProvider

More...

  • #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