buffalo_panel.kernels.ElementKernel
- class buffalo_panel.kernels.ElementKernel[source]
Bases:
ABC,GenericBase class for element influence kernels.
Concrete kernels override the block-building methods that are supported by their singularity, basis, and backend. Unsupported methods raise
NotImplementedErrorfrom this base class so a failure points to the requested operation on the concrete kernel object.Methods
build_field_potential_block(family, ...)Build velocity-potential influence blocks at field points.
build_field_stream_function_block(family, ...)Build stream-function influence blocks at field points.
build_field_velocity_blocks(family, ...)Build global velocity-component influence blocks at field points.
build_normal_block(family, geometry, options)Build one normal-velocity influence block.
build_potential_block(family, geometry, options)Build one velocity-potential influence block.
build_stream_function_block(family, ...)Build one stream-function influence block.
build_tangent_block(family, geometry, options)Build one tangential-velocity influence block.
- abstractmethod build_normal_block(family, geometry, options)[source]
Build one normal-velocity influence block.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the target collocation points, panel normals, and source panel coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Normal-velocity influence block with one row per target panel and one or more columns per family-local coefficient, depending on the family’s basis and degree-of-freedom layout.
- Return type:
- abstractmethod build_tangent_block(family, geometry, options)[source]
Build one tangential-velocity influence block.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the target collocation points, panel tangents, and source panel coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Tangential-velocity influence block with one row per target panel and one or more columns per family-local coefficient, depending on the family’s basis and degree-of-freedom layout.
- Return type:
- abstractmethod build_potential_block(family, geometry, options)[source]
Build one velocity-potential influence block.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the target collocation points and source panel coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Potential influence block with one row per target panel and one or more columns per family-local coefficient, depending on the family’s basis and degree-of-freedom layout.
- Return type:
- abstractmethod build_stream_function_block(family, geometry, options)[source]
Build one stream-function influence block.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the target collocation points and source panel coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Stream-function influence block with one row per target panel and one or more columns per family-local coefficient, depending on the family’s basis and degree-of-freedom layout.
- Return type:
- abstractmethod build_field_velocity_blocks(family, geometry, x, y, options)[source]
Build global velocity-component influence blocks at field points.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the source panel coordinates.x (
FloatInput) – Field-point x-coordinates.y (
FloatInput) – Field-point y-coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
FloatArray– X-velocity influence block with one column per family-local coefficient.FloatArray– Y-velocity influence block with one column per family-local coefficient.
- Return type:
tuple[TypeAliasForwardRef(’buffalo_panel.type_aliases.FloatArray’), TypeAliasForwardRef(’buffalo_panel.type_aliases.FloatArray’)]
- abstractmethod build_field_potential_block(family, geometry, x, y, options)[source]
Build velocity-potential influence blocks at field points.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the source panel coordinates.x (
FloatInput) – Field-point x-coordinates.y (
FloatInput) – Field-point y-coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Velocity-potential influence block with one column per family-local coefficient.
- Return type:
- abstractmethod build_field_stream_function_block(family, geometry, x, y, options)[source]
Build stream-function influence blocks at field points.
- Parameters:
family (
ElementFamily) – Source element family whose family-local coefficients define the block columns.geometry (
LinePanelGeometry2D) – Two-dimensional line-panel geometry that defines the source panel coordinates.x (
FloatInput) – Field-point x-coordinates.y (
FloatInput) – Field-point y-coordinates.options (
KernelEvaluationOptions) – Runtime evaluation convention.
- Returns:
Stream-function influence block with one column per family-local coefficient.
- Return type: