I would really like to generate contour plots as:
Can this be done in anyway in DualSPHysics?
Yes, I manage to make contour plots with the MeasureTool of DualSPHysics. With measure points on a rectangular plane with a high enough resolution these kinds of plots are possible. I wrote a Matlab script that generates a 'fpoints.txt' file (input for the MeasureTool) with all point coordinates in a plane (or planes) by giving it: [X_min, X_max], [Y_min, Y_max] (and [Z_min, Z_max]) and resolution steps Δx and Δy (Δz). I attach the Matlab code as a .txt file (the .m extension is not supportet here) and you can copy it into a Matlab script. You can make an arbitrary amount of coordinates within seconds with this, but I suggest not making more then 10^6 due to the MeasureTool runtime.
For example, I made a contour plot on a 1m x 2m plane with a resolution Δx = Δy = 0.002 (≈5*10^5 coordinate points). The result is this:
I hope you have access to Matlab, otherwise you can re-write the code into a python script (or I can do it for you).
Thank you @Hannes ! That is so nice.
Would you mind doing a Python version if you have time? I think it would benefit alot of us, both students and companies, and I must say the picture you made looks great!
I have used Matlab previously a lot, but I would prefer a Python version, due to the ease of sharing etc. Perhaps this / a similar approach could be bundled into DualSPHysics @Alex ?
Kind regards, Ahmed
Here is the same code in Python. In the first 10 lines you can specify the domain (X_min/max, Y_min/max, Z_min/max) and the resolution steps (Δx, Δy, Δz). It produces the same 'fpoints.txt' file as the Matlab code above, which is a list of all intersecting coordinates from the specified domain. In conjunction with the MeasureTool one can evaluate the flow variables in a plane (or planes) and generate contour plots. (Again, I am uploading the python code as a .txt file, the .py extension is not supported):
Thank you very much @Hannes !
I wish I could upvote posts on this forum :-)
I look forward to playing around with it and using it with the measure tool.