concrete-properties icon indicating copy to clipboard operation
concrete-properties copied to clipboard

Speed up with multiprocessing

Open robbievanleeuwen opened this issue 3 years ago • 4 comments

Is your feature request related to a problem? Please describe. Biaxial bending diagrams and to a lesser extent, interaction diagrams, can take a long time to generate. Both of these features involve a number of independent calculations, currently implemented in a for loop.

Describe the solution you'd like Using the python multiprocessing module would allow these computations to be performed in parallel on multiple cores, vastly speeding up these analyses.

robbievanleeuwen avatar Aug 04 '22 04:08 robbievanleeuwen

I will work on it if you tell me in what file i should look and maybe even what function. I won't test it, if anything isn't working afterwards you can inform me.

LunaCodeDemon avatar Aug 08 '22 22:08 LunaCodeDemon

Hi @ChinoCodeDemon,

Sorry for the delayed response!

The two calculation loops that are expensive and could be computed in parallel are:

  1. Moment interaction diagram - loop starts here.
  2. Biaxial bending diagram - loop starts here.

I won't test it, if anything isn't working afterwards you can inform me.

Not sure what you mean by this, I would expect some effort is put into ensuring the implementation is robust, even if it's just a simple test that compares the results from the parallel method to those determined from a simple for loop, see contributing guidelines here.

robbievanleeuwen avatar Aug 20 '22 04:08 robbievanleeuwen

I cannot open a GUI since I work with containers. I could implement some tests.

LunaCodeDemon avatar Aug 20 '22 11:08 LunaCodeDemon

I created a draft pr #37 which still is heavily work in progress. I will set it out of draft once everything is prove-able stable.

LunaCodeDemon avatar Aug 23 '22 19:08 LunaCodeDemon