/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/timestepping/jacobian_diagnostics.hh File Reference#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/timestepping/jacobian_diagnostics.hh File Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
jacobian_diagnostics.hh File Reference
#include <DiFfRG/common/mpi.hh>
#include <DiFfRG/discretization/data/diagnostic_port.hh>
#include <algorithm>
#include <chrono>
#include <cmath>
#include <cstddef>
#include <limits>
#include <stdexcept>
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  DiFfRG::JacobianMatrixDiagnostics
 
struct  DiFfRG::TimestepperJacobianBuildDiagnostics
 
class  DiFfRG::TimestepperJacobianDiagnosticsState
 
struct  DiFfRG::JacobianFactorizationDiagnostics
 

Namespaces

namespace  DiFfRG
 
namespace  DiFfRG::internal
 

Enumerations

enum class  DiFfRG::ImplicitTimestepperKind : unsigned int {
  DiFfRG::ida = 0 , DiFfRG::ida_boost_rk = 1 , DiFfRG::ida_boost_abm = 2 , DiFfRG::implicit_euler = 3 ,
  DiFfRG::trbdf2 = 4
}
 
enum class  DiFfRG::ImplicitTimestepperStage : unsigned int { DiFfRG::main = 0 , DiFfRG::trapezoidal = 1 , DiFfRG::bdf2 = 2 }
 

Functions

template<typename MatrixType >
std::pair< std::size_t, std::size_t > DiFfRG::internal::owned_row_range (const MatrixType &matrix)
 The global rows this rank may read.
 
template<typename MatrixType >
bool DiFfRG::internal::is_distributed_matrix (const MatrixType &)
 
template<typename MatrixType , typename Visitor >
void DiFfRG::internal::visit_matrix_row (const MatrixType &matrix, const std::size_t row, Visitor &&visitor)
 
template<typename MatrixType >
JacobianMatrixDiagnostics DiFfRG::analyze_jacobian_matrix (const MatrixType &matrix)
 
void DiFfRG::record_jacobian_diagnostics (const DiagnosticPort &diagnostics, const std::string &table, const double t, const TimestepperJacobianBuildDiagnostics &build, const JacobianMatrixDiagnostics &matrix, const JacobianFactorizationDiagnostics &factorization)
 
template<typename LinearSolver , typename MatrixType >
void DiFfRG::factorize_with_diagnostics (LinearSolver &solver, const MatrixType &matrix, JacobianFactorizationDiagnostics &diagnostics, const bool estimate_condition)