core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::geom::prim::HollowCylinderShell< Real > Struct Template Reference

Solid tube wall about the z axis as a CSG intersection of half-spaces: max(r - rOuter, rInner - r, |z| - height/2). More...

#include <primitives.hpp>

Public Types

using value_type = Real
 

Public Member Functions

PECLET_HD Real evalRZ (Real r, Real z) const
 Cross-section form: r is the in-plane radius, z the axial coordinate.
 
PECLET_HD Real eval (Vec3< Real > p) const
 
PECLET_HD Vec3< Real > grad (Vec3< Real > p) const
 

Public Attributes

Real rOuter = Real(1)
 
Real rInner = Real(0.5)
 
Real height = Real(1)
 

Static Public Attributes

static constexpr bool exact_distance = false
 
static constexpr bool analytic_gradient = true
 

Detailed Description

template<class Real>
struct peclet::core::geom::prim::HollowCylinderShell< Real >

Solid tube wall about the z axis as a CSG intersection of half-spaces: max(r - rOuter, rInner - r, |z| - height/2).

SIGN-EXACT ONLY — this is NOT a distance: the magnitude is wrong at the edges/corners and inside the shell (it is a lower bound on |distance|). Kept as a distinct primitive from HollowCylinder above because core and voro both compute geometry with it today and swapping either for the other would silently move their numerics.

Origin: core geom::Sphere-family HollowCylinder::eval (geom/sdf.hpp) and voro SdfHollowCylinder (voro/include/peclet/voro/sdf.hpp), which agree with each other.

Definition at line 204 of file primitives.hpp.

Member Typedef Documentation

◆ value_type

Definition at line 205 of file primitives.hpp.

Member Function Documentation

◆ evalRZ()

template<class Real >
PECLET_HD Real peclet::core::geom::prim::HollowCylinderShell< Real >::evalRZ ( Real  r,
Real  z 
) const
inline

◆ eval()

◆ grad()

Member Data Documentation

◆ rOuter

◆ rInner

◆ height

◆ exact_distance

template<class Real >
constexpr bool peclet::core::geom::prim::HollowCylinderShell< Real >::exact_distance = false
staticconstexpr

Definition at line 207 of file primitives.hpp.

◆ analytic_gradient

template<class Real >
constexpr bool peclet::core::geom::prim::HollowCylinderShell< Real >::analytic_gradient = true
staticconstexpr

Definition at line 208 of file primitives.hpp.


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