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

Albany_EvaluatorUtils.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 #ifndef ALBANY_EVALUATORUTILS_HPP
00008 #define ALBANY_EVALUATORUTILS_HPP
00009 
00010 #include <vector>
00011 #include <string>
00012 
00013 #include "Teuchos_RCP.hpp"
00014 #include "Teuchos_ParameterList.hpp"
00015 
00016 #include "Phalanx.hpp"
00017 #include "Albany_DataTypes.hpp"
00018 #include "PHAL_AlbanyTraits.hpp"
00019 
00020 #include "Teuchos_VerboseObject.hpp"
00021 
00022 #include "Albany_ProblemUtils.hpp"
00023 
00024 #include "Intrepid_Basis.hpp"
00025 #include "Intrepid_FieldContainer.hpp"
00026 #include "Intrepid_DefaultCubatureFactory.hpp"
00027 #include "Shards_CellTopology.hpp"
00028 
00029 
00030 namespace Albany {
00034   template<typename EvalT, typename Traits>
00035   class EvaluatorUtils {
00036 
00037    public:
00038 
00039     EvaluatorUtils(Teuchos::RCP<Albany::Layouts> dl);
00040 
00043     Teuchos::RCP< PHX::Evaluator<Traits> > 
00044     constructGatherSolutionEvaluator(
00045        bool isVectorField,
00046        Teuchos::ArrayRCP<std::string> dof_names,
00047        Teuchos::ArrayRCP<std::string> dof_names_dot,
00048        int offsetToFirstDOF=0);
00049 
00052     Teuchos::RCP< PHX::Evaluator<Traits> > 
00053     constructGatherSolutionEvaluator_withAcceleration(
00054        bool isVectorField,
00055        Teuchos::ArrayRCP<std::string> dof_names,
00056        Teuchos::ArrayRCP<std::string> dof_names_dot, // can be Teuchos::null
00057        Teuchos::ArrayRCP<std::string> dof_names_dotdot,
00058        int offsetToFirstDOF=0);
00059 
00061     Teuchos::RCP< PHX::Evaluator<Traits> > 
00062     constructGatherSolutionEvaluator_noTransient(
00063        bool isVectorField,
00064        Teuchos::ArrayRCP<std::string> dof_names,
00065        int offsetToFirstDOF=0);
00066 
00069     Teuchos::RCP< PHX::Evaluator<Traits> > 
00070     constructScatterResidualEvaluator(
00071        bool isVectorField,
00072        Teuchos::ArrayRCP<std::string> resid_names,
00073        int offsetToFirstDOF=0, std::string scatterName="Scatter");
00074 
00079     //   performance. Otherwise it was not needed. With this info,
00080     //   the location of the nonzero partial derivatives can be
00081     //   computed, and the chain rule is coded with that known sparsity.
00082     Teuchos::RCP< PHX::Evaluator<Traits> > 
00083     constructDOFInterpolationEvaluator(
00084        std::string& dof_names, int offsetToFirstDOF=0);
00086     Teuchos::RCP< PHX::Evaluator<Traits> > 
00087     constructDOFGradInterpolationEvaluator(
00088        std::string& dof_names, int offsetToFirstDOF=0);
00089 
00091     Teuchos::RCP< PHX::Evaluator<Traits> > 
00092     constructDOFGradInterpolationEvaluator_noDeriv(
00093        std::string& dof_names);
00094 
00096     Teuchos::RCP< PHX::Evaluator<Traits> > 
00097     constructDOFVecInterpolationEvaluator(
00098        std::string& dof_names, int offsetToFirstDOF=0);
00100     Teuchos::RCP< PHX::Evaluator<Traits> > 
00101     constructDOFVecGradInterpolationEvaluator(
00102        std::string& dof_names, int offsetToFirstDOF=0);
00103 
00106     Teuchos::RCP< PHX::Evaluator<Traits> > 
00107     constructGatherCoordinateVectorEvaluator();
00108 
00111     Teuchos::RCP< PHX::Evaluator<Traits> >
00112     constructGatherSHeightEvaluator();
00113 
00116     Teuchos::RCP< PHX::Evaluator<Traits> >
00117     constructGatherTemperatureEvaluator();
00118     
00121     Teuchos::RCP< PHX::Evaluator<Traits> >
00122     constructGatherFlowFactorEvaluator();
00123 
00126     Teuchos::RCP< PHX::Evaluator<Traits> >
00127     constructGatherSurfaceVelocityEvaluator();
00128 
00131     Teuchos::RCP< PHX::Evaluator<Traits> >
00132     constructGatherVelocityRMSEvaluator();
00133 
00136     Teuchos::RCP< PHX::Evaluator<Traits> > 
00137     constructMapToPhysicalFrameEvaluator(
00138       const Teuchos::RCP<shards::CellTopology>& cellType,
00139       const Teuchos::RCP<Intrepid::Cubature<RealType> > cubature);
00140 
00143     Teuchos::RCP< PHX::Evaluator<Traits> > 
00144     constructComputeBasisFunctionsEvaluator(
00145       const Teuchos::RCP<shards::CellTopology>& cellType,
00146       const Teuchos::RCP<Intrepid::Basis<RealType, Intrepid::FieldContainer<RealType> > > intrepidBasis,
00147       const Teuchos::RCP<Intrepid::Cubature<RealType> > cubature);
00148 
00149   private:
00150 
00152     Teuchos::RCP<Albany::Layouts> dl;
00153 
00154   };
00155 }
00156 
00157 #endif 

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