preCICE
Loading...
Searching...
No Matches
precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T > Class Template Reference

#include <BatchedRBFSolver.hpp>

Collaboration diagram for precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >:
[legend]

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 > &centers, 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

Detailed Description

template<typename RADIAL_BASIS_FUNCTION_T>
class precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >

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.

Member Typedef Documentation

◆ RBF_T

template<typename RADIAL_BASIS_FUNCTION_T>
using precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::RBF_T = RADIAL_BASIS_FUNCTION_T

Definition at line 36 of file BatchedRBFSolver.hpp.

Constructor & Destructor Documentation

◆ BatchedRBFSolver()

template<typename RADIAL_BASIS_FUNCTION_T>
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.

Here is the call graph for this function:

Member Function Documentation

◆ _dispatch_solve_kernel()

template<typename RADIAL_BASIS_FUNCTION_T>
template<typename... Args>
void precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_dispatch_solve_kernel ( bool polynomial,
bool evaluation_op_available,
Args &&... args )
private

Definition at line 413 of file BatchedRBFSolver.hpp.

Here is the call graph for this function:

◆ solveConsistent()

template<typename RADIAL_BASIS_FUNCTION_T>
void precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::solveConsistent ( const time::Sample & globalIn,
Eigen::VectorXd & globalOut )

Definition at line 353 of file BatchedRBFSolver.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ _avgClusterSize

template<typename RADIAL_BASIS_FUNCTION_T>
int precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_avgClusterSize {}
private

Definition at line 94 of file BatchedRBFSolver.hpp.

◆ _basisFunction

template<typename RADIAL_BASIS_FUNCTION_T>
RBF_T precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_basisFunction
private

Definition at line 90 of file BatchedRBFSolver.hpp.

◆ _computeEvaluationOffline

template<typename RADIAL_BASIS_FUNCTION_T>
const bool precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_computeEvaluationOffline
private

Definition at line 95 of file BatchedRBFSolver.hpp.

◆ _dim

template<typename RADIAL_BASIS_FUNCTION_T>
const int precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_dim
private

Definition at line 93 of file BatchedRBFSolver.hpp.

◆ _evalMatrices

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_evalMatrices
private

Definition at line 78 of file BatchedRBFSolver.hpp.

◆ _evaluationOffsets

template<typename RADIAL_BASIS_FUNCTION_T>
MatrixOffsetView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_evaluationOffsets
private

Definition at line 67 of file BatchedRBFSolver.hpp.

◆ _globalInIDs

template<typename RADIAL_BASIS_FUNCTION_T>
GlobalIDView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_globalInIDs
private

Definition at line 63 of file BatchedRBFSolver.hpp.

◆ _globalOutIDs

template<typename RADIAL_BASIS_FUNCTION_T>
GlobalIDView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_globalOutIDs
private

Definition at line 64 of file BatchedRBFSolver.hpp.

◆ _inData

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_inData
private

Definition at line 82 of file BatchedRBFSolver.hpp.

◆ _inMesh

template<typename RADIAL_BASIS_FUNCTION_T>
MeshView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_inMesh
private

Definition at line 69 of file BatchedRBFSolver.hpp.

◆ _inOffsets

template<typename RADIAL_BASIS_FUNCTION_T>
VectorOffsetView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_inOffsets
private

Definition at line 59 of file BatchedRBFSolver.hpp.

◆ _kernelMatrices

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_kernelMatrices
private

Definition at line 76 of file BatchedRBFSolver.hpp.

◆ _kernelOffsets

template<typename RADIAL_BASIS_FUNCTION_T>
MatrixOffsetView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_kernelOffsets
private

Definition at line 66 of file BatchedRBFSolver.hpp.

◆ _log

template<typename RADIAL_BASIS_FUNCTION_T>
precice::logging::Logger precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_log {"mapping::BatchedRBFSolver"}
mutableprivate

Definition at line 52 of file BatchedRBFSolver.hpp.

◆ _maxInClusterSize

template<typename RADIAL_BASIS_FUNCTION_T>
int precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_maxInClusterSize
private

Definition at line 87 of file BatchedRBFSolver.hpp.

◆ _maxOutClusterSize

template<typename RADIAL_BASIS_FUNCTION_T>
int precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_maxOutClusterSize
private

Definition at line 88 of file BatchedRBFSolver.hpp.

◆ _nCluster

template<typename RADIAL_BASIS_FUNCTION_T>
const int precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_nCluster
private

Definition at line 92 of file BatchedRBFSolver.hpp.

◆ _normalizedWeights

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_normalizedWeights
private

Definition at line 79 of file BatchedRBFSolver.hpp.

◆ _outData

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_outData
private

Definition at line 84 of file BatchedRBFSolver.hpp.

◆ _outMesh

template<typename RADIAL_BASIS_FUNCTION_T>
MeshView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_outMesh
private

Definition at line 70 of file BatchedRBFSolver.hpp.

◆ _outOffsets

template<typename RADIAL_BASIS_FUNCTION_T>
VectorOffsetView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_outOffsets
private

Definition at line 60 of file BatchedRBFSolver.hpp.

◆ _polynomial

template<typename RADIAL_BASIS_FUNCTION_T>
Polynomial precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_polynomial
private

Definition at line 91 of file BatchedRBFSolver.hpp.

◆ _qrMatrix

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_qrMatrix
private

Definition at line 72 of file BatchedRBFSolver.hpp.

◆ _qrP

template<typename RADIAL_BASIS_FUNCTION_T>
PivotView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_qrP
private

Definition at line 74 of file BatchedRBFSolver.hpp.

◆ _qrTau

template<typename RADIAL_BASIS_FUNCTION_T>
VectorView precice::mapping::BatchedRBFSolver< RADIAL_BASIS_FUNCTION_T >::_qrTau
private

Definition at line 73 of file BatchedRBFSolver.hpp.


The documentation for this class was generated from the following file: