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

Albany_AsciiSTKMeshStruct.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 #ifndef ALBANY_ASCII_STKMESHSTRUCT_HPP
00007 #define ALBANY_ASCII_STKMESHSTRUCT_HPP
00008 
00009 #include "Albany_GenericSTKMeshStruct.hpp"
00010 
00011 //#include <Ionit_Initializer.h>
00012 
00013 namespace Albany {
00014 
00015   class AsciiSTKMeshStruct : public GenericSTKMeshStruct {
00016 
00017     public:
00018 
00019 //Constructor for meshes read from ASCII file 
00020     AsciiSTKMeshStruct(
00021                   const Teuchos::RCP<Teuchos::ParameterList>& params, 
00022                   const Teuchos::RCP<const Epetra_Comm>& epetra_comm);
00023 
00024 
00025     ~AsciiSTKMeshStruct();
00026 
00027     void setFieldAndBulkData(
00028                   const Teuchos::RCP<const Epetra_Comm>& comm,
00029                   const Teuchos::RCP<Teuchos::ParameterList>& params,
00030                   const unsigned int neq_,
00031                   const AbstractFieldContainer::FieldContainerRequirements& req,
00032                   const Teuchos::RCP<Albany::StateInfoStruct>& sis,
00033                   const unsigned int worksetSize);
00034 
00036     bool hasRestartSolution() const {return false; }
00037 
00039     double restartDataTime() const {return -1.0; }
00040     
00041     //Is this necessary here? 
00042     const bool getInterleavedOrdering() const {return this->interleavedOrdering;}
00043 
00044     private:
00045     //Ioss::Init::Initializer ioInit;
00046 
00047     Teuchos::RCP<const Teuchos::ParameterList>
00048       getValidDiscretizationParameters() const;
00049 
00050     Teuchos::RCP<Teuchos::FancyOStream> out;
00051     bool periodic;
00052     bool contigIDs; //boolean specifying if node / element / face IDs are contiguous; only relevant for 1 processor run 
00053     int NumNodes; //number of nodes
00054     int NumEles; //number of elements
00055     int NumBasalFaces; //number of faces on basal boundary
00056     double (*xyz)[3]; //hard-coded for 3D for now 
00057     double* sh;
00058     double* beta;
00059     int* globalElesID; //int array to define element map 
00060     int* globalNodesID; //int array to define node map 
00061     int* basalFacesID; //int array to define basal face map 
00062     int (*eles)[8]; //hard-coded for 3D hexes for now 
00063     double *flwa; //double array that gives value of flow factor  
00064     double *temper; //double array that gives value of flow factor  
00065     bool have_sh; // Does surface height data exist?
00066     bool have_bf; // Does basal face connectivity file exist?
00067     bool have_flwa; // Does flwa (flow factor) file exist?
00068     bool have_temp; // Does temperature file exist?
00069     bool have_beta; // Does beta (basal fraction) file exist?
00070     int (*bf)[5]; //hard-coded for 3D hexes for now (meaning boundary faces are quads)
00071     Teuchos::RCP<Epetra_Map> elem_map; //element map 
00072     Teuchos::RCP<Epetra_Map> node_map; //node map 
00073     Teuchos::RCP<Epetra_Map> basal_face_map; //basalface map 
00074   };
00075 
00076 }
00077 #endif

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