geometry tube#

Describes the entry tube at version 0.1.0, registered by mime.scene._geometry.Tube.

At a glance#

  • geometry tube, version 0.1.0, namespace mime

  • Derivative: piecewise_jump

  • Validity: none declared

What it models, and when not to use it#

tube#

A straight tube as a structure: a wall of thickness wall around a circular lumen of radius inner_radius, length long, along axis through centre. It is what a body is confined in and what a medium fills; it is not a solid body, and it gives no samples, volume or inertia. It names two regions, the lumen and the wall, but only the lumen has a shape: a law reads the lumen as a region (an unbounded cylinder), and the wall is a name that the stage draws as an annulus: it has no shape for a law to read (region_shapes holds none for it). Its inner_surface faces the lumen.

What a consumer reads of it, by what it is for:

  • A contact bounds a body against the inner_surface, which is evaluated as an unbounded cylinder: the body is bounded radially, and the tube’s ends bound nothing. A body past an end is outside the tube, which nothing checks yet.

  • A medium filling the lumen sees a uniform tube along its axis with no ends: the lumen is that cylinder’s inside.

  • A reach along a direction is the finite tube’s, from its centre, and across the axis it is the outer radius (the inner_radius plus the wall), not the lumen’s.

  • The hydrodynamic wall is a different entry: the tube wall kind is the wall’s effect on the flow, read from a table of the unit tube’s image system, and it reads the tube’s centre, axis and radius from this structure. This page is the structure, not the wall’s flow.

When not to use it.

  • For a body: a tube has no mass properties and gives no samples.

  • For a tube with ends, a bend or a varying radius: it is straight, of one radius, and its ends bound nothing.

Its derivative is the cylinder’s: a kink in the distance and a jump in the normal on the axis. Within a band about the axis, AXIS_ULPS units in the last place of the inner radius, the normal is zero with the derivative of the offset from the axis, the projection across it; a standing test holds that Jacobian, and within the band the status promises nothing.

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

axis

Annotated[DirectionLike, Direction]

{"required": true}

marked Direction

physical

none

centre

Annotated[Quantity, Length]

{"unit": "m", "value": [0.0, 0.0, 0.0]}

length (m)

physical

convention

inner_radius

Annotated[Quantity, Length]

{"required": true}

length (m)

physical

none

length

Annotated[Quantity, Length]

{"required": true}

length (m)

physical

none

wall

Annotated[Quantity, Length]

{"required": true}

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.

Each default is a claim (mime.registry.DefaultKind): a determined default is resolved in every profile, a convention taken in every profile, a numerical default taken in exploratory only and stamped pending. Their rules and bases:

  • centre (convention): the setting’s written default; a tube is centred on the world’s origin unless placed

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

samples

surface samples by named patch, at a resolution the consumer chooses

the MRS; immersed-boundary markers

no

area

the area of each patch

the samples’ weights

no

mass_properties

volume and inertia at a density

the part resolver

no

radial_reach

the hull’s radial reach about its axis

a body’s extent; contact on the hull

no

family_parameters

the parameters of the family it is

a surrogate trained on one family

no

tangent

a tangent it declares at a surface point

a law anisotropic along it

no

native

its native form, one of USD’s own primitives

the stage writer

no

drawing

a drawing, tessellated at the writer’s resolution

the stage writer, for a kind with no native form

yes

region_primitive

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

yes

reach

reach

not stated

yes

sampling

sampling

not stated

no

support

support

not stated

no

native: none, so the stage writes it in MIME’s schema with its drawing.

placement: axis is its prim’s z axis, centre is its prim’s origin; 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.

Validity#

none declared

References#

none declared

Other declarations#

Class variable

Type

Value

directions

ClassVar[tuple[str, ...]]

["axis"]

moving

ClassVar[bool]

false

patches

ClassVar[Mapping[str, str]]

{}

reach_envelope

ClassVar[float]

0.0

region_shapes

ClassVar[Mapping[str, str]]

{"lumen": "cylinder"}

regions

ClassVar[tuple[str, ...]]

["lumen", "wall"]

support_basis

ClassVar[str]

``

support_error

ClassVar[float]

0.0

surfaces

ClassVar[Mapping[str, str]]

{"inner_surface": "cylinder"}