gandalfcode / gandalf

GANDALF (Graphical Astrophysics code for N-body Dynamics And Lagrangian Fluids)
GNU General Public License v2.0
44 stars 12 forks source link

Mfvoptimization #84

Closed rbooth200 closed 7 years ago

rbooth200 commented 7 years ago

This branch contains a bunch of fixes and optimizations that i have made to the meshless. I'm sure there will be more to add yet, but I think it is a good time to add these to the master since the meshless appears to be working well in pure hydrotests since we added the levelneib calculation...

Next I plan to remove a few more unncessary variables from the particle structure and fix what I think might be a bug in the dust related to individual particle timesteps.

dhubber commented 7 years ago

So, I didn't fully run with this new branch yet because I wanted to find the bug with the meshless parallel block timesteps. However, I have since convinced myself that the bug actually is not in the block timesteps, due to the fact it happens with global timesteps also. It does still happen with parallel switched on, so is probably a parallelisation bug hidden somewhere. I'll keep hunting this down in the meantime (I might create an issue for this separately since it's clearly a separate bug which is persisting).

rbooth200 commented 7 years ago

However, I have since convinced myself that the bug actually is not in the block timesteps, due to the fact it happens with global timesteps also.

Block time-steps in the meshless are still far from ideal though since levelneib is calculated using the time-steps from the old set of levels.

dhubber commented 7 years ago

I just pulled the latest master branch (that now has this pull request merged) and tried to compile on my Mac and I got these python/swig related errors

swig -c++ -python -outdir ../analysis/swig_generated -DGANDALF_DOUBLE_PRECISION -DDEBUG1 -I-I/Users/dah/code/gandalf/src/Headers Simulation.i Simulation.i:194: Error: Unable to find 'numpy.i' Simulation.i:219: Error: Unable to find 'HeaderInfo.h' Simulation.i:221: Error: Unable to find 'Precision.h' Simulation.i:222: Error: Unable to find 'RiemannSolver.h' Simulation.i:223: Error: Unable to find 'Simulation.h' Simulation.i:224: Error: Unable to find 'Parameters.h' Simulation.i:225: Error: Unable to find 'SimUnits.h' Simulation.i:226: Error: Unable to find 'Sph.h' Simulation.i:227: Error: Unable to find 'SphSnapshot.h' Simulation.i:228: Error: Unable to find 'Render.h' Simulation.i:229: Error: Unable to find 'SmoothingKernel.h' Simulation.i:230: Error: Unable to find 'UnitInfo.h' Simulation.i:231: Error: Unable to find 'CodeTiming.h' make[1]: * [Makefile:229: Simulation_wrap.cxx] Error 1 make[1]: Leaving directory '/Users/dah/code/gandalf/src' make: * [Makefile:63: gandalf] Error 2

Maybe it's just a Mac-related issue, but any ideas what changes could have caused it? I couldn't see any changes to the Simulation.i file so maybe it's elsewhere (maybe in one of the Makefiles?). Btw, the executable compiles and runs fine so no issue there, just the python.