DOpE
primaldirichletdata.h
Go to the documentation of this file.
1 
24 #ifndef PRIMAL_DIRICHLET_DATA_H_
25 #define PRIMAL_DIRICHLET_DATA_H_
26 
27 #include "function_wrapper.h"
28 #include "dofhandler_wrapper.h"
29 #include "fevalues_wrapper.h"
30 
31 namespace DOpE
32 {
33 
40  template<typename DD, typename VECTOR, int dealdim>
42  {
43  public:
44  PrimalDirichletData(const DD& data) : DOpEWrapper::Function<dealdim>(data.n_components(), data.InitialTime()), dirichlet_data_(data)
45  {
46  param_values_ = NULL;
47  domain_values_ = NULL;
48  color_ = 0;
49  }
50 
54  void ReInit(
55  const std::map<std::string, const dealii::Vector<double>* > &param_values,
56  const std::map<std::string, const VECTOR* > &domain_values,
57  unsigned int color)
58  {
59  param_values_ = &param_values;
60  domain_values_ = &domain_values;
61  color_ = color;
62  }
63 
64 
75  double value (const dealii::Point<dealdim> &p,
76  const unsigned int component) const
77  {
78  return dirichlet_data_.Data(
79  param_values_,
80  domain_values_,
81  color_,
82  p,
83  component);
84  }
85 
91  void SetTime(double time) const
92  {
93  dirichlet_data_.SetTime(time);
94  }
95  private:
96  const DD& dirichlet_data_;
97  const std::map<std::string, const dealii::Vector<double>* >* param_values_;
98  const std::map<std::string, const VECTOR* >* domain_values_;
99  unsigned int color_;
100  };
101 }
102 #endif
double InitialTime() const
Definition: function_wrapper.h:83
void SetTime(double time) const
Definition: primaldirichletdata.h:91
double value(const dealii::Point< dealdim > &p, const unsigned int component) const
Definition: primaldirichletdata.h:75
PrimalDirichletData(const DD &data)
Definition: primaldirichletdata.h:44
void ReInit(const std::map< std::string, const dealii::Vector< double > * > &param_values, const std::map< std::string, const VECTOR * > &domain_values, unsigned int color)
Definition: primaldirichletdata.h:54
Definition: primaldirichletdata.h:41
Function(const unsigned int n_components=1, const double initial_time=0.0)
Definition: function_wrapper.h:47
Definition: function_wrapper.h:44