Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #include <fstream>
00008 #include "Teuchos_TestForException.hpp"
00009
00010
00011
00012
00013
00014
00015
00016 template<typename Traits>
00017 QCAD::EvaluatorTools<PHAL::AlbanyTraits::Residual,Traits>::
00018 EvaluatorTools()
00019 {
00020 }
00021
00022 template<typename Traits>
00023 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Residual, Traits>::
00024 getDoubleValue(const ScalarT& t) const
00025 {
00026 return t;
00027 }
00028
00029 template<typename Traits>
00030 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Residual, Traits>::
00031 getMeshDoubleValue(const MeshScalarT& t) const
00032 {
00033 return t;
00034 }
00035
00036 template<typename Traits>
00037 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::Residual, Traits>::
00038 getEvalType() const
00039 {
00040 return "Residual";
00041 }
00042
00043
00044
00045
00046
00047
00048 template<typename Traits>
00049 QCAD::EvaluatorTools<PHAL::AlbanyTraits::Jacobian,Traits>::
00050 EvaluatorTools()
00051 {
00052 }
00053
00054 template<typename Traits>
00055 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Jacobian, Traits>::
00056 getDoubleValue(const ScalarT& t) const
00057 {
00058 return t.val();
00059 }
00060
00061 template<typename Traits>
00062 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Jacobian, Traits>::
00063 getMeshDoubleValue(const MeshScalarT& t) const
00064 {
00065 #ifdef MESH_SCALAR_IS_AD_TYPE
00066 return t.val();
00067 #else
00068 return t;
00069 #endif
00070 }
00071
00072 template<typename Traits>
00073 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::Jacobian, Traits>::
00074 getEvalType() const
00075 {
00076 return "Jacobian";
00077 }
00078
00079
00080
00081
00082
00083
00084
00085 template<typename Traits>
00086 QCAD::EvaluatorTools<PHAL::AlbanyTraits::Tangent,Traits>::
00087 EvaluatorTools()
00088 {
00089 }
00090
00091 template<typename Traits>
00092 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Tangent, Traits>::
00093 getDoubleValue(const ScalarT& t) const
00094 {
00095 return t.val();
00096 }
00097
00098 template<typename Traits>
00099 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::Tangent, Traits>::
00100 getMeshDoubleValue(const MeshScalarT& t) const
00101 {
00102 #ifdef MESH_SCALAR_IS_AD_TYPE
00103 return t.val();
00104 #else
00105 return 0.0;
00106
00107 #endif
00108 }
00109
00110 template<typename Traits>
00111 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::Tangent, Traits>::
00112 getEvalType() const
00113 {
00114 return "Tangent";
00115 }
00116
00117
00118
00119
00120
00121 #ifdef ALBANY_SG_MP
00122 template<typename Traits>
00123 QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGResidual,Traits>::
00124 EvaluatorTools()
00125 {
00126 }
00127
00128 template<typename Traits>
00129 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGResidual, Traits>::
00130 getDoubleValue(const ScalarT& t) const
00131 {
00132 return t.val();
00133 }
00134
00135 template<typename Traits>
00136 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGResidual, Traits>::
00137 getMeshDoubleValue(const MeshScalarT& t) const
00138 {
00139 #ifdef MESH_SCALAR_IS_AD_TYPE
00140 return t.val();
00141 #else
00142 return t;
00143 #endif
00144 }
00145
00146 template<typename Traits>
00147 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGResidual, Traits>::
00148 getEvalType() const
00149 {
00150 return "SGResidual";
00151 }
00152
00153
00154
00155
00156
00157
00158 template<typename Traits>
00159 QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGJacobian,Traits>::
00160 EvaluatorTools()
00161 {
00162 }
00163
00164 template<typename Traits>
00165 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGJacobian, Traits>::
00166 getDoubleValue(const ScalarT& t) const
00167 {
00168 return t.val().val();
00169 }
00170
00171 template<typename Traits>
00172 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGJacobian, Traits>::
00173 getMeshDoubleValue(const MeshScalarT& t) const
00174 {
00175 #ifdef MESH_SCALAR_IS_AD_TYPE
00176 return t.val().val();
00177 #else
00178 return t;
00179 #endif
00180 }
00181
00182 template<typename Traits>
00183 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGJacobian, Traits>::
00184 getEvalType() const
00185 {
00186 return "SGJacobian";
00187 }
00188
00189
00190
00191
00192
00193
00194 template<typename Traits>
00195 QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGTangent,Traits>::
00196 EvaluatorTools()
00197 {
00198 }
00199
00200 template<typename Traits>
00201 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGTangent, Traits>::
00202 getDoubleValue(const ScalarT& t) const
00203 {
00204 return t.val().val();
00205 }
00206
00207 template<typename Traits>
00208 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGTangent, Traits>::
00209 getMeshDoubleValue(const MeshScalarT& t) const
00210 {
00211 #ifdef MESH_SCALAR_IS_AD_TYPE
00212 return t.val().val();
00213 #else
00214 return t;
00215 #endif
00216 }
00217
00218 template<typename Traits>
00219 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::SGTangent, Traits>::
00220 getEvalType() const
00221 {
00222 return "SGTangent";
00223 }
00224
00225
00226
00227
00228
00229
00230 template<typename Traits>
00231 QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPResidual,Traits>::
00232 EvaluatorTools()
00233 {
00234 }
00235
00236 template<typename Traits>
00237 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPResidual, Traits>::
00238 getDoubleValue(const ScalarT& t) const
00239 {
00240 return t.val();
00241 }
00242
00243 template<typename Traits>
00244 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPResidual, Traits>::
00245 getMeshDoubleValue(const MeshScalarT& t) const
00246 {
00247 #ifdef MESH_SCALAR_IS_AD_TYPE
00248 return t.val();
00249 #else
00250 return t;
00251 #endif
00252 }
00253
00254 template<typename Traits>
00255 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPResidual, Traits>::
00256 getEvalType() const
00257 {
00258 return "MPResidual";
00259 }
00260
00261
00262
00263
00264
00265
00266 template<typename Traits>
00267 QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPJacobian,Traits>::
00268 EvaluatorTools()
00269 {
00270 }
00271
00272 template<typename Traits>
00273 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPJacobian, Traits>::
00274 getDoubleValue(const ScalarT& t) const
00275 {
00276 return t.val().val();
00277 }
00278
00279 template<typename Traits>
00280 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPJacobian, Traits>::
00281 getMeshDoubleValue(const MeshScalarT& t) const
00282 {
00283 #ifdef MESH_SCALAR_IS_AD_TYPE
00284 return t.val().val();
00285 #else
00286 return t;
00287 #endif
00288 }
00289
00290 template<typename Traits>
00291 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPJacobian, Traits>::
00292 getEvalType() const
00293 {
00294 return "MPJacobian";
00295 }
00296
00297
00298
00299
00300
00301
00302 template<typename Traits>
00303 QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPTangent,Traits>::
00304 EvaluatorTools()
00305 {
00306 }
00307
00308 template<typename Traits>
00309 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPTangent, Traits>::
00310 getDoubleValue(const ScalarT& t) const
00311 {
00312 return t.val().val();
00313 }
00314
00315 template<typename Traits>
00316 double QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPTangent, Traits>::
00317 getMeshDoubleValue(const MeshScalarT& t) const
00318 {
00319 #ifdef MESH_SCALAR_IS_AD_TYPE
00320 return t.val().val();
00321 #else
00322 return t;
00323 #endif
00324 }
00325
00326 template<typename Traits>
00327 std::string QCAD::EvaluatorTools<PHAL::AlbanyTraits::MPTangent, Traits>::
00328 getEvalType() const
00329 {
00330 return "MPTangent";
00331 }
00332
00333 #endif //ALBANY_SG_MP
00334
00335
00336