|
preCICE
|
#include <BatchedRBFSolver.hpp>
Public Types | |
| using | RBF_T = RADIAL_BASIS_FUNCTION_T |
Public Member Functions | |
| BatchedRBFSolver (RBF_T basisFunction, mesh::PtrMesh inMesh, mesh::PtrMesh outMesh, const std::vector< mesh::Vertex > ¢ers, double clusterRadius, Polynomial polynomial, bool computeEvaluationOffline, MappingConfiguration::GinkgoParameter ginkgoParameter) | |
| void | solveConsistent (const time::Sample &globalIn, Eigen::VectorXd &globalOut) |
Private Member Functions | |
| template<typename... Args> | |
| void | _dispatch_solve_kernel (bool polynomial, bool evaluation_op_available, Args &&...args) |
Private Attributes | |
| precice::logging::Logger | _log {"mapping::BatchedRBFSolver"} |
| VectorOffsetView | _inOffsets |
| VectorOffsetView | _outOffsets |
| GlobalIDView | _globalInIDs |
| GlobalIDView | _globalOutIDs |
| MatrixOffsetView | _kernelOffsets |
| MatrixOffsetView | _evaluationOffsets |
| MeshView | _inMesh |
| MeshView | _outMesh |
| VectorView | _qrMatrix |
| VectorView | _qrTau |
| PivotView | _qrP |
| VectorView | _kernelMatrices |
| VectorView | _evalMatrices |
| VectorView | _normalizedWeights |
| VectorView | _inData |
| VectorView | _outData |
| int | _maxInClusterSize |
| int | _maxOutClusterSize |
| RBF_T | _basisFunction |
| Polynomial | _polynomial |
| const int | _nCluster |
| const int | _dim |
| int | _avgClusterSize {} |
| const bool | _computeEvaluationOffline |
This class solves the PU-RBF interpolation in a batched manner, i.e., clusters are computed in parallel. The parallelization can be handled through GPUs or OpenMP. It uses Kokkos-kernels dispatch the kernels on the selected execution backend. Only the mesh indexing is handled on the CPU through boost geometry, all other components are handled in parallel. The solver is compatible with the MPI-parallel layout of the PURBF class itself, which means in this case that the problem is solved purely local, but each rank can instantiate and launch its own solver.
Definition at line 34 of file BatchedRBFSolver.hpp.
| using precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::RBF_T = RADIAL_BASIS_FUNCTION_T |
Definition at line 36 of file BatchedRBFSolver.hpp.
| precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::BatchedRBFSolver | ( | RBF_T | basisFunction, |
| mesh::PtrMesh | inMesh, | ||
| mesh::PtrMesh | outMesh, | ||
| const std::vector< mesh::Vertex > & | centers, | ||
| double | clusterRadius, | ||
| Polynomial | polynomial, | ||
| bool | computeEvaluationOffline, | ||
| MappingConfiguration::GinkgoParameter | ginkgoParameter ) |
Essentially an initialize of the solver: allocates device memory and computes the LU decompositions etc
Definition at line 100 of file BatchedRBFSolver.hpp.
|
private |
| void precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::solveConsistent | ( | const time::Sample & | globalIn, |
| Eigen::VectorXd & | globalOut ) |
|
private |
Definition at line 94 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 90 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 95 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 93 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 78 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 67 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 63 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 64 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 82 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 69 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 59 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 76 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 66 of file BatchedRBFSolver.hpp.
|
mutableprivate |
Definition at line 52 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 87 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 88 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 92 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 79 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 84 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 70 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 60 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 91 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 72 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 74 of file BatchedRBFSolver.hpp.
|
private |
Definition at line 73 of file BatchedRBFSolver.hpp.