Public Member Functions | |
symmetryPlaneOptimisation (polyMeshGen &mesh) | |
Construct from mesh. More... | |
~symmetryPlaneOptimisation () | |
void | optimizeSymmetryPlanes () |
move vertices to the symmetry planes More... | |
Private Member Functions | |
void | detectSymmetryPlanes () |
detect symmetry planes More... | |
void | pointInPlanes (VRWGraph &) const |
point-planes addressing More... | |
Private Attributes | |
polyMeshGen & | mesh_ |
reference to the mesh More... | |
std::map< label, plane > | symmetryPlanes_ |
symmetry planes in the mesh More... | |
Definition at line 56 of file symmetryPlaneOptimisation.H.
symmetryPlaneOptimisation | ( | polyMeshGen & | mesh | ) |
Construct from mesh.
Definition at line 182 of file symmetryPlaneOptimisation.C.
References symmetryPlaneOptimisation::detectSymmetryPlanes().
Definition at line 191 of file symmetryPlaneOptimisation.C.
|
private |
detect symmetry planes
sum up all normals and centres of all processors every symmetry plane patch must be present on all processors
create planes corresponding to each symmetry plane
Definition at line 44 of file symmetryPlaneOptimisation.C.
References polyMeshGenFaces::boundaries(), Foam::constant::universal::c, polyMeshGenFaces::faces(), PtrList::first(), forAll, forAllConstIter(), forAllIter, symmetryPlaneOptimisation::mesh_, n, UPstream::parRun(), points, polyMeshGenPoints::points(), Foam::reduce(), symmetryPlaneOptimisation::symmetryPlanes_, and Vector< scalar >::zero.
Referenced by symmetryPlaneOptimisation::symmetryPlaneOptimisation().
|
private |
point-planes addressing
Definition at line 105 of file symmetryPlaneOptimisation.C.
References polyMeshGenCells::addressingData(), LongList< T, Offset >::append(), polyMeshGenFaces::boundaries(), Foam::help::exchangeMap(), f(), polyMeshGenFaces::faces(), forAll, forAllConstIter(), forAllRow, polyMeshGenAddressing::globalToLocalPointAddressing(), symmetryPlaneOptimisation::mesh_, UPstream::myProcNo(), UPstream::parRun(), polyMeshGenAddressing::pointAtProcs(), polyMeshGenAddressing::pointNeiProcs(), points, polyMeshGenPoints::points(), and LongList< T, Offset >::size().
Referenced by symmetryPlaneOptimisation::optimizeSymmetryPlanes().
void optimizeSymmetryPlanes | ( | ) |
move vertices to the symmetry planes
point is in a plane
Definition at line 196 of file symmetryPlaneOptimisation.C.
References polyMeshGenFaces::addFaceSubset(), polyMeshGenFaces::addFaceToSubset(), Foam::polyMeshGenChecks::checkFacePyramids(), Foam::endl(), forAll, forAllConstIter(), symmetryPlaneOptimisation::mesh_, p, symmetryPlaneOptimisation::pointInPlanes(), points, polyMeshGenPoints::points(), HashTable::size(), VRWGraph::sizeOfRow(), symmetryPlaneOptimisation::symmetryPlanes_, WarningIn, and Vector< scalar >::zero.
Referenced by main().
|
private |
reference to the mesh
Definition at line 60 of file symmetryPlaneOptimisation.H.
Referenced by symmetryPlaneOptimisation::detectSymmetryPlanes(), symmetryPlaneOptimisation::optimizeSymmetryPlanes(), and symmetryPlaneOptimisation::pointInPlanes().
symmetry planes in the mesh
Definition at line 63 of file symmetryPlaneOptimisation.H.
Referenced by symmetryPlaneOptimisation::detectSymmetryPlanes(), and symmetryPlaneOptimisation::optimizeSymmetryPlanes().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.