26 double operator*()
const
58 filename.append(
".csv");
62 if (not location.
empty()) {
72 outFile <<
"PosX;PosY";
77 for (
const auto &data : mesh.
data()) {
78 auto dataName = data->getName();
79 auto dim = data->getDimensions();
81 outFile <<
';' << dataName;
83 outFile <<
"X;" << dataName <<
'Y';
84 }
else if (dim == 3) {
85 outFile <<
"X;" << dataName <<
"Y;" << dataName <<
'Z';
92 for (
const auto &data : mesh.
data()) {
93 auto dim = data->getDimensions();
94 double *values = data->values().data();
95 for (
int i = 0; i < dim; ++i) {
104 const auto &vertex = mesh.
vertex(vid);
105 outFile << vertex.coord(0) <<
';';
106 outFile << vertex.coord(1);
108 outFile <<
";" << vertex.coord(2);
111 for (
auto &dc : dataColumns) {
112 outFile <<
';' << *dc;
#define PRECICE_TRACE(...)
#define PRECICE_ASSERT(...)
virtual void doExport(const std::string &name, const std::string &location, const mesh::Mesh &mesh)
Does export. Has to be implemented in subclass.
Container and creator for meshes.
int getDimensions() const
const std::string & getName() const
Returns the name of the mesh, as set in the config file.
std::size_t nVertices() const
Returns the number of vertices.
Vertex & vertex(VertexID id)
Mutable access to a vertex by VertexID.
bool empty() const
Does the mesh contain any vertices?
const DataContainer & data() const
Allows access to all data.
static Rank getRank()
Current rank.
static bool isParallel()
True if this process is running in parallel.
T create_directories(T... args)
provides Import and Export of the coupling mesh and data.