A VTK output module to simplify writing dumux simulation data to VTK format. More...
#include <dumux/io/vtkoutputmodule.hh>
A VTK output module to simplify writing dumux simulation data to VTK format.
GridVariables | The grid variables |
SolutionVector | The solution vector |
Handles the output of scalar and vector fields to VTK formatted file for multiple variables and timesteps. Certain predefined fields can be registered on initialization and/or be turned on/off using the designated properties. Additionally non-standardized scalar and vector fields can be added to the writer manually.
Public Types | |
using | Field = Vtk::template Field< GridView > |
the type of Field that can be added to this writer More... | |
using | VolumeVariables = VV |
export type of the volume variables for the outputfields More... | |
Public Member Functions | |
VtkOutputModule (const GridVariables &gridVariables, const SolutionVector &sol, const std::string &name, const std::string ¶mGroup="", Dune::VTK::DataMode dm=Dune::VTK::conforming, bool verbose=true) | |
void | addVelocityOutput (std::shared_ptr< VelocityOutputType > velocityOutput) |
Add a velocity output policy. More... | |
void | addVolumeVariable (std::function< Scalar(const VolumeVariables &)> &&f, const std::string &name) |
template<class VVV = VolVarsVector, typename std::enable_if_t<(VVV::dimension > 1), int > = 0> | |
void | addVolumeVariable (std::function< VolVarsVector(const VolumeVariables &)> &&f, const std::string &name) |
const std::string & | paramGroup () const |
the parameter group for getting parameter from the parameter tree More... | |
void | addField (const Vector &v, const std::string &name, Vtk::FieldType fieldType=Vtk::FieldType::automatic) |
Add a scalar or vector valued vtk field. More... | |
void | addField (const Vector &v, const std::string &name, Dumux::Vtk::Precision precision, Vtk::FieldType fieldType=Vtk::FieldType::automatic) |
Add a scalar or vector valued vtk field. More... | |
void | addField (Field &&field) |
Add a scalar or vector valued vtk field. More... | |
void | write (double time, Dune::VTK::OutputType type=Dune::VTK::ascii) |
Protected Types | |
using | VelocityOutput = VelocityOutputType |
Protected Member Functions | |
const auto & | problem () const |
const GridVariables & | gridVariables () const |
const GridGeometry & | gridGeometry () const |
const SolutionVector & | sol () const |
const std::vector< VolVarScalarDataInfo > & | volVarScalarDataInfo () const |
const std::vector< VolVarVectorDataInfo > & | volVarVectorDataInfo () const |
const VelocityOutput & | velocityOutput () const |
bool | verbose () const |
const std::string & | name () const |
Dune::VTK::DataMode | dataMode () const |
Dumux::Vtk::Precision | precision () const |
Dune::VTKWriter< GridView > & | writer () |
Dune::VTKSequenceWriter< GridView > & | sequenceWriter () |
const std::vector< Field > & | fields () const |
using Dumux::VtkOutputModule< GridVariables, SolutionVector >::Field = Vtk::template Field<GridView> |
the type of Field that can be added to this writer
|
protected |
using Dumux::VtkOutputModule< GridVariables, SolutionVector >::VolumeVariables = VV |
export type of the volume variables for the outputfields
|
inline |
|
inlineinherited |
Add a scalar or vector valued vtk field.
v | The field to be added. Can be any indexable container. Its value type can be a number or itself an indexable container. |
name | The name of the field |
fieldType | The type of the field. This determines whether the values are associated with vertices or elements. By default, the method automatically deduces the correct type for the given input. |
precision | The output precision of this field (see Dune::VTK::Precision) |
|
inlineinherited |
Add a scalar or vector valued vtk field.
v | The field to be added. Can be any indexable container. Its value type can be a number or itself an indexable container. |
name | The name of the field |
fieldType | The type of the field. This determines whether the values are associated with vertices or elements. By default, the method automatically deduces the correct type for the given input. |
|
inlineinherited |
Add a scalar or vector valued vtk field.
field | The parameters passed on to the field constructor |
|
inline |
Add a velocity output policy.
Methods to conveniently add primary and secondary variables upon initialization Do not call these methods after initialization i.e. not within the time loop
velocityOutput | the output policy |
|
inline |
Output a scalar volume variable
name | The name of the vtk field |
f | A function taking a VolumeVariables object and returning the desired scalar |
|
inline |
Add a vector-valued variable
f | A function taking a VolumeVariables object and returning the desired vector |
name | The name of the vtk field |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineinherited |
the parameter group for getting parameter from the parameter tree
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineinherited |
Write the data for this timestep to file in four steps (1) We assemble all registered variable fields (2) We register them with the vtk writer (3) The writer writes the output for us (4) Clear the writer for the next time step
output
|
inlineprotectedinherited |