|
core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
A general assembled sparse operator in CSR form: the diagonal is stored separately and the CSR (start/nbr/coef) holds only the OFF-diagonal entries.
More...
#include <graph_amg.hpp>
Public Member Functions | |
| void | apply (const std::vector< double > &x, std::vector< double > &y) const |
| y = A x. | |
Public Attributes | |
| Index | n = 0 |
| std::vector< double > | diag |
| size n | |
| std::vector< Index > | start |
| size n+1, off-diagonal row offsets | |
| std::vector< Index > | nbr |
| size nnz (off-diagonal column indices) | |
| std::vector< double > | coef |
| size nnz (off-diagonal values) | |
A general assembled sparse operator in CSR form: the diagonal is stored separately and the CSR (start/nbr/coef) holds only the OFF-diagonal entries.
SPD is assumed for the SA-AMG hierarchy. This is the mesh-agnostic operator the device path will mirror as a Kokkos-View CSR (the same layout core::amr::FaceCsrOpT exposes), so the host oracle and the device operator share one arithmetic.
Definition at line 52 of file graph_amg.hpp.
|
inline |
y = A x.
Definition at line 60 of file graph_amg.hpp.
References coef, diag, n, nbr, and start.
Referenced by peclet::core::solver::amgPcg().
| Index peclet::core::solver::HostCsrOp::n = 0 |
Definition at line 53 of file graph_amg.hpp.
Referenced by peclet::core::solver::amgPcg(), apply(), and peclet::core::solver::GraphAMG::size().
| std::vector<double> peclet::core::solver::HostCsrOp::diag |
| std::vector<Index> peclet::core::solver::HostCsrOp::start |
size n+1, off-diagonal row offsets
Definition at line 55 of file graph_amg.hpp.
Referenced by apply().
| std::vector<Index> peclet::core::solver::HostCsrOp::nbr |
size nnz (off-diagonal column indices)
Definition at line 56 of file graph_amg.hpp.
Referenced by apply().
| std::vector<double> peclet::core::solver::HostCsrOp::coef |