![]() |
|
This file is part of OpenFOAM. OpenFOAM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenFOAM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Wave propagation of information through grid. Every iteration information goes through one layer of edges. Templated on information that is transferred. Handles parallel and cyclics. Only parallel reasonably tested. Cyclics hardly tested. Note: whether to propagate depends on the return value of Type::update which returns true (i.e. propagate) if the value changes by more than a certain tolerance. Note: parallel is done in two steps: 1. transfer patch points in offset notation, i.e. every patch point is denoted by a patchface label and an index in this face. Receiving end uses that fact that f[0] is shared and order is reversed. 2. do all non-local shared points by means of reduce of data on them. Note: cyclics is with offset in patchface as well. Patch is divided into two sub patches and the point-point addressing is never explicitly calculated but instead use is made of the face-face correspondence. (it probably is more efficient to calculate a point-point correspondence at the start and then reuse this; task to be done)
Definition in file PointEdgeWave.H.
Go to the source code of this file.
Namespaces | |
namespace | Foam |
Classes | |
class | PointEdgeWave |
class | listUpdateOp |
Functions | |
TemplateName (PointEdgeWave) |
|
|