Compadre
1.2.0
|
#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... | |
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 | ||
) |
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 | ||
) |
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 | ||
) |
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 | ||
) |
Definition at line 29 of file GMLS_Tutorial.hpp.
KOKKOS_INLINE_FUNCTION double trueSolution | ( | double | x, |
double | y, | ||
double | z, | ||
int | order, | ||
int | dimension | ||
) |
Definition at line 14 of file GMLS_Tutorial.hpp.