23#include <blockforest/StructuredBlockForest.h>
24#include <field/vtk/VTKWriter.h>
25#include <vtk/VTKOutput.h>
30std::shared_ptr<VTKHandle>
33 std::string
const &identifier,
34 std::string
const &base_folder,
35 std::string
const &prefix,
bool force_pvtu) {
37 using walberla::uint_c;
40 auto const vtk_uid = base_folder +
"/" + identifier;
48 auto const write_freq = (delta_N) ?
static_cast<unsigned int>(delta_N) : 1u;
49 auto vtk_obj = walberla::vtk::createVTKOutput_BlockData(
50 blocks, identifier, uint_c(write_freq), uint_c(0), force_pvtu,
51 base_folder, prefix,
true,
true,
true,
true, uint_c(initial_count));
59 auto vtk_handle = std::make_shared<VTKHandle>(vtk_obj, initial_count,
true);
76 walberla::vtk::writeFiles(vtk_handle->ptr)();
77 vtk_handle->execution_count++;
std::map< std::string, std::shared_ptr< VTKHandle > > m_vtk_auto
VTK writers that are executed automatically.
virtual void register_vtk_field_writers(walberla::vtk::VTKOutput &vtk_obj, units_map const &units_conversion, int flag_observables)=0
Register VTK writers.
virtual void register_vtk_field_filters(walberla::vtk::VTKOutput &vtk_obj)=0
std::map< std::string, std::shared_ptr< VTKHandle > > m_vtk_manual
VTK writers that are executed manually.
std::shared_ptr< VTKHandle > create_vtk(int delta_N, int initial_count, int flag_observables, units_map const &units_conversion, std::string const &identifier, std::string const &base_folder, std::string const &prefix, bool force_pvtu)
Create a VTK observable.
std::unordered_map< std::string, double > units_map
void switch_vtk(std::string const &vtk_uid, bool status)
Toggle a VTK observable on/off.
void write_vtk(std::string const &vtk_uid)
Write a VTK observable to disk.
virtual LatticeWalberla const & get_lattice() const noexcept=0
Get the underlying lattice.