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

Field interface. More...

#include <DTK_Field.hpp>

Inheritance diagram for DataTransferKit::Field:
DataTransferKit::EntityCenteredField DataTransferKit::STKMeshField< Scalar, FieldType >

Public Member Functions

 Field ()
 Constructor. More...
 
virtual ~Field ()
 Destructor. More...
 
virtual int dimension () const =0
 Get the dimension of the field. More...
 
virtual Teuchos::ArrayView< const SupportIdgetLocalSupportIds () const =0
 Get the locally-owned support location ids of the field. More...
 
virtual double readFieldData (const SupportId support_id, const int dimension) const =0
 Given a local support id and a dimension, read data from the application field. More...
 
virtual void writeFieldData (const SupportId support_id, const int dimension, const double data)=0
 Given a local support id, dimension, and field value, write data into the application field. More...
 
virtual void finalizeAfterWrite ()
 Finalize a field after writing into it. This lets some clients do a post-process (e.g. update ghost values). Default finalize does nothing. More...
 

Detailed Description

Field interface.

Field provides an access wrapper around application field data. Client API implementations provided read/write access to field data on an entity-by-entity basis. Field is a translation layer between entity support ids provided by shape functions and the actual indexing into application data for a given quantity of interest. For example, multiple nodal fields will have entity support ids that are identical while the data in the underlying application will be indexed differently.

We need this extra layer of indirection because MapOperator may be constructed to be compatible with multiple subsets of a single vector in an application. For example, if nodal data of pressure and temperature were in a single state vector in an application, two Field objects could be constructed, one for each field. A single nodal MapOperator could then be applied to each vector constructed from the fields to independently perform the solution transfer.

Definition at line 72 of file DTK_Field.hpp.

Constructor & Destructor Documentation

DataTransferKit::Field::Field ( )
inline

Constructor.

Definition at line 78 of file DTK_Field.hpp.

virtual DataTransferKit::Field::~Field ( )
inlinevirtual

Destructor.

Definition at line 83 of file DTK_Field.hpp.

Member Function Documentation

virtual int DataTransferKit::Field::dimension ( ) const
pure virtual
virtual Teuchos::ArrayView<const SupportId> DataTransferKit::Field::getLocalSupportIds ( ) const
pure virtual

Get the locally-owned support location ids of the field.

Implemented in DataTransferKit::EntityCenteredField, and DataTransferKit::STKMeshField< Scalar, FieldType >.

virtual double DataTransferKit::Field::readFieldData ( const SupportId  support_id,
const int  dimension 
) const
pure virtual

Given a local support id and a dimension, read data from the application field.

Implemented in DataTransferKit::EntityCenteredField, and DataTransferKit::STKMeshField< Scalar, FieldType >.

virtual void DataTransferKit::Field::writeFieldData ( const SupportId  support_id,
const int  dimension,
const double  data 
)
pure virtual

Given a local support id, dimension, and field value, write data into the application field.

Implemented in DataTransferKit::EntityCenteredField, and DataTransferKit::STKMeshField< Scalar, FieldType >.

virtual void DataTransferKit::Field::finalizeAfterWrite ( )
inlinevirtual

Finalize a field after writing into it. This lets some clients do a post-process (e.g. update ghost values). Default finalize does nothing.

Reimplemented in DataTransferKit::STKMeshField< Scalar, FieldType >.

Definition at line 114 of file DTK_Field.hpp.


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