ASPECT
Public Member Functions | Private Member Functions | Private Attributes | List of all members
aspect::Postprocess::internal::ParticleOutput< dim > Class Template Reference
Inheritance diagram for aspect::Postprocess::internal::ParticleOutput< dim >:
Inheritance graph
[legend]

Public Member Functions

void build_patches (const Particles::ParticleHandler< dim > &particle_handler, const aspect::Particle::Property::ParticlePropertyInformation &property_information, const std::vector< std::string > &exclude_output_properties, const bool only_group_3d_vectors)
 

Private Member Functions

const std::vector< DataOutBase::Patch< 0, dim > > & get_patches () const override
 
std::vector< std::string > get_dataset_names () const override
 
std::vector< std::tuple< unsigned int, unsigned int, std::string, DataComponentInterpretation::DataComponentInterpretation > > get_nonscalar_data_ranges () const override
 

Private Attributes

std::vector< DataOutBase::Patch< 0, dim > > patches
 
std::vector< std::string > dataset_names
 
std::vector< std::tuple< unsigned int, unsigned int, std::string, DataComponentInterpretation::DataComponentInterpretation > > vector_datasets
 

Detailed Description

template<int dim>
class aspect::Postprocess::internal::ParticleOutput< dim >

This class is responsible for writing the particle data into a format that can be written by deal.II, in particular a list of 'patches' that contain one particle per patch. The base class DataOutInterface is templated with a dimension of zero (the dimension of the particle / point), and a space dimension of dim (the dimension in which this zero-dimensional particle lives).

Definition at line 50 of file particles.h.

Member Function Documentation

§ build_patches()

template<int dim>
void aspect::Postprocess::internal::ParticleOutput< dim >::build_patches ( const Particles::ParticleHandler< dim > &  particle_handler,
const aspect::Particle::Property::ParticlePropertyInformation property_information,
const std::vector< std::string > &  exclude_output_properties,
const bool  only_group_3d_vectors 
)

This function prepares the data for writing. It reads the data from particle_handler and their property information from property_information, and builds a list of patches that is stored internally until the destructor is called. This function needs to be called before one of the write function of the base class can be called to write the output data.

§ get_patches()

template<int dim>
const std::vector<DataOutBase::Patch<0,dim> >& aspect::Postprocess::internal::ParticleOutput< dim >::get_patches ( ) const
overrideprivate

Implementation of the corresponding function of the base class.

§ get_dataset_names()

template<int dim>
std::vector<std::string> aspect::Postprocess::internal::ParticleOutput< dim >::get_dataset_names ( ) const
overrideprivate

Implementation of the corresponding function of the base class.

§ get_nonscalar_data_ranges()

template<int dim>
std::vector< std::tuple<unsigned int, unsigned int, std::string, DataComponentInterpretation::DataComponentInterpretation> > aspect::Postprocess::internal::ParticleOutput< dim >::get_nonscalar_data_ranges ( ) const
overrideprivate

Implementation of the corresponding function of the base class.

Member Data Documentation

§ patches

template<int dim>
std::vector<DataOutBase::Patch<0,dim> > aspect::Postprocess::internal::ParticleOutput< dim >::patches
private

Output information that is filled by build_patches() and written by the write function of the base class.

Definition at line 91 of file particles.h.

§ dataset_names

template<int dim>
std::vector<std::string> aspect::Postprocess::internal::ParticleOutput< dim >::dataset_names
private

A list of field names for all data components stored in patches.

Definition at line 96 of file particles.h.

§ vector_datasets

template<int dim>
std::vector< std::tuple<unsigned int, unsigned int, std::string, DataComponentInterpretation::DataComponentInterpretation> > aspect::Postprocess::internal::ParticleOutput< dim >::vector_datasets
private

Store which of the data fields are vectors.

Definition at line 106 of file particles.h.


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