22 #ifndef _aspect_postprocess_visualization_h
23 #define _aspect_postprocess_visualization_h
40 namespace VisualizationPostprocessors
47 const unsigned int N = quantities.size();
48 const unsigned int M = quantities[0].size();
49 for (
unsigned int m=0; m<M; ++m)
52 for (
unsigned int q=0; q<N; ++q)
53 sum += quantities[q](m);
56 for (
unsigned int q=0; q<N; ++q)
178 std::list<std::string>
237 std::pair<std::string, std::unique_ptr<Vector<float>>>
290 std::pair<std::string,std::string>
320 const std::string &description,
331 std::list<std::string>
350 void save (std::map<std::string, std::string> &status_strings)
const override;
355 void load (
const std::map<std::string, std::string> &status_strings)
override;
361 template <
class Archive>
362 void serialize (Archive &ar,
const unsigned int version);
388 <<
"Could not find entry <"
390 <<
"> among the names of registered postprocessors.");
569 void writer (
const std::string &filename,
570 const std::string &temporary_filename,
571 const std::string &file_contents);
577 std::list<std::unique_ptr<VisualizationPostprocessors::Interface<dim>>>
postprocessors;
603 template <
class Archive>
604 void serialize (Archive &ar,
const unsigned int version);
680 template <
typename DataOutType>
682 const std::string &solution_file_prefix,
683 const std::vector<std::string> &filenames,
696 template <
typename DataOutType>
699 const std::map<std::string,std::string> &visualization_field_names_and_units)
const;
710 #define ASPECT_REGISTER_VISUALIZATION_POSTPROCESSOR(classname,name,description) \
711 template class classname<2>; \
712 template class classname<3>; \
713 namespace ASPECT_REGISTER_VISUALIZATION_POSTPROCESSOR_ ## classname \
715 aspect::internal::Plugins::RegisterHelper<aspect::Postprocess::VisualizationPostprocessors::Interface<2>,classname<2>> \
716 dummy_ ## classname ## _2d (&aspect::Postprocess::Visualization<2>::register_visualization_postprocessor, \
717 name, description); \
718 aspect::internal::Plugins::RegisterHelper<aspect::Postprocess::VisualizationPostprocessors::Interface<3>,classname<3>> \
719 dummy_ ## classname ## _3d (&aspect::Postprocess::Visualization<3>::register_visualization_postprocessor, \
720 name, description); \
~CellDataVectorCreator() override=default
virtual std::pair< std::string, std::unique_ptr< Vector< float > > > execute() const =0
CellDataVectorCreator(const std::string &physical_units="")
virtual std::string get_physical_units() const
const std::string physical_units
Interface(const std::string &physical_units="")
virtual std::list< std::string > required_other_postprocessors() const
virtual ~SurfaceOnlyVisualization()=default
std::string write_data_out_data(DataOutType &data_out, OutputHistory &output_history, const std::map< std::string, std::string > &visualization_field_names_and_units) const
void parse_parameters(ParameterHandler &prm) override
std::string output_format
static void writer(const std::string &filename, const std::string &temporary_filename, const std::string &file_contents)
bool output_mesh_velocity
std::string temporary_output_location
unsigned int maximum_timesteps_between_outputs
bool write_higher_order_output
bool pointwise_stress_and_strain
bool output_pointwise_stress_and_strain() const
bool output_mesh_displacement
bool write_in_background_thread
void save(std::map< std::string, std::string > &status_strings) const override
std::list< std::unique_ptr< VisualizationPostprocessors::Interface< dim > > > postprocessors
OutputHistory cell_output_history
bool output_base_variables_on_mesh_surface
std::pair< std::string, std::string > execute(TableHandler &statistics) override
DeclException1(ExcPostprocessorNameNotFound, std::string,<< "Could not find entry <"<< arg1<< "> among the names of registered postprocessors.")
OutputHistory face_output_history
void write_description_files(const DataOutType &data_out, const std::string &solution_file_prefix, const std::vector< std::string > &filenames, OutputHistory &output_history) const
static void declare_parameters(ParameterHandler &prm)
static void register_visualization_postprocessor(const std::string &name, const std::string &description, void(*declare_parameters_function)(ParameterHandler &), std::unique_ptr< VisualizationPostprocessors::Interface< dim >>(*factory_function)())
void load(const std::map< std::string, std::string > &status_strings) override
bool output_undeformed_mesh
void set_last_output_time(const double current_time)
unsigned int output_file_number
static void write_plugin_graph(std::ostream &output_stream)
unsigned int last_output_timestep
void mesh_changed_signal()
std::list< std::string > required_other_postprocessors() const override
void serialize(Archive &ar, const unsigned int version)
void average(const AveragingOperation operation, const typename DoFHandler< dim >::active_cell_iterator &cell, const Quadrature< dim > &quadrature_formula, const Mapping< dim > &mapping, const MaterialProperties::Property &requested_properties, MaterialModelOutputs< dim > &values_out)
void average_quantities(std::vector< Vector< double >> &quantities)
std::vector< std::vector< std::string > > output_file_names_by_timestep
std::string last_mesh_file_name
void serialize(Archive &ar, const unsigned int version)
std::thread background_thread
std::vector< XDMFEntry > xdmf_entries
std::vector< std::pair< double, std::string > > times_and_pvtu_names