-
Notifications
You must be signed in to change notification settings - Fork 12
VelocityOutputBCs
This refers to boundary conditions which must output some property of the sites which neighbour them, for multiscale simulations.
There are a few problems:
- Iolet must be aware of sites which neighbour it.
- Iolet must be able to run a property extraction across those sites.
- Neighbouring sites may be on different processors.
The Iolet can have a list of the site ids, set-up during initialisation (BoundaryValues::BoundaryValues
)
Iolet is or has a new IterableDataSource subclass, a SiteListIterableDataSource.
Here, we must use the same solution as in NeighbourAwareBCs. Iolets, like BCs, must yield a RequiredFieldInformation for their neighbouring sites, so that the NeighbouringDataManager can ensure the info is loaded. The SiteListIterableDataSource needs to check both for local and NeighbouringDataManager sites.
Go for this design, but note that a better alternative would be to reduce the data on each task before sending to the iolet's master core and summing there. Note in code and create (unscheduled) ticket