32 namespace regionModels
66 Pout<<
"regionModel1D::initialise()" <<
endl;
74 label localPyrolysisFaceI = 0;
78 forAll(intCoupledPatchIDs_, i)
80 const label patchI = intCoupledPatchIDs_[i];
82 forAll(ppCoupled, localFaceI)
90 label ownCellI = regionMesh().faceOwner()[faceI];
91 if (ownCellI != cellI)
97 cellI = regionMesh().faceNeighbour()[faceI];
101 const cell& cFaces = regionMesh().cells()[cellI];
105 }
while (regionMesh().isInternalFace(faceI));
107 boundaryFaceOppositeFace_[localPyrolysisFaceI] = faceI;
111 boundaryFaceFaces_[localPyrolysisFaceI].transfer(faceIDs);
112 boundaryFaceCells_[localPyrolysisFaceI].transfer(cellIDs);
114 localPyrolysisFaceI++;
119 boundaryFaceOppositeFace_.setSize(localPyrolysisFaceI);
120 boundaryFaceFaces_.setSize(localPyrolysisFaceI);
121 boundaryFaceCells_.setSize(localPyrolysisFaceI);
125 localPyrolysisFaceI = 0;
126 forAll(intCoupledPatchIDs_, i)
128 const label patchI = intCoupledPatchIDs_[i];
129 const polyPatch& ppCoupled = rbm[patchI];
132 regionMesh().Sf().boundaryField()[patchI] & pNormals;
133 forAll(pNormals, localFaceI)
135 const vector&
n = pNormals[localFaceI];
136 const labelList& faces = boundaryFaceFaces_[localPyrolysisFaceI++];
139 const label faceID = faces[faceI];
140 nMagSf[faceID] = regionMesh().Sf()[faceID] &
n;
153 moveMesh_.readIfPresent(
"moveMesh", coeffs_);
168 moveMesh_.readIfPresent(
"moveMesh", coeffs_);
182 const scalar minDelta
198 label totalFaceId = 0;
199 forAll(intCoupledPatchIDs_, localPatchI)
201 label patchI = intCoupledPatchIDs_[localPatchI];
203 const vectorField& cf = regionMesh().Cf().boundaryField()[patchI];
207 const labelList& faces = boundaryFaceFaces_[totalFaceId];
214 oldCf[0] = cf[patchFaceI];
217 oldCf[i + 1] = regionMesh().faceCentres()[faces[i]];
221 point nbrCf = oldCf[0];
225 const label faceI = faces[i];
228 const face f = regionMesh().faces()[faceI];
230 newDelta += (deltaV[cellI]/
mag(
sf))*
n;
235 const label pointI =
f[pti];
239 mag((nbrCf - (oldPoints[pointI] + newDelta)) &
n)
243 newPoints[pointI] = oldPoints[pointI] + newDelta;
244 localDelta = newDelta;
245 cellMoveMap[cellI] = 1;
248 nbrCf = oldCf[i + 1] + localDelta;
251 const label bFaceI = boundaryFaceOppositeFace_[totalFaceId];
252 const face f = regionMesh().faces()[bFaceI];
254 newDelta += (deltaV[cellI]/
mag(
sf))*
n;
257 const label pointI =
f[pti];
260 mag((nbrCf - (oldPoints[pointI] + newDelta)) &
n)
264 newPoints[pointI] = oldPoints[pointI] + newDelta;
265 cellMoveMap[cellI] = 1;
272 regionMesh().movePoints(newPoints);
283 const word& regionType
287 boundaryFaceFaces_(),
288 boundaryFaceCells_(),
289 boundaryFaceOppositeFace_(),
299 const word& regionType,
300 const word& modelName,
305 boundaryFaceFaces_(regionMesh().nCells()),
306 boundaryFaceCells_(regionMesh().nCells()),
307 boundaryFaceOppositeFace_(regionMesh().nCells()),
314 constructMeshObjects();
328 const word& regionType,
329 const word& modelName,
335 boundaryFaceFaces_(regionMesh().nCells()),
336 boundaryFaceCells_(regionMesh().nCells()),
337 boundaryFaceOppositeFace_(regionMesh().nCells()),
344 constructMeshObjects();