Thyra Package Browser (Single Doxygen Collection) Version of the Day
Thyra_EpetraThyraWrappers.hpp
Go to the documentation of this file.
00001 // @HEADER
00002 // ***********************************************************************
00003 // 
00004 //               Thyra: Trilinos Solver Framework Core
00005 //                 Copyright (2004) Sandia Corporation
00006 // 
00007 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00008 // license for use of this work by or on behalf of the U.S. Government.
00009 // 
00010 // This library is free software; you can redistribute it and/or modify
00011 // it under the terms of the GNU Lesser General Public License as
00012 // published by the Free Software Foundation; either version 2.1 of the
00013 // License, or (at your option) any later version.
00014 //  
00015 // This library is distributed in the hope that it will be useful, but
00016 // WITHOUT ANY WARRANTY; without even the implied warranty of
00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 // Lesser General Public License for more details.
00019 //  
00020 // You should have received a copy of the GNU Lesser General Public
00021 // License along with this library; if not, write to the Free Software
00022 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00023 // USA
00024 // Questions? Contact Michael A. Heroux (maherou@sandia.gov) 
00025 // 
00026 // ***********************************************************************
00027 // @HEADER
00028 
00029 #ifndef THYRA_EPETRA_THYRA_WRAPPERS_HPP
00030 #define THYRA_EPETRA_THYRA_WRAPPERS_HPP
00031 
00032 
00033 #include "Thyra_EpetraTypes.hpp"
00034 
00035 
00036 namespace Teuchos { template<class Ordinal> class Comm; }
00037 
00038 
00039 namespace Thyra {
00040 
00041 
00050 RCP<const Teuchos::Comm<Ordinal> >
00051 create_Comm( const RCP<const Epetra_Comm> &epetraComm );
00052 
00053 
00087 RCP<const VectorSpaceBase<double> >
00088 create_VectorSpace(
00089   const RCP<const Epetra_Map> &epetra_map
00090   );
00091 
00092 
00106 RCP<const VectorSpaceBase<double> >
00107 create_LocallyReplicatedVectorSpace(
00108   const RCP<const VectorSpaceBase<double> > &parentSpace,
00109   const int dim
00110   );
00111 
00112 
00137 RCP<VectorBase<double> >
00138 create_Vector(
00139   const RCP<Epetra_Vector> &epetra_v,
00140   const RCP<const VectorSpaceBase<double> > &space
00141   );
00142 
00143 
00166 RCP<const VectorBase<double> >
00167 create_Vector(
00168   const RCP<const Epetra_Vector> &epetra_v,
00169   const RCP<const VectorSpaceBase<double> > &space
00170   );
00171 
00172 
00196 RCP<MultiVectorBase<double> >
00197 create_MultiVector(
00198   const RCP<Epetra_MultiVector> &epetra_mv,
00199   const RCP<const VectorSpaceBase<double> > &range,
00200   const RCP<const VectorSpaceBase<double> > &domain = Teuchos::null
00201   );
00202 
00203 
00229 RCP<const MultiVectorBase<double> >
00230 create_MultiVector(
00231   const RCP<const Epetra_MultiVector> &epetra_mv,
00232   const RCP<const VectorSpaceBase<double> > &range,
00233   const RCP<const VectorSpaceBase<double> > &domain = Teuchos::null
00234   );
00235 
00236 
00244 RCP<const Epetra_Comm>
00245 get_Epetra_Comm(const Teuchos::Comm<Ordinal>& comm);
00246 
00247 
00256 RCP<const Epetra_Map>
00257 get_Epetra_Map(const VectorSpaceBase<double>& vs, const RCP<const Epetra_Comm>& comm);
00258 
00259 
00282 RCP<Epetra_Vector>
00283 get_Epetra_Vector(
00284   const Epetra_Map &map,
00285   const RCP<VectorBase<double> > &v
00286   );
00287 
00288 
00308 RCP<const Epetra_Vector>
00309 get_Epetra_Vector(
00310   const Epetra_Map &map,
00311   const RCP<const VectorBase<double> > &v
00312   );
00313 
00314 
00338 RCP<Epetra_MultiVector>
00339 get_Epetra_MultiVector(
00340   const Epetra_Map &map,
00341   const RCP<MultiVectorBase<double> > &mv
00342   );
00343 
00344 
00364 RCP<const Epetra_MultiVector>
00365 get_Epetra_MultiVector(
00366   const Epetra_Map &map, 
00367   const RCP<const MultiVectorBase<double> > &mv
00368   );
00369 
00370 
00394 Teuchos::RCP<Epetra_MultiVector>
00395 get_Epetra_MultiVector(
00396   const Epetra_Map &map,
00397   MultiVectorBase<double> &mv
00398   );
00399 
00400 
00420 Teuchos::RCP<const Epetra_MultiVector>
00421 get_Epetra_MultiVector(
00422   const Epetra_Map &map,
00423   const MultiVectorBase<double> &mv
00424   );
00425 
00426 
00427 } // namespace Thyra
00428 
00429 
00430 #endif // THYRA_EPETRA_THYRA_WRAPPERS_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines