16 #ifndef dealii_solver_h 17 #define dealii_solver_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/subscriptor.h> 21 #include <deal.II/lac/vector_memory.h> 22 #include <deal.II/lac/solver_control.h> 25 #include <boost/signals2.hpp> 27 DEAL_II_NAMESPACE_OPEN
29 template <
typename number>
class Vector;
321 template <
class VectorType = Vector<
double> >
382 boost::signals2::connection
384 const double check_value,
385 const VectorType ¤t_iterate)> &slot);
418 template <
typename Iterator>
420 const Iterator end)
const;
445 const double check_value,
446 const VectorType ¤t_iterate),
454 template <
class VectorType>
473 template <
class VectorType>
474 template <
typename Iterator>
478 const Iterator end)
const 480 Assert (begin != end,
ExcMessage (
"You can't combine iterator states if no state is given."));
486 for (; p != end; ++p)
487 state = this->
operator()(state, *p);
493 template <
class VectorType>
505 std::ref(solver_control),
506 std::placeholders::_1,
507 std::placeholders::_2));
512 template <
class VectorType>
517 memory(static_vector_memory)
524 std::ref(solver_control),
525 std::placeholders::_1,
526 std::placeholders::_2));
531 template <
class VectorType>
533 boost::signals2::connection
536 const double check_value,
537 const VectorType ¤t_iterate)> &slot)
539 return iteration_status.connect (slot);
544 DEAL_II_NAMESPACE_CLOSE
Stop iteration, goal not reached.
virtual State check(const unsigned int step, const double check_value)
boost::signals2::connection connect(const std::function< SolverControl::State(const unsigned int iteration, const double check_value, const VectorType ¤t_iterate)> &slot)
GrowingVectorMemory< VectorType > static_vector_memory
static ::ExceptionBase & ExcMessage(std::string arg1)
Stop iteration, goal reached.
#define Assert(cond, exc)
Solver(SolverControl &solver_control, VectorMemory< VectorType > &vector_memory)
VectorMemory< VectorType > & memory
boost::signals2::signal< SolverControl::State(const unsigned int iteration, const double check_value, const VectorType ¤t_iterate), StateCombiner > iteration_status