Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
238 commits behind the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
body.hh 671 B
#ifndef BODY_HH
#define BODY_HH

template <int dimension> struct Body {
  using ScalarFunction = Dune::VirtualFunction<
      Dune::FieldVector<double, dimension>, Dune::FieldVector<double, 1>>;
  using VectorField =
      Dune::VirtualFunction<Dune::FieldVector<double, dimension>,
                            Dune::FieldVector<double, dimension>>;

  double virtual getPoissonRatio() const = 0;

  double virtual getYoungModulus() const = 0;

  double virtual getShearViscosity() const = 0;
  double virtual getBulkViscosity() const = 0;

  ScalarFunction virtual const &getDensityField() const = 0;
  VectorField virtual const &getGravityField() const = 0;
};

#endif