|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
The injected pieces as callables (host-side calls that launch kernels; the overhead of the indirection is nothing next to a block-wide kernel). More...
#include <scalar_krylov.hpp>
Public Attributes | |
| C3 | e {0, 0, 0} |
| int | g = 0 |
| std::function< void(const ScalarVec &, const ScalarVec &)> | matvec |
| std::function< void(const ScalarVec &, const ScalarVec &)> | precond |
| std::function< double(const ScalarVec &, const ScalarVec &)> | dot |
| std::function< void(const ScalarVec &, const ScalarVec &, const ScalarVec &, double &, double &)> | dot2 |
| std::function< double(const ScalarVec &)> | maxabs |
| std::function< void(const ScalarVec &)> | removeMean |
| bool | resident = false |
The resident pass (single rank): ks (>= skr::kNSlots device doubles) and pk (3 host doubles) persistent scratch; dotTo / dot2To / maxabsTo the reductions of dot / dot2 / maxabs into device slots (maxabsTo: the fluid part and the solid part, combined on the host with std::fmax exactly as maxabs does). | |
| Kokkos::View< double *, CCMem > | ks |
| Kokkos::View< double *, Kokkos::HostSpace > | pk |
| std::function< void(const ScalarVec &, const ScalarVec &, skr::Slot)> | dotTo |
| std::function< void(const ScalarVec &, const ScalarVec &, const ScalarVec &, skr::Slot, skr::Slot)> | dot2To |
| std::function< void(const ScalarVec &, skr::Slot, skr::Slot)> | maxabsTo |
The injected pieces as callables (host-side calls that launch kernels; the overhead of the indirection is nothing next to a block-wide kernel).
Definition at line 142 of file scalar_krylov.hpp.
| C3 peclet::flow::ScalarKrylovOps::e {0, 0, 0} |
Definition at line 143 of file scalar_krylov.hpp.
| int peclet::flow::ScalarKrylovOps::g = 0 |
Definition at line 144 of file scalar_krylov.hpp.
Definition at line 145 of file scalar_krylov.hpp.
Definition at line 145 of file scalar_krylov.hpp.
Definition at line 146 of file scalar_krylov.hpp.
| std::function<void(const ScalarVec&, const ScalarVec&, const ScalarVec&, double&, double&)> peclet::flow::ScalarKrylovOps::dot2 |
Definition at line 147 of file scalar_krylov.hpp.
Definition at line 148 of file scalar_krylov.hpp.
Definition at line 149 of file scalar_krylov.hpp.
The resident pass (single rank): ks (>= skr::kNSlots device doubles) and pk (3 host doubles) persistent scratch; dotTo / dot2To / maxabsTo the reductions of dot / dot2 / maxabs into device slots (maxabsTo: the fluid part and the solid part, combined on the host with std::fmax exactly as maxabs does).
Definition at line 154 of file scalar_krylov.hpp.
Definition at line 155 of file scalar_krylov.hpp.
| Kokkos::View<double*, Kokkos::HostSpace> peclet::flow::ScalarKrylovOps::pk |
Definition at line 156 of file scalar_krylov.hpp.
| std::function<void(const ScalarVec&, const ScalarVec&, skr::Slot)> peclet::flow::ScalarKrylovOps::dotTo |
Definition at line 157 of file scalar_krylov.hpp.
| std::function<void(const ScalarVec&, const ScalarVec&, const ScalarVec&, skr::Slot, skr::Slot)> peclet::flow::ScalarKrylovOps::dot2To |
Definition at line 159 of file scalar_krylov.hpp.
Definition at line 160 of file scalar_krylov.hpp.