11#include <kernel/util/string.hpp> 
   54    inline std::ostream& operator<<(std::ostream& os, 
ExpressionType type)
 
   63        return os << 
"precond";
 
   65        return os << 
"precond_l";
 
   67        return os << 
"precond_r";
 
   69        return os << 
"smoother";
 
   71        return os << 
"coarse";
 
   73        return os << 
"defect";
 
   75        return os << 
"timings";
 
   77        return os << 
"level_timings";
 
   83        return os << 
"uzawa_s";
 
   85        return os << 
"uzawa_a";
 
   87        return os << 
"unknown";
 
  158          precond_name(precond_name_in)
 
  179          precond_name(precond_name_in)
 
  200          precond_name(precond_name_in)
 
  221          smoother_name(smoother_name_in)
 
  238        String coarse_solver_name;
 
  242          coarse_solver_name(coarse_solver_name_in)
 
  324        double solver_toe, mpi_execute_reduction, mpi_execute_blas2, mpi_execute_blas3, mpi_execute_collective, mpi_wait_reduction, mpi_wait_blas2, mpi_wait_blas3, mpi_wait_collective;
 
  326        explicit ExpressionTimings(
String name, 
double solver_toe_in, 
double mpi_execute_reduction_in, 
double mpi_execute_blas2_in, 
double mpi_execute_blas3_in,
 
  327            double mpi_execute_collective_in, 
double mpi_wait_reduction_in, 
double mpi_wait_blas2_in, 
double mpi_wait_blas3_in, 
double mpi_wait_collective_in) :
 
  329          solver_toe(solver_toe_in),
 
  330          mpi_execute_reduction(mpi_execute_reduction_in),
 
  331          mpi_execute_blas2(mpi_execute_blas2_in),
 
  332          mpi_execute_blas3(mpi_execute_blas3_in),
 
  333          mpi_execute_collective(mpi_execute_collective_in),
 
  334          mpi_wait_reduction(mpi_wait_reduction_in),
 
  335          mpi_wait_blas2(mpi_wait_blas2_in),
 
  336          mpi_wait_blas3(mpi_wait_blas3_in),
 
  337          mpi_wait_collective(mpi_wait_collective_in)
 
  355        double level_toe, mpi_execute_reduction, mpi_execute_blas2, mpi_execute_blas3, mpi_execute_collective, mpi_wait_reduction, mpi_wait_blas2, mpi_wait_blas3, mpi_wait_collective;
 
  357        explicit ExpressionLevelTimings(
String name, 
Index level_in, 
double level_toe_in, 
double mpi_execute_reduction_in, 
double mpi_execute_blas2_in, 
double mpi_execute_blas3_in,
 
  358            double mpi_execute_collective_in, 
double mpi_wait_reduction_in, 
double mpi_wait_blas2_in, 
double mpi_wait_blas3_in, 
double mpi_wait_collective_in) :
 
  361          level_toe(level_toe_in),
 
  362          mpi_execute_reduction(mpi_execute_reduction_in),
 
  363          mpi_execute_blas2(mpi_execute_blas2_in),
 
  364          mpi_execute_blas3(mpi_execute_blas3_in),
 
  365          mpi_execute_collective(mpi_execute_collective_in),
 
  366          mpi_wait_reduction(mpi_wait_reduction_in),
 
  367          mpi_wait_blas2(mpi_wait_blas2_in),
 
  368          mpi_wait_blas3(mpi_wait_blas3_in),
 
  369          mpi_wait_collective(mpi_wait_collective_in)
 
  390          solver_s_name(solver_s_name_in)
 
  411          solver_a_name(solver_a_name_in)
 
Index iters
the iteration count needed in this solve process
Status status
the status result of the solver call
String class implementation.
@ defect
left-preconditioned defect minimization
@ iter
Plot every iteration (if applicable)
ExpressionType
Expression Type enumeration.
@ timings
annotate iterations timings
@ call_uzawa_a
call A matrix solver (uzawa complement)
@ prol
prolonation (multigrid)
@ end_solve
end last solve process
@ call_precond_l
call L preconditioner
@ defect
annotate iterations defect
@ rest
restriction (multigrid)
@ call_uzawa_s
call S matrix solver (uzawa complement)
@ call_coarse_solver
call coarse grid solver
@ call_smoother
call smoother
@ call_precond_r
call R preconditioner
@ level_timings
annotate level timings
@ call_precond
call preconditioner
@ start_solve
start new solve process
Status
Solver status return codes enumeration.
std::uint64_t Index
Index data type.