geometry cylinder#
Describes the entry cylinder at version 0.1.0, registered by mime.scene._solids.Cylinder.
At a glance#
geometry
cylinder, version0.1.0, namespacemimeDerivative:
piecewise_jumpValidity: none declared
What it models, and when not to use it#
cylinder#
A solid circular cylinder, given by its radius, its length and its axis, centred on its centroid: a rod, a disc, the
body of a cylindrical magnet. As a body’s part it gives the body its volume and inertia (closed forms), its extent, its
reach along a direction and its surface samples by patch. At run time a node
evaluates it through its regions, the unbounded cylinder side and the span between its end planes, the body being
their intersection; its patches are the lateral side and the two flat caps. On a stage it is written as USD’s own
Cylinder, its height holding length, and its axis is the prim’s z axis.
When not to use it.
For a body that is not round about an axis: a cylinder’s extent and samples are a cylinder’s.
Where a consumer needs the hull’s radial reach about its axis (
radial_reach): the kind implements a reach in a direction and a support in a direction, not that; a consumer that needs it is refused when it plans, naming both.For a hollow tube or a wall: that is the
tube, which is a structure, not a solid body.
Its derivative is its regions’ shapes’, as their switches declare: on the axis the distance is a cone and the normal
has no limit, and at the mid-plane the distance has a kink. Its support in a direction is a closed form, and along the
axis the farthest set is the whole cap, so the farthest point jumps from the cap’s centre to its rim as the direction
leaves the axis (the switch cylinder.support, with no route). Its volume and inertia are exact.
Its sampling. At a spacing, for a solver whose unknowns sit at the samples (the MRS rung), it samples its surface
quasi-uniformly, chosen from its quadrature (mime.scene.quasi_uniform): the trapezoid rule round the axis with
Gauss-Legendre nodes along it, and each cap in rings about a sample at its centre, the layout the screw’s caps use, which
no ring crowds. The quadrature is built to integrate the area and the divergence integrals exactly. The choice of
samples is discrete, so it is not continuous in the settings: rebuilt at a slightly moved radius or length, the sampling
can choose again and the MRS resistance step with it (the numbers are MIME-ANO-127’s).
Regions, surfaces, directions and frames. What a kind names and how a law or a stage reads it: the scene note.
Versions. 0.1.0 is its first.
Settings#
Setting |
Type |
Default |
Dimension |
Role |
Default’s kind |
|---|---|---|---|---|---|
|
|
|
marked Direction |
physical |
none |
|
|
|
length (m) |
physical |
none |
|
|
|
length (m) |
physical |
none |
Each role and default’s kind is the entry’s setting_roles (mime.registry.SettingRole); a setting that declares none is required.
Capabilities#
Generated from which of the optional methods of mime.registry.Geometry the kind implements; a consumer that needs one it lacks is refused when it plans, naming both.
Capability |
What it gives |
Used by |
This kind |
|---|---|---|---|
|
surface samples by named patch, at a resolution the consumer chooses |
the MRS; immersed-boundary markers |
yes |
|
the area of each patch |
the samples’ weights |
yes |
|
volume and inertia at a density |
the part resolver |
yes |
|
the hull’s radial reach about its axis |
a body’s extent; contact on the hull |
no |
|
the parameters of the family it is |
a surrogate trained on one family |
no |
|
a tangent it declares at a surface point |
a law anisotropic along it |
no |
|
its native form, one of USD’s own primitives |
the stage writer |
yes |
|
a drawing, tessellated at the writer’s resolution |
the stage writer, for a kind with no native form |
no |
|
its regions as OpenMaterica’s primitives: exactly, or (a region with no end along an axis) clipped at the kind’s own length, or refused |
OpenMaterica’s manifest and stage |
no |
|
reach |
not stated |
yes |
|
sampling |
not stated |
yes |
|
support |
not stated |
yes |
native: written as USD’s Cylinder, its attributes the kind’s settings (height holds length, radius holds radius, axis is Z).
placement: axis is its prim’s z axis; on a stage, the prim’s transform, never an attribute.
Run-time capabilities (signed distance, outward normal, nearest point) are its regions’ and surfaces’ shapes, listed below.
Nodes it builds#
Builds no node of its own.
Gradient status#
The derivative through this entry is piecewise_jump: not the exact derivative of what it computes everywhere.
Switches the law evaluates, each declared once by its owner:
Switch |
Indicator |
Orders, per output group |
Route to exact |
|---|---|---|---|
|
the length of the direction’s part across the cylinder’s axis, in the direction’s units; along the axis within AXIS_ULPS units in the last place of the direction’s length (a band) |
|
none: along the axis the farthest set is the whole cap, so the farthest point jumps from the cap’s centre to its rim as the direction leaves the axis, as the body’s own does |
Validity#
none declared
References#
[@WeissteinCylinder]
Other declarations#
Class variable |
Type |
Value |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|