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

Public Member Functions

virtual void local_integrate_step (const typename ParticleHandler< dim >::particle_iterator &begin_particle, const typename ParticleHandler< dim >::particle_iterator &end_particle, const std::vector< Tensor< 1, dim > > &old_velocities, const std::vector< Tensor< 1, dim > > &velocities, const double dt)
 
- Public Member Functions inherited from aspect::Particle::Integrator::Interface< dim >
virtual ~Interface ()
 
virtual bool new_integration_step ()
 
virtual std::size_t get_data_size () const
 
virtual const void * read_data (const typename ParticleHandler< dim >::particle_iterator &particle, const void *data)
 
virtual void * write_data (const typename ParticleHandler< dim >::particle_iterator &particle, void *data) const
 
virtual void parse_parameters (ParameterHandler &prm)
 

Additional Inherited Members

- Static Public Member Functions inherited from aspect::Particle::Integrator::Interface< dim >
static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::Particle::Integrator::Euler< dim >

Explicit Euler scheme integrator. This requires only one step per integration, and doesn't involve any additional integration steps (it is a one-step method), therefore no data needs to be stored between subsequent steps.

Definition at line 41 of file euler.h.

Member Function Documentation

§ local_integrate_step()

template<int dim>
virtual void aspect::Particle::Integrator::Euler< dim >::local_integrate_step ( const typename ParticleHandler< dim >::particle_iterator &  begin_particle,
const typename ParticleHandler< dim >::particle_iterator &  end_particle,
const std::vector< Tensor< 1, dim > > &  old_velocities,
const std::vector< Tensor< 1, dim > > &  velocities,
const double  dt 
)
virtual

Perform an integration step of moving the particles of one cell by the specified timestep dt. This function implements an explicit euler integration scheme.

Parameters
[in]begin_particleAn iterator to the first particle to be moved.
[in]end_particleAn iterator to the last particle to be moved.
[in]old_velocitiesThe velocities at t_n, i.e. before the particle movement, for all particles between begin_particle and end_particle at their current position.
[in]velocitiesThe velocities at the particle positions at t_{n+1}, i.e. after the particle movement. Note that this is the velocity at the old positions, but at the new time. It is the responsibility of this function to compute the new location of the particles.
[in]dtThe length of the integration timestep.

Implements aspect::Particle::Integrator::Interface< dim >.


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