|
core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
|
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 |
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.
| using peclet::core::geom::prim::HollowCylinderShell< Real >::value_type = Real |
Definition at line 205 of file primitives.hpp.
|
inline |
Cross-section form: r is the in-plane radius, z the axial coordinate.
Lets an axis-parameterised host wrapper permute coordinates and reuse this body unchanged.
Definition at line 212 of file primitives.hpp.
References peclet::core::detail::cmpMax(), peclet::core::detail::hdAbs(), peclet::core::geom::prim::HollowCylinderShell< Real >::height, peclet::core::geom::prim::HollowCylinderShell< Real >::rInner, and peclet::core::geom::prim::HollowCylinderShell< Real >::rOuter.
Referenced by peclet::core::geom::HollowCylinder::eval(), and peclet::core::geom::prim::HollowCylinderShell< Real >::eval().
|
inline |
Definition at line 220 of file primitives.hpp.
References peclet::core::geom::prim::HollowCylinderShell< Real >::evalRZ(), peclet::core::detail::hdSqrt(), peclet::core::Vec3< Real >::x, peclet::core::Vec3< Real >::y, and peclet::core::Vec3< Real >::z.
|
inline |
Definition at line 224 of file primitives.hpp.
References peclet::core::detail::hdAbs(), peclet::core::detail::hdSqrt(), peclet::core::geom::prim::HollowCylinderShell< Real >::height, peclet::core::geom::prim::HollowCylinderShell< Real >::rInner, peclet::core::geom::prim::HollowCylinderShell< Real >::rOuter, peclet::core::Vec3< Real >::x, peclet::core::Vec3< Real >::y, and peclet::core::Vec3< Real >::z.
Definition at line 206 of file primitives.hpp.
Referenced by peclet::core::geom::prim::HollowCylinderShell< Real >::evalRZ(), and peclet::core::geom::prim::HollowCylinderShell< Real >::grad().
| Real peclet::core::geom::prim::HollowCylinderShell< Real >::rInner = Real(0.5) |
Definition at line 206 of file primitives.hpp.
Referenced by peclet::core::geom::prim::HollowCylinderShell< Real >::evalRZ(), and peclet::core::geom::prim::HollowCylinderShell< Real >::grad().
Definition at line 206 of file primitives.hpp.
Referenced by peclet::core::geom::prim::HollowCylinderShell< Real >::evalRZ(), and peclet::core::geom::prim::HollowCylinderShell< Real >::grad().
|
staticconstexpr |
Definition at line 207 of file primitives.hpp.
|
staticconstexpr |
Definition at line 208 of file primitives.hpp.