Skip to content
Snippets Groups Projects
Commit e1597508 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Begining of VTK ascii writer

parent c5940096
No related branches found
No related tags found
No related merge requests found
......@@ -98,6 +98,7 @@ add_subdirectory(src)
include_directories(src)
include_directories(src/algebra)
include_directories(src/mesh)
include_directories(src/output)
include_directories(src/utils)
include_directories(src/scheme)
......
......@@ -19,6 +19,9 @@ include_directories(mesh)
#add_subdirectory(mesh)
include_directories(scheme)
# Pastis output
include_directories(output)
# Pastis experimental
add_subdirectory(experimental)
include_directories(experimental)
......@@ -16,6 +16,8 @@
#include <BoundaryCondition.hpp>
#include <AcousticSolver.hpp>
#include <VTKWriter.hpp>
#include <TinyVector.hpp>
#include <TinyMatrix.hpp>
......@@ -133,13 +135,16 @@ int main(int argc, char *argv[])
timer.reset();
MeshDataType mesh_data(mesh);
VTKWriter vtk_writer("output.vtu");
std::vector<BoundaryConditionHandler> bc_list;
{ // quite dirty!
for (size_t i_boundary=0; i_boundary<mesh.connectivity().numberOfNodeBoundaries(); ++i_boundary) {
Connectivity2D::NodesBoundary nodes_boundary = mesh.connectivity().nodesBoundary(i_boundary);
unsigned int ref = nodes_boundary.first;
TinyVector<2> normal(0,0);
if ((ref == 3) or (ref == 4)) {
if ((ref == 5) or (ref == 6)) {
normal = TinyVector<2>(0,1);
} else {
normal = TinyVector<2>(1,0);
......
#ifndef VTK_WRITER_HPP
#define VTK_WRITER_HPP
#include <string>
#include <fstream>
class VTKWriter
{
public:
VTKWriter(const std::string& filename)
{
std::ofstream fout(filename);
fout << "<?xml version=\"1.0\"?>\n";
fout << "<VTKFile type=\"UnstructuredGrid\">\n";
fout << "<UnstructuredGrid>\n";
fout << "<Piece NumberOfPoints=\"3\" NumberOfCells=\"1\">\n";
fout << "<Points>\n";
fout << "<DataArray Name=\"Positions\" NumberOfComponents=\"3\" type=\"Float64\" format=\"ascii\">\n";
fout << "0 0 0 1 0 0 0 1 0\n";
fout << "</DataArray>\n";
fout << "</Points>\n";
fout << "<Cells>\n";
fout << "<DataArray type=\"Int32\" Name=\"connectivity\" NumberOfComponents=\"1\" format=\"ascii\">\n";
fout << "0 1 2\n";
fout << "</DataArray>\n";
fout << "<DataArray type=\"UInt32\" Name=\"offsets\" NumberOfComponents=\"1\" format=\"ascii\">\n";
fout << 3 << '\n';
fout << "</DataArray>\n";
fout << "<DataArray type=\"Int8\" Name=\"types\" NumberOfComponents=\"1\" format=\"ascii\">\n";
fout << "5\n";
fout << "</DataArray>\n";
fout << "</Cells>\n";
fout << "</Piece>\n";
fout << "</UnstructuredGrid>\n";
fout << "</VTKFile>\n";
}
~VTKWriter() = default;
};
#endif // VTK_WRITER_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment