preCICE v3.1.2
|
#include <GinkgoRadialBasisFctSolver.hpp>
Public Types | |
using | BASIS_FUNCTION_T = RADIAL_BASIS_FUNCTION_T |
Public Member Functions | |
GinkgoRadialBasisFctSolver ()=default | |
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 90 of file GinkgoRadialBasisFctSolver.hpp.
using precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::BASIS_FUNCTION_T = RADIAL_BASIS_FUNCTION_T |
Definition at line 92 of file GinkgoRadialBasisFctSolver.hpp.
|
default |
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 196 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 438 of file GinkgoRadialBasisFctSolver.hpp.
void precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::clear | ( | ) |
Definition at line 641 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::Index precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getInputSize | ( | ) | const |
Definition at line 629 of file GinkgoRadialBasisFctSolver.hpp.
Eigen::Index precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getOutputSize | ( | ) | const |
Definition at line 635 of file GinkgoRadialBasisFctSolver.hpp.
std::shared_ptr< gko::Executor > precice::mapping::GinkgoRadialBasisFctSolver< RADIAL_BASIS_FUNCTION_T >::getReferenceExecutor | ( | ) | const |
Definition at line 623 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 532 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 469 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Addition of the polynomial contribution.
Definition at line 146 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
QR Solver.
Definition at line 172 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Matrix Q^T of QR decomposition.
Definition at line 157 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Matrix R of QR decomposition.
Definition at line 163 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 118 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Q^T * b of QR decomposition.
Definition at line 160 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 191 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 173 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 119 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 187 of file GinkgoRadialBasisFctSolver.hpp.
|
mutableprivate |
Definition at line 116 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Evaluation matrix (output x input)
Definition at line 125 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Polynomial matrix of the input mesh (for separate polynomial)
Definition at line 128 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 131 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Product Q^T*Q (to solve Q^TQx=Q^Tb)
Definition at line 134 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Product Q*Q^T.
Definition at line 137 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Polynomial matrix of the output mesh (for separate polynomial)
Definition at line 149 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 154 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Right-hand side of the polynomial system.
Definition at line 140 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 175 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 179 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Stores the calculated coefficients of the RBF interpolation.
Definition at line 152 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 122 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 189 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 183 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 182 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Definition at line 177 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Subtraction of the polynomial contribution.
Definition at line 143 of file GinkgoRadialBasisFctSolver.hpp.
|
private |
Backwards Solver.
Definition at line 166 of file GinkgoRadialBasisFctSolver.hpp.