• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

PHAL_IdentityCoordinateFunctionTraits.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2012 Sandia Corporation               //
00003 //    This Software is released under the BSD license detailed     //
00004 //    in the file "license.txt" in the top-level Albany directory  //
00005 //*****************************************************************//
00006 
00007 
00008 #if !defined(PHAL_IDENTITYCOORDINATEFUNCTIONTRAITS_HPP)
00009 #define PHAL_IDENTITYCOORDINATEFUNCTIONTRAITS_HPP
00010 
00011 #include <Teuchos_RCP.hpp>
00012 #include <Teuchos_ParameterList.hpp>
00013 #include <Teuchos_VerboseObject.hpp>
00014 
00015 #include <Sacado_ScalarParameterLibrary.hpp>
00016 
00017 #include "PHAL_AlbanyTraits.hpp"
00018 
00019 namespace PHAL {
00020 
00024 
00025 template<typename EvalT>
00026 class IdentityCoordFunctionTraits {
00027 
00028   public:
00029 
00030     typedef typename EvalT::ScalarT ScalarT;
00031 
00035     IdentityCoordFunctionTraits(Teuchos::ParameterList& params_);
00036 
00040     ~IdentityCoordFunctionTraits() {};
00041 
00042     void computeBCs(double* coord, std::vector<ScalarT>& BCvals,
00043                     const RealType time);
00044 
00045     int getNumComponents() {
00046       return numEqn;
00047     }
00048 
00049 
00050   protected:
00051 
00052     // Number of equations
00053     int numEqn;
00054 
00055     // Equation offset into residual vector (Always treated as zero for now)
00056     int eqnOffset;
00057 
00058   private:
00059 
00061     IdentityCoordFunctionTraits();
00062     IdentityCoordFunctionTraits(const IdentityCoordFunctionTraits&);
00063 
00065     IdentityCoordFunctionTraits& operator=(const IdentityCoordFunctionTraits&);
00066 
00067 };
00068 }
00069 
00070 // Define macro for explicit template instantiation
00071 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_RESIDUAL(name) \
00072   template class name<PHAL::AlbanyTraits::Residual>;
00073 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_JACOBIAN(name) \
00074   template class name<PHAL::AlbanyTraits::Jacobian>;
00075 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_TANGENT(name) \
00076   template class name<PHAL::AlbanyTraits::Tangent>;
00077 
00078 #ifdef ALBANY_SG_MP
00079 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGRESIDUAL(name) \
00080   template class name<PHAL::AlbanyTraits::SGResidual>;
00081 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGJACOBIAN(name) \
00082   template class name<PHAL::AlbanyTraits::SGJacobian>;
00083 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGTANGENT(name) \
00084   template class name<PHAL::AlbanyTraits::SGTangent>;
00085 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPRESIDUAL(name) \
00086   template class name<PHAL::AlbanyTraits::MPResidual>;
00087 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPJACOBIAN(name) \
00088   template class name<PHAL::AlbanyTraits::MPJacobian>;
00089 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPTANGENT(name) \
00090   template class name<PHAL::AlbanyTraits::MPTangent>;
00091 #endif //ALBANY_SG_MP
00092 
00093 #ifdef ALBANY_SG_MP
00094 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS(name)    \
00095   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_RESIDUAL(name)   \
00096   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_JACOBIAN(name)   \
00097   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_TANGENT(name)    \
00098   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGRESIDUAL(name)   \
00099   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGJACOBIAN(name)   \
00100   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_SGTANGENT(name)  \
00101   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPRESIDUAL(name)   \
00102   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPJACOBIAN(name)   \
00103   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_MPTANGENT(name)
00104 #else
00105 #define COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS(name)    \
00106   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_RESIDUAL(name)   \
00107   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_JACOBIAN(name)   \
00108   COORD_FUNC_INSTANTIATE_TEMPLATE_CLASS_TANGENT(name)
00109 #endif //ALBANY_SG_MP
00110 
00111 
00112 #endif // PHAL_IDENTITYCOORDINATEFUNCTIONTRAITS_HPP

Generated on Wed Mar 26 2014 18:36:41 for Albany: a Trilinos-based PDE code by  doxygen 1.7.1