30 typedef Teuchos::RCP<Problem_Type> ProblemPtr_Type;
32 typedef Teuchos::RCP<const Thyra::LinearOpBase<SC> > ThyraLinOpConstPtr_Type;
33 typedef Thyra::BlockedLinearOpBase<SC> ThyraLinOpBlock_Type;
34 typedef Teuchos::RCP< ThyraLinOpBlock_Type > ThyraLinOpBlockPtr_Type;
35 typedef Teuchos::RCP< const ThyraLinOpBlock_Type > ThyraLinOpBlockConstPtr_Type;
36 typedef Teuchos::RCP<Thyra::PreconditionerBase<SC> > ThyraPrecPtr_Type;
38 typedef typename Problem_Type::Matrix_Type Matrix_Type;
39 typedef typename Problem_Type::MatrixPtr_Type MatrixPtr_Type;
40 typedef typename Problem_Type::BlockMatrixPtr_Type BlockMatrixPtr_Type;
42 typedef Teuchos::RCP<BlockMultiVector_Type> BlockMultiVectorPtr_Type;
51 int solve(Problem_Type* problem, BlockMultiVectorPtr_Type rhs, std::string type=
"Monolithic" );
53 int solve(TimeProblem_Type* timeProblem, BlockMultiVectorPtr_Type rhs, std::string type=
"Monolithic" );
55 int solveMonolithic(Problem_Type* problem, BlockMultiVectorPtr_Type rhs, std::string type );
57 int solveMonolithic(TimeProblem_Type* problem, BlockMultiVectorPtr_Type rhs );
60 int solveTeko(Problem_Type* problem, BlockMultiVectorPtr_Type rhs );
62 int solveTeko(TimeProblem_Type* problem, BlockMultiVectorPtr_Type rhs );
64 int solveBlock(Problem_Type* problem, BlockMultiVectorPtr_Type rhs, std::string precType );
66 int solveBlock(TimeProblem_Type* problem, BlockMultiVectorPtr_Type rhs, std::string precType );