13#ifndef dealii_data_out_stack_h
14#define dealii_data_out_stack_h
33template <
int dim,
int spacedim>
112template <
int dim,
int spacedim = dim>
115 static_assert(dim < 3,
116 "Because this class stacks data into the (dim+1)st "
117 "dimension to create graphical output, it only works for "
119 static_assert(dim == spacedim,
120 "This class is not implemented for dim != spacedim.");
216 template <
typename number>
238 template <
typename number>
241 const std::vector<std::string> &names);
283 <<
"The data vector for which the first component has the name " << arg1
284 <<
" has not been added before.");
289 "You cannot start a new time/parameter step before calling "
290 "finish_parameter_value() on the previous step.");
296 "You cannot declare additional vectors after already calling "
297 "build_patches(). All data vectors need to be declared "
298 "before you call this function the first time.");
304 <<
"You tried to declare a component of a data vector with "
305 <<
"the name <" << arg1
306 <<
">, but that name is already used.");
330 std::vector<::DataOutBase::Patch<patch_dim, patch_spacedim>>
patches;
371 virtual const std::vector<
381 virtual std::vector<std::string>
std::size_t memory_consumption() const
ObserverPointer< const DoFHandler< dim, spacedim >, DataOutStack< dim, spacedim > > dof_handler
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
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