AutoPas / AutoPas/AutoPas

Update the AutoPas Interface

Open
#920 0 comments 0 reactions 0 assignees View on GitHub
refactoring
Dominant language
C++
Stars
52
Forks
17
PR merge metrics
No merged PRs in 30d

Description

The AutoPas Interface has been kept relatively slim, where the main interface consists of:
- Setting configuration options
- iterating over particles (including regions)
- Adding/Deleting particles
- `updateContainer()`
- `computeInteractions()`

This interface is sufficient for a classic MD-simulation.
However, with new projects and ideas (3-body, energy, multisite...), it will become increasingly difficult to keep control of everything.

Especially for handling multiple functors per timestep, it will be beneficial to have a separate `incrementIteration()` method. (see also #919)
Before implementing breaking changes to the interface, we should think about this in a broader way to make the interface more flexible and extendible

**Initial Ideas**
- Add `increment()` method
- Add *discouraged* random particle access
- Individually specify whether a call to `computeInteractions()` should be part of tuning.
- Make autopas loggers configurable / callable from outside
- get more information on the current state of the container, e.g. state of neighborlists

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.