cee::ug::DataResultSymmetricTensor

class DataResultSymmetricTensor : public RefCountedObject

Symmetric tensor results for all parts in the geometry.

The DataResultSymmetricTensor holds a collection of DataPartSymmetricTensor objects, each containing an array of symmetric tensor values for the belonging part. The DataResultSymmetricTensor has a result mapping type(per node, per element, per element node or per element surface) which applies to all its tensor parts.

Each DataResultSymmetricTensor has a unique id.

The number of parts in the DataResultSymmetricTensor and in the geometry must be the same. And the number of result values in each tensor part must match the number of nodes/elements in the part (depending on mapping type). For instance, a node mapped result will need the same number of result values in the tensor part as there are nodes in the part.

The id and result mapping is set upon construction of the object and cannot be changed afterwards. The selected id and result mapping can be found by calling resultId() and resultMapping().

DataPartSymmetricTensor objects can be added using addPart(). Get the number of parts in the tensor result with partCount() and accessed individual parts by calling part()

with the requested index.

All parts can be removed using

removeAllParts().

Public Functions

DataResultSymmetricTensor(int resultId, ResultMapping mappingType)

Constructs an empty object.

A unique id and the mapping type are decided upon construction.

See also

ResultMapping

int resultId() const

Returns the result id.

size_t partCount() const

Returns number of symmetric tensor parts in this symmetric tensor result.

const DataPartSymmetricTensor *part(size_t partIndex) const

Returns the part at the given index.

DataPartSymmetricTensor *part(size_t partIndex)

Returns the part at the given index.

ResultMapping resultMapping() const

Returns the result mapping for this result.

void addPart(DataPartSymmetricTensor *part)

Adds a symmetric tensor part to the result symmetric tensor.

Number of parts must match the number of parts in the corresponding geometry.

Warning

The added object is reference counted and should never be created on the stack or deleted!

void removeAllParts()

Removes all symmetric tensor parts.

bool deriveScalar(DeriveOperation deriveOperation, DataResultScalar *derivedScalar) const

Gets a derived scalar.

bool deriveVector(DeriveOperation deriveOperation, DataResultVector *derivedVector) const

Gets a derived vector.