Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
myconvexproblem.hh 1004 B
// Based on dune/tnnmg/problem-classes/convexproblem.hh

#ifndef MY_CONVEX_PROBLEM_HH
#define MY_CONVEX_PROBLEM_HH

#include "globalnonlinearity.hh"

template <class MatrixTypeTEMPLATE, class VectorTypeTEMPLATE>
class MyConvexProblem {
public:
  typedef VectorTypeTEMPLATE VectorType;
  typedef MatrixTypeTEMPLATE MatrixType;
  typedef typename VectorType::block_type LocalVectorType;
  typedef typename MatrixType::block_type LocalMatrixType;

  static const int block_size = VectorType::block_type::dimension;

  /** \brief Constructor with the problem components

      \param A The matrix of the quadratic part
      \param f The linear functional
      \param u The solution vector
  */
  MyConvexProblem(MatrixType const &A,
                  Dune::GlobalNonlinearity<VectorType, MatrixType> const &phi,
                  VectorType const &f)
      : A(A), phi(phi), f(f) {};

  MatrixType const &A;
  Dune::GlobalNonlinearity<VectorType, MatrixType> const &phi;

  VectorType const &f;
};

#endif