16#include <jem/base/Array.h>
17#include <jem/base/CString.h>
18#include <jem/base/IllegalArgumentException.h>
19#include <jem/base/Slice.h>
20#include <jem/base/System.h>
21#include <jem/io/FileName.h>
22#include <jem/io/FileOpenException.h>
23#include <jem/io/FileWriter.h>
24#include <jem/io/PrintWriter.h>
25#include <jem/util/ArrayBuffer.h>
26#include <jem/util/Properties.h>
28#include <jive/app/Module.h>
29#include <jive/app/ModuleFactory.h>
30#include <jive/app/Names.h>
31#include <jive/fem/ElementGroup.h>
32#include <jive/fem/ElementSet.h>
33#include <jive/fem/NodeSet.h>
34#include <jive/model/Actions.h>
35#include <jive/model/Model.h>
36#include <jive/model/StateVector.h>
37#include <jive/util/Assignable.h>
38#include <jive/util/DofSpace.h>
39#include <jive/util/FuncUtils.h>
40#include <jive/util/Globdat.h>
41#include <jive/util/ItemGroup.h>
42#include <jive/util/ItemSet.h>
43#include <jive/util/SparseTable.h>
44#include <jive/util/XTable.h>
51using jem::IllegalArgumentException;
53using jem::newInstance;
56using jem::SliceFromTo;
62using jem::io::FileFlags;
63using jem::io::FileName;
64using jem::io::FileOpenException;
65using jem::io::FileWriter;
66using jem::io::PrintWriter;
68using jem::util::ArrayBuffer;
69using jem::util::Properties;
73using jive::StringVector;
75using jive::app::Module;
76using jive::app::PropNames;
77using jive::fem::ElementGroup;
78using jive::fem::ElementSet;
79using jive::fem::NodeSet;
80using jive::model::Actions;
81using jive::model::Model;
82using jive::model::StateVector;
83using jive::util::Assignable;
84using jive::util::DofSpace;
85using jive::util::Function;
86using jive::util::Globdat;
87using jive::util::ItemGroup;
88using jive::util::ItemSet;
89using jive::util::SparseTable;
90using jive::util::XTable;
144 virtual Status
init(
const Properties &conf,
const Properties &props,
145 const Properties &globdat)
override;
152 virtual Status
run(
const Properties &globdat)
override;
157 virtual void shutdown(
const Properties &globdat)
override;
165 static Ref<Module>
makeNew(
const String &name,
const Properties &conf,
166 const Properties &props,
const Properties &globdat);
195 void writeFile_(
const String &fileName,
const Properties &globdat);
211 void writePiece_(
const Ref<PrintWriter> &file,
const Assignable<NodeSet> &points,
212 const Assignable<ElementSet> &cells,
213 const Assignable<ElementGroup> &group,
const Vector &disp,
214 const Vector &velo,
const Vector &acce,
const Ref<DofSpace> &dofs,
215 const Ref<Model> &model,
const Properties &globdat,
224 void writeDataArray_(
const Ref<PrintWriter> &file,
const Matrix &data,
225 const String &type,
const String &name);
234 void writeDataArray_(
const Ref<PrintWriter> &file,
const Ref<XTable> &data,
235 const IdxVector &rows,
const String &type,
const String &name);
243 void writeDataArray_(
const Ref<PrintWriter> &file,
const Vector &data,
244 const String &type,
const String &name);
252 StringVector elemSets_;
253 Array<ElementInfo> setInfo_;
254 Ref<Function> sampleCond_;
255 Ref<Function> sampleInfo_;
263 ArrayBuffer<double> pvdTimeBuffer_;
264 ArrayBuffer<String> pvdNameBuffer_;
Module for exporting simulation data to ParaView format.
Definition ParaViewModule.h:111
static Ref< Module > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for creating new ParaViewModule instances.
Definition ParaViewModule.cpp:686
virtual void shutdown(const Properties &globdat) override
Shutdown and finalize ParaView export.
Definition ParaViewModule.cpp:228
virtual Status run(const Properties &globdat) override
Run the ParaView export.
Definition ParaViewModule.cpp:150
static idx_t nameToVTKNum(const String &name)
Convert element shape name to VTK cell type number.
Definition ParaViewModule.cpp:714
static void declare()
Register ParaViewModule type with ModuleFactory.
Definition ParaViewModule.cpp:701
static IdxVector gmsh2ParaNodeOrder(const IdxVector elNodes, const String &name)
Convert GMSH node ordering to ParaView node ordering.
Definition ParaViewModule.cpp:781
static const char * SPACING
XML indentation spacing.
Definition ParaViewModule.h:130
static const char * TYPE_NAME
Module type name.
Definition ParaViewModule.h:129
virtual Status init(const Properties &conf, const Properties &props, const Properties &globdat) override
Initialize the module.
Definition ParaViewModule.cpp:62
Structure containing element group export information.
Definition ParaViewModule.h:117
StringVector nodeData
Node-based data fields to export.
Definition ParaViewModule.h:121
StringVector elemData
Element-based data fields to export.
Definition ParaViewModule.h:120
String name
Name of the element group.
Definition ParaViewModule.h:118
String shape
Element shape identifier.
Definition ParaViewModule.h:119
StringVector dispData
Displacement component names.
Definition ParaViewModule.h:122
StringVector dofData
Additional DOF data to export.
Definition ParaViewModule.h:123