Conversation
275ba33 to
6c6adf9
Compare
6c6adf9 to
60086aa
Compare
| : std::ranges::max(marker); | ||
| MPI_Allreduce(MPI_IN_PLACE, &max, 1, dolfinx::MPI::mpi_t<T>, MPI_MAX, comm); | ||
|
|
||
| auto mark = [=](auto e) { return e >= theta * max; }; |
There was a problem hiding this comment.
Use const T instead of auto e?
Also remove inequality, pointless for floating point arithmetic.
There was a problem hiding this comment.
Changed to T - think we do not follow const correctness for trivial types.
There was a problem hiding this comment.
Also remove inequality, pointless for floating point arithmetic.
Don't think this is correct: for
There was a problem hiding this comment.
And through what astronomically unlikely event would eta be binary 1.0 for every cell?
There was a problem hiding this comment.
Unlikely but valid input to the function. We can either leave as is or change to
|
My comments on the floating point comparisons are not resolved. |
|
@jhale - I think @schnellerhase did address it. Did you mean that it should be a simple |
|
Yes - the equality is completely redundant in a floating point context and the example given is a contrived one. |
Implements a maximum marking criterion for AFEM schemes, i.e. for$\theta \in [0, 1]$ and a marker $\eta \in \mathbb{R}^N$ , computes
In particular this introduces/defines the interface for other marking routines (to follow in the future): based on a process local list of (entity-)indicators the (local) marked index set of it is computed.
Test program to visualise results (parallel ready).
Work towards #4141.