Skip to content

VelocityOutputBCs

Sebastian Schmieschek edited this page Aug 12, 2015 · 2 revisions

Velocity Output Boundary Conditions

This refers to boundary conditions which must output some property of the sites which neighbour them, for multiscale simulations.

There are a few problems:

  1. Iolet must be aware of sites which neighbour it.
  2. Iolet must be able to run a property extraction across those sites.
  3. Neighbouring sites may be on different processors.

Awareness of neighbouring sites

The Iolet can have a list of the site ids, set-up during initialisation (BoundaryValues::BoundaryValues)

Property extraction on sites neighbouring Iolet

Iolet is or has a new IterableDataSource subclass, a SiteListIterableDataSource.

Iolets which cross cores

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

Clone this wiki locally