46 #include "Epetra_Map.h" 47 #include "Epetra_CrsMatrix.h" 50 #include "Epetra_MpiComm.h" 55 #include "Epetra_Comm.h" 56 #include "Epetra_SerialComm.h" 58 #include "BelosConfigDefs.hpp" 59 #include "BelosMVOPTester.hpp" 60 #include "BelosEpetraAdapter.hpp" 62 #ifdef HAVE_EPETRA_THYRA 70 int main(
int argc,
char *argv[])
73 using Teuchos::rcp_implicit_cast;
80 MPI_Init(&argc,&argv);
93 int MyPID = Comm->MyPID();
97 if (argv[1][0]==
'-' && argv[1][1]==
'v') {
107 int NumMyElements = Map->NumMyElements();
108 std::vector<int> MyGlobalElements(NumMyElements);
109 Map->MyGlobalElements(&MyGlobalElements[0]);
114 std::vector<int> NumNz(NumMyElements);
118 for (i=0; i<NumMyElements; i++) {
119 if (MyGlobalElements[i]==0 || MyGlobalElements[i] == dim-1) {
133 std::vector<double> Values(2);
134 Values[0] = -1.0; Values[1] = -1.0;
135 std::vector<int> Indices(2);
138 for (i=0; i<NumMyElements; i++) {
139 if (MyGlobalElements[i]==0) {
143 else if (MyGlobalElements[i] == dim-1) {
148 Indices[0] = MyGlobalElements[i]-1;
149 Indices[1] = MyGlobalElements[i]+1;
152 ierr =
A->InsertGlobalValues(MyGlobalElements[i],NumEntries,&Values[0],&Indices[0]);
155 ierr =
A->InsertGlobalValues(MyGlobalElements[i],1,&two,&MyGlobalElements[i]);
160 ierr =
A->FillComplete();
178 MyOM->setVerbosity( Belos::Errors + Belos::Warnings );
181 #ifdef HAVE_EPETRA_THYRA 182 typedef Thyra::MultiVectorBase<double> TMVB;
183 typedef Thyra::LinearOpBase<double> TLOB;
200 ierr = Belos::TestMultiVecTraits<double,TMVB>(MyOM,thyra_ivec);
204 if ( verbose && MyPID==0 ) {
205 std::cout <<
"*** ThyraAdapter PASSED TestMultiVecTraits()" << std::endl;
209 if ( verbose && MyPID==0 ) {
210 std::cout <<
"*** ThyraAdapter FAILED TestMultiVecTraits() ***" 211 << std::endl << std::endl;
217 ierr = Belos::TestOperatorTraits<double,TMVB,TLOB>(MyOM,thyra_ivec,thyra_op);
221 if ( verbose && MyPID==0 ) {
222 std::cout <<
"*** ThyraAdapter PASSED TestOperatorTraits()" << std::endl;
226 if ( verbose && MyPID==0 ) {
227 std::cout <<
"*** ThyraAdapter FAILED TestOperatorTraits() ***" 228 << std::endl << std::endl;
239 if (verbose && MyPID==0)
240 std::cout <<
"End Result: TEST FAILED" << std::endl;
246 if (verbose && MyPID==0)
247 std::cout <<
"End Result: TEST PASSED" << std::endl;
int main(int argc, char *argv[])
RCP< const VectorSpaceBase< double > > create_VectorSpace(const RCP< const Epetra_Map > &epetra_map)
RCP< MultiVectorBase< double > > create_MultiVector(const RCP< Epetra_MultiVector > &epetra_mv, const RCP< const VectorSpaceBase< double > > &range, const RCP< const VectorSpaceBase< double > > &domain=Teuchos::null)
Thyra specializations of MultiVecTraits and OperatorTraits.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)