Commit 7dedb287 authored by Johannes Blaschke's avatar Johannes Blaschke
Browse files

include progress into readme

parent d8624cb6
Loading
Loading
Loading
Loading
Loading
+34 −15
Original line number Diff line number Diff line
# Particle-Lib: MPI-Parallelized Multi-Particle Collidion Dynamics (MPCD) made easy
# Particle-Lib: MPI-Parallelized Multi-Particle Collision Dynamics (MPCD) made easy

MPCD is a stochastic particle-based solution technique for the Navier-Sokes equations. Particle-lib provides the basic infrastructure for writing massively-parrallel simulations using MPI. Particle-lib is intended to be used as a library: particle-lib handles the memory-management and MPI communications, as well as the MPCD solver. The user has to provide the applications (and the `main.cpp` ;) as well as the physical problem).
MPCD is a stochastic particle-based solution technique for the Navier-Stokes
equations. Particle-lib provides the basic infrastructure for writing
massively-parallel simulations using MPI. Particle-lib is intended to be used
as a library: particle-lib handles the memory-management and MPI
communications, as well as the MPCD solver. The user has to provide the
applications (and the `main.cpp` ;) as well as the physical problem).

## Compiling

This is fairly simple. Create a build directory (for example `/build/`) then run:
This is fairly simple. Create a build directory (for example `/build/`) then
run:
```console
cd build/
cmake ..
make -j
```

This will build all the test cases also (source can be found in `/test/`). See the `CMakeLists.txt` in the root directory, as well as any of the tests to see how particle-lib can be incorporated into your own project.
This will build all the test cases also (source can be found in `/test/`). See
the `CMakeLists.txt` in the root directory, as well as any of the tests to see
how particle-lib can be incorporated into your own project.

### Requirements:

@@ -21,15 +29,26 @@ This will build all the test cases also (source can be found in `/test/`). See t

## Project Milestones

This is a beta-version, it currently only has bare-bones functionality. However I am adding new features every day (about 1-2 commits per day on average). Let me know which features I should prioritize ([johannes@blaschke.science](mailto:johannes@blaschke.science)). Currently particle-lib only supports the infrastructure for the MPCD fluid particles, however new features will follow very soon. For now, have a look at the [ParticleContainer Example](/test/particle_container/interactive.cpp) to get your bearings. The current project milestones are:
This is a beta-version, it currently only has bare-bones functionality. However
I am adding new features every day (about 1-2 commits per day on average). Let
me know which features I should prioritize
([johannes@blaschke.science](mailto:johannes@blaschke.science)). Currently
particle-lib only supports the infrastructure for the MPCD fluid particles,
however new features will follow very soon. For now, have a look at the
[ParticleContainer Example](/test/particle_container/interactive.cpp) to get
your bearings. The current project milestones are:

1.  [x] Elastic memory management (`data_container.cpp`)
2.  [x] Global MPI address-space management in 2D (`mpi_comms.cpp`)
3. [x] Universal MPI communications (`mpi_communicator.cpp')
4. [x] MPCD fluid particle management, including MPI-communication (`particle_container.cpp`)
5. [ ] Current WIP: Easy MPCD fluid solver
6. [ ] IO Helpers
7. [ ] Unit tests
8. [ ] Embedded objects (e.g. walls, squimers)
9. [ ] More unit tests, and comprehensive documentations
3.  [x] Universal MPI communications (`mpi_communicator.cpp`)
4.  [x] MPCD fluid particle management, including MPI-communication
        (`particle_container.cpp`)
5.  [x] Improved MPI I/O to help with debugging (`mpi_io.cpp`,
        `mpi_diagnostics.cpp`)
6.  [x] More sane particle and data iterators.
7.  [ ] Current WIP: Easy MPCD fluid solver
8.  [ ] IO Helpers
9.  [ ] Unit tests
10. [ ] Embedded objects (e.g. walls, squimers)
11. [ ] More unit tests, and comprehensive documentations