Skip to content
Snippets Groups Projects
Forked from agnumpde / dune-tectonic
27 commits ahead of the upstream repository.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
bodydata.hh 779 B
#ifndef DUNE_TECTONIC_BODY_DATA_HH
#define DUNE_TECTONIC_BODY_DATA_HH

template <int dimension> struct BodyData {
  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;

  ScalarFunction virtual const &getShearViscosityField() const = 0;
  ScalarFunction virtual const &getBulkViscosityField() const = 0;

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