Skip to content
Snippets Groups Projects
Select Git revision
  • e0bbdec26daeb764eba161b5f0c7090b9b3b9f88
  • develop default protected
  • feature/variational-hydro
  • origin/stage/bouguettaia
  • feature/gmsh-reader
  • feature/reconstruction
  • save_clemence
  • feature/kinetic-schemes
  • feature/local-dt-fsi
  • feature/composite-scheme-sources
  • feature/composite-scheme-other-fluxes
  • feature/serraille
  • feature/composite-scheme
  • hyperplastic
  • feature/polynomials
  • feature/gks
  • feature/implicit-solver-o2
  • feature/coupling_module
  • feature/implicit-solver
  • feature/merge-local-dt-fsi
  • master protected
  • v0.5.0 protected
  • v0.4.1 protected
  • v0.4.0 protected
  • v0.3.0 protected
  • v0.2.0 protected
  • v0.1.0 protected
  • Kidder
  • v0.0.4 protected
  • v0.0.3 protected
  • v0.0.2 protected
  • v0 protected
  • v0.0.1 protected
33 results

VTKWriter.cpp

Blame
  • VTKWriter.cpp 19.17 KiB
    #include <output/VTKWriter.hpp>
    
    #include <mesh/Connectivity.hpp>
    #include <mesh/Mesh.hpp>
    #include <utils/Messenger.hpp>
    #include <utils/RevisionInfo.hpp>
    
    #include <ctime>
    #include <fstream>
    #include <iomanip>
    #include <sstream>
    #include <unordered_map>
    
    std::string
    VTKWriter::_getFilenamePVTU() const
    {
      std::ostringstream sout;
      sout << m_base_filename;
      sout << '.' << std::setfill('0') << std::setw(4) << m_file_number << ".pvtu";
      return sout.str();
    }
    
    std::string
    VTKWriter::_getDateAndVersionComment() const
    {
      std::ostringstream os;
    
      std::time_t now = std::time(nullptr);
      os << "<!--\n";
      os << "  Generated by pugs: " << std::ctime(&now);
      os << "  version: " << RevisionInfo::version() << '\n';
      os << "  tag:  " << RevisionInfo::gitTag() << '\n';
      os << "  HEAD: " << RevisionInfo::gitHead() << '\n';
      os << "  hash: " << RevisionInfo::gitHash() << " (" << ((RevisionInfo::gitIsClean()) ? "clean" : "dirty") << ")\n";
      os << "-->\n";
      return os.str();
    }
    
    std::string
    VTKWriter::_getFilenameVTU(int rank_number) const
    {
      std::ostringstream sout;
      sout << m_base_filename;
      if (parallel::size() > 1) {
        sout << '-' << std::setfill('0') << std::setw(4) << rank_number;
      }
      sout << '.' << std::setfill('0') << std::setw(4) << m_file_number << ".vtu";
      return sout.str();
    }
    
    template <typename DataType>
    void
    VTKWriter::_write_node_pvtu(std::ofstream& os, const std::string& name, const NodeValue<const DataType>&) const
    {
      os << "<PDataArray type=\"" << VTKType<DataType>::name << "\" Name=\"" << name << "\"/>\n";
    }
    
    template <size_t N, typename DataType>
    void
    VTKWriter::_write_node_pvtu(std::ofstream& os,
                                const std::string& name,
                                const NodeValue<const TinyVector<N, DataType>>&) const
    {
      os << "<PDataArray type=\"" << VTKType<DataType>::name << "\" Name=\"" << name << "\" NumberOfComponents=\"" << N
         << "\"/>\n";
    }
    
    template <size_t N, typename DataType>
    void
    VTKWriter::_write_node_pvtu(std::ofstream& os,