56QuasicontinuumVTKXMLExportModule :: QuasicontinuumVTKXMLExportModule(
int n,
EngngModel *e) :
VTKXMLExportModule(n, e), internalVarsToExport(), primaryVarsToExport()
60QuasicontinuumVTKXMLExportModule :: ~QuasicontinuumVTKXMLExportModule()
65QuasicontinuumVTKXMLExportModule :: initializeFrom(
InputRecord &ir)
67 VTKXMLExportModule :: initializeFrom(ir);
91 if ( numNodes > 0 && numRegionEl > 0 ) {
94 for (
int inode = 1; inode <= numNodes; inode++ ) {
109 for (
int ei = 1; ei <= elems.
giveSize(); ei++ ) {
110 int elNum = elems.
at(ei);
116 if ( !
emodel->isElementActivated(elem) ) {
128 if ( !elem->
isCast(tStep) ) {
142 int numElNodes = cellNodes.
giveSize();
144 for (
int i = 1; i <= numElNodes; i++ ) {
145 connectivity.
at(i) = mapG2L.
at( cellNodes.
at(i) );
152 offset += numElNodes;
172QuasicontinuumVTKXMLExportModule :: initRegionNodeNumbering(
ExportRegion& piece,
184 int elementNode, node;
191 regionG2LNodalNumbers.
resize(nnodes);
192 regionG2LNodalNumbers.
zero();
193 int regionDofMans = 0;
194 int regionSingleCells = 0;
197 for (
int ie = 1; ie <= elements.
giveSize(); ie++ ) {
198 int ielem = elements.
at(ie);
217 if ( !element->
isCast(tStep) ) {
230 for ( elementNode = 1; elementNode <= elemNodes; elementNode++ ) {
232 if ( regionG2LNodalNumbers.
at(node) == 0 ) {
236 regionG2LNodalNumbers.
at(node) = 1;
245 regionL2GNodalNumbers.
resize(regionDofMans);
247 for (
int i = 1; i <= nnodes; i++ ) {
248 if ( regionG2LNodalNumbers.
at(i) ) {
249 regionG2LNodalNumbers.
at(i) = currOffset++;
250 regionL2GNodalNumbers.
at( regionG2LNodalNumbers.
at(i) ) = i;
#define REGISTER_ExportModule(class)
const FloatArray & giveCoordinates() const
int giveNumberOfDofManagers() const
Returns number of dof managers in domain.
Element * giveElement(int n)
EngngModel * giveEngngModel()
Node * giveNode(int i) const
virtual bool isActivated(TimeStep *tStep)
virtual int giveNumberOfNodes() const
elementParallelMode giveParallelMode() const
virtual bool isCast(TimeStep *tStep)
virtual bool isElementActivated(int elemNum)
EngngModel * emodel
Problem pointer.
Stores all neccessary data (of a region) in a VTKPiece so it can be exported later.
void setCellType(int cellNum, int type)
void setConnectivity(int cellNum, IntArray &nodes)
void setOffset(int cellNum, int offset)
void setNumberOfCells(int numCells)
void setNodeCoords(int nodeNum, const FloatArray &coords)
void setNumberOfNodes(int numNodes)
void zero()
Sets all component to zero.
int deactivatedElementsExportFlag
IntArray internalVarsToExport
List of InternalStateType values, identifying the selected vars for export.
IntArray cellVarsToExport
List of cell data to export.
int initRegionNodeNumbering(ExportRegion &p, Domain *domain, TimeStep *tStep, Set ®ion) override
IntArray primaryVarsToExport
List of primary unknowns to export.
const IntArray & giveElementList()
bool isElementComposite(Element *elem)
void exportCellVars(ExportRegion &piece, Set ®ion, IntArray &cellVarsToExport, TimeStep *tStep)
Exports cell variables (typically internal variables).
void giveElementCell(IntArray &answer, Element *elem)
int giveCellType(Element *element)
virtual void exportIntVars(ExportRegion &piece, Set ®ion, IntArray &internalVarsToExport, NodalRecoveryModel &smoother, TimeStep *tStep)
void exportExternalForces(ExportRegion &piece, int region, TimeStep *tStep)
virtual void exportPrimaryVars(ExportRegion &piece, Set ®ion, IntArray &primaryVarsToExport, NodalRecoveryModel &smoother, TimeStep *tStep)
std::unique_ptr< NodalRecoveryModel > smoother
Smoother.
IntArray externalForcesToExport
List of primary unknowns to export.
NodalRecoveryModel * givePrimVarSmoother()
Returns the smoother for primary variables (nodal averaging).
ExportRegion defaultVTKPiece
NodalRecoveryModel * giveSmoother()
Returns the internal smoother.
std::unique_ptr< NodalRecoveryModel > primVarSmoother
Smoother for primary variables.
@ Element_local
Element is local, there are no contributions from other domains to this element.
#define _IFT_QuasicontinuumVTKXMLExportModule_ExportDeactivatedElements