Skip to content
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

Add big picture information to roadmap #150

Merged
merged 3 commits into from
Mar 16, 2022
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Add big picture information to roadmap
  • Loading branch information
uekerman committed Mar 11, 2022
commit 30730447f8c36a33f0ad8d64c6b90f5b1f3c1087
68 changes: 21 additions & 47 deletions pages/docs/fundamentals/fundamentals-roadmap.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Roadmap
permalink: fundamentals-roadmap.html
keywords: upcoming features, roadmap
keywords: upcoming features, roadmap, future, releases
summary: "We are actively developing preCICE. These are some of the features you can expect in the future."
---

Expand All @@ -11,56 +11,30 @@ In this page, you can find information about features that we plan to introduce

If you are looking for features introduced already in the past, have a look at our [Changelog](https://github.com/precice/precice/blob/develop/CHANGELOG.md).

## Main feedback from the [1st preCICE Workshop](https://precice.discourse.group/t/precice-workshop-2020-updates/40/7)

- Restructure the **[precice.org](https://precice.org/) website** and **documentation**
- Get faster to the first steps for users (coming soon)
- All user documentation in one place (not in different wikis, READMEs, ...) (done)
- Create a Community section to better communicate the size and contributions of the community, provide contribution guides (done)
- Getting preCICE: first choose the target system, then get instructions for the specific system (coming soon)
- Provide a reference **virtual machine image** with preCICE already installed ([done](https://github.com/precice/vm))
- Keep investing on **[Spack](https://github.com/precice/precice/wiki/preCICE-with-Spack)**
- Extend **documentation on "How to write an adapter"** (e.g. for mesh generation and moving meshes) ([done](couple-your-code-overview.html))
- Develop a **tutorial on electromagnetics**
- Allow **solver-based data mapping** to support higher order shape functions
- Create videos and upload them on **YouTube**
- Already created a [YouTube channel](https://www.youtube.com/c/preCICECoupling/)
- Create video tutorials
- Organize a **preCICE workshop again in 2021** ([register now](precice-workshop-2021.html))
- Offer again an optional (potentially longer) introductory course on the first day (e.g. Monday)
- Add an overview talk on documentation ("Where is what") and community ("How to become a good user")
- Start main part with an evening event (e.g. Monday dinner)
- More presentations (and training) from users (open call)
- More presentations on new and future features
- Offer again optional hands-on user support to close the workshop
## In active development

## Mid-future (preCICE 2.x or later)
- [Dynamic coupling meshes](https://github.com/precice/precice/projects/2)
- [Waveform relaxation for multi-rate coupling and higher-order time stepping](https://github.com/precice/precice/projects/7)
- [Solver-based data mapping](couple-your-code-direct-access.html) to take advantage of higher-order shape functions
- [Nearest projection volume coupling](https://github.com/precice/precice/issues/468)
- [Macro-micro coupling](https://github.com/IshaanDesai/coupled-heat-conduction)
- [Nearest-neighbor gradient data mapping](https://github.com/precice/precice/pull/1169)
- [More robust and efficient quasi-Newton acceleration](https://github.com/precice/precice/pull/1152)
- Extendable and modular system tests

- [macOS support](https://github.com/precice/precice/issues/519) (coming in v2.2)
- [`watch-integral`](https://github.com/precice/precice/issues/342) (coming in v2.2)
- [Contiguous mapping](https://github.com/precice/precice/issues/489)
- [Nearest-Projection mapping for quad meshes](https://github.com/precice/precice/issues/153) (done in v2.1)
- [RBF mapping without PETSc](https://github.com/precice/precice/issues/718) (done in v2.1)
## On our list

- Geometric multi-scale data mapping, e.g. for 3D-1D and 3D-2D coupled problems
- Tutorial testcase on electromagnetics
- [Support multiple `SolverInterface` instances simultaneously](https://github.com/precice/precice/projects/8)
- [Non-mesh-related global data exchange](https://github.com/precice/precice/issues/202)
- [Improved error messages](https://github.com/precice/precice/issues/698) (done in v2.1)
- [Windows support](https://github.com/precice/precice/issues/200)
- [Brute-force re-initialization](https://github.com/precice/precice/issues/225)
- [Splitting interface into patches](https://github.com/precice/precice/issues/374)
- [Test more platforms in CI](https://github.com/precice/precice/issues/713#issuecomment-614500090)
- [Two-level initialization enabled by default](https://github.com/precice/precice/issues/633) (coming in v2.2)
- Currently, we perform the mesh initialization in preCICE in a gather-scatter approach: The communicated mesh is gathered on one side and scattered on the other. This limits the size of the coupling mesh and the scalability (for very large cases). We plan to replace this technique with a two-level approach: Exchanging bounding boxes first and do a parallel mesh initialization afterwards. Ultimately, this will also allow to handle dynamically changing meshes efficiently. This feature was introduced in preCICE v2.0, but is currently switched off by default.

## Long-term (preCICE 3.x or later)

- **Consistent time interpolation**, to correctly treat multiscale scenarios with large differences in the respective timestep size of the participating solvers and higher order time stepping schemes. Currently a loss of accuracy and stability can be observed. (needs [API changes](https://github.com/precice/precice/issues/133))
- **3D-1D and 3D-2D data mapping**, e.g. to couple a 3D fluid solver with a 1D model.
- Support for **dynamic adaptive meshes**
- Full support for [Volume coupling](https://github.com/precice/precice/issues/468)
- Solver-based data mapping to support higher order shape functions

There are even more features coming, stay tuned!
- [Splitting coupling meshes into patches](https://github.com/precice/precice/issues/374)
- [Two-level initialization enabled by default](https://github.com/precice/precice/issues/633). This feature was introduced in preCICE v2.0, but is currently switched off by default as not all use cases are supported yet.
- Partition-of-Unity RBF data mapping for very large problems
- More tutorial testcases for and better support of fluid-fluid coupling, including backflow
- Tutorial testcases for CFD-DEM coupling
- In-memory communication for volume-coupled problems

## Adapter-related plans

- **[Fluid-fluid module](https://github.com/precice/openfoam-adapter/issues/60) for the OpenFOAM adapter.** This will allow to couple different fluid solvers with each other. (done)
- Develop an adapter for **[Elmer](https://www.csc.fi/web/elmer)**. (done)