15#ifndef dealii_data_out_stack_h
16#define dealii_data_out_stack_h
35template <
int dim,
int spacedim>
114template <
int dim,
int spacedim = dim>
117 static_assert(dim < 3,
118 "Because this class stacks data into the (dim+1)st "
119 "dimension to create graphical output, it only works for "
121 static_assert(dim == spacedim,
122 "This class is not implemented for dim != spacedim.");
218 template <
typename number>
240 template <
typename number>
243 const std::vector<std::string> &names);
285 <<
"The data vector for which the first component has the name " << arg1
286 <<
" has not been added before.");
291 "You cannot start a new time/parameter step before calling "
292 "finish_parameter_value() on the previous step.");
298 "You cannot declare additional vectors after already calling "
299 "build_patches(). All data vectors need to be declared "
300 "before you call this function the first time.");
306 <<
"You tried to declare a component of a data vector with "
307 <<
"the name <" << arg1
308 <<
">, but that name is already used.");
332 std::vector<::DataOutBase::Patch<patch_dim, patch_spacedim>>
patches;
373 virtual const std::vector<
383 virtual std::vector<std::string>
std::size_t memory_consumption() const
static constexpr int patch_dim
void declare_data_vector(const std::string &name, const VectorType vector_type)
virtual std::vector< std::string > get_dataset_names() const override
std::vector< DataVector > cell_data
virtual ~DataOutStack() override=default
void new_parameter_value(const double parameter_value, const double parameter_step)
std::vector< DataVector > dof_data
SmartPointer< const DoFHandler< dim, spacedim >, DataOutStack< dim, spacedim > > dof_handler
void finish_parameter_value()
void attach_dof_handler(const DoFHandler< dim, spacedim > &dof_handler)
static constexpr int patch_spacedim
void build_patches(const unsigned int n_subdivisions=0)
std::vector<::DataOutBase::Patch< patch_dim, patch_spacedim > > patches
virtual const std::vector< ::DataOutBase::Patch< DataOutStack< dim, spacedim >::patch_dim, DataOutStack< dim, spacedim >::patch_spacedim > > & get_patches() const override
void add_data_vector(const Vector< number > &vec, const std::string &name)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
static ::ExceptionBase & ExcDataNotCleared()
static ::ExceptionBase & ExcDataAlreadyAdded()
static ::ExceptionBase & ExcVectorNotDeclared(std::string arg1)
static ::ExceptionBase & ExcNameAlreadyUsed(std::string arg1)
#define DeclExceptionMsg(Exception, defaulttext)
#define DeclException1(Exception1, type1, outsequence)
std::size_t memory_consumption() const
std::vector< std::string > names