48 #include "Teuchos_CommandLineProcessor.hpp" 49 #include "Teuchos_StandardCatchMacros.hpp" 57 #ifdef HAVE_BELOS_TRIUTILS 58 #include "Trilinos_Util_iohb.h" 67 int main(
int argc,
char *argv[])
74 MPI_Init(&argc,&argv);
82 MPI_Comm_rank(MPI_COMM_WORLD, &MyPID);
88 std::string filename(
"mhd1280b.cua");
93 CommandLineProcessor cmdp(
false,
true);
94 cmdp.setOption(
"verbose",
"quiet",&verbose,
"Print messages and results.");
95 cmdp.setOption(
"debug",
"quiet",&verbose,
"Print messages and results.");
96 cmdp.setOption(
"filename",&filename,
"Filename for Harwell-Boeing test matrix.");
97 if (cmdp.parse(argc,argv) != CommandLineProcessor::PARSE_SUCCESSFUL) {
104 typedef std::complex<double> ST;
113 RCP<Belos::OutputManager<ST> > MyOM
119 #ifndef HAVE_BELOS_TRIUTILS 120 std::cout <<
"This test requires Triutils. Please configure with --enable-triutils." << std::endl;
134 info = readHB_newmat_double(filename.c_str(),&dim,&dim2,&nnz,&colptr,&rowind,&dvals);
135 if (info == 0 || nnz < 0) {
137 <<
"Warning reading '" << filename <<
"'" << std::endl
138 <<
"End Result: TEST FAILED" << std::endl;
145 std::vector<ST> cvals(nnz);
146 for (
int ii=0; ii<nnz; ii++) {
147 cvals[ii] = ST(dvals[ii*2],dvals[ii*2+1]);
150 RCP< MyBetterOperator<ST> > A1
155 std::vector<ScalarTraits<ST>::magnitudeType> v(blockSize);
156 RCP< MyMultiVec<ST> > ivec = rcp(
new MyMultiVec<ST>(dim,blockSize) );
157 MVT::MvNorm(*ivec,v);
163 ierr = Belos::TestMultiVecTraits<ST,MV>(MyOM,ivec);
166 MyOM->print(
Belos::Warnings,
"*** MyMultiVec<std::complex> PASSED TestMultiVecTraits()\n");
169 MyOM->print(
Belos::Warnings,
"*** MyMultiVec<std::complex> FAILED TestMultiVecTraits() ***\n\n");
173 ierr = Belos::TestOperatorTraits<ST,MV,OP>(MyOM,ivec,A2);
176 MyOM->print(
Belos::Warnings,
"*** MyOperator<std::complex> PASSED TestOperatorTraits()\n");
179 MyOM->print(
Belos::Warnings,
"*** MyOperator<std::complex> FAILED TestOperatorTraits() ***\n\n");
183 ierr = Belos::TestOperatorTraits<ST,MV,OP>(MyOM,ivec,A1);
186 MyOM->print(
Belos::Warnings,
"*** MyBetterOperator<std::complex> PASSED TestOperatorTraits()\n");
189 MyOM->print(
Belos::Warnings,
"*** MyBetterOperator<std::complex> FAILED TestOperatorTraits() ***\n\n");
204 TEUCHOS_STANDARD_CATCH_STATEMENTS(verbose, std::cerr, success);
210 return ( success ? EXIT_SUCCESS : EXIT_FAILURE );
Belos's basic output manager for sending information of select verbosity levels to the appropriate ou...
Class which manages the output and verbosity of the Belos solvers.
Traits class which defines basic operations on multivectors.
Simple example of a user's defined Belos::MultiVec class.
Alternative run-time polymorphic interface for operators.
Test routines for MultiVecTraits and OperatorTraits conformity.
Simple example of a user's defined Belos::Operator class.
Interface for multivectors used by Belos' linear solvers.
Belos header file which uses auto-configuration information to include necessary C++ headers...
Simple example of a user's defined Belos::Operator class.
int main(int argc, char *argv[])