Select Git revision
eulerpair.hh
Forked from
agnumpde / dune-tectonic
389 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
eulerpair.hh 1.12 KiB
#ifndef DUNE_TECTONIC_TIMESTEPPING_EULERPAIR_HH
#define DUNE_TECTONIC_TIMESTEPPING_EULERPAIR_HH
template <class VectorType, class MatrixType, class FunctionType, int dim>
class EulerPair
: public TimeSteppingScheme<VectorType, MatrixType, FunctionType, dim> {
public:
EulerPair(MatrixType const &_A, MatrixType const &_B,
VectorType const &_u_initial, VectorType const &_v_initial,
Dune::BitSetVector<dim> const &_dirichletNodes,
FunctionType const &_dirichletFunction);
void virtual nextTimeStep() override;
void virtual setup(VectorType const &, double, double, VectorType &,
VectorType &, MatrixType &) override;
void virtual postProcess(VectorType const &) override;
void virtual extractDisplacement(VectorType &) const override;
void virtual extractVelocity(VectorType &) const override;
private:
MatrixType const &A;
MatrixType const &B;
VectorType u;
VectorType v;
Dune::BitSetVector<dim> const &dirichletNodes;
FunctionType const &dirichletFunction;
VectorType u_o;
VectorType v_o;
double tau;
bool postProcessCalled = false;
};
#endif