1#ifndef AMREX_EB2_IF_BOX_H_
2#define AMREX_EB2_IF_BOX_H_
3#include <AMReX_Config.H>
37 m_sign( a_inside ? 1.0 : -1.0 )
44 Real r = std::numeric_limits<Real>::lowest();
Fixed-size array types for use on GPU and CPU.
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:124
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
#define AMREX_D_TERM(a, b, c)
Definition AMReX_SPACE.H:172
#define AMREX_D_DECL(a, b, c)
Definition AMReX_SPACE.H:171
Signed implicit function for an axis-aligned box.
Definition AMReX_EB2_IF_Box.H:24
XDim3 m_hi
Definition AMReX_EB2_IF_Box.H:60
XDim3 m_lo
Definition AMReX_EB2_IF_Box.H:59
Real m_sign
Definition AMReX_EB2_IF_Box.H:62
BoxIF(const RealArray &a_lo, const RealArray &a_hi, bool a_inside)
Construct a box implicit surface.
Definition AMReX_EB2_IF_Box.H:34
__host__ __device__ Real operator()(Real x, Real y, Real z) const noexcept
Evaluate the implicit at the given coordinate.
Definition AMReX_EB2_IF_Box.H:42
amrex_real Real
Floating Point Type for Fields.
Definition AMReX_REAL.H:79
Array< Real, 3 > RealArray
Definition AMReX_Array.H:35
__host__ __device__ constexpr const T & max(const T &a, const T &b) noexcept
Definition AMReX_Algorithm.H:53
Definition AMReX_FabArrayBase.H:33
XDim3 makeXDim3(const Array< Real, 3 > &a) noexcept
Convert an AMReX dimension-sized coordinate array into an XDim3, padding unused components with zeros...
Definition AMReX_Array.H:1132
Marker base that denotes an implicit function callable on device kernels.
Definition AMReX_EB2_IF_Base.H:19
A simple struct holding 3 Real values for a 3D coordinate.
Definition AMReX_Dim3.H:32
Real x
Definition AMReX_Dim3.H:32
Real z
Definition AMReX_Dim3.H:32
Real y
Definition AMReX_Dim3.H:32