Problem Statement
Adjacent RingVortices share legs with identical start and end points but different directions and strengths. This is the case for the vast majority of RingVortices. Currently, each LineVortex leg is evaluated separately in the Biot-Savart kernel, resulting in nearly double the necessary computation.
Proposed Solution
Before computing induced velocities, identify LineVortex pairs with identical endpoints, collapse them into a single LineVortex with strength equal to the difference of the two, and evaluate the Biot-Savart kernel on the reduced set. This should nearly halve the number of kernel evaluations.
Problem Statement
Adjacent
RingVorticesshare legs with identical start and end points but different directions and strengths. This is the case for the vast majority ofRingVortices. Currently, eachLineVortexleg is evaluated separately in the Biot-Savart kernel, resulting in nearly double the necessary computation.Proposed Solution
Before computing induced velocities, identify
LineVortexpairs with identical endpoints, collapse them into a singleLineVortexwith strength equal to the difference of the two, and evaluate the Biot-Savart kernel on the reduced set. This should nearly halve the number of kernel evaluations.