Skip to content

Class ae108::cpppetsc::MeshDataProvider

template <class MeshType_>

ClassList > ae108 > cpppetsc > MeshDataProvider

More...

  • #include <MeshDataProvider.h>

Public Types

Type Name
typedef MeshType_ mesh_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 > 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 *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.
Range globalDofLineRange (const size_type entityPointIndex) const
Returns the global line range that corresponds to the degrees of freedom of the vertex or element.
Range 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 mesh_type

using ae108::cpppetsc::MeshDataProvider< MeshType_ >::mesh_type =  MeshType_;

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

Range 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. The entityPointIndex can refer to higher order nodes too.


function localDofLineRange

Returns the global line range that corresponds to the degrees of freedom of the vertex or element.

Range ae108::cpppetsc::MeshDataProvider::localDofLineRange (
    const size_type entityPointIndex
) const

Remark:

The entityPointIndex can refer to higher order nodes too.


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