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:
objectHub/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#
- class turbo_moc.geometry.meridional_channel.MeridionalChannel(definition)[source]#
Bases:
objectMap 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_lengthA 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.
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#
- 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.
- 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.