1#ifndef AMREX_EB2_IF_TORUS_H_
2#define AMREX_EB2_IF_TORUS_H_
3#include <AMReX_Config.H>
29 m_sign( a_inside ? 1.0 : -1.0 )
36#if (AMREX_SPACEDIM == 2)
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:119
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
#define AMREX_D_DECL(a, b, c)
Definition AMReX_SPACE.H:171
Definition AMReX_EB2_IF_Torus.H:21
XDim3 m_center
Definition AMReX_EB2_IF_Torus.H:55
__host__ __device__ Real operator()(Real x, Real y, Real z) const noexcept
Evaluate the implicit function at explicit coordinates.
Definition AMReX_EB2_IF_Torus.H:34
Real m_sign
Definition AMReX_EB2_IF_Torus.H:56
Real m_small_radius
Definition AMReX_EB2_IF_Torus.H:54
Real m_large_radius
Definition AMReX_EB2_IF_Torus.H:53
TorusIF(Real a_large_radius, Real a_small_radius, const RealArray &a_center, bool a_inside)
Build a torus with major radius a_large_radius and minor radius a_small_radius.
Definition AMReX_EB2_IF_Torus.H:25
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:79
Definition AMReX_FabArrayBase.H:33
XDim3 makeXDim3(const Array< Real, 3 > &a) noexcept
Definition AMReX_Array.H:1092
Array< Real, 3 > RealArray
Definition AMReX_Array.H:28
Marker base that denotes an implicit function callable on device kernels.
Definition AMReX_EB2_IF_Base.H:19
Definition AMReX_Dim3.H:13
Real x
Definition AMReX_Dim3.H:13
Real z
Definition AMReX_Dim3.H:13
Real y
Definition AMReX_Dim3.H:13