Forked from
agnumpde / dune-tectonic
34 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
newmark.hh 1.11 KiB
#ifndef SRC_TIME_STEPPING_RATE_NEWMARK_HH
#define SRC_TIME_STEPPING_RATE_NEWMARK_HH
template <class Vector, class Matrix, class BoundaryFunctions, class BoundaryNodes>
class Newmark : public RateUpdater<Vector, Matrix, BoundaryFunctions, BoundaryNodes> {
public:
Newmark(
const Matrices<Matrix,2>& _matrices,
const std::vector<Vector>& _u_initial,
const std::vector<Vector>& _v_initial,
const std::vector<Vector>& _a_initial,
const BoundaryNodes& _dirichletNodes,
const BoundaryFunctions& _dirichletFunctions);
virtual void setup(
const std::vector<Vector>&,
double,
double,
std::vector<Vector>&,
std::vector<Vector>&,
std::vector<Matrix>&) override;
virtual void velocityObstacles(const Vector& u0, const Vector& uObstacles, const Vector& v0, Vector& v1Obstacles) override;
virtual void postProcess(const std::vector<Vector>&) override;
virtual auto clone() const -> std::shared_ptr<RateUpdater<Vector, Matrix, BoundaryFunctions, BoundaryNodes>> override;
};
#endif