Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "reconstructLagrangian.H"
00027 #include <OpenFOAM/labelIOList.H>
00028 #include <lagrangian/Cloud.H>
00029 #include <lagrangian/passiveParticle.H>
00030
00031
00032
00033 void Foam::reconstructLagrangianPositions
00034 (
00035 const polyMesh& mesh,
00036 const word& cloudName,
00037 const PtrList<fvMesh>& meshes,
00038 const PtrList<labelIOList>& faceProcAddressing,
00039 const PtrList<labelIOList>& cellProcAddressing
00040 )
00041 {
00042 Cloud<passiveParticle> lagrangianPositions
00043 (
00044 mesh,
00045 cloudName,
00046 IDLList<passiveParticle>()
00047 );
00048
00049 forAll(meshes, i)
00050 {
00051 const labelList& cellMap = cellProcAddressing[i];
00052
00053 Cloud<passiveParticle> lpi(meshes[i], cloudName, false);
00054
00055 forAllIter(Cloud<passiveParticle>, lpi, iter)
00056 {
00057 const passiveParticle& ppi = iter();
00058
00059 lagrangianPositions.append
00060 (
00061 new passiveParticle
00062 (
00063 lagrangianPositions,
00064 ppi.position(),
00065 cellMap[ppi.cell()]
00066 )
00067 );
00068 }
00069 }
00070
00071 IOPosition<passiveParticle>(lagrangianPositions).write();
00072 }
00073
00074
00075