buffalo_panel.formulations.HessSmithFormulation
- class buffalo_panel.formulations.HessSmithFormulation(geometry, registry, backend='python', body_reference=None)[source]
Solve the classic Hess-Smith source-plus-vortex formulation.
Methods
Build the constant source family for the body panels.
Build the shared constant vortex family for the body panels.
Build the required trailing-edge families for an open geometry.
Build the source and vortex families used by this formulation.
Build the constant source family for the TE closure panel.
Build the constant vortex family for the TE closure panel.
solve(freestream[, point_particles])Assemble, solve, and recover surface results for one freestream.
Attributes
Geometry used in the Hess-Smith solver.
Registry of computational kernels to use in Hess-Smith solver.
Specific computational kernel backend to use.
Reference quantities for integrated coefficient recovery.
- geometry: LinePanelGeometry2D
Geometry used in the Hess-Smith solver.
- registry: KernelRegistry
Registry of computational kernels to use in Hess-Smith solver.
- backend: str
Specific computational kernel backend to use.
- body_reference: BodyReference2D | None
Reference quantities for integrated coefficient recovery.
- build_solution_families()[source]
Build the source and vortex families used by this formulation.
- Returns:
Source-family tuple followed by vortex-family tuple in the order required by the current Hess-Smith assembly and recovery paths.
- Return type:
tuple[tuple[ElementFamily,],tuple[ElementFamily,]]
- build_body_source_family()[source]
Build the constant source family for the body panels.
- Returns:
Body source panel assembly for this formulation.
- Return type:
ElementFamily
- build_body_vortex_family()[source]
Build the shared constant vortex family for the body panels.
- Returns:
Body vortex panel assembly for this formulation.
- Return type:
ElementFamily
- build_trailing_edge_source_family()[source]
Build the constant source family for the TE closure panel.
- Returns:
Trailing edge source panel assembly for this formulation, if geometry is open, otherwise None.
- Return type:
ElementFamily | None
- build_trailing_edge_vortex_family()[source]
Build the constant vortex family for the TE closure panel.
- Returns:
Trailing edge vortex panel assembly for this formulation, if geometry is open, otherwise None.
- Return type:
ElementFamily | None
- build_open_trailing_edge_families()[source]
Build the required trailing-edge families for an open geometry.
- Returns:
Trailing-edge source and vortex families for the closure panel.
- Return type:
OpenTrailingEdgeFamilies- Raises:
ValueError – If called for a closed geometry that has no trailing-edge panel.
- solve(freestream, point_particles=())[source]
Assemble, solve, and recover surface results for one freestream.
- Parameters:
freestream (
Freestream2D) – Freestream conditions for this solution.point_particles (
tuple[PointElementParticle2D,], optional) – Prescribed point particles whose induced fields contribute known forcing to the body boundary condition and to recovered flow fields.
- Returns:
FloatArray– Raw solution from the system of equations.PanelSolution2D– Processed results information from solution.
- Return type:
tuple[TypeAliasForwardRef(’buffalo_panel.type_aliases.FloatArray’), PanelSolution2D]