ASPECT
velocity_gradient.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2015 - 2021 by the authors of the ASPECT code.
3  This file is part of ASPECT.
4  ASPECT is free software; you can redistribute it and/or modify
5  it under the terms of the GNU General Public License as published by
6  the Free Software Foundation; either version 2, or (at your option)
7  any later version.
8  ASPECT is distributed in the hope that it will be useful,
9  but WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  GNU General Public License for more details.
12  You should have received a copy of the GNU General Public License
13  along with ASPECT; see the file LICENSE. If not see
14  <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef _aspect_particle_property_velocity_gradient_h
18 #define _aspect_particle_property_velocity_gradient_h
19 
22 
23 namespace aspect
24 {
25  namespace Particle
26  {
27  namespace Property
28  {
34  template <int dim>
35  class VelocityGradient : public Interface<dim>, public ::aspect::SimulatorAccess<dim>
36  {
37  public:
49  void
50  initialize_one_particle_property (const Point<dim> &position,
51  std::vector<double> &particle_properties) const override;
52 
56  virtual
57  void
58  update_particle_property (const unsigned int data_position,
59  const Vector<double> &solution,
60  const std::vector<Tensor<1,dim>> &gradients,
61  typename ParticleHandler<dim>::particle_iterator &particle) const override;
62 
68  need_update () const override;
69 
75  UpdateFlags
76  get_needed_update_flags () const override;
77 
85  std::vector<std::pair<std::string, unsigned int>>
86  get_property_information() const override;
87  };
88  }
89  }
90 }
91 
92 #endif
UpdateFlags get_needed_update_flags() const override
std::vector< std::pair< std::string, unsigned int > > get_property_information() const override
UpdateTimeFlags need_update() const override
virtual void update_particle_property(const unsigned int data_position, const Vector< double > &solution, const std::vector< Tensor< 1, dim >> &gradients, typename ParticleHandler< dim >::particle_iterator &particle) const override
void initialize_one_particle_property(const Point< dim > &position, std::vector< double > &particle_properties) const override