Feature/vtk variable output precision
- Allow to write every field and the coordinated in a custom precision
- Allow VTKFunctions to state precision other than float
- Allow user to pass precision via the simple addVertex/CellData interfaces
- Enable passing the precision via the field info into vtk writer
- Enable changing precision of the coordinate output
- Add an enum class Precision that determines with which precision a field should be written to VTK file, int32 (std::int32_t), uint8 (std::uint8_t), uint32 (std::uint32_t), float32 (float), float64 (double)
- Add helper function that converts a precision to a VTK field type string
- Add helper function that converts a precision to the byte size
- Decouples VTK types from C++ types
- Use fixed size C++ integer types to make sure we always have a format conforming VTK file
I measured runtimes for outputs with a single field + coords for 1000 to 10Mio cells, by running 10 consecutive writes in a loop measuring with Dune::Timer, and I couldn't detect any performance penalty.
ToDos:
-
Add entry to changelog
Edited by Timo Koch