DataTransferKit - Multiphysics Solution Transfer Services
2.0
|
#include <DTK_Field.hpp>
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 SupportId > | getLocalSupportIds () 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... | |
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.
|
inline |
Constructor.
Definition at line 78 of file DTK_Field.hpp.
|
inlinevirtual |
Destructor.
Definition at line 83 of file DTK_Field.hpp.
|
pure virtual |
Get the dimension of the field.
Implemented in DataTransferKit::EntityCenteredField, and DataTransferKit::STKMeshField< Scalar, FieldType >.
|
pure virtual |
Get the locally-owned support location ids of the field.
Implemented in DataTransferKit::EntityCenteredField, and DataTransferKit::STKMeshField< Scalar, FieldType >.
|
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 >.
|
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 >.
|
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.