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 <fe/fe_system.h>
31 #include <fe/fe_values.h>
32 #include <fe/mapping.h>
33 
34 #include "fevalues_wrapper.h"
35 #include "dofhandler_wrapper.h"
36 #include "functionalinterface.h"
37 
38 namespace DOpE
39 {
57  template<
58  template<template<int, int> class DH, typename VECTOR, int dealdim> class EDC,
59  template<template<int, int> class DH, typename VECTOR, int dealdim> class FDC,
60  template<int, int> class DH, typename VECTOR, int dopedim, int dealdim>
61  class ConstraintInterface : public FunctionalInterface<EDC, FDC, DH,
62  VECTOR, dopedim, dealdim>
63  {
64  public:
66  {
67  }
69  {
70  }
71 
86  virtual void
87  EvaluateLocalControlConstraints(const VECTOR& control,
88  VECTOR& constraints) = 0;
89 
103  virtual void
104  GetControlBoxConstraints(VECTOR& lb, VECTOR& ub) const = 0;
105 
106  void
107  SetProblemType(std::string type, unsigned int num)
108  {
109  _problem_type_num = num;
110  _problem_type = type;
111  }
112 
122  virtual void
124  {
125  }
126 
127  protected:
128  std::string
130  {
131  return _problem_type;
132  }
133  unsigned int
135  {
136  return _problem_type_num;
137  }
138  private:
139  std::string _problem_type;
140  unsigned int _problem_type_num;
141  };
142 }
143 
144 #endif
Definition: constraintvector.h:47
std::string GetProblemType() const
Definition: constraintinterface.h:129
Definition: constraintinterface.h:61
virtual void PostProcessConstraints(ConstraintVector< VECTOR > &) const
Definition: constraintinterface.h:123
unsigned int GetProblemTypeNum() const
Definition: constraintinterface.h:134
Definition: functionalinterface.h:53
void SetProblemType(std::string type, unsigned int num)
Definition: constraintinterface.h:107
~ConstraintInterface()
Definition: constraintinterface.h:68
ConstraintInterface()
Definition: constraintinterface.h:65