24 #ifndef FUNCTIONAL_INTERFACE_H_
25 #define FUNCTIONAL_INTERFACE_H_
30 #include <deal.II/fe/fe_system.h>
31 #include <deal.II/fe/fe_values.h>
32 #include <deal.II/fe/mapping.h>
49 template<
template<
int,
int>
class DH,
typename VECTOR,
int dealdim>
class EDC,
50 template<template<int, int> class DH, typename VECTOR, int dealdim> class FDC,
51 template<int, int> class DH, typename VECTOR, int dopedim, int dealdim =
81 dealii::Vector<double> &local_vector,
double scale);
95 dealii::Vector<double> &local_vector,
double scale);
109 dealii::Vector<double> &local_vector,
double scale);
123 dealii::Vector<double> &local_vector,
double scale);
137 dealii::Vector<double> &local_vector,
double scale);
151 dealii::Vector<double> &local_vector,
double scale);
169 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
170 const std::map<std::string, const VECTOR*> &domain_values);
189 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
190 const std::map<std::string, const VECTOR*> &domain_values,
191 VECTOR& rhs,
double scale);
210 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
211 const std::map<std::string, const VECTOR*> &domain_values,
212 VECTOR& rhs,
double scale);
231 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
232 const std::map<std::string, const VECTOR*> &domain_values,
233 VECTOR& rhs,
double scale);
253 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
254 const std::map<std::string, const VECTOR*> &domain_values,
255 VECTOR& rhs,
double scale);
275 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
276 const std::map<std::string, const VECTOR*> &domain_values,
277 VECTOR& rhs,
double scale);
297 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
298 const std::map<std::string, const VECTOR*> &domain_values,
299 VECTOR& rhs,
double scale);
322 dealii::Vector<double> &local_vector,
double scale);
334 dealii::Vector<double> &local_vector,
double scale);
346 dealii::Vector<double> &local_vector,
double scale);
358 dealii::Vector<double> &local_vector,
double scale);
370 dealii::Vector<double> &local_vector,
double scale);
382 dealii::Vector<double> &local_vector,
double scale);
392 FaceValue(
const FDC<DH, VECTOR, dealdim>& fdc);
405 dealii::Vector<double> &local_vector,
double scale);
418 dealii::Vector<double> &local_vector,
double scale);
431 dealii::Vector<double> &local_vector,
double scale);
444 dealii::Vector<double> &local_vector,
double scale);
457 dealii::Vector<double> &local_vector,
double scale);
470 dealii::Vector<double> &local_vector,
double scale);
477 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
478 const std::map<std::string, const VECTOR*> &domain_values);
484 const std::map<std::string,
const dealii::Vector<double>*> ¶m_values,
485 const std::map<std::string, const VECTOR*> &domain_values);
537 virtual dealii::UpdateFlags
544 virtual dealii::UpdateFlags
573 std::string problem_type_;
virtual double AlgebraicValue(const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values)
Definition: functionalinterface.cc:515
virtual void ElementValue_U(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:198
virtual void BoundaryValue_Q(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:440
virtual void BoundaryValue_QQ(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:500
virtual void FaceValue_QU(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:367
virtual bool NeedTime() const
Definition: functionalinterface.h:517
virtual void PointValue_QU(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:146
virtual void ElementValue_UQ(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:258
virtual void ElementValue_Q(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:213
virtual void ElementValue_QQ(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:273
std::string GetProblemType() const
Definition: functionalinterface.cc:618
virtual void FaceValue_U(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:322
virtual void BoundaryValue_UQ(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:485
virtual void SetTime(double) const
Definition: functionalinterface.h:529
virtual void FaceValue_QQ(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:397
virtual void BoundaryValue_UU(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:455
virtual void BoundaryValue_QU(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:470
virtual dealii::UpdateFlags GetUpdateFlags() const
Definition: functionalinterface.cc:530
virtual std::string GetType() const
Definition: functionalinterface.cc:288
virtual double BoundaryValue(const FDC< DH, VECTOR, dealdim > &fdc)
Definition: functionalinterface.cc:412
virtual void PointValue_Q(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:110
virtual void FaceValue_UU(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:352
virtual void FaceValue_UQ(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:382
virtual void PointValue_U(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:92
virtual dealii::UpdateFlags GetFaceUpdateFlags() const
Definition: functionalinterface.cc:542
Definition: functionalinterface.h:53
virtual void PointValue_UU(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:128
virtual std::string GetName() const
Definition: functionalinterface.cc:299
virtual void AlgebraicGradient_Q(VECTOR &gradient, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values)
Definition: functionalinterface.cc:554
virtual double FaceValue(const FDC< DH, VECTOR, dealdim > &fdc)
Definition: functionalinterface.cc:310
virtual void PointValue_UQ(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:163
void SetProblemType(std::string type)
Definition: functionalinterface.cc:606
virtual double ElementValue(const EDC< DH, VECTOR, dealdim > &edc)
Definition: functionalinterface.cc:63
virtual void FaceValue_Q(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:337
virtual bool HasPoints() const
Definition: functionalinterface.cc:589
virtual ~FunctionalInterface()
Definition: functionalinterface.cc:51
virtual void ElementValue_QU(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:243
FunctionalInterface()
Definition: functionalinterface.cc:40
virtual void BoundaryValue_U(const FDC< DH, VECTOR, dealdim > &fdc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:425
virtual void PointValue_QQ(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values, VECTOR &rhs, double scale)
Definition: functionalinterface.cc:180
virtual void ElementValue_UU(const EDC< DH, VECTOR, dealdim > &edc, dealii::Vector< double > &local_vector, double scale)
Definition: functionalinterface.cc:228
virtual double PointValue(const DOpEWrapper::DoFHandler< dopedim, DH > &control_dof_handler, const DOpEWrapper::DoFHandler< dealdim, DH > &state_dof_handler, const std::map< std::string, const dealii::Vector< double > * > ¶m_values, const std::map< std::string, const VECTOR * > &domain_values)
Definition: functionalinterface.cc:76
virtual bool HasFaces() const
Definition: functionalinterface.cc:570