PACMAN 0.1.0
Portable Algorithms for Coupling, Mapping, and Adaptive iNterpolation
Loading...
Searching...
No Matches
NewtonKokkos.hpp File Reference
#include <KokkosBatched_Gemm_Decl.hpp>
#include <KokkosBatched_LU_Decl.hpp>
#include <KokkosBatched_Trsv_Decl.hpp>
#include <KokkosBlas1_axpby.hpp>
#include <KokkosBlas2_serial_gemv.hpp>
#include "finite_elements/utils/FETools.hpp"

Go to the source code of this file.

Namespaces

namespace  PACMAN
 
namespace  PACMAN::FiniteElements
 

Macros

#define D_XI_ETA_PHI_TOL_SQUARED   1e-10
 Tolerance to stop the newton, dxietaphi.squaredNorm()
 
#define MAX_NEWTON_ITER   15
 Maximal number of newton iters.
 
#define CaseSwitch(CellType_STRUCT)
 

Functions

template<typename ExecSpace , typename FEspace , int_t Dim>
KOKKOS_FUNCTION bool PACMAN::FiniteElements::ApplyNewton (const Kokkos::View< coordinates_t **, ExecSpace > Xcoor, const Kokkos::View< coordinates_t[Dim], ExecSpace > targetPoint, Kokkos::View< fp_t *, ExecSpace > weights, const bool forceEvaluation=false)
 Solve FE inverse mapping with Newton iterations and compute interpolation weights.
 
template<typename ExecSpace , int_t Dim>
KOKKOS_FUNCTION bool PACMAN::FiniteElements::ApplyNewtonOnElement (const cell_t type, const Kokkos::View< coordinates_t **, ExecSpace > Xcoor, const Kokkos::View< coordinates_t[Dim], ExecSpace > targetPoint, Kokkos::View< fp_t *, ExecSpace > weights, const bool forceEvaluation=false)
 Dispatch Newton-based FE inversion to the correct element type.
 

Macro Definition Documentation

◆ CaseSwitch

#define CaseSwitch (   CellType_STRUCT)
Value:
case CellType_STRUCT: { \
return ApplyNewton<ExecSpace, \
LagrangeSpaceGeo<ExecSpace, CellType_STRUCT>, Dim>( \
Xcoor, targetPoint, weights, forceEvaluation); \
break; \
}

Definition at line 24 of file NewtonKokkos.hpp.

◆ D_XI_ETA_PHI_TOL_SQUARED

#define D_XI_ETA_PHI_TOL_SQUARED   1e-10

Tolerance to stop the newton, dxietaphi.squaredNorm()

Definition at line 20 of file NewtonKokkos.hpp.

◆ MAX_NEWTON_ITER

#define MAX_NEWTON_ITER   15

Maximal number of newton iters.

Definition at line 22 of file NewtonKokkos.hpp.