pub fn regular_integration(
source_point: &Array1<f64>,
source_normal: &Array1<f64>,
element_coords: &Array2<f64>,
element_type: ElementType,
element_area: f64,
physics: &PhysicsParams,
bc_values: Option<&[Complex64]>,
bc_type: i32,
compute_rhs: bool,
) -> IntegrationResultExpand description
Perform regular integration over a field element
This implements NC_RegularIntegration from the C++ code. Uses adaptive subelement subdivision based on distance from source point.
§Arguments
source_point- Source point (collocation point)source_normal- Unit normal at source pointelement_coords- Node coordinates of the field element (num_nodes × 3)element_type- Triangle or quad elementelement_area- Area of the field elementphysics- 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