precice / precice/micro-manager

Adapt the similarity condition to the residual of the fixed-point problem

Open
#60 4 comments 1 reaction 1 assignee View on GitHub

@Fujikawas is already working on this.

Since Nov 22, 2023.

  • #64 by @Fujikawas — open
new-feature
Dominant language
Python
Stars
24
Forks
19
Avg merge
1h 46m
Merged PRs (30d)
2

Description

Generally, we postulate that the micro simulations takes up most of the computing time when we are using the Micro Manager for multiscale simulations with large number of micro simulations.

As Delaisse's paper indicated, we could

achieve a significant speed-up by not converging to the final sub-problem tolerance in each solver call.

Although we are not supposed to control the tolerance of sub-problems (like what Nicolas did in the paper) in preCICE, we could control the numbers of micro simulations through the Micro Manager to get more coarse or fine solution of the whole field. That means, we could use loose similarity conditions to solve less micro problems and thus get coarse result and use strict similarity condition when we are close to the convergence.

Based on this idea, we need to discuss following points:

  • If we are going to adapt the similarity condition to the fixed-point tolerance from Quasi-Newton method and we only do QN computation at the end of each time window, we would also update the similarity condition in each time window between the implicit iterations, and restart from the most loose condition at each new time window.
  • This method is only available for implicit coupling.
  • How should we select the initial (relative) similarity condition and how do we rationally adapt the condition according to the fixed-point residual?
  • Can we retain the accuracy of the original method under the assumption that the total Newton-iterations in sub-problems would reduce?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.