Skip to main content

singular_integration

Function singular_integration 

Source
pub fn singular_integration(
    source_point: &Array1<f64>,
    source_normal: &Array1<f64>,
    element_coords: &Array2<f64>,
    element_type: ElementType,
    physics: &PhysicsParams,
    bc_values: Option<&[Complex64]>,
    bc_type: i32,
    compute_rhs: bool,
) -> IntegrationResult
Expand description

Perform singular integration for self-element

This implements NC_SingularIntegration from the C++ code. Uses edge-based integration for the hypersingular kernel and subelement triangulation for accurate integration near singularity.

§Arguments

  • source_point - Source point (collocation point)
  • source_normal - Unit normal at source point
  • element_coords - Node coordinates of the field element (num_nodes × 3)
  • element_type - Triangle or quad element
  • physics - Physics parameters (wave number, etc.)
  • bc_values - Boundary condition values at element nodes (for RHS)
  • bc_type - Boundary condition type (0=velocity, 1=pressure)
  • compute_rhs - Whether to compute RHS contribution

§Returns

IntegrationResult with G, H, H^T, E integrals and RHS contribution