|
OOFEM 3.0
|
#include <unstructuredgridfield.h>
Classes | |
| class | Vertex |
| class | Cell |
| class | CellInsertionFunctor |
| class | CellContainingPointFunctor |
Public Member Functions | |
| UnstructuredGridField (int nvert, int ncells, double octreeOriginShift=0.0) | |
| virtual | ~UnstructuredGridField () |
| void | initialize (int nvert, int ncells, double _octreeOriginShift=0.0) |
| int | giveNumberOfVertices () const |
| int | giveNumberOfCells () const |
| void | setVertexValue (int num, const FloatArray &vv) |
| void | addVertex (int num, FloatArray &coords) |
| const FloatArray & | getVertexCoordinates (int num) const |
| Vertex * | getVertex (int num) |
| void | addCell (int num, const Element_Geometry_Type type, IntArray &vertices) |
| int | evaluateAt (FloatArray &answer, const FloatArray &coords, ValueModeType mode, TimeStep *tStep) override |
| int | evaluateAt (FloatArray &answer, DofManager *dman, ValueModeType mode, TimeStep *tStep) override |
| void | saveContext (DataStream &stream) override |
| void | restoreContext (DataStream &stream) override |
| const char * | giveClassName () const override |
| Public Member Functions inherited from oofem::Field | |
| Field (FieldType b=FieldType::FT_Unknown) | |
| virtual | ~Field () |
| virtual int | evaluateAt (FloatArray &answer, Element *elem, ValueModeType mode, TimeStep *tStep) |
| FieldType | giveType () |
| Returns the type of receiver. | |
| void | setType (FieldType b) |
| Sets the type of receiver. | |
| void | setSetsNumbers (const IntArray sets) |
| Defines a list of sets used to impose a field on specific elements. | |
| virtual bool | hasElementInSets (int nElem, Domain *d) |
| Searches if element number exist in IntArray regionSets for given domain. | |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
| virtual void | initializeFrom (InputRecord &ir) |
Protected Member Functions | |
| void | initOctree () |
Protected Attributes | |
| std::vector< Cell > | cellList |
| std::vector< Vertex > | vertexList |
| std::vector< FloatArray > | valueList |
| OctreeSpatialLocalizerT< Cell > | spatialLocalizer |
| long int | octreeTimeStamp |
| octree build time stamp | |
| long int | timeStamp |
| receiver timestamp | |
| double | octreeOriginShift |
| octree origin shift | |
| Protected Attributes inherited from oofem::Field | |
| FieldType | type |
| IntArray | regionSets |
Field defined by values defined on unstructured grid. This implementation does not require that underlying grid is oofem mesh (composed of DofMagars and Elements), but rather simple objects (Vertices and Cells) which in turn does not have to provide complex FE services. Typically used to map extermal field to mupif. The performance is robust but quite slow due to excessive searching. For external fields, use rather DofManValueField.
Definition at line 62 of file unstructuredgridfield.h.
|
inline |
Constructor. Creates a field, with unspecified field values.
Definition at line 308 of file unstructuredgridfield.h.
References oofem::Field::Field(), octreeOriginShift, and spatialLocalizer.
Referenced by oofem::UnstructuredGridField::Cell::Cell().
|
inlinevirtual |
Definition at line 316 of file unstructuredgridfield.h.
|
inline |
Definition at line 347 of file unstructuredgridfield.h.
References cellList, and oofem::Field::type.
|
inline |
Definition at line 333 of file unstructuredgridfield.h.
References vertexList.
|
inlineoverridevirtual |
Evaluates the field at given point.
| coords | Coordinates of the point of interest |
| answer | Field evaluated at coordinate. |
| tStep | Time step to evaluate for. |
| mode | Mode of value (total, velocity,...). |
Implements oofem::Field.
Definition at line 352 of file unstructuredgridfield.h.
References oofem::FloatArray::at(), oofem::UnstructuredGridField::Cell::getVertexNum(), oofem::OctreeSpatialLocalizerT< T >::giveDataOnFilter(), oofem::UnstructuredGridField::Cell::giveNumberOfVertices(), initOctree(), oofem::UnstructuredGridField::Cell::interpolate(), OOFEM_ERROR, and oofem::FloatArray::printYourself().
Referenced by evaluateAt().
|
inlineoverridevirtual |
Implementaton of Field::evaluateAt for DofManager.
Implements oofem::Field.
Definition at line 405 of file unstructuredgridfield.h.
References evaluateAt(), and oofem::DofManager::giveCoordinates().
|
inline |
Definition at line 343 of file unstructuredgridfield.h.
|
inline |
Definition at line 338 of file unstructuredgridfield.h.
|
inlineoverridevirtual |
Implements oofem::Field.
Definition at line 415 of file unstructuredgridfield.h.
|
inline |
Definition at line 327 of file unstructuredgridfield.h.
References cellList.
|
inline |
Definition at line 326 of file unstructuredgridfield.h.
References vertexList.
|
inline |
Definition at line 318 of file unstructuredgridfield.h.
|
inlineprotected |
Definition at line 418 of file unstructuredgridfield.h.
References oofem::OctreeSpatialLocalizerT< T >::clear(), oofem::FloatArray::giveSize(), oofem::BoundingBox::init(), oofem::OctreeSpatialLocalizerT< T >::init(), oofem::OctreeSpatialLocalizerT< T >::insertMemberIntoOctree(), oofem::max(), oofem::min(), octreeOriginShift, and vertexList.
Referenced by evaluateAt().
|
inlineoverridevirtual |
Restores the receiver state previously written in stream.
| stream | Input stream. |
| Throws | an ContextIOERR exception if error encountered. |
Implements oofem::Field.
Definition at line 412 of file unstructuredgridfield.h.
|
inlineoverridevirtual |
Stores receiver state to output stream.
| stream | Output stream. |
| Throws | an ContextIOERR exception if error encountered. |
Implements oofem::Field.
Definition at line 411 of file unstructuredgridfield.h.
|
inline |
Definition at line 329 of file unstructuredgridfield.h.
References valueList.
|
protected |
Definition at line 290 of file unstructuredgridfield.h.
Referenced by addCell(), and giveNumberOfCells().
|
protected |
octree origin shift
Definition at line 303 of file unstructuredgridfield.h.
Referenced by initOctree(), and UnstructuredGridField().
|
protected |
octree build time stamp
Definition at line 299 of file unstructuredgridfield.h.
|
protected |
Spatial Localizer. It is build upon request. Provides the spatial localization services.
Definition at line 297 of file unstructuredgridfield.h.
Referenced by UnstructuredGridField().
|
protected |
receiver timestamp
Definition at line 301 of file unstructuredgridfield.h.
|
protected |
Definition at line 292 of file unstructuredgridfield.h.
Referenced by setVertexValue().
|
protected |
Definition at line 291 of file unstructuredgridfield.h.
Referenced by addVertex(), giveNumberOfVertices(), and initOctree().