1#ifndef included_testSolverHelpers_H_
2#define included_testSolverHelpers_H_
4#include "AMP/mesh/Mesh.h"
5#include "AMP/utils/UnitTest.h"
13namespace Discretization {
17namespace LinearAlgebra {
28 std::function<
double(
double,
double,
double )> fun,
30 std::shared_ptr<const AMP::LinearAlgebra::Vector> vec );
32std::shared_ptr<AMP::Mesh::Mesh>
createMesh( std::shared_ptr<AMP::Database> input_db );
34std::pair<std::shared_ptr<AMP::Discretization::DOFManager>,
35 std::shared_ptr<AMP::Discretization::DOFManager>>
36getDofMaps( std::shared_ptr<const AMP::Mesh::Mesh> mesh );
38std::shared_ptr<AMP::LinearAlgebra::Vector>
40 std::shared_ptr<AMP::Mesh::Mesh> mesh );
42std::tuple<int, double, double, bool>
49 std::shared_ptr<const AMP::Database> input_db,
50 const std::string &inputFile,
A class used to iterate over elements in a Mesh.
Class UnitTest is simple utility for running unit tests. It provides basic routines for tracing succe...
void checkConvergence(AMP::Solver::SolverStrategy *solver, std::shared_ptr< const AMP::Database > input_db, const std::string &inputFile, AMP::UnitTest &ut)
std::tuple< int, double, double, bool > get_regression_solution(std::shared_ptr< const AMP::Database > input_db)
std::shared_ptr< AMP::LinearAlgebra::Vector > constructNeutronicsPowerSource(std::shared_ptr< AMP::Database > input_db, std::shared_ptr< AMP::Mesh::Mesh > mesh)
std::pair< std::shared_ptr< AMP::Discretization::DOFManager >, std::shared_ptr< AMP::Discretization::DOFManager > > getDofMaps(std::shared_ptr< const AMP::Mesh::Mesh > mesh)
std::shared_ptr< AMP::Mesh::Mesh > createMesh(std::shared_ptr< AMP::Database > input_db)
bool checkAnalyticalSolution(const std::string &exeName, std::function< double(double, double, double)> fun, const AMP::Mesh::MeshIterator &iterator, std::shared_ptr< const AMP::LinearAlgebra::Vector > vec)