DataTransferKit - Multiphysics Solution Transfer Services  2.0
Public Member Functions | List of all members
DataTransferKit::EntityShapeFunction Class Referenceabstract

Shape function interface. More...

#include <DTK_EntityShapeFunction.hpp>

Inheritance diagram for DataTransferKit::EntityShapeFunction:
DataTransferKit::EntityCenteredShapeFunction DataTransferKit::STKMeshNodalShapeFunction

Public Member Functions

 EntityShapeFunction ()
 Constructor. More...
 
virtual ~EntityShapeFunction ()
 Destructor. More...
 
virtual void entitySupportIds (const Entity &entity, Teuchos::Array< SupportId > &support_ids) const =0
 Given an entity, get the ids of its support locations. More...
 
virtual void evaluateValue (const Entity &entity, const Teuchos::ArrayView< const double > &reference_point, Teuchos::Array< double > &values) const =0
 Given an entity and a reference point, evaluate shape functions of the entity at that point. More...
 
virtual void evaluateGradient (const Entity &entity, const Teuchos::ArrayView< const double > &reference_point, Teuchos::Array< Teuchos::Array< double >> &gradients) const
 Given an entity and a reference point, evaluate the gradient of the shape function of the entity at that point. A default implementation is provided using a finite difference scheme. More...
 

Detailed Description

Shape function interface.

EntityShapeFunction binds support ids to an entity and provides kernels to evaluate the function.

Definition at line 60 of file DTK_EntityShapeFunction.hpp.

Constructor & Destructor Documentation

DataTransferKit::EntityShapeFunction::EntityShapeFunction ( )

Constructor.

Definition at line 51 of file DTK_EntityShapeFunction.cpp.

DataTransferKit::EntityShapeFunction::~EntityShapeFunction ( )
virtual

Destructor.

Definition at line 55 of file DTK_EntityShapeFunction.cpp.

Member Function Documentation

virtual void DataTransferKit::EntityShapeFunction::entitySupportIds ( const Entity entity,
Teuchos::Array< SupportId > &  support_ids 
) const
pure virtual

Given an entity, get the ids of its support locations.

Parameters
entityGet the support ids for this entity.
support_idsReturn the ids of the support locations for the given entity in this array.

Implemented in DataTransferKit::STKMeshNodalShapeFunction, and DataTransferKit::EntityCenteredShapeFunction.

virtual void DataTransferKit::EntityShapeFunction::evaluateValue ( const Entity entity,
const Teuchos::ArrayView< const double > &  reference_point,
Teuchos::Array< double > &  values 
) const
pure virtual

Given an entity and a reference point, evaluate shape functions of the entity at that point.

Parameters
entityEvaluate shape functions of this entity.
reference_pointEvaluate shape functions at this point given in reference coordinates.
valuesEntity shape functions evaluated at the reference point. Return these ordered with respect to those returned by entitySupportIds() such that values[N] gives the value of a shape function of the Nth support location of entity.

Implemented in DataTransferKit::STKMeshNodalShapeFunction, and DataTransferKit::EntityCenteredShapeFunction.

void DataTransferKit::EntityShapeFunction::evaluateGradient ( const Entity entity,
const Teuchos::ArrayView< const double > &  reference_point,
Teuchos::Array< Teuchos::Array< double >> &  gradients 
) const
virtual

Given an entity and a reference point, evaluate the gradient of the shape function of the entity at that point. A default implementation is provided using a finite difference scheme.

Parameters
entityEvaluate the shape function of this entity.
reference_pointEvaluate the shape function at this point given in reference coordinates.
gradientsEntity shape function gradients evaluated at the reference point. Return these ordered with respect to those return by entitySupportIds() such that gradients[N][D] gives the gradient value of the Nth support location in the Dth spatial dimension.

Reimplemented in DataTransferKit::STKMeshNodalShapeFunction, and DataTransferKit::EntityCenteredShapeFunction.

Definition at line 59 of file DTK_EntityShapeFunction.cpp.


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