23 #ifndef _VTU_WRITER_HPP
24 #define _VTU_WRITER_HPP
31 #include <Eigen/Dense>
63 const std::string filename,
64 const std::vector<T> &sol_vrtx,
65 const std::vector<std::string> &sol_names = {}
68 FILE* pFile=fopen(filename.c_str(),
"w");
73 std::vector<std::string> names = sol_names;
74 if (names.size() < sol_vrtx.size()){
76 for (
size_t i=0; i < sol_vrtx.size(); i++){
77 names.push_back(
"solution" + std::to_string(i));
82 fprintf (pFile,
"%s\n",
" <PointData>");
83 for (
size_t i=0; i < sol_vrtx.size(); i++){
86 fprintf (pFile,
"%s\n",
" </PointData>");
98 const std::string file_name,
100 const std::string &sol_name =
"solution"
103 return write_to_vtu(file_name, std::vector<T> {sol_vertex}, std::vector<std::string> {sol_name});
108 bool write_solution(FILE* pFile,
const std::vector<double> &sol_vertex,
const std::string &name);
109 bool write_solution(FILE* pFile,
const Eigen::VectorXd &sol_vertex,
const std::string &name);
110 bool write_solution(FILE* pFile,
const std::vector<VectorRd> &sol_vertex,
const std::string &name);
118 std::vector<int> vtk_type;
119 std::vector<std::vector<Vertex *>> c_vertices;
120 std::vector<size_t> c_offset;
121 std::vector<std::vector<std::vector<Vertex *>>> c_f_vertices;
122 std::vector<size_t> c_f_offset;
The VtuWriter class provides methods to plot a 3D mesh and a solution on this mesh.
Definition: vtu_writer.hpp:50
Class to describe a mesh.
Definition: MeshND.hpp:17
VtuWriter(const Mesh *mesh)
Constructor for mesh writer.
Definition: vtu_writer.cpp:17
bool write_footer(FILE *pFile)
Definition: vtu_writer.cpp:192
bool write_cells(FILE *pFile)
Definition: vtu_writer.cpp:126
bool write_to_vtu(const std::string filename, const std::vector< T > &sol_vrtx, const std::vector< std::string > &sol_names={})
Writes file with a series of solutions (scalar if T=std::vector<double> (or Eigen::VectorXd),...
Definition: vtu_writer.hpp:62
bool write_to_vtu(const std::string file_name, const T &sol_vertex, const std::string &sol_name="solution")
Overload to simplify the call when only one solution is involved.
Definition: vtu_writer.hpp:97
bool write_solution(FILE *pFile, const std::vector< double > &sol_vertex, const std::string &name)
Definition: vtu_writer.cpp:97
bool write_vertices(FILE *pFile)
Definition: vtu_writer.cpp:81
bool write_header(FILE *pFile)
Definition: vtu_writer.cpp:69
Definition: ddr-magnetostatics.hpp:40