turbo_moc.geometry.meridional_channel module#

General meridional geometry and conformal blade mapping; lengths are mm.

The Gmsh plane uses q = (Rref*theta, -Rref*m’), so existing stator meshing functions retain their pitchwise-x, downstream-negative-y convention. Theta increases clockwise; physical azimuth = -q_x/Rref about global Z.

class turbo_moc.geometry.meridional_channel.GeometryDefinition(hub: BSpline, shroud: BSpline, num_blades: int)[source]#

Bases: object

Hub/shroud B-splines in (r, z), with blade LE at u=0 and TE at u=1.

Corresponding curve stations are interpolated from hub (eta=0) to shroud (eta=1). This defines the stream surfaces and blade meridional placement. Rotation is about global Z. Radius and axial coordinates are in mm.

Methods

to_dict()

Record the common geometry definition alongside the exported mesh.

hub: BSpline#
num_blades: int#
shroud: BSpline#
to_dict()[source]#

Record the common geometry definition alongside the exported mesh.

class turbo_moc.geometry.meridional_channel.MeridionalChannel(definition)[source]#

Bases: object

Map a common hub/shroud definition without axial/radial specialization.

P(u, eta) = (1-eta)*hub(u) + eta*shroud(u), with P = (r, z). m'(u, eta) = integral_0^u |dP/du|/r du. Blade sections share the MoC template and are scaled by their conformal LE-to-TE length. Extensions follow wall endpoint tangents beyond u=0 and u=1.

Attributes:
characteristic_length

A physical length scale for periodic-coordinate validation.

Methods

map_points(q, eta)

Map conformal nodes onto an interpolated surface of revolution.

meridional_points(u, eta, *[, derivative])

Interpolate wall curves; extend them linearly along endpoint tangents.

parameter_from_prime(prime, eta)

Invert the conformal integral with one formula for every meridional channel.

periodic_transform()

Homogeneous transform from periodic_left to periodic_right.

prime_chord(eta)

Integrate dimensionless meridional distance between blade LE and TE.

prime_from_parameter(parameter, eta)

Evaluate m'(u), including the same tangent extensions as its inverse.

rotation()

Compatibility name for the annular periodic rotation.

section_scale(eta)

Isotropic scale in the conformal plane, preserving section angles.

property characteristic_length#

A physical length scale for periodic-coordinate validation.

is_linear = False#
map_points(q, eta)[source]#

Map conformal nodes onto an interpolated surface of revolution.

meridional_points(u, eta, *, derivative=False)[source]#

Interpolate wall curves; extend them linearly along endpoint tangents.

parameter_from_prime(prime, eta)[source]#

Invert the conformal integral with one formula for every meridional channel.

periodic_transform()[source]#

Homogeneous transform from periodic_left to periodic_right.

prime_chord(eta)[source]#

Integrate dimensionless meridional distance between blade LE and TE.

prime_from_parameter(parameter, eta)[source]#

Evaluate m’(u), including the same tangent extensions as its inverse.

rotation()[source]#

Compatibility name for the annular periodic rotation.

section_scale(eta)[source]#

Isotropic scale in the conformal plane, preserving section angles.

turbo_moc.geometry.meridional_channel.axial_geometry(machine)[source]#

Convert cylindrical walls and hub/tip chords to meridional curves.

turbo_moc.geometry.meridional_channel.build_section(nozzle, config, meridional_channel, eta=0.5, *, template=None)[source]#

Fit the MoC blade and center a blade-count-based passage.

Both coordinates share a scale; independent 0–1 normalization is avoided. Conformal chord fraction xi=-q_y/conformal_chord is 0–1 over the blade. The wall-curve station u is obtained separately by the inverse map. Pitch comes from N and Rref, independent of the nozzle’s original design pitch.

turbo_moc.geometry.meridional_channel.corresponding_boundary(points, name, reference, target)[source]#

Preserve meridional station and cap pitch fraction during core deformation.

turbo_moc.geometry.meridional_channel.geometry_from_machine(machine)[source]#

Convert annular YAML dimensions to a common hub/shroud definition.

turbo_moc.geometry.meridional_channel.meridional_line(start, end)[source]#

Represent a straight meridional wall segment as a normalized B-spline.

turbo_moc.geometry.meridional_channel.radial_geometry(machine)[source]#

Convert inlet/outlet radii and parallel endwalls to meridional curves.

turbo_moc.geometry.meridional_channel.scale_blade(blade, scale, origin)[source]#

Apply one similarity transform to the fitted profile and its metadata.

turbo_moc.geometry.meridional_channel.scale_flow_domain(domain, scale, origin)[source]#

Transform all sampled and spline passage curves by one similarity map.

turbo_moc.geometry.meridional_channel.span_stations(numerics)[source]#

Use uniform or symmetric tanh clustering at the two endwalls.

turbo_moc.geometry.meridional_channel.validate_machine(machine)[source]#

Validate independent dimensions; radii/chords refer to blade LE and TE.