DOpE
constraintinterface.h
Go to the documentation of this file.
1 
24 #ifndef CONSTRAINT_INTERFACE_H_
25 #define CONSTRAINT_INTERFACE_H_
26 
27 #include <map>
28 #include <string>
29 
30 #include <deal.II/fe/fe_system.h>
31 #include <deal.II/fe/fe_values.h>
32 #include <deal.II/fe/mapping.h>
33 
34 #include "fevalues_wrapper.h"
35 #include "dofhandler_wrapper.h"
36 #include "functionalinterface.h"
37 #include "constraintvector.h"
38 
39 namespace DOpE
40 {
58  template<
59  template<template<int, int> class DH, typename VECTOR, int dealdim> class EDC,
60  template<template<int, int> class DH, typename VECTOR, int dealdim> class FDC,
61  template<int, int> class DH, typename VECTOR, int dopedim, int dealdim>
62  class ConstraintInterface : public FunctionalInterface<EDC, FDC, DH,
63  VECTOR, dopedim, dealdim>
64  {
65  public:
67  {
68  }
70  {
71  }
72 
87  virtual void
88  EvaluateLocalControlConstraints(const VECTOR& control,
89  VECTOR& constraints) = 0;
90 
104  virtual void
105  GetControlBoxConstraints(VECTOR& lb, VECTOR& ub) const = 0;
106 
107  void
108  SetProblemType(std::string type, unsigned int num)
109  {
110  problem_type_num_ = num;
111  problem_type_ = type;
112  }
113 
123  virtual void
125  {
126  }
127 
128  protected:
129  std::string
131  {
132  return problem_type_;
133  }
134  unsigned int
136  {
137  return problem_type_num_;
138  }
139  private:
140  std::string problem_type_;
141  unsigned int problem_type_num_;
142  };
143 }
144 
145 #endif
Definition: constraintvector.h:48
std::string GetProblemType() const
Definition: constraintinterface.h:130
Definition: constraintinterface.h:62
virtual void PostProcessConstraints(ConstraintVector< VECTOR > &) const
Definition: constraintinterface.h:124
unsigned int GetProblemTypeNum() const
Definition: constraintinterface.h:135
Definition: functionalinterface.h:53
void SetProblemType(std::string type, unsigned int num)
Definition: constraintinterface.h:108
~ConstraintInterface()
Definition: constraintinterface.h:69
ConstraintInterface()
Definition: constraintinterface.h:66