Compadre  1.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
GMLS_Tutorial.hpp File Reference
#include <Kokkos_Core.hpp>
#include <basis/Compadre_DivergenceFreePolynomial.hpp>
#include <Compadre_GMLS.hpp>

Go to the source code of this file.

Functions

KOKKOS_INLINE_FUNCTION double device_max (double d1, double d2)
 
KOKKOS_INLINE_FUNCTION double trueSolution (double x, double y, double z, int order, int dimension)
 
KOKKOS_INLINE_FUNCTION double trueLaplacian (double x, double y, double z, int order, int dimension)
 
KOKKOS_INLINE_FUNCTION void trueGradient (double *ans, double x, double y, double z, int order, int dimension)
 
KOKKOS_INLINE_FUNCTION double trueDivergence (double x, double y, double z, int order, int dimension)
 
KOKKOS_INLINE_FUNCTION void trueHessian (double *ans, double x, double y, double z, int order, int dimension)
 
KOKKOS_INLINE_FUNCTION double divergenceTestSamples (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double divergenceTestSolution (double x, double y, double z, int dimension)
 
KOKKOS_INLINE_FUNCTION double curlTestSolution (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double divfreeTestSolution_single_polynomial (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double divfreeTestSolution_span_basis (double x, double y, double z, int component, int dimension, int exact_order)
 
KOKKOS_INLINE_FUNCTION double curldivfreeTestSolution_single_polynomial (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double curldivfreeTestSolution_span_basis (double x, double y, double z, int component, int dimension, int exact_order)
 
KOKKOS_INLINE_FUNCTION double curlcurldivfreeTestSolution_single_polynomial (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double gradientdivfreeTestSolution_single_polynomial (double x, double y, double z, int component, int dimension)
 
KOKKOS_INLINE_FUNCTION double gradientdivfreeTestSolution_span_basis (double x, double y, double z, int input_component, int output_component, int dimension, int exact_order)
 
int main (int argc, char *args[])
 Standard GMLS Example. More...
 

Function Documentation

KOKKOS_INLINE_FUNCTION double curlcurldivfreeTestSolution_single_polynomial ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)

Definition at line 341 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double curldivfreeTestSolution_single_polynomial ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)

Definition at line 285 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double curldivfreeTestSolution_span_basis ( double  x,
double  y,
double  z,
int  component,
int  dimension,
int  exact_order 
)

Definition at line 302 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double curlTestSolution ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)
Examples:
GMLS Tutorial.

Definition at line 214 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double device_max ( double  d1,
double  d2 
)

Definition at line 9 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double divergenceTestSamples ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)
Examples:
GMLS Tutorial.

Definition at line 188 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double divergenceTestSolution ( double  x,
double  y,
double  z,
int  dimension 
)

Definition at line 201 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double divfreeTestSolution_single_polynomial ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)

Definition at line 243 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double divfreeTestSolution_span_basis ( double  x,
double  y,
double  z,
int  component,
int  dimension,
int  exact_order 
)

Definition at line 267 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double gradientdivfreeTestSolution_single_polynomial ( double  x,
double  y,
double  z,
int  component,
int  dimension 
)

Definition at line 365 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double gradientdivfreeTestSolution_span_basis ( double  x,
double  y,
double  z,
int  input_component,
int  output_component,
int  dimension,
int  exact_order 
)

Definition at line 404 of file GMLS_Tutorial.hpp.

int main ( int  argc,
char *  args[] 
)

Standard GMLS Example.

Exercises GMLS operator evaluation with data over various orders and numbers of targets for targets including point evaluation, Laplacian, divergence, curl, and gradient.

Standard GMLS Example.

Manifold GMLS Example.

Standard 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.

Standard 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]

[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 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 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 trueDivergence ( double  x,
double  y,
double  z,
int  order,
int  dimension 
)

Definition at line 108 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION void trueGradient ( double *  ans,
double  x,
double  y,
double  z,
int  order,
int  dimension 
)
Examples:
GMLS Tutorial.

Definition at line 69 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION void trueHessian ( double *  ans,
double  x,
double  y,
double  z,
int  order,
int  dimension 
)

Definition at line 148 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double trueLaplacian ( double  x,
double  y,
double  z,
int  order,
int  dimension 
)
Examples:
GMLS Tutorial.

Definition at line 29 of file GMLS_Tutorial.hpp.

KOKKOS_INLINE_FUNCTION double trueSolution ( double  x,
double  y,
double  z,
int  order,
int  dimension 
)
Examples:
GMLS Tutorial.

Definition at line 14 of file GMLS_Tutorial.hpp.