turbo_moc.apps.app.calculations module#

Sequential row calculations using the existing isolated numerical workers.

The calculation scope never changes the machine design mode. Each queue keeps an immutable project snapshot; completed row results are published before the next row resolves its inlet state. No scientific solver is duplicated here.

turbo_moc.apps.app.calculations.advance(handle, registry, log)[source]#
turbo_moc.apps.app.calculations.cancel(handle)[source]#

Stop the active worker and the remaining queue, preserving successes.

turbo_moc.apps.app.calculations.cancellation_requested(handle)[source]#
turbo_moc.apps.app.calculations.check_prerequisites(project, scope, action, registry)[source]#

Validate all selected rows before launching any mesh job.

A coupled rotor’s new inlet cannot be resolved before a queued upstream stator solve finishes. Defer only that dependency for a blade-design queue; a rotor-only action still requires an already current stator solution.

turbo_moc.apps.app.calculations.scope_options(project)[source]#
turbo_moc.apps.app.calculations.scoped_rows(project, scope)[source]#

Checkbox selections execute in machine order, not click order.

Retain string scopes for callers of the previous workflow API. An empty checkbox selection deliberately starts no calculation.

turbo_moc.apps.app.calculations.start(session, project, scope, action, registry)[source]#