-
Notifications
You must be signed in to change notification settings - Fork 130
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Particle module remastered. #309
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have not looked deeply at the modification in mptool.f90 and at the code particle.f90. The PR is quite large and very difficult to review. It is probably broken when the code is in single precision.
In my opinion, some components of the PR should be moved to 2decomp.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The comments in the previous review needs to be addressed :
- Make sure the particles can run in single precision
- Use the halo subroutines available in 2decomp. If it is not possible, please explain why
- Do not comment the pressure rescaling in the file visu.f90
- Fix typos (
particel
) - Remove commented debug code
- Assign default values for all the variables in the namelist ParTrack
- In case of error, call decomp_2d_abort
- Optional : check error codes returned by MPI subroutines
All problems raised by @mathrack have been sorted. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have suggested some modifications. I have not yet looked at particle.f90
. I have an error with the following build command :
rm -rf ./build/ && FC=mpif90 cmake -S ./ -B ./build -DBUILD_TESTING_FULL=on -DCMAKE_BUILD_TYPE=debug
The output is :
...
[100%] Completed 'downloadBuild2decomp'
[100%] Built target downloadBuild2decomp
-- Found MPI_Fortran: /usr/bin/mpif90 (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- X3D MPI_Fortran_COMPILER found: /usr/bin/mpif90
-- X3D MPI_VERSION found:
-- X3D MPI FOUND: TRUE
-- X3D MPI INCL ALSO FOUND:
-- X3D Path to mpirun /usr/bin/mpirun
-- COMP ID GNU
-- Fortran compiler name GNU
-- Fortran compiler version 13.2.0
-- Setting gfortran flags
-- Set New Fortran basic flags
-- Using mpi (default) IO backend
-- CMAKE_SOURCE_DIR: xxx/Incompact3d
-- PROJECT_BINARY_DIR: xxx/Incompact3d/build
CMake Error at examples/CMakeLists.txt:26 (add_subdirectory):
The binary directory
xxx/Incompact3d/build/examples/Particle-Tracking
is already used to build a source directory. It cannot be used to build
source directory
xxx/Incompact3d/examples/Particle-Tracking
Specify a unique binary directory name.
-- Found Python3: /usr/bin/python3 (found version "3.12.3") found components: Interpreter
-- Add Test TGV-Taylor-Green-vortex
-- Configuring incomplete, errors occurred!
There are plenty of unresolved comments, I think there is no need for a new review right now |
Problem solved by moving Particle-Tracking from test_full |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is my final review, the other developers will look at the PR and at the file particle.f90
. I have not looked at particle.f90
.
The merge will be the basic framework of the particle tracking module. The particles are only massless fluid's tracker. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I tested with GNU/Intel/NVHPC and with GNU i have also used ADIOS2 and FFTW. Everything is working with the exception of NVHPC. There is a problem with isnan
function that is not part of the standard. I think a dedicated PR will be a better way to sort the issue.
Many thanks Stefano. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The new particle module now supports MPI-IO.
Currently only inertial particles are included.
Two examples are provided, TGV with particles, and Channel flow with consntantly injection of particle, i.e., the numerical hydrogen bubble experiment. Both are inclcude in the full ctest.