Compadre
1.2.0
|
#include <Kokkos_Core.hpp>
#include <cmath>
Go to the source code of this file.
Macros | |
#define | PI 3.14159265358979323846 |
Functions | |
KOKKOS_INLINE_FUNCTION double | device_max (double d1, double d2) |
KOKKOS_INLINE_FUNCTION double | atan4 (const double y, const double x) |
KOKKOS_INLINE_FUNCTION double | latitude (double x, double y, double z) |
KOKKOS_INLINE_FUNCTION double | longitude (double x, double y, double z) |
KOKKOS_INLINE_FUNCTION double | legendre54 (double z) |
KOKKOS_INLINE_FUNCTION double | sphere_harmonic54 (double x, double y, double z) |
KOKKOS_INLINE_FUNCTION void | curl_sphere_harmonic54 (double *curl, double x, double y, double z) |
KOKKOS_INLINE_FUNCTION double | laplace_beltrami_sphere_harmonic54 (double x, double y, double z) |
KOKKOS_INLINE_FUNCTION void | gradient_sphereHarmonic54_local (double *gradient, double x, double y, double z) |
KOKKOS_INLINE_FUNCTION void | gradient_sphereHarmonic54_ambient (double *gradient, double x, double y, double z) |
KOKKOS_INLINE_FUNCTION void | velocity_sphereHarmonic54_ambient (double *velocity, double x, double y, double z) |
int | main (int argc, char *args[]) |
Manifold GMLS Example. More... | |
#define PI 3.14159265358979323846 |
Definition at line 7 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double atan4 | ( | const double | y, |
const double | x | ||
) |
Definition at line 15 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION void curl_sphere_harmonic54 | ( | double * | curl, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Definition at line 70 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double device_max | ( | double | d1, |
double | d2 | ||
) |
Definition at line 10 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION void gradient_sphereHarmonic54_ambient | ( | double * | gradient, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Definition at line 101 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION void gradient_sphereHarmonic54_local | ( | double * | gradient, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Definition at line 89 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double laplace_beltrami_sphere_harmonic54 | ( | double | x, |
double | y, | ||
double | z | ||
) |
Definition at line 83 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double latitude | ( | double | x, |
double | y, | ||
double | z | ||
) |
Definition at line 49 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double legendre54 | ( | double | z | ) |
Definition at line 59 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION double longitude | ( | double | x, |
double | y, | ||
double | z | ||
) |
Definition at line 54 of file GMLS_Manifold.hpp.
int main | ( | int | argc, |
char * | args[] | ||
) |
Manifold GMLS Example.
Exercises GMLS operator evaluation with data over various orders and numbers of targets for targets including point evaluation, Laplace-Beltrami, gradient and gradient on a manifold.
Manifold GMLS Example.
Manifold GMLS Example.
Creates num_matrices copies of a matrix P and RHS P has dimensions P_rows x P_cols RHS has dimensions RHS_rows x RHS_cols
P*X=RHS is an overdetermined system from the perspective of rows to columns But it is underdetermined in the sense that it actually has a large nullspace because we fill P with ones, and RHS with ones.
The result is that solution should be 1 / P_cols for each entry in RHS
This is a fairly easy exercise for dgelsd in LAPACK, but if LAPACK+BLAS are not thread safe, then this will fail to get the correct answer.
If this test fails, then either a different LAPACK library should be provided or compiled. If you are compiling, be sure to add the -frecursive see https://github.com/xianyi/OpenBLAS/issues/477
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Setting Up The GMLS Object]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up Data]
[Setting Up Data]
[Filtering And Extracting Data]
[Filtering Data]
[Checking Filtered And Extracted Data]
[Checking Filtered And Extracted Data]
[Finalize Program]
Definition at line 29 of file GMLS_Device.cpp.
KOKKOS_INLINE_FUNCTION double sphere_harmonic54 | ( | double | x, |
double | y, | ||
double | z | ||
) |
Definition at line 64 of file GMLS_Manifold.hpp.
KOKKOS_INLINE_FUNCTION void velocity_sphereHarmonic54_ambient | ( | double * | velocity, |
double | x, | ||
double | y, | ||
double | z | ||
) |
Definition at line 114 of file GMLS_Manifold.hpp.