Go to the source code of this file.
◆ main()
int main |
( |
int |
argc, |
|
|
char ** |
argv |
|
) |
| |
Definition at line 33 of file matrixsolve.C.
References libMesh::LinearSolver< T >::build(), libMesh::SparseMatrix< T >::build(), libMesh::NumericVector< T >::build(), libMesh::TriangleWrapper::init(), libMesh::out, libMesh::Real, libMesh::LinearSolver< T >::solve(), and usage().
41 GetPot command_line (argc, argv);
43 std::string matfile, rhsfile;
44 if (command_line.search(1,
"-m"))
45 matfile = command_line.next(matfile);
49 if (command_line.search(1,
"-r"))
50 rhsfile = command_line.next(rhsfile);
56 LOG_CALL(
"mat.read()",
"main", mat->read(matfile));
58 libMesh::out <<
"Loaded " << mat->m() <<
" by " << mat->n() <<
59 " matrix " << matfile << std::endl;
64 LOG_CALL(
"rhs.read()",
"main", rhs->read_matlab(rhsfile));
67 " vector " << rhsfile << std::endl;
69 solution->init(rhs->size(), rhs->local_size());
74 if (command_line.search(1,
"-t"))
75 tol = command_line.next(tol);
77 unsigned int n_iters = 1e3;
78 if (command_line.search(1,
"-n"))
79 n_iters = command_line.next(n_iters);
81 auto [iters, res] = solver->solve(*mat, *solution, *rhs, tol, n_iters);
83 libMesh::out <<
"Finished in " << iters <<
" iterations with " << res
84 <<
" residual " << std::endl;
Provides a uniform interface to vector storage schemes for different linear algebra libraries...
The LibMeshInit class, when constructed, initializes the dependent libraries (e.g.
This base class can be inherited from to provide interfaces to linear solvers from different packages...
void init(triangulateio &t)
Initializes the fields of t to nullptr/0 as necessary.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void usage(const std::string &prog_name)
◆ usage()
void usage |
( |
const std::string & |
prog_name | ) |
|
Definition at line 90 of file matrixsolve.C.
References libMesh::out.
Referenced by main().
92 std::ostringstream helpList;
94 "Usage: " << prog_name <<
98 " -m <string> Matrix filename (required)\n" 99 " -r <string> RHS Vector filename (required)\n" 100 " -t <tol> Linear Solver tolerance (default 1e-9)\n" 101 " -n <n_iter> Linear Solver max iterations (default 1e3)\n";