Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
ageinglawstateupdater.hh 750 B
#ifndef SRC_STATE_AGEINGLAWSTATEUPDATER_HH
#define SRC_STATE_AGEINGLAWSTATEUPDATER_HH

#include "../tobool.hh"
#include "stateupdater.hh"

template <class ScalarVector, class Vector>
class AgeingLawStateUpdater : public StateUpdater<ScalarVector, Vector> {
public:
  AgeingLawStateUpdater(ScalarVector _alpha_initial,
                        Dune::BitSetVector<1> const &_nodes, double _L,
                        double _V0);

  void nextTimeStep() override;
  void setup(double _tau) override;
  void solve(Vector const &velocity_field) override;
  void extractAlpha(ScalarVector &) override;

private:
  ScalarVector alpha_o;
  ScalarVector alpha;
  Dune::BitSetVector<1> const &nodes;
  double const L;
  double const V0;
  double tau;
};
#endif