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

Albany_Layouts.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_LAYOUTS_HPP
00008 #define ALBANY_LAYOUTS_HPP
00009 
00010 #include <vector>
00011 #include <string>
00012 
00013 #include "Teuchos_RCP.hpp"
00014 
00015 #include "Phalanx.hpp"
00016 #include "Albany_DataTypes.hpp"
00017 
00018 namespace Albany {
00022   struct Layouts {
00023     Layouts(int worksetSize, int  numVertices, int numNodes, int numQPts, int numDim, int vecDim=-1, int numFace=0);
00025     Teuchos::RCP<PHX::DataLayout> node_scalar;
00027     Teuchos::RCP<PHX::DataLayout> qp_scalar;
00029     Teuchos::RCP<PHX::DataLayout> cell_scalar;
00031     Teuchos::RCP<PHX::DataLayout> cell_scalar2;
00033     Teuchos::RCP<PHX::DataLayout> face_scalar;
00035     Teuchos::RCP<PHX::DataLayout> node_vector;
00037     Teuchos::RCP<PHX::DataLayout> qp_vector;
00039     Teuchos::RCP<PHX::DataLayout> cell_vector;
00041     Teuchos::RCP<PHX::DataLayout> face_vector;
00043     Teuchos::RCP<PHX::DataLayout> node_gradient;
00045     Teuchos::RCP<PHX::DataLayout> qp_gradient;
00047     Teuchos::RCP<PHX::DataLayout> cell_gradient;
00049     Teuchos::RCP<PHX::DataLayout> face_gradient;
00051     Teuchos::RCP<PHX::DataLayout> node_tensor;
00053     Teuchos::RCP<PHX::DataLayout> qp_tensor;
00055     Teuchos::RCP<PHX::DataLayout> cell_tensor;
00057     Teuchos::RCP<PHX::DataLayout> face_tensor;
00059     Teuchos::RCP<PHX::DataLayout> node_vecgradient;
00061     Teuchos::RCP<PHX::DataLayout> qp_vecgradient;
00063     Teuchos::RCP<PHX::DataLayout> cell_vecgradient;
00065     Teuchos::RCP<PHX::DataLayout> face_vecgradient;
00067     Teuchos::RCP<PHX::DataLayout> node_tensor4;
00069     Teuchos::RCP<PHX::DataLayout> qp_tensor4;
00071     Teuchos::RCP<PHX::DataLayout> cell_tensor4;
00073     Teuchos::RCP<PHX::DataLayout> face_tensor4;
00075     Teuchos::RCP<PHX::DataLayout> vertices_vector;
00077     Teuchos::RCP<PHX::DataLayout> node_3vector;
00080     Teuchos::RCP<PHX::DataLayout> node_qp_scalar;
00082     Teuchos::RCP<PHX::DataLayout> node_qp_gradient;
00083     Teuchos::RCP<PHX::DataLayout> node_qp_vector; // Old, but incorrect name
00085     Teuchos::RCP<PHX::DataLayout> workset_scalar;
00087     Teuchos::RCP<PHX::DataLayout> workset_vector;
00089     Teuchos::RCP<PHX::DataLayout> workset_gradient;
00091     Teuchos::RCP<PHX::DataLayout> workset_tensor;
00093     Teuchos::RCP<PHX::DataLayout> workset_vecgradient;
00094 
00096     Teuchos::RCP<PHX::DataLayout> node_node_scalar;
00098     Teuchos::RCP<PHX::DataLayout> node_node_vector;
00100     Teuchos::RCP<PHX::DataLayout> node_node_tensor;
00110     Teuchos::RCP<PHX::DataLayout> shared_param;
00111     Teuchos::RCP<PHX::DataLayout> dummy;
00112 
00113     // For backward compatibility, and simplicitiy, we want to check if
00114     // the vector length is the same as the spatial dimension. This
00115     // assumption is hardwired in mechanics problems and we want to 
00116     // test that it is a valide assumption with this bool.
00117     bool vectorAndGradientLayoutsAreEquivalent;
00118   };
00119 }
00120 
00121 #endif 

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