ASPECT
Public Member Functions | List of all members
aspect::Particle::Interpolator::Interface< dim > Class Template Referenceabstract
Inheritance diagram for aspect::Particle::Interpolator::Interface< dim >:
Inheritance graph
[legend]

Public Member Functions

virtual std::vector< std::vector< double > > properties_at_points (const ParticleHandler< dim > &particle_handler, const std::vector< Point< dim >> &positions, const ComponentMask &selected_properties, const typename parallel::distributed::Triangulation< dim >::active_cell_iterator &cell) const =0
 
- Public Member Functions inherited from aspect::Particle::ParticleInterfaceBase
 ParticleInterfaceBase ()
 
void set_particle_manager_index (unsigned int particle_manager_index)
 Set which particle manager the plugin belongs to. More...
 
unsigned int get_particle_manager_index () const
 Gets which particle manager the plugin belong to. More...
 
- Public Member Functions inherited from aspect::Plugins::InterfaceBase
virtual ~InterfaceBase ()=default
 
virtual void initialize ()
 
virtual void update ()
 
virtual void parse_parameters (ParameterHandler &prm)
 

Additional Inherited Members

- Static Public Member Functions inherited from aspect::Plugins::InterfaceBase
static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::Particle::Interpolator::Interface< dim >

An abstract class defining virtual methods for performing interpolation of particle properties to arbitrary points.

Definition at line 50 of file interface.h.

Member Function Documentation

§ properties_at_points()

template<int dim>
virtual std::vector<std::vector<double> > aspect::Particle::Interpolator::Interface< dim >::properties_at_points ( const ParticleHandler< dim > &  particle_handler,
const std::vector< Point< dim >> &  positions,
const ComponentMask &  selected_properties,
const typename parallel::distributed::Triangulation< dim >::active_cell_iterator &  cell 
) const
pure virtual

Perform an interpolation of the properties of the particles in this cell onto a vector of positions in this cell. Implementations of this function must return a vector of a vector of doubles with as many entries as positions in positions. Each entry is a vector with as many entries as there are particle properties in this computation. All in selected_properties selected components will be filled with computed properties, all other components are not filled (or filled with invalid values).

Parameters
[in]particle_handlerReference to the particle handler that allows accessing the particles in the domain.
[in]positionsThe vector of positions where the properties should be evaluated.
[in]selected_propertiesA component mask that determines which particle properties are interpolated in this function.
[in]cellAn iterator to the cell containing the positions.
Returns
A vector with as many entries as positions. Each entry is a vector of interpolated particle properties at this position. This property vector has as many entries as there are particle properties, however entries that have not been selected in selected_properties are filled with signalling NaNs.

Implemented in aspect::Particle::Interpolator::QuadraticLeastSquares< dim >, aspect::Particle::Interpolator::DistanceWeightedAverage< dim >, aspect::Particle::Interpolator::BilinearLeastSquares< dim >, aspect::Particle::Interpolator::NearestNeighbor< dim >, aspect::Particle::Interpolator::CellAverage< dim >, and aspect::Particle::Interpolator::HarmonicAverage< dim >.


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