STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
backend.routers.geometry Namespace Reference

Classes

class  GeometryResponse

Functions

float _configured_convergent_half_angle_rad (config)
 get_chamber_geometry (UserSession session=Depends(get_session))
dict _injector_layout_or_404 (cfg)
 get_injector_layout (UserSession session=Depends(get_session))
 post_injector_layout (dict body)
 get_injector_spray (bool sensitivity=True, UserSession session=Depends(get_session))
 _jsonable (v)

Variables

 router = APIRouter(prefix="/api/geometry", tags=["geometry"])

Detailed Description

Chamber geometry visualization endpoint.

Function Documentation

◆ _configured_convergent_half_angle_rad()

float backend.routers.geometry._configured_convergent_half_angle_rad ( config)
protected
Convergent half-angle [rad] from design_requirements, else the 45 deg default.

The drawn contour used to be pinned at 45 deg while Layer 1 optimised against
``layer1_contraction_half_angle_deg``, so the geometry tab and the DXF showed a
chamber that was not the one being scored.

Definition at line 15 of file geometry.py.

Referenced by get_chamber_geometry().

◆ _injector_layout_or_404()

dict backend.routers.geometry._injector_layout_or_404 ( cfg)
protected

Definition at line 398 of file geometry.py.

Referenced by get_injector_layout(), and post_injector_layout().

◆ _jsonable()

backend.routers.geometry._jsonable ( v)
protected
NaN and inf are not JSON: they go out as null.

Definition at line 446 of file geometry.py.

References _jsonable().

Referenced by _jsonable(), and get_injector_spray().

◆ get_chamber_geometry()

backend.routers.geometry.get_chamber_geometry ( UserSession session = Depends(get_session))
Get chamber geometry for visualization.

Returns the geometry arrays needed to render the chamber cross-section:
- Gas boundary (inner surface)
- Ablative liner (chamber region)
- Graphite insert (throat region)
- Stainless steel case (outer)

Definition at line 81 of file geometry.py.

References _configured_convergent_half_angle_rad().

◆ get_injector_layout()

backend.routers.geometry.get_injector_layout ( UserSession session = Depends(get_session))
Face, passage and back-face geometry of the session's impinging injector.

Definition at line 411 of file geometry.py.

References _injector_layout_or_404().

◆ get_injector_spray()

backend.routers.geometry.get_injector_spray ( bool sensitivity = True,
UserSession session = Depends(get_session) )
Spray and mixing report of the session's impinging injector at its own tank pressures
(engine/core/injectors/spray_report.py). Solves the engine, and with ``sensitivity`` once more
per open input (~20 s): a plain ``def`` so FastAPI runs it off the event loop.

Definition at line 433 of file geometry.py.

References _jsonable().

◆ post_injector_layout()

backend.routers.geometry.post_injector_layout ( dict body)
The same, for a config the caller holds (e.g. a Forward-mode result's config).

Takes ``{"config": {...}}`` as a plain dict and needs only the injector, chamber
diameter, discharge and design-requirements sections -- no full validation, so a
partial config still draws.

Definition at line 419 of file geometry.py.

References _injector_layout_or_404().

Variable Documentation

◆ router

backend.routers.geometry.router = APIRouter(prefix="/api/geometry", tags=["geometry"])

Definition at line 38 of file geometry.py.