turbo_moc.meshing.stator_mesh_3d module

turbo_moc.meshing.stator_mesh_3d module#

Swept 3D volume meshes of the app’s stator and rotor rows (axial and radial).

The app’s annular stator (turbo_moc.geometry.annular, flare “pitch_scale”) puts every blade point at theta = -x / r_hub and z = y at EVERY radius: the blade surface is ruled along radial lines, and the section at radius r is the hub section stretched pitchwise by r / r_hub. So the hub 2D mesh (stator_mesh_2d.mesh_sized_stator) mapped onto the cylinder at each span station (stator_mesh_2d.section_coordinates, “cylinder”) is an exact sweep:

  • swept blade faces lie on the exported solid (not only at the stations);

  • each station is an affine image of the hub mesh (per cylinder), so no cell can invert and every station has the same topology;

  • quadrilaterals become hexahedra, triangles prisms, and the periodic translation by one hub pitch becomes a rotation by 2 pi / N about Z.

Spanwise, the hub and shroud endwalls get the blade’s inflation settings (first height from the y+ estimate, number of layers, growth ratio), then cells keep growing at the transition ratio up to a uniform core size. The rotor’s hub mesh (turbo_moc.meshing.rotor_mesh_2d) is built in the same (X pitchwise, Y axial) frame, so it sweeps onto the app’s rotor solid the same way. Volume assembly, checks and CGNS export: turbo_moc.meshing.passage_volume.