[x] Expanded the pytest and improved the src code of BoundFilament. The calculate_induced velocity incorrectly flipped the velocities when the point was inside the core-radius. New implementation uses a smoothing, where magnitude simply goes down from core-radius edge to filament. (this is different than projecting the evaluation point to the core-radius, not sure if that matters)
[x] Rewrote SemiInfinite and properly tested it, only pytest missing is for within the core radius, not sure how to do that.
[x] Rewrote 2DInfinite class using old definition, and also pytested it for that and more. Seems to work well.
calculate_induced velocity
incorrectly flipped the velocities when the point was inside the core-radius. New implementation uses a smoothing, where magnitude simply goes down from core-radius edge to filament. (this is different than projecting the evaluation point to the core-radius, not sure if that matters)