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 <OpenFOAM/error.H>
00027
00028 #include "blockMesh.H"
00029 #include <OpenFOAM/cellModeller.H>
00030
00031
00032
00033 Foam::cellShapeList Foam::blockMesh::createCells()
00034 {
00035 Info<< nl << "Creating cells" << endl;
00036
00037 PtrList<cellShape> cells(nCells_);
00038
00039 blockMesh& blocks = *this;
00040
00041 const cellModel& hex = *(cellModeller::lookup("hex"));
00042
00043 label cellLabel = 0;
00044
00045 forAll(blocks, blockLabel)
00046 {
00047 const labelListList& blockCells = blocks[blockLabel].cells();
00048
00049 forAll(blockCells, blockCellLabel)
00050 {
00051 labelList cellPoints(blockCells[blockCellLabel].size());
00052
00053 forAll(cellPoints, cellPointLabel)
00054 {
00055 cellPoints[cellPointLabel] =
00056 mergeList_
00057 [
00058 blockCells[blockCellLabel][cellPointLabel]
00059 + blockOffsets_[blockLabel]
00060 ];
00061 }
00062
00063
00064 cells.set(cellLabel, new cellShape(hex, cellPoints, true));
00065
00066 cellLabel++;
00067 }
00068 }
00069
00070 return cells;
00071 }
00072
00073