Compadre  1.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Macros | Functions
GMLS_Manifold.hpp File Reference
#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...
 

Macro Definition Documentation

#define PI   3.14159265358979323846
Examples:
Manifold GMLS Tutorial.

Definition at line 7 of file GMLS_Manifold.hpp.

Function Documentation

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 
)
Examples:
Manifold GMLS Tutorial.

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 
)
Examples:
Manifold GMLS Tutorial.

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 
)
Examples:
Manifold GMLS Tutorial.

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.