Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::EB2::PolyIF< N > Class Template Reference

GPU-ready polynomial implicit function with a fixed number of terms. More...

#include <AMReX_EB2_IF_Polynomial.H>

Inheritance diagram for amrex::EB2::PolyIF< N >:
amrex::GPUable

Public Member Functions

 PolyIF (const GpuArray< PolyTerm, N > &a_polynomial, bool a_inside=true)
 Store the polynomial terms and orientation (inside/outside).
 
__host__ __device__ Real operator() (Real x, Real y, Real z) const noexcept
 Evaluate the polynomial at explicit coordinates.
 
Real operator() (const RealArray &p) const noexcept
 Array-based helper overload.
 

Protected Attributes

GpuArray< PolyTerm, N > m_polynomial
 
Real m_sign
 

Detailed Description

template<unsigned int N>
class amrex::EB2::PolyIF< N >

GPU-ready polynomial implicit function with a fixed number of terms.

Constructor & Destructor Documentation

◆ PolyIF()

template<unsigned int N>
amrex::EB2::PolyIF< N >::PolyIF ( const GpuArray< PolyTerm, N > &  a_polynomial,
bool  a_inside = true 
)
inline

Store the polynomial terms and orientation (inside/outside).

Member Function Documentation

◆ operator()() [1/2]

template<unsigned int N>
Real amrex::EB2::PolyIF< N >::operator() ( const RealArray p) const
inlinenoexcept

Array-based helper overload.

◆ operator()() [2/2]

template<unsigned int N>
__host__ __device__ Real amrex::EB2::PolyIF< N >::operator() ( Real  x,
Real  y,
Real  z 
) const
inlinenoexcept

Evaluate the polynomial at explicit coordinates.

Member Data Documentation

◆ m_polynomial

template<unsigned int N>
GpuArray<PolyTerm,N> amrex::EB2::PolyIF< N >::m_polynomial
protected

◆ m_sign

template<unsigned int N>
Real amrex::EB2::PolyIF< N >::m_sign
protected

The documentation for this class was generated from the following file: