|
OOFEM 3.0
|
#include <vtkbaseexportmodule.h>
Public Member Functions | |
| VTKBaseExportModule (int n, EngngModel *e) | |
| Constructor. Creates empty Output Manager. By default all components are selected. | |
| virtual | ~VTKBaseExportModule () |
| Destructor. | |
| void | initialize () override |
| void | terminate () override |
| const char * | giveClassName () const override |
| Returns class name of the receiver. | |
| int | giveCellType (Element *element) |
| int | giveCellType (int num) |
| Public Member Functions inherited from oofem::ExportModule | |
| ExportModule (int n, EngngModel *e) | |
| Constructor. Creates empty Output Manager with number n. | |
| virtual | ~ExportModule () |
| Destructor. | |
| virtual void | initializeFrom (InputRecord &ir) |
| Initializes receiver according to object description stored in input record. | |
| virtual void | doOutput (TimeStep *tStep, bool forcedOutput=false)=0 |
| void | doForcedOutput (TimeStep *tStep) |
| bool | testSubStepOutput () |
| virtual void | initializeElementSet () |
Static Public Member Functions | |
| static void | computeIPAverage (FloatArray &answer, IntegrationRule *iRule, Element *elem, InternalStateType isType, TimeStep *tStep) |
Protected Member Functions | |
| virtual void | setupVTKPiece (ExportRegion &vtkPiece, TimeStep *tStep, Set ®ion) |
| virtual void | exportPrimaryVars (ExportRegion &piece, Set ®ion, IntArray &primaryVarsToExport, NodalRecoveryModel &smoother, TimeStep *tStep) |
| virtual void | exportIntVars (ExportRegion &piece, Set ®ion, IntArray &internalVarsToExport, NodalRecoveryModel &smoother, TimeStep *tStep) |
| void | exportExternalForces (ExportRegion &piece, int region, TimeStep *tStep) |
| void | exportCellVars (ExportRegion &piece, Set ®ion, IntArray &cellVarsToExport, TimeStep *tStep) |
| Exports cell variables (typically internal variables). | |
| void | exportExternalForces (ExportRegion &piece, Set ®ion, IntArray &externalForcesToExport, TimeStep *tStep) |
| void | exportSetMembership (ExportRegion &piece, Set ®ion, TimeStep *tStep) |
| void | getNodalVariableFromPrimaryField (FloatArray &answer, DofManager *dman, TimeStep *tStep, UnknownType type, Set ®ion, NodalRecoveryModel &smoother) |
| void | getNodalVariableFromIS (FloatArray &answer, Node *node, TimeStep *tStep, InternalStateType type, Set ®ion, NodalRecoveryModel &smoother) |
| void | getCellVariableFromIS (FloatArray &answer, Element *el, InternalStateType type, TimeStep *tStep) |
| int | giveNumberOfNodesPerCell (int cellType) |
| void | giveElementCell (IntArray &answer, Element *elem) |
| virtual int | initRegionNodeNumbering (ExportRegion &vtkPiece, Domain *domain, TimeStep *tStep, Set ®ion) |
| bool | isElementComposite (Element *elem) |
| void | exportCompositeElement (ExportRegion &vtkPiece, Element *el, TimeStep *tStep) |
| Returns true if element geometry type is composite (not a single cell). | |
| void | exportCompositeElement (std::vector< ExportRegion > &vtkPieces, Element *el, TimeStep *tStep) |
| Protected Member Functions inherited from oofem::ExportModule | |
| int | giveNumberOfRegions () |
| Returns number of regions (aka regionSets). | |
| Set * | giveRegionSet (int i) |
| Returns element set. | |
| std::string | giveOutputBaseFileName (TimeStep *tStep) |
| bool | testTimeStepOutput (TimeStep *tStep) |
| bool | testDomainOutput (int n) |
| std::string | errorInfo (const char *func) const |
| Returns string for prepending output (used by error reporting macros). | |
Static Protected Member Functions | |
| static void | makeFullTensorForm (FloatArray &answer, const FloatArray &reducedForm, InternalStateValueType vtype) |
| Gives the full form of given symmetrically stored tensors, missing components are filled with zeros. | |
Static Protected Attributes | |
| static IntArray | redToFull |
| Map from Voigt to full tensor. | |
Additional Inherited Members | |
| Protected Attributes inherited from oofem::ExportModule | |
| int | number |
| Component number. | |
| EngngModel * | emodel |
| Problem pointer. | |
| bool | tstep_all_out_flag |
| Indicates all steps selection. | |
| int | tstep_step_out |
| User timeStep Output step. Indicates every tstep_step_out-th step selected. | |
| std ::list< Range > | tsteps_out |
| List of user selected step numbers. | |
| bool | tstep_substeps_out_flag |
| bool | domain_all_flag |
| Indicates all domains. | |
| IntArray | domainMask |
| Domain selection mask. | |
| IntArray | regionSets |
| regions represented by sets | |
| double | timeScale |
| Scaling time in output, e.g. conversion from seconds to hours. | |
| Set | defaultElementSet |
| Default region set. | |
| bool | pythonExport |
| Output is carried out as a python list instead of writing files. | |
Base class for VTK related export modules. Defines commmon methods.
Definition at line 70 of file vtkbaseexportmodule.h.
| oofem::VTKBaseExportModule::VTKBaseExportModule | ( | int | n, |
| EngngModel * | e ) |
Constructor. Creates empty Output Manager. By default all components are selected.
Definition at line 63 of file vtkbaseexportmodule.C.
References oofem::ExportModule::ExportModule().
|
virtual |
Destructor.
Definition at line 66 of file vtkbaseexportmodule.C.
|
static |
Computes a cell average of an InternalStateType varible based on the weights in the integrationpoints (=> volume/area/length average)
Definition at line 873 of file vtkbaseexportmodule.C.
References oofem::FloatArray::add(), oofem::FloatArray::clear(), oofem::Element::giveIPValue(), and oofem::FloatArray::times().
Referenced by getCellVariableFromIS(), oofem::Shell7BaseXFEM::giveCZExportData(), and oofem::Shell7Base::giveShellExportData().
|
protected |
Exports cell variables (typically internal variables).
Definition at line 678 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::Element_local, oofem::ExportModule::emodel, getCellVariableFromIS(), oofem::Domain::giveElement(), oofem::Set::giveElementList(), oofem::Element::giveParallelMode(), oofem::IntArray::giveSize(), oofem::ExportRegion::setCellVar(), and oofem::ExportRegion::setNumberOfCellVarsToExport().
Referenced by oofem::VTKMemoryExportModule::doOutput(), oofem::VTKXMLExportModule::doOutput(), oofem::VTKXMLLatticeExportModule::doOutputNormal(), exportExternalForces(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), oofem::VTKXMLPeriodicExportModule::setupVTKPiece(), and oofem::VTKXMLLatticeExportModule::setupVTKPieceCross().
|
protected |
Returns true if element geometry type is composite (not a single cell).
|
protected |
|
protected |
Export external forces.
References exportCellVars(), exportExternalForces(), exportSetMembership(), getCellVariableFromIS(), getNodalVariableFromIS(), getNodalVariableFromPrimaryField(), giveElementCell(), giveNumberOfNodesPerCell(), initRegionNodeNumbering(), isElementComposite(), and makeFullTensorForm().
Referenced by oofem::VTKMemoryExportModule::doOutput(), oofem::VTKXMLExportModule::doOutput(), exportExternalForces(), and oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece().
|
protected |
Export external forces.
Definition at line 894 of file vtkbaseexportmodule.C.
References oofem::FloatArray::at(), oofem::IntArray::at(), oofem::ExportModule::emodel, oofem::ExportRegion::getMapL2G(), oofem::DofManager::giveDofWithID(), oofem::Dof::giveEquationNumber(), oofem::Domain::giveNode(), oofem::IntArray::giveSize(), OOFEM_WARNING, oofem::ExportRegion::setLoadInNode(), and oofem::ExportRegion::setNumberOfLoadsToExport().
|
protectedvirtual |
Export internal variables by smoothing.
Reimplemented in oofem::VTKXMLLatticeExportModule, and oofem::VTKXMLPeriodicExportModule.
Definition at line 565 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::NodalRecoveryModel::clear(), oofem::ExportModule::emodel, oofem::ExportRegion::getMapL2G(), getNodalVariableFromIS(), oofem::Domain::giveNode(), oofem::IntArray::giveSize(), oofem::ExportRegion::setInternalVarInNode(), and oofem::ExportRegion::setNumberOfInternalVarsToExport().
Referenced by oofem::VTKHDF5ExportModule::doOutput(), oofem::VTKMemoryExportModule::doOutput(), oofem::VTKXMLExportModule::doOutput(), and oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece().
|
protectedvirtual |
Export primary variables.
Reimplemented in oofem::VTKXMLLatticeExportModule, and oofem::VTKXMLPeriodicExportModule.
Definition at line 375 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::NodalRecoveryModel::clear(), oofem::ExportModule::emodel, oofem::ExportRegion::getMapL2G(), getNodalVariableFromPrimaryField(), oofem::Domain::giveNode(), oofem::IntArray::giveSize(), oofem::ExportRegion::setNumberOfPrimaryVarsToExport(), and oofem::ExportRegion::setPrimaryVarInNode().
Referenced by oofem::VTKHDF5ExportModule::doOutput(), oofem::VTKMemoryExportModule::doOutput(), oofem::VTKXMLExportModule::doOutput(), and oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece().
|
protected |
Definition at line 955 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::ExportModule::emodel, oofem::ExportRegion::getMapG2L(), oofem::Set::giveElementList(), oofem::Set::giveNodeList(), oofem::Domain::giveNumberOfSets(), oofem::Domain::giveSet(), oofem::IntArray::giveSize(), oofem::Set::giveSpecifiedNodeList(), oofem::Set::hasElement(), oofem::ExportRegion::setCellSetMembership(), oofem::ExportRegion::setNumberOfSetMembershipsToExport(), and oofem::ExportRegion::setVertexSetMembership().
Referenced by oofem::VTKXMLExportModule::doOutput(), and exportExternalForces().
|
protected |
Definition at line 702 of file vtkbaseexportmodule.C.
References oofem::FloatArray::at(), oofem::FloatArray::beColumnOf(), oofem::FloatMatrix::beUnitMatrix(), computeIPAverage(), oofem::ExportModule::emodel, oofem::Element::giveCrossSection(), oofem::Element::giveDefaultIntegrationRulePtr(), oofem::giveInternalStateTypeSize(), oofem::giveInternalStateValueType(), oofem::Element::giveLocalCoordinateSystem(), oofem::Element::giveMaterial(), oofem::FEMComponent::giveNumber(), oofem::Element::giveNumberOfInternalDofManagers(), oofem::FloatArray::giveSize(), oofem::ISVT_TENSOR_G, oofem::ISVT_TENSOR_S3, oofem::ISVT_TENSOR_S3E, oofem::ISVT_VECTOR, makeFullTensorForm(), oofem::FloatArray::resize(), oofem::FloatMatrix::resize(), and oofem::FloatArray::resizeWithValues().
Referenced by exportCellVars(), and exportExternalForces().
|
protected |
Definition at line 611 of file vtkbaseexportmodule.C.
References oofem::FloatArray::at(), oofem::ExportModule::emodel, oofem::DofManager::giveCoordinate(), oofem::giveInternalStateTypeSize(), oofem::giveInternalStateValueType(), oofem::MaterialInterface::giveNodalScalarRepresentation(), oofem::NodalRecoveryModel::giveNodalVector(), oofem::FEMComponent::giveNumber(), oofem::FloatArray::giveSize(), oofem::IntArray::giveSize(), oofem::Node::giveUpdatedCoordinate(), oofem::ISVT_SCALAR, oofem::ISVT_TENSOR_G, oofem::ISVT_TENSOR_S3, oofem::ISVT_TENSOR_S3E, oofem::ISVT_VECTOR, makeFullTensorForm(), OOFEM_ERROR, oofem::NodalRecoveryModel::recoverValues(), oofem::FloatArray::resize(), and oofem::FloatArray::resizeWithValues().
Referenced by exportExternalForces(), exportIntVars(), oofem::VTKXMLLatticeExportModule::exportIntVars(), and oofem::VTKXMLPeriodicExportModule::exportIntVars().
|
protected |
Definition at line 399 of file vtkbaseexportmodule.C.
References oofem::__UnknownTypeToString(), oofem::FloatArray::at(), oofem::IntArray::at(), oofem::IntArray::clear(), oofem::IntArray::followedBy(), oofem::DofManager::giveDofWithID(), oofem::giveInternalStateValueType(), oofem::Node::giveLocalCoordinateTriplet(), oofem::NodalRecoveryModel::giveNodalVector(), oofem::FEMComponent::giveNumber(), oofem::FloatArray::giveSize(), oofem::IntArray::giveSize(), oofem::Dof::giveUnknown(), oofem::DofManager::hasDofID(), oofem::Node::hasLocalCS(), oofem::ISVT_VECTOR, OOFEM_ERROR, OOFEM_WARNING, oofem::NodalRecoveryModel::recoverValues(), oofem::FloatArray::resize(), oofem::FloatArray::rotatedWith(), and oofem::FloatArray::zero().
Referenced by exportExternalForces(), exportPrimaryVars(), oofem::VTKXMLLatticeExportModule::exportPrimaryVars(), and oofem::VTKXMLPeriodicExportModule::exportPrimaryVars().
| int oofem::VTKBaseExportModule::giveCellType | ( | Element * | element | ) |
Returns corresponding element cell_type. Some common element types are supported, others can be supported via interface concept.
Definition at line 104 of file vtkbaseexportmodule.C.
References oofem::Element::giveGeometryType(), oofem::FEMComponent::giveNumber(), and OOFEM_ERROR.
Referenced by giveCellType(), giveElementCell(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), and oofem::VTKXMLPeriodicExportModule::setupVTKPiece().
| int oofem::VTKBaseExportModule::giveCellType | ( | int | num | ) |
Definition at line 148 of file vtkbaseexportmodule.C.
References oofem::ExportModule::emodel, and giveCellType().
|
inlineoverridevirtual |
Returns class name of the receiver.
Implements oofem::ExportModule.
Reimplemented in oofem::VTKHDF5ExportModule, oofem::VTKXMLExportModule, oofem::VTKXMLLatticeExportModule, oofem::VTKXMLPeriodicExportModule, and oofem::VTKXMLXFemExportModule.
Definition at line 84 of file vtkbaseexportmodule.h.
Returns the element cell geometry.
Definition at line 201 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), giveCellType(), oofem::Element::giveGeometryType(), oofem::Element::giveNode(), oofem::FEMComponent::giveNumber(), giveNumberOfNodesPerCell(), oofem::IntArray::giveSize(), OOFEM_ERROR, and oofem::IntArray::resize().
Referenced by exportExternalForces(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), and oofem::VTKXMLPeriodicExportModule::setupVTKPiece().
|
protected |
Returns number of nodes corresponding to cell type
Definition at line 154 of file vtkbaseexportmodule.C.
References OOFEM_ERROR.
Referenced by exportExternalForces(), and giveElementCell().
|
overridevirtual |
Reimplemented from oofem::ExportModule.
Reimplemented in oofem::VTKHDF5ExportModule, and oofem::VTKXMLExportModule.
Definition at line 70 of file vtkbaseexportmodule.C.
References oofem::ExportModule::initialize().
Referenced by oofem::VTKHDF5ExportModule::initialize(), and oofem::VTKXMLExportModule::initialize().
|
protectedvirtual |
Assembles the region node map. Also computes the total number of nodes in region. The region are numbered starting from offset+1. If mode == 0 then regionNodalNumbers is array with mapping from global numbering to local region numbering. The i-th value contains the corresponding local region number (or zero, if global number is not in region). If mode == 1 then regionNodalNumbers is array with mapping from local to global numbering. The i-th value contains the corresponding global node number.
Reimplemented in oofem::QuasicontinuumVTKXMLExportModule, oofem::VTKXMLLatticeExportModule, and oofem::VTKXMLPeriodicExportModule.
Definition at line 794 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::Element_local, oofem::ExportRegion::getMapG2L(), oofem::ExportRegion::getMapL2G(), oofem::Domain::giveElement(), oofem::Set::giveElementList(), oofem::Element::giveNode(), oofem::FEMComponent::giveNumber(), oofem::Domain::giveNumberOfDofManagers(), oofem::Element::giveNumberOfNodes(), oofem::Element::giveParallelMode(), oofem::IntArray::giveSize(), oofem::Element::isActivated(), oofem::Element::isCast(), isElementComposite(), oofem::IntArray::resize(), oofem::ExportRegion::setNumberOfCells(), oofem::ExportRegion::setNumberOfNodes(), and oofem::IntArray::zero().
Referenced by exportExternalForces(), and setupVTKPiece().
|
protected |
Definition at line 253 of file vtkbaseexportmodule.C.
References oofem::Element::giveGeometryType().
Referenced by oofem::VTKXMLExportModule::doOutput(), oofem::VTKXMLXFemExportModule::doOutput(), oofem::VTKXMLLatticeExportModule::doOutputNormal(), exportExternalForces(), oofem::QuasicontinuumVTKXMLExportModule::initRegionNodeNumbering(), initRegionNodeNumbering(), oofem::VTKXMLLatticeExportModule::initRegionNodeNumbering(), oofem::VTKXMLPeriodicExportModule::initRegionNodeNumbering(), oofem::QuasicontinuumVTKXMLExportModule::setupVTKPiece(), setupVTKPiece(), oofem::VTKXMLLatticeExportModule::setupVTKPiece(), and oofem::VTKXMLPeriodicExportModule::setupVTKPiece().
|
staticprotected |
Gives the full form of given symmetrically stored tensors, missing components are filled with zeros.
Definition at line 80 of file vtkbaseexportmodule.C.
References oofem::FloatArray::at(), oofem::FloatArray::giveSize(), oofem::ISVT_TENSOR_G, oofem::ISVT_TENSOR_S3E, redToFull, oofem::FloatArray::resize(), and oofem::FloatArray::zero().
Referenced by exportExternalForces(), oofem::VTKXMLExportModule::exportIntVarsInGpAs(), getCellVariableFromIS(), getNodalVariableFromIS(), and oofem::VTKXMLXFemExportModule::getNodalVariableFromXFEMST().
|
protectedvirtual |
Reimplemented in oofem::QuasicontinuumVTKXMLExportModule, oofem::VTKXMLLatticeExportModule, and oofem::VTKXMLPeriodicExportModule.
Definition at line 259 of file vtkbaseexportmodule.C.
References oofem::IntArray::at(), oofem::Element_local, oofem::ExportModule::emodel, oofem::IntArray::followedBy(), oofem::ExportRegion::getMapG2L(), oofem::ExportRegion::getMapL2G(), oofem::ExportRegion::getRegionCells(), giveCellType(), oofem::DofManager::giveCoordinates(), oofem::Domain::giveElement(), giveElementCell(), oofem::Set::giveElementList(), oofem::Domain::giveNode(), oofem::ExportRegion::giveNumberOfCells(), oofem::ExportRegion::giveNumberOfNodes(), oofem::Element::giveParallelMode(), oofem::IntArray::giveSize(), initRegionNodeNumbering(), oofem::Element::isActivated(), oofem::Element::isCast(), isElementComposite(), oofem::ExportRegion::setCellType(), oofem::ExportRegion::setConnectivity(), oofem::ExportRegion::setNodeCoords(), oofem::ExportRegion::setNumberOfCells(), oofem::ExportRegion::setNumberOfNodes(), and oofem::ExportRegion::setOffset().
Referenced by oofem::VTKHDF5ExportModule::doOutput(), oofem::VTKMemoryExportModule::doOutput(), oofem::VTKXMLExportModule::doOutput(), and oofem::VTKXMLXFemExportModule::doOutput().
|
overridevirtual |
Terminates the receiver. The terminating messages should be printed. All the streams should be closed.
Reimplemented from oofem::ExportModule.
Reimplemented in oofem::VTKHDF5ExportModule, oofem::VTKXMLExportModule, and oofem::VTKXMLXFemExportModule.
Definition at line 76 of file vtkbaseexportmodule.C.
|
staticprotected |
Map from Voigt to full tensor.
Definition at line 74 of file vtkbaseexportmodule.h.
Referenced by makeFullTensorForm().