Postprocessor< dim, number > Class Template Reference

Developer Documentation: MeltPoolDG::Postprocessor< dim, number > Class Template Reference
Developer Documentation
MeltPoolDG::Postprocessor< dim, number > Class Template Reference

#include <postprocessor.hpp>

Collaboration diagram for MeltPoolDG::Postprocessor< dim, number >:
[legend]

Classes

struct  ObstacleOutput
 

Public Member Functions

 Postprocessor (const MPI_Comm mpi_communicator_in, const OutputData< number > &output_data_in, const TimeIntegration::TimeSteppingData< number > &time_data, const dealii::Mapping< dim > &mapping_in, const dealii::Triangulation< dim > &triangulation_in, const ConditionalOStream &pcout_in)
 
void process (const int n_time_step, const GenericDataOut< dim, number > &generic_data_out, const number time=-1.0, const bool force_output=false, const bool force_update_requested_output_variables=false)
 
void process (const int n_time_step, const std::function< void(GenericDataOut< dim, number > &)> &attach_output_vectors, const number time=-1.0)
 
bool is_output_timestep (const int n_time_step, const number time) const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
void register_obstacle_output (dealii::Particles::ParticleHandler< dim > const *particle_handler, const std::vector< std::string > &property_names, const std::vector< dealii::DataComponentInterpretation::DataComponentInterpretation > &property_data_component_interpretation)
 

Private Member Functions

void clean_pvd (std::vector< std::pair< number, std::string > > &times_and_names)
 Clean non-existing *.pvtu files from the *.pvd file. This is required if we perform a restart and write the output to a different directory compared to the original simulation.
 
void write_paraview_files (const unsigned int n_time_step, const number time, const GenericDataOut< dim, number > &generic_data_out, const bool force_output_all=false)
 
void write_particle_paraview_files (const unsigned int n_time_step, const number time)
 Writes particles from the registered particle handler to ParaView files, including their positions and properties for obstacle output.
 
void print_boundary_ids ()
 

Private Attributes

const MPI_Comm mpi_communicator
 
const OutputData< number > & output_data
 
const dealii::Mapping< dim > & mapping
 
const dealii::Triangulation< dim > & triangulation
 
const ConditionalOStream pcout
 
const bool do_simplex
 
const number end_time
 
number time_at_last_output = 0.0
 
struct MeltPoolDG::Postprocessor::ObstacleOutput obstacle_output
 
std::vector< unsigned int > idx_req_vars
 
std::vector< std::pair< number, std::string > > vector_times_and_names
 Times and filenames of previously written vector output.
 
std::vector< std::pair< number, std::string > > particle_times_and_names
 Times and filenames of previously written particle output.
 

Constructor & Destructor Documentation

◆ Postprocessor()

template<int dim, typename number >
MeltPoolDG::Postprocessor< dim, number >::Postprocessor ( const MPI_Comm  mpi_communicator_in,
const OutputData< number > &  output_data_in,
const TimeIntegration::TimeSteppingData< number > &  time_data,
const dealii::Mapping< dim > &  mapping_in,
const dealii::Triangulation< dim > &  triangulation_in,
const ConditionalOStream pcout_in 
)

Member Function Documentation

◆ clean_pvd()

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::clean_pvd ( std::vector< std::pair< number, std::string > > &  times_and_names)
private

Clean non-existing *.pvtu files from the *.pvd file. This is required if we perform a restart and write the output to a different directory compared to the original simulation.

Parameters
times_and_namesTimes and filenames of previously written output. This vector is modified in-place to exclude entries referring to missing *.pvtu files.

◆ is_output_timestep()

template<int dim, typename number >
bool MeltPoolDG::Postprocessor< dim, number >::is_output_timestep ( const int  n_time_step,
const number  time 
) const
inline

Determines whether postprocessing should be performed now.

◆ print_boundary_ids()

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::print_boundary_ids ( )
private

◆ process() [1/2]

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::process ( const int  n_time_step,
const GenericDataOut< dim, number > &  generic_data_out,
const number  time = -1.0,
const bool  force_output = false,
const bool  force_update_requested_output_variables = false 
)

This function collects and performs all relevant postprocessing steps.

◆ process() [2/2]

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::process ( const int  n_time_step,
const std::function< void(GenericDataOut< dim, number > &)> &  attach_output_vectors,
const number  time = -1.0 
)

This function collects and performs all relevant postprocessing steps.

◆ register_obstacle_output()

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::register_obstacle_output ( dealii::Particles::ParticleHandler< dim > const *  particle_handler,
const std::vector< std::string > &  property_names,
const std::vector< dealii::DataComponentInterpretation::DataComponentInterpretation > &  property_data_component_interpretation 
)
inline

◆ serialize()

template<int dim, typename number >
template<class Archive >
void MeltPoolDG::Postprocessor< dim, number >::serialize ( Archive &  ar,
const unsigned int   
)
inline

◆ write_paraview_files()

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::write_paraview_files ( const unsigned int  n_time_step,
const number  time,
const GenericDataOut< dim, number > &  generic_data_out,
const bool  force_output_all = false 
)
private

◆ write_particle_paraview_files()

template<int dim, typename number >
void MeltPoolDG::Postprocessor< dim, number >::write_particle_paraview_files ( const unsigned int  n_time_step,
const number  time 
)
private

Writes particles from the registered particle handler to ParaView files, including their positions and properties for obstacle output.

Note
The member function register_obstacle_output() must be called once beforehand. This is not verified internally, so it is the caller's responsibility to ensure it.
Parameters
n_time_stepCurrent time step number.
timeCurrent simulation time.

Member Data Documentation

◆ do_simplex

template<int dim, typename number >
const bool MeltPoolDG::Postprocessor< dim, number >::do_simplex
private

◆ end_time

template<int dim, typename number >
const number MeltPoolDG::Postprocessor< dim, number >::end_time
private

◆ idx_req_vars

template<int dim, typename number >
std::vector<unsigned int> MeltPoolDG::Postprocessor< dim, number >::idx_req_vars
private

◆ mapping

template<int dim, typename number >
const dealii::Mapping<dim>& MeltPoolDG::Postprocessor< dim, number >::mapping
private

◆ mpi_communicator

template<int dim, typename number >
const MPI_Comm MeltPoolDG::Postprocessor< dim, number >::mpi_communicator
private

◆ obstacle_output

template<int dim, typename number >
struct MeltPoolDG::Postprocessor::ObstacleOutput MeltPoolDG::Postprocessor< dim, number >::obstacle_output
private

◆ output_data

template<int dim, typename number >
const OutputData<number>& MeltPoolDG::Postprocessor< dim, number >::output_data
private

◆ particle_times_and_names

template<int dim, typename number >
std::vector<std::pair<number, std::string> > MeltPoolDG::Postprocessor< dim, number >::particle_times_and_names
private

Times and filenames of previously written particle output.

◆ pcout

template<int dim, typename number >
const ConditionalOStream MeltPoolDG::Postprocessor< dim, number >::pcout
private

◆ time_at_last_output

template<int dim, typename number >
number MeltPoolDG::Postprocessor< dim, number >::time_at_last_output = 0.0
private

◆ triangulation

template<int dim, typename number >
const dealii::Triangulation<dim>& MeltPoolDG::Postprocessor< dim, number >::triangulation
private

◆ vector_times_and_names

template<int dim, typename number >
std::vector<std::pair<number, std::string> > MeltPoolDG::Postprocessor< dim, number >::vector_times_and_names
private

Times and filenames of previously written vector output.


The documentation for this class was generated from the following files: