precice / fenics-adapter

preCICE-adapter for the open source computing platform FEniCS
GNU Lesser General Public License v3.0
29 stars 15 forks source link

Message "Found a double-boundary point at ..." is distracting #90

Closed BenjaminRodenberg closed 3 years ago

BenjaminRodenberg commented 3 years ago

The message "Found a double-boundary point at ..." is distracting from my point of view, since it shows up very often in the course of a run. Note that it is still important to filter these "double-boundary points".

Some background story and current state

In his thesis, section 5.1.2 @richahert reports stability problems that occur if we set a Neumann BC and a Dirichlet BC at the point, where the "real" and the coupling boundary meeting (see Fig 5.2).

The solution for this problem is to filter for these points and - even if they are declared as part of the coupling boundary - don't provide point sources for these points. Our adapter uses the function filter_point_sources for this purpose. The user has the possibility to provide a fixed_boundary to initialize to define, where the filtering is applied.

This mechanism is used in the example from Richard's thesis to provide the clamped_boundary_domain to initialize

What to do next?

Like explained above the mechanism for filtering of "double-boundary points" is necessary. What I would like to discuss is the question when to inform the user about the fact that this is happening? Currently the message is always being output when filtering happens (see here). This is from my point of view too often.

We could also decide to not post any message. But then the user might be wondering, why no coupling boundary conditions is created for some of the points on the coupling boundary. Any opinions?

MakisH commented 3 years ago

@IshaanDesai does this have to be part of the Tutorials Restructuring project? Do we need to wait for it?

IshaanDesai commented 3 years ago

From the perpective of having clean output for tutorial runs, this is truly a concern in my opinion:

The message "Found a double-boundary point at ..." is distracting from my point of view, since it shows up very often in the course of a run

My ideas are:

What I would like to discuss is the question when to inform the user about the fact that this is happening?

We can inform the user only once in the beginning rather than at every single filtering. This should be sufficient.

We could also decide to not post any message. But then the user might be wondering, why no coupling boundary conditions is created for some of the points on the coupling boundary. Any opinions?

We can also just hide this completely and write about this in the documentation and anytime a user asks us about it we point to the written note.

BenjaminRodenberg commented 3 years ago

What I would like to discuss is the question when to inform the user about the fact that this is happening?

We can inform the user only once in the beginning rather than at every single filtering. This should be sufficient.

We just discussed this very quickly. I will prepare a PR where I implement the approach: "Show message once at the beginning". As soon as the PR is ready, I will ask @IshaanDesai for a quick review.