PLE
Parallel Location and Exchange
|
Go to the source code of this file.
Macros | |
#define | PLE_COUPLING_INIT (1 << 0) |
#define | PLE_COUPLING_NO_SYNC (1 << 1) |
#define | PLE_COUPLING_STOP (1 << 2) |
#define | PLE_COUPLING_LAST (1 << 3) |
#define | PLE_COUPLING_NEW_ITERATION (1 << 4) |
#define | PLE_COUPLING_REDO_ITERATION (1 << 5) |
#define | PLE_COUPLING_TS_MIN (1 << 6) |
#define | PLE_COUPLING_TS_LEADER (1 << 7) |
#define | PLE_COUPLING_TS_FOLLOWER (1 << 15) |
#define | PLE_COUPLING_TS_INDEPENDENT (1 << 16) |
#define | PLE_COUPLING_UNSTEADY (1 << 8) |
#define | PLE_COUPLING_STEADY (1 << 9) |
#define | PLE_COUPLING_CONVERGED (1 << 10) |
#define | PLE_COUPLING_USER_1 (1 << 11) |
#define | PLE_COUPLING_USER_2 (1 << 12) |
#define | PLE_COUPLING_USER_3 (1 << 13) |
#define | PLE_COUPLING_USER_4 (1 << 14) |
#define PLE_COUPLING_CONVERGED (1 << 10) |
#define PLE_COUPLING_INIT (1 << 0) |
Not yet synchronized
#define PLE_COUPLING_LAST (1 << 3) |
Last synchronization
#define PLE_COUPLING_NEW_ITERATION (1 << 4) |
#define PLE_COUPLING_NO_SYNC (1 << 1) |
Not synchronized
#define PLE_COUPLING_REDO_ITERATION (1 << 5) |
#define PLE_COUPLING_STEADY (1 << 9) |
#define PLE_COUPLING_STOP (1 << 2) |
Will stop immediately
#define PLE_COUPLING_TS_FOLLOWER (1 << 15) |
Follow time step of other members only; other members should ignore this one
#define PLE_COUPLING_TS_INDEPENDENT (1 << 16) |
Other members should ignore this one when checking for smallest time step
#define PLE_COUPLING_TS_LEADER (1 << 7) |
Prescribe time step for all members of group (only one member may set this flag)
#define PLE_COUPLING_TS_MIN (1 << 6) |
Time step value handling bits
By default, no specific time step handling is done, though all members of a set may observe the values used by other members.
If an application sets the PLE_COUPLING_TS_LEADER bit, this implies all synchronized applications should use the same time step, unless they have set the PLE_COUPLING_TS_INDEPENDENT bit.
This specific case is deprecated: it is recommended that all applications following a time-step leader set the PLE_COUPLING_TS_FOLLOWER bit. In the future, all application not marked explicitely as followers may ignore the time-step of a leader.
If an application sets the PLE_COUPLING_TS_MIN bit, this implies it will align its time step with the smallest value of all synchronized applications, except those who also set the PLE_COUPLING_TS_FOLLOWER bit.
Note that PLE_COUPLING_TS_LEADER should have priority over PLE_COUPLING_TS_MIN when both are set.
If an application uses (PLE_COUPLING_TS_MIN | PLE_COUPLING_TS_FOLLOWER), this implies it will use the smallest time step of other non-"follower" applications, but other applications should ignore it when determining the minimum time step.
At most one one application may set PLE_COUPLING_TS_LEADER, and it should not also set PLE_COUPLING_TS_FOLLOWER. Use smallest time step
#define PLE_COUPLING_UNSTEADY (1 << 8) |
#define PLE_COUPLING_USER_1 (1 << 11) |
#define PLE_COUPLING_USER_2 (1 << 12) |
#define PLE_COUPLING_USER_3 (1 << 13) |
#define PLE_COUPLING_USER_4 (1 << 14) |