Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef QCAD_EVALUATORTOOLS_HPP
00008 #define QCAD_EVALUATORTOOLS_HPP
00009
00014 namespace QCAD
00015 {
00016 template<typename EvalT, typename Traits> class EvaluatorTools;
00017
00019
00020
00021 template<typename Traits>
00022 class EvaluatorTools<PHAL::AlbanyTraits::Residual, Traits>
00023 {
00024 public:
00025 typedef typename PHAL::AlbanyTraits::Residual::ScalarT ScalarT;
00026 typedef typename PHAL::AlbanyTraits::Residual::MeshScalarT MeshScalarT;
00027
00028 EvaluatorTools();
00029 double getDoubleValue(const ScalarT& t) const;
00030 double getMeshDoubleValue(const MeshScalarT& t) const;
00031 std::string getEvalType() const;
00032 };
00033
00034
00035
00036 template<typename Traits>
00037 class EvaluatorTools<PHAL::AlbanyTraits::Jacobian, Traits>
00038 {
00039 public:
00040 typedef typename PHAL::AlbanyTraits::Jacobian::ScalarT ScalarT;
00041 typedef typename PHAL::AlbanyTraits::Jacobian::MeshScalarT MeshScalarT;
00042
00043 EvaluatorTools();
00044 double getDoubleValue(const ScalarT& t) const;
00045 double getMeshDoubleValue(const MeshScalarT& t) const;
00046 std::string getEvalType() const;
00047 };
00048
00049
00050
00051 template<typename Traits>
00052 class EvaluatorTools<PHAL::AlbanyTraits::Tangent, Traits>
00053 {
00054 public:
00055 typedef typename PHAL::AlbanyTraits::Tangent::ScalarT ScalarT;
00056 typedef typename PHAL::AlbanyTraits::Tangent::MeshScalarT MeshScalarT;
00057
00058 EvaluatorTools();
00059 double getDoubleValue(const ScalarT& t) const;
00060 double getMeshDoubleValue(const MeshScalarT& t) const;
00061 std::string getEvalType() const;
00062 };
00063
00064
00065 #ifdef ALBANY_SG_MP
00066
00067 template<typename Traits>
00068 class EvaluatorTools<PHAL::AlbanyTraits::SGResidual, Traits>
00069 {
00070 public:
00071 typedef typename PHAL::AlbanyTraits::SGResidual::ScalarT ScalarT;
00072 typedef typename PHAL::AlbanyTraits::SGResidual::MeshScalarT MeshScalarT;
00073
00074 EvaluatorTools();
00075 double getDoubleValue(const ScalarT& t) const;
00076 double getMeshDoubleValue(const MeshScalarT& t) const;
00077 std::string getEvalType() const;
00078 };
00079
00080
00081
00082 template<typename Traits>
00083 class EvaluatorTools<PHAL::AlbanyTraits::SGJacobian, Traits>
00084 {
00085 public:
00086 typedef typename PHAL::AlbanyTraits::SGJacobian::ScalarT ScalarT;
00087 typedef typename PHAL::AlbanyTraits::SGJacobian::MeshScalarT MeshScalarT;
00088
00089 EvaluatorTools();
00090 double getDoubleValue(const ScalarT& t) const;
00091 double getMeshDoubleValue(const MeshScalarT& t) const;
00092 std::string getEvalType() const;
00093 };
00094
00095
00096 template<typename Traits>
00097 class EvaluatorTools<PHAL::AlbanyTraits::SGTangent, Traits>
00098 {
00099 public:
00100 typedef typename PHAL::AlbanyTraits::SGTangent::ScalarT ScalarT;
00101 typedef typename PHAL::AlbanyTraits::SGTangent::MeshScalarT MeshScalarT;
00102
00103 EvaluatorTools();
00104 double getDoubleValue(const ScalarT& t) const;
00105 double getMeshDoubleValue(const MeshScalarT& t) const;
00106 std::string getEvalType() const;
00107 };
00108
00109
00110
00111 template<typename Traits>
00112 class EvaluatorTools<PHAL::AlbanyTraits::MPResidual, Traits>
00113 {
00114 public:
00115 typedef typename PHAL::AlbanyTraits::MPResidual::ScalarT ScalarT;
00116 typedef typename PHAL::AlbanyTraits::MPResidual::MeshScalarT MeshScalarT;
00117
00118 EvaluatorTools();
00119 double getDoubleValue(const ScalarT& t) const;
00120 double getMeshDoubleValue(const MeshScalarT& t) const;
00121 std::string getEvalType() const;
00122 };
00123
00124
00125
00126 template<typename Traits>
00127 class EvaluatorTools<PHAL::AlbanyTraits::MPJacobian, Traits>
00128 {
00129 public:
00130 typedef typename PHAL::AlbanyTraits::MPJacobian::ScalarT ScalarT;
00131 typedef typename PHAL::AlbanyTraits::MPJacobian::MeshScalarT MeshScalarT;
00132
00133 EvaluatorTools();
00134 double getDoubleValue(const ScalarT& t) const;
00135 double getMeshDoubleValue(const MeshScalarT& t) const;
00136 std::string getEvalType() const;
00137 };
00138
00139
00140 template<typename Traits>
00141 class EvaluatorTools<PHAL::AlbanyTraits::MPTangent, Traits>
00142 {
00143 public:
00144 typedef typename PHAL::AlbanyTraits::MPTangent::ScalarT ScalarT;
00145 typedef typename PHAL::AlbanyTraits::MPTangent::MeshScalarT MeshScalarT;
00146
00147 EvaluatorTools();
00148 double getDoubleValue(const ScalarT& t) const;
00149 double getMeshDoubleValue(const MeshScalarT& t) const;
00150 std::string getEvalType() const;
00151 };
00152 #endif //ALBANY_SG_MP
00153
00154 }
00155
00156 #endif