|
void | mghype::matrixfree::solvers::dgcgcoupling::rollOverAndPrepareCGVertex (auto &vertex, bool restrictRhsAndInjectSolution, bool fas) |
| Apply updates from previous mesh sweep in multigrid sense and prepare for next correction step.
|
|
void | mghype::matrixfree::solvers::dgcgcoupling::updateRestrictionCounters (auto &vertices) |
| Restrict counters.
|
|
template<class DGSolver , class CGSolver > |
void | mghype::matrixfree::solvers::dgcgcoupling::injectSolution (const tarch::la::Matrix< TwoPowerD *CGSolver::VertexUnknowns, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &injectionMatrix, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgSolution, auto &cgVertices) |
|
template<class DGSolver , class CGSolver > |
tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > | mghype::matrixfree::solvers::dgcgcoupling::prolongate (const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, TwoPowerD *CGSolver::VertexUnknowns, double > &prolongationMatrix, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgSolution, const auto &cgVertices) |
|
template<class DGSolver , class CGSolver > |
void | mghype::matrixfree::solvers::dgcgcoupling::computeAndRestrictResidual (const tarch::la::Matrix< TwoPowerD *CGSolver::VertexUnknowns, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &restrictionMatrix, const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &massMatrix, const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &systemMatrix, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgSolution, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgRhs, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &faceSolutions, auto &cgVertices) |
|
template<class DGSolver , class CGSolver > |
void | mghype::matrixfree::solvers::dgcgcoupling::computeAndRestrictHierarchicalResidual (const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, TwoPowerD *CGSolver::VertexUnknowns, double > &prolongationMatrix, const tarch::la::Matrix< TwoPowerD *CGSolver::VertexUnknowns, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &restrictionMatrix, const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &massMatrix, const tarch::la::Matrix< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &systemMatrix, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgSolution, const tarch::la::Vector< DGSolver::NodesPerCell *DGSolver::UnknownsPerCellNode, double > &dgRhs, auto &cgVertices) |
|
template<class CGSolver > |
tarch::la::Vector< TwoPowerD *CGSolver::VertexUnknowns, double > | mghype::matrixfree::solvers::dgcgcoupling::getCoarseGridSolution (auto &cgVertices) |
| Get the vector of course grid solutions.
|
|