Skip to content

Significant Performance Increase

Compare
Choose a tag to compare
@camUrban camUrban released this 13 Apr 02:49
· 323 commits to master since this release

Ptera Software's unsteady solver is now over three times faster!

The performance increase is because of three changes:

  1. I vectorized all the computationally expensive functions and methods.
  2. I used just-in-time (JIT) compilation and parallelization with Numba to streamline the bottlenecks. Thank you to Stack Overflow user Jérôme Richard for his help with this part!
  3. I switched from copying objects with the Copy module to the Pickle module.

In addition to the performance increase, I also added more documentation and reformatted some messy previous work. Also, now the unsteady solver can automatically calculate the appropriate time step length. The unsteady solver also has a default value for the number of flapping cycles to iterate through.

For the next release, I hope to further increase the performance by utilizing symmetry to reduce the required computations.