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

Albany_Catalyst_Decorator.hpp

Go to the documentation of this file.
00001 //*****************************************************************//
00002 //    Albany 2.0:  Copyright 2013 Kitware Inc.                     //
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_CATALYSTDECORATOR_HPP
00008 #define ALBANY_CATALYSTDECORATOR_HPP
00009 
00010 #include "Albany_AbstractDiscretization.hpp"
00011 
00012 class vtkUnstructuredGridBase;
00013 
00014 namespace Albany {
00015 namespace Catalyst {
00016 
00017 class Decorator : public AbstractDiscretization
00018 {
00019 public:
00020   Decorator(
00021       Teuchos::RCP<Albany::AbstractDiscretization> discretization_,
00022       const Teuchos::RCP<Teuchos::ParameterList>& catalystParams);
00023   ~Decorator();
00024 
00026   Teuchos::RCP<const Epetra_Map> getMap() const;
00027 
00029   Teuchos::RCP<const Epetra_Map> getOverlapMap() const;
00030 
00032   Teuchos::RCP<const Epetra_CrsGraph> getJacobianGraph() const;
00033 
00035   Teuchos::RCP<const Epetra_CrsGraph> getOverlapJacobianGraph() const;
00036 
00038   Teuchos::RCP<const Epetra_Map> getNodeMap() const;
00039 
00041   const NodeSetList& getNodeSets() const;
00042   const NodeSetCoordList& getNodeSetCoords() const;
00043 
00045   const SideSetList& getSideSets(const int workset) const;
00046 
00048   const WorksetArray<Teuchos::ArrayRCP<Teuchos::ArrayRCP<Teuchos::ArrayRCP<int> > > >::type& getWsElNodeEqID() const;
00049 
00051   Teuchos::ArrayRCP<double>& getCoordinates() const;
00052   const WorksetArray<Teuchos::ArrayRCP<Teuchos::ArrayRCP<double*> > >::type& getCoords() const;
00053   const WorksetArray<Teuchos::ArrayRCP<Teuchos::ArrayRCP<double> > >::type& getSurfaceHeight() const;
00054   const WorksetArray<Teuchos::ArrayRCP<double> >::type& getTemperature() const;
00055   const WorksetArray<Teuchos::ArrayRCP<Teuchos::ArrayRCP<double> > >::type& getBasalFriction() const;
00056   const WorksetArray<Teuchos::ArrayRCP<Teuchos::ArrayRCP<double> > >::type& getThickness() const;
00057 
00059   void printCoords() const;
00060 
00061   Teuchos::RCP<Albany::AbstractMeshStruct> getMeshStruct() const;
00062 
00063   Albany::StateArrays& getStateArrays();
00064 
00066   const WorksetArray<std::string>::type&  getWsEBNames() const;
00067 
00069   const WorksetArray<int>::type&  getWsPhysIndex() const;
00070 
00072   WsLIDList& getElemGIDws();
00073 
00074   void writeSolution(const Epetra_Vector& soln, const double time, const bool overlapped = false);
00075 
00076   vtkUnstructuredGridBase* newVtkUnstructuredGrid();
00077 
00078   Teuchos::RCP<Epetra_Vector> getSolutionField() const;
00079 
00080   void setResidualField(const Epetra_Vector& residual);
00081 
00083   bool hasRestartSolution() const;
00084 
00085   virtual bool supportsMOR() const;
00086 
00088   double restartDataTime() const;
00089 
00091   int getNumDim() const;
00092 
00094   int getNumEq() const;
00095 
00096 private:
00098   Decorator(const Decorator&);
00099 
00101   Decorator& operator=(const Decorator&);
00102 
00103   Teuchos::RCP<Albany::AbstractDiscretization> discretization;
00104   int timestep;
00105 };
00106 
00107 } // end namespace Catalyst
00108 } // end namespace Albany
00109 
00110 #endif // ALBANY_CATALYSTDECORATOR_HPP

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