preCICE v3.2.0
|
#include <GinkgoRadialBasisFctSolver.hpp>
Public Types | |
using | BASIS_FUNCTION_T = RADIAL_BASIS_FUNCTION_T |
Public Member Functions | |
template<typename IndexContainer> | |
GinkgoRadialBasisFctSolver (RADIAL_BASIS_FUNCTION_T basisFunction, const mesh::Mesh &inputMesh, const IndexContainer &inputIDs, const mesh::Mesh &outputMesh, const IndexContainer &outputIDs, std::vector< bool > deadAxis, Polynomial polynomial, MappingConfiguration::GinkgoParameter ginkgoParameter) | |
Assembles the system matrices and computes the decomposition of the interpolation matrix. | |
Eigen::VectorXd | solveConsistent (const Eigen::VectorXd &inputData, Polynomial polynomial) |
Maps the given input data. | |
Eigen::VectorXd | solveConservative (const Eigen::VectorXd &inputData, Polynomial polynomial) |
Maps the given input data. | |
void | clear () |
Eigen::Index | getInputSize () const |
Eigen::Index | getOutputSize () const |
std::shared_ptr< gko::Executor > | getReferenceExecutor () const |
Private Member Functions | |
void | _solveRBFSystem (const std::shared_ptr< GinkgoVector > &rhs) const |
This class assembles and solves an RBF system, given an input mesh and an output mesh with relevant vertex IDs. It uses iterative solvers (CG, GMRES) and preconditioners ((Block-)Jacobi, Cholesky, Ilu) to solve the interpolation systems. Furthermore, it optionally does that on Nvidia or AMD GPUs which provides significant speedup over (single-threaded) CPU implementations.
Definition at line 62 of file GinkgoRadialBasisFctSolver.hpp.
using precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::BASIS_FUNCTION_T = RADIAL_BASIS_FUNCTION_T |
Definition at line 64 of file GinkgoRadialBasisFctSolver.hpp.
precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::GinkgoRadialBasisFctSolver | ( | RADIAL_BASIS_FUNCTION_T | basisFunction, |
const mesh::Mesh & | inputMesh, | ||
const IndexContainer & | inputIDs, | ||
const mesh::Mesh & | outputMesh, | ||
const IndexContainer & | outputIDs, | ||
std::vector< bool > | deadAxis, | ||
Polynomial | polynomial, | ||
MappingConfiguration::GinkgoParameter | ginkgoParameter ) |
Assembles the system matrices and computes the decomposition of the interpolation matrix.
Definition at line 169 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 425 of file GinkgoRadialBasisFctSolver.hpp.
void precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::clear | ( | ) |
Definition at line 650 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::Index precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getInputSize | ( | ) | const |
Definition at line 638 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::Index precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getOutputSize | ( | ) | const |
Definition at line 644 of file GinkgoRadialBasisFctSolver.hpp.
std::shared_ptr< gko::Executor > precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getReferenceExecutor | ( | ) | const |
Definition at line 632 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::VectorXd precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::solveConservative | ( | const Eigen::VectorXd & | inputData, |
Polynomial | polynomial ) |
Maps the given input data.
Definition at line 531 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::VectorXd precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::solveConsistent | ( | const Eigen::VectorXd & | inputData, |
Polynomial | polynomial ) |
Maps the given input data.
Definition at line 458 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 162 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Addition of the polynomial contribution.
Definition at line 117 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
QR Solver.
Definition at line 143 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Matrix Q^T of QR decomposition.
Definition at line 128 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Matrix R of QR decomposition.
Definition at line 134 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 89 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Q^T * b of QR decomposition.
Definition at line 131 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 164 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 144 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 90 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 158 of file GinkgoRadialBasisFctSolver.hpp.
|
mutableprivate |
Definition at line 87 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Evaluation matrix (output x input)
Definition at line 96 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Polynomial matrix of the input mesh (for separate polynomial)
Definition at line 99 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Transposed Polynomial matrix of the input mesh (for separate polynomial) (to solve Q^T*Q*x=Q^T*b)
Definition at line 102 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Product Q^T*Q (to solve Q^TQx=Q^Tb)
Definition at line 105 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Product Q*Q^T.
Definition at line 108 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Polynomial matrix of the output mesh (for separate polynomial)
Definition at line 120 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 125 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Right-hand side of the polynomial system.
Definition at line 111 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 146 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 150 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Stores the calculated coefficients of the RBF interpolation.
Definition at line 123 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 93 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 160 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 154 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 153 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 148 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Subtraction of the polynomial contribution.
Definition at line 114 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Backwards Solver.
Definition at line 137 of file GinkgoRadialBasisFctSolver.hpp.