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

FELIX_ResponseSurfaceVelocityMismatch.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 FELIX_RESPONSESURFACEVELOCITYMISMATCH_HPP
00008 #define FELIX_RESPONSESURFACEVELOCITYMISMATCH_HPP
00009 
00010 //#include "FELIX_MeshRegion.hpp"
00011 #include "PHAL_SeparableScatterScalarResponse.hpp"
00012 #include "Intrepid_CellTools.hpp"
00013 #include "Intrepid_Cubature.hpp"
00014 
00015 namespace FELIX {
00019   template<typename EvalT, typename Traits>
00020   class ResponseSurfaceVelocityMismatch :
00021     public PHAL::SeparableScatterScalarResponse<EvalT,Traits>
00022   {
00023   public:
00024     typedef typename EvalT::ScalarT ScalarT;
00025     typedef typename EvalT::MeshScalarT MeshScalarT;
00026     
00027     ResponseSurfaceVelocityMismatch(Teuchos::ParameterList& p,
00028        const Teuchos::RCP<Albany::Layouts>& dl);
00029   
00030     void postRegistrationSetup(typename Traits::SetupData d,
00031              PHX::FieldManager<Traits>& vm);
00032 
00033     void preEvaluate(typename Traits::PreEvalData d);
00034   
00035     void evaluateFields(typename Traits::EvalData d);
00036 
00037     void postEvaluate(typename Traits::PostEvalData d);
00038     
00039   private:
00040     Teuchos::RCP<const Teuchos::ParameterList> getValidResponseParameters() const;
00041 
00042     int  cellDims, sideDims, numQPsSide, numNodes;
00043 
00044     std::size_t numQPs;
00045     std::size_t numDims;
00046     std::size_t numVecDim;
00047     
00048     PHX::MDField<ScalarT,Cell,Node,VecDim> velocity_field;
00049     PHX::MDField<RealType,Cell,Node,VecDim> surfaceVelocity_field;
00050     PHX::MDField<RealType,Cell,Node,VecDim> velocityRMS_field;
00051     PHX::MDField<MeshScalarT,Cell,Vertex,Dim> coordVec;
00052 
00053     Teuchos::RCP<shards::CellTopology> cellType;
00054     Teuchos::RCP<shards::CellTopology> sideType;
00055     Teuchos::RCP<Intrepid::Cubature<RealType> > cubatureCell;
00056     Teuchos::RCP<Intrepid::Cubature<RealType> > cubatureSide;
00057 
00058     // The basis
00059     Teuchos::RCP<Intrepid::Basis<RealType, Intrepid::FieldContainer<RealType> > > intrepidBasis;
00060 
00061     // Temporary FieldContainers
00062     Intrepid::FieldContainer<RealType> cubPointsSide;
00063     //const Teuchos::RCP<Albany::MeshSpecsStruct>& meshSpecs;
00064     Intrepid::FieldContainer<RealType> refPointsSide;
00065     Intrepid::FieldContainer<RealType> cubWeightsSide;
00066     Intrepid::FieldContainer<MeshScalarT> physPointsSide;
00067     Intrepid::FieldContainer<MeshScalarT> jacobianSide;
00068     Intrepid::FieldContainer<MeshScalarT> jacobianSide_det;
00069 
00070     Intrepid::FieldContainer<MeshScalarT> physPointsCell;
00071 
00072     Intrepid::FieldContainer<MeshScalarT> weighted_measure;
00073     Intrepid::FieldContainer<RealType> basis_refPointsSide;
00074     Intrepid::FieldContainer<MeshScalarT> trans_basis_refPointsSide;
00075     Intrepid::FieldContainer<MeshScalarT> weighted_trans_basis_refPointsSide;
00076 
00077     Intrepid::FieldContainer<ScalarT> dofCell;
00078     Intrepid::FieldContainer<ScalarT> dofSide;
00079 
00080     Intrepid::FieldContainer<ScalarT> dofCellVec;
00081     Intrepid::FieldContainer<ScalarT> dofSideVec;
00082 
00083     Intrepid::FieldContainer<ScalarT> data;
00084 
00085     std::string sideSetID;
00086     Teuchos::Array<RealType> inputValues;
00087   };
00088   
00089 }
00090 
00091 #endif

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