turbo_moc.geometry.geometry_3d module#

One reference placement with an annular mapping or linear extrusion.

Reference passage placement: optimize at eta=0.5 once, carry that reference-plane translation across span, and preserve the chosen pitch. Axial and radial convenience dimensions share the same annular mapping.

class turbo_moc.geometry.geometry_3d.Design(meridional_channel: ~turbo_moc.geometry.meridional_channel.MeridionalChannel | ~turbo_moc.geometry.linear_cascade.LinearCascadeMapping, blade: dict, curves: dict, assembly: dict = <factory>, flow_domain: dict = <factory>)[source]#

Bases: object

Canonical reference blade and passage, before any mesh exists.

Methods

section(eta)

Scale shape/chord while retaining pitch and the reference translation.

assembly: dict#
blade: dict#
curves: dict#
flow_domain: dict#
meridional_channel: MeridionalChannel | LinearCascadeMapping#
section(eta)[source]#

Scale shape/chord while retaining pitch and the reference translation.

turbo_moc.geometry.geometry_3d.build_design(nozzle, config, *, definition=None, template=None)[source]#

Fit once and perform the sole auto-centering search at the reference span.

turbo_moc.geometry.geometry_3d.decode(value)[source]#
turbo_moc.geometry.geometry_3d.design_data(design)[source]#
turbo_moc.geometry.geometry_3d.encode(value)[source]#

JSON-safe scientific artifact format, without loading arbitrary pickle.

turbo_moc.geometry.geometry_3d.load_design(data)[source]#
turbo_moc.geometry.geometry_3d.mapping_from_data(definition)[source]#

Reconstruct an explicit linear or annular mapping from its artifact.

turbo_moc.geometry.geometry_3d.meridional_grid(design, numerics, section=None, *, samples=45)[source]#

Projection of actual periodic-boundary stations swept across actual eta.

Before a reference mesh exists, use sampled station locations. Afterwards every displayed streamwise station comes from its periodic_left mesh nodes. This is a meridional grid projection, not a second independent CFD mesh.

turbo_moc.geometry.geometry_3d.require_containment(blade, curves)[source]#

Cheap full-contour containment; volume generation also checks cell quality.

turbo_moc.geometry.geometry_3d.section_data(design)[source]#