Commit 905f7b89 authored by Franjo's avatar Franjo
Browse files

Removed unnecessary stuff for the first release

parent 1a79ee2a
boundaryOutwardOrientation = utilities/surfaceTools/boundaryOutwardOrientation
meshSurfaceEngine = utilities/surfaceTools/meshSurfaceEngine
meshSurfacePartitioner = utilities/surfaceTools/meshSurfacePartitioner
boundaryFacesGenerator = utilities/surfaceTools/boundaryFacesGenerator
boundaryLayers = utilities/boundaryLayers
checkMeshDict = utilities/checkMeshDict
meshSurfaceCheckInvertedVertices = utilities/surfaceTools/meshSurfaceCheckInvertedVertices
meshSurfaceCheckEdgeTypes = utilities/surfaceTools/meshSurfaceCheckEdgeTypes
meshSurfaceDetectPlanarRegions = utilities/surfaceTools/meshSurfaceDetectPlanarRegions
meshSurfaceCutter = utilities/surfaceTools/meshSurfaceCutter
meshSurfaceMapper = utilities/surfaceTools/meshSurfaceMapper
meshSurfaceMapper2D = utilities/surfaceTools/meshSurfaceMapper2D
......@@ -16,27 +13,15 @@ edgeExtraction = utilities/surfaceTools/edgeExtraction
edgeExtractor = $(edgeExtraction)/edgeExtractor
meshSurfaceEdgeExtractor = utilities/surfaceTools/meshSurfaceEdgeExtractor
meshSurfaceEdgeExtractorNonTopo = utilities/surfaceTools/meshSurfaceEdgeExtractorNonTopo
meshSurfaceEdgeExtractorFUN = utilities/surfaceTools/meshSurfaceEdgeExtractorFUN
meshSurfaceEdgeExtractor2D = utilities/surfaceTools/meshSurfaceEdgeExtractor2D
correctEdgesBetweenPatches = utilities/surfaceTools/correctEdgesBetweenPatches
createFundamentalSheetsBase = utilities/surfaceTools/createFundamentalSheets
createFundamentalSheets = $(createFundamentalSheetsBase)/createFundamentalSheets
createFundamentalSheetsJFS = $(createFundamentalSheetsBase)/createFundamentalSheetsJFS
createFundamentalSheetsFJ = $(createFundamentalSheetsBase)/createFundamentalSheetsFJ
decomposeCellsNearConcaveEdges = utilities/surfaceTools/decomposeCellsNearConcaveEdges
renameBoundaryPatches = utilities/surfaceTools/renameBoundaryPatches
hexHelpers = utilities/hexahedra/hexHelpers
intersectionTools = utilities/intersectionTools
findCellsIntersectingSurface = $(intersectionTools)/findCellsIntersectingSurface
nonManifoldMeshing = utilities/nonManifoldMeshing
findNonManifoldInterfaces = $(nonManifoldMeshing)/findNonManifoldInterfaces
removeCellsInSelectedDomains = $(nonManifoldMeshing)/removeCellsInSelectedDomains
meshOptimizer = utilities/smoothers/geometry/meshOptimizer
tetMeshOptimisation = $(meshOptimizer)/tetMeshOptimisation
simplexSmoother = $(tetMeshOptimisation)/advancedSmoothers/simplexSmoother
......@@ -48,7 +33,7 @@ volumeOptimizer = $(tetMeshOptimisation)/advancedSmoothers/volumeOptimizer
meshSurfaceOptimizer = utilities/smoothers/geometry/meshSurfaceOptimizer
surfaceOptimizer = $(meshSurfaceOptimizer)/advancedSurfaceSmoothers/surfaceOptimizer
surfaceMorpherCells = utilities/surfaceTools/surfaceMorpherCells
triangulateNonPlanarBoundaryFaces = utilities/surfaceTools/triangulateNonPlanarBoundaryFaces
utilitiesOctrees = utilities/octrees
meshOctree = utilities/octrees/meshOctree
meshOctreeCube = utilities/octrees/meshOctree/meshOctreeCube
......@@ -59,14 +44,10 @@ meshOctreeModifier = utilities/octrees/meshOctree/meshOctreeModifier
meshOctreeAutoRef = utilities/octrees/meshOctree/meshOctreeAutomaticRefinement
patchRefinement = utilities/octrees/meshOctree/refinementControls/patchRefinement
objectRefinement = utilities/octrees/meshOctree/refinementControls/objectRefinement
surfaceIntersectionsOctree = utilities/octrees/surfaceIntersectionsOctree
surfaceIntersectionsOctreeCube = utilities/octrees/surfaceIntersectionsOctree/surfaceIntersectionsOctreeCube
helperFunctions = utilities/helperFunctions
createFacesFromChain = utilities/helperClasses/createFacesFromChain
sortEdgesIntoChains = utilities/helperClasses/sortEdgesIntoChains
trianglePlaneIntersections = utilities/helperClasses/trianglePlaneIntersections
tetrahedra = utilities/tetrahedra/tetTessellation
tetPointsCreator = utilities/tetrahedra/tetPointsCreator
tetCreatorOctree = utilities/tetrahedra/tetCreatorOctree
faceDecomposition = utilities/faceDecomposition
decomposeCells = utilities/decomposeCells
......@@ -83,8 +64,6 @@ triSurfaceCleanupDuplicates = $(triSurfaceTools)/triSurfaceCleanupDuplicates
triSurfaceCopyParts = $(triSurfaceTools)/triSurfaceCopyParts
triSurfaceCurvatureEstimator = $(triSurfaceTools)/triSurfaceCurvatureEstimator
triSurfacePartitioner = $(triSurfaceTools)/triSurfacePartitioner
triSurfaceDetectMaterials = $(triSurfaceTools)/triSurfaceDetectMaterials
triSurfaceDetectPlanarRegions = $(triSurfaceTools)/triSurfaceDetectPlanarRegions
triSurfaceDetectFeatureEdges = $(triSurfaceTools)/triSurfaceDetectFeatureEdges
triSurfaceClassifyEdges = $(triSurfaceTools)/triSurfaceClassifyEdges
triSurfacePatchManipulator = $(triSurfaceTools)/triSurfacePatchManipulator
......@@ -123,16 +102,10 @@ cartesianMeshGenerator = cartesianMesh/cartesianMeshGenerator
cartesian2DMeshGenerator = cartesian2DMesh/cartesian2DMeshGenerator
hexMeshExtractor = hexMesh/hexMeshExtractor
hexMeshGenerator = hexMesh/hexMeshGenerator
tetMeshExtractor = tetMesh/tetMeshExtractor
tetMeshExtractorOctree = tetMesh/tetMeshExtractorOctree
tetMeshGenerator = tetMesh/tetMeshGenerator
voronoiMeshExtractor = voronoiMesh/voronoiMeshExtractor
voronoiMeshGenerator = voronoiMesh/voronoiMeshGenerator
$(checkMeshDict)/checkMeshDict.C
$(lists)/pointFieldPMG.C
......@@ -208,28 +181,8 @@ $(triSurf)/triSurfFeatureEdges.C
$(triSurf)/triSurfAddressing.C
$(triSurf)/triSurfModifier.C
$(hexHelpers)/hexHelpers.C
$(findCellsIntersectingSurface)/findCellsIntersectingSurface.C
$(findNonManifoldInterfaces)/findNonManifoldInterfaces.C
$(removeCellsInSelectedDomains)/removeCellsInSelectedDomains.C
$(tetrahedra)/tessellationElement.C
$(tetrahedra)/tetTessellation.C
$(tetrahedra)/tetTessellationFunctions.C
$(tetrahedra)/tetTessellationNewElmts.C
$(tetrahedra)/delaunayTessellation/delaunayTessellation.C
$(tetrahedra)/delaunayTessellation/delaunayTessellationFunctions.C
$(tetrahedra)/subdivisionTessellation/subdivisionTessellation.C
$(tetrahedra)/subdivisionTessellation/subdivisionTessellationFunctions.C
$(tetPointsCreator)/tetPointsCreator.C
$(tetPointsCreator)/tetPointsCreatorAddPoints.C
$(tetCreatorOctree)/tetCreatorOctree.C
$(tetCreatorOctree)/tetCreatorOctreePointsAndAddressing.C
$(tetCreatorOctree)/tetCreatorOctreeFromFacesWithCentreNode.C
......@@ -242,18 +195,12 @@ $(faceDecomposition)/decomposeFaces.C
$(helperFunctions)/helperFunctionsStringConversion.C
$(createFacesFromChain)/createFacesFromChain.C
$(sortEdgesIntoChains)/sortEdgesIntoChains.C
$(trianglePlaneIntersections)/trianglePlaneIntersections.C
$(surfaceMorpherCells)/surfaceMorpherCells.C
$(surfaceMorpherCells)/surfaceMorpherCellsMorphInternalFaces.C
$(surfaceMorpherCells)/surfaceMorpherCellsCreateBoundaryFaces.C
$(triangulateNonPlanarBoundaryFaces)/triangulateNonPlanarBoundaryFaces.C
$(decomposeCells)/decomposeCells.C
$(decomposeCells)/decomposeCellsPyramids.C
$(decomposeCells)/decomposeCellsDecomposition.C
......@@ -280,12 +227,6 @@ $(boundaryLayers)/refineBoundaryLayersFunctions.C
$(boundaryLayers)/refineBoundaryLayersFaces.C
$(boundaryLayers)/refineBoundaryLayersCells.C
$(boundaryOutwardOrientation)/boundaryOutwardOrientation.C
$(boundaryFacesGenerator)/boundaryFacesGenerator.C
$(boundaryFacesGenerator)/boundaryFacesGeneratorCreateBoundaryFaces.C
$(boundaryFacesGenerator)/boundaryFacesGeneratorFacesForChain.C
$(meshSurfaceEngine)/meshSurfaceEngine.C
$(meshSurfaceEngine)/meshSurfaceEngineCalculateBoundaryNodesAndFaces.C
$(meshSurfaceEngine)/meshSurfaceEngineParallelAddressing.C
......@@ -298,14 +239,6 @@ $(meshSurfaceCheckInvertedVertices)/meshSurfaceCheckInvertedVertices.C
$(meshSurfaceCheckEdgeTypes)/meshSurfaceCheckEdgeTypes.C
$(meshSurfaceDetectPlanarRegions)/meshSurfaceDetectPlanarRegions.C
$(meshSurfaceCutter)/meshSurfaceCutter.C
$(meshSurfaceCutter)/meshSurfaceCutterFaceCutter.C
$(meshSurfaceCutter)/meshSurfaceCutterInternalFaces.C
$(meshSurfaceCutter)/meshSurfaceCutterEdgePoints.C
$(meshSurfaceCutter)/meshSurfaceCutterBoundaryFaces.C
$(meshSurfaceMapper)/meshSurfaceMapper.C
$(meshSurfaceMapper)/meshSurfaceMapperMapVertices.C
$(meshSurfaceMapper)/meshSurfaceMapperCornersAndEdges.C
......@@ -318,31 +251,15 @@ $(meshSurfaceMapper2D)/meshSurfaceMapper2DPremapVertices.C
$(edgeExtractor)/edgeExtractor.C
$(edgeExtractor)/edgeExtractorCorners.C
$(meshSurfaceEdgeExtractor)/meshSurfaceEdgeExtractor.C
$(meshSurfaceEdgeExtractor)/meshSurfaceEdgeCreateEdgeVertices.C
$(meshSurfaceEdgeExtractor)/meshSurfaceEdgeCreateBoundaryFaces.C
$(meshSurfaceEdgeExtractorNonTopo)/meshSurfaceEdgeExtractorNonTopo.C
$(meshSurfaceEdgeExtractorNonTopo)/meshSurfaceEdgeExtractorNonTopoDistributeFaces.C
$(meshSurfaceEdgeExtractor2D)/meshSurfaceEdgeExtractor2D.C
$(meshSurfaceEdgeExtractor2D)/meshSurfaceEdgeExtractor2DDistributeFaces.C
$(meshSurfaceEdgeExtractorFUN)/meshSurfaceEdgeExtractorFUN.C
$(meshSurfaceEdgeExtractorFUN)/meshSurfaceEdgeExtractorFUNDistributeFaces.C
$(correctEdgesBetweenPatches)/correctEdgesBetweenPatches.C
$(correctEdgesBetweenPatches)/correctEdgesBetweenPatchesDistributeFaces.C
$(createFundamentalSheets)/createFundamentalSheets.C
$(createFundamentalSheetsJFS)/createFundamentalSheetsJFS.C
$(createFundamentalSheetsFJ)/createFundamentalSheetsFJ.C
$(decomposeCellsNearConcaveEdges)/decomposeCellsNearConcaveEdges.C
$(decomposeCellsNearConcaveEdges)/decomposeCellsNearConcaveEdgesDecompose.C
$(renameBoundaryPatches)/renameBoundaryPatches.C
$(meshOptimizer)/meshOptimizer.C
......@@ -425,12 +342,6 @@ $(objectRefinement)/lineRefinement.C
$(objectRefinement)/coneRefinement.C
$(objectRefinement)/boxRefinement.C
$(surfaceIntersectionsOctreeCube)/surfaceIntersectionsOctreeCube.C
$(surfaceIntersectionsOctreeCube)/surfaceIntersectionsOctreeCubeIntersections.C
$(surfaceIntersectionsOctreeCube)/surfaceIntersectionsOctreeCubeRefine.C
$(surfaceIntersectionsOctree)/surfaceIntersectionsOctree.C
$(surfaceIntersectionsOctree)/surfaceIntersectionsOctreeIntersections.C
$(triSurfaceCleanupDuplicates)/triSurfaceCleanupDuplicates.C
$(triSurfaceCleanupDuplicates)/triSurfaceCleanupDuplicatesFunctions.C
......@@ -442,11 +353,6 @@ $(triSurfacePartitioner)/triSurfacePartitionerCreateAddressing.C
$(triSurfaceCurvatureEstimator)/triSurfaceCurvatureEstimator.C
$(triSurfaceCurvatureEstimator)/triSurfaceCurvatureEstimatorCalculate.C
$(triSurfaceDetectMaterials)/triSurfaceDetectMaterials.C
$(triSurfaceDetectMaterials)/triSurfaceDetectMaterialsFunctions.C
$(triSurfaceDetectPlanarRegions)/triSurfaceDetectPlanarRegions.C
$(triSurfaceDetectFeatureEdges)/triSurfaceDetectFeatureEdges.C
$(triSurfaceDetectFeatureEdges)/triSurfaceDetectFeatureEdgesFunctions.C
......@@ -470,24 +376,10 @@ $(cartesianMeshGenerator)/cartesianMeshGenerator.C
$(cartesian2DMeshGenerator)/cartesian2DMeshGenerator.C
$(hexMeshExtractor)/hexMeshExtractor.C
$(hexMeshExtractor)/hexMeshExtractorHexMesh.C
$(hexMeshGenerator)/hexMeshGenerator.C
$(tetMeshExtractor)/tetMeshExtractor.C
$(tetMeshExtractor)/tetMeshExtractorPointsAndCells.C
$(tetMeshExtractorOctree)/tetMeshExtractorOctree.C
$(tetMeshGenerator)/tetMeshGenerator.C
$(voronoiMeshExtractor)/voronoiMeshExtractor.C
$(voronoiMeshExtractor)/voronoiMeshExtractorAddressing.C
$(voronoiMeshExtractor)/voronoiMeshExtractorCreateMesh.C
$(voronoiMeshGenerator)/voronoiMeshGenerator.C
$(writeAsFPMA)/writeMeshFPMA.C
$(writeAsFPMA)/fpmaMesh.C
......
......@@ -46,7 +46,6 @@ Description
#include "checkIrregularSurfaceConnections.H"
#include "checkNonMappableCellConnections.H"
#include "checkBoundaryFacesSharingTwoEdges.H"
#include "removeCellsInSelectedDomains.H"
//#define DEBUG
......@@ -78,37 +77,6 @@ void cartesianMeshGenerator::createCartesianMesh()
void cartesianMeshGenerator::surfacePreparation()
{
//- remove cells inside the domains specified by the user
if( meshDict_.found("removeDomains") )
{
if( Pstream::parRun() )
{
WarningIn
(
"void cartesianMeshGenerator::surfacePreparation()"
) << "The feature removeDomains is not availabel for MPI runs"
<< exit(FatalError);
}
const dictionary& dict = meshDict_.subDict("removeDomains");
const wordList domainNames = dict.toc();
mesh_.clearAddressingData();
removeCellsInSelectedDomains rCells(mesh_, *octreePtr_);
//- read the patches/subsets forming this domain
forAll(domainNames, domainI)
{
wordList domainParts(dict.lookup(domainNames[domainI]));
rCells.selectCellsInDomain(domainParts);
}
rCells.removeCells();
}
//- removes unnecessary cells and morph the boundary
//- such that there is only one boundary face per cell
//- It also checks topology of cells after morphing is performed
......
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
This file is part of cfMesh.
cfMesh 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 3 of the License, or (at your
option) any later version.
cfMesh 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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
Description
\*---------------------------------------------------------------------------*/
#include "hexMeshExtractor.H"
#include "meshOctree.H"
//#define DEBUGDual
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
void hexMeshExtractor::clearOut()
{
deleteDemandDrivenData(centreNodeLabelPtr_);
deleteDemandDrivenData(subVerticesPtr_);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
// Construct from octree and mesh data
hexMeshExtractor::hexMeshExtractor
(
const meshOctree& octree,
const IOdictionary& dict,
polyMeshGen& mesh
)
:
octreeAddressing_(octree, dict),
mesh_(mesh),
centreNodeLabelPtr_(NULL),
subVerticesPtr_(NULL),
octreeVertexType_()
{
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
hexMeshExtractor::~hexMeshExtractor()
{
clearOut();
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
void hexMeshExtractor::createMesh()
{
Info << "Extracting hex mesh" << endl;
classifyOctreePoints();
createPoints();
createHexMesh();
polyMeshGenModifier(mesh_).removeUnusedVertices();
polyMeshGenModifier(mesh_).reorderBoundaryFaces();
Info << "Mesh has :" << nl
<< mesh_.points().size() << " vertices " << nl
<< mesh_.faces().size() << " faces" << nl
<< mesh_.cells().size() << " cells" << endl;
Info << "Finished extracting hex template" << endl;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// ************************************************************************* //
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | cfMesh: A library for mesh generation
\\ / O peration |
\\ / A nd | Author: Franjo Juretic (franjo.juretic@c-fields.com)
\\/ M anipulation | Copyright (C) Creative Fields, Ltd.
-------------------------------------------------------------------------------
License
This file is part of cfMesh.
cfMesh 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 3 of the License, or (at your
option) any later version.
cfMesh 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 cfMesh. If not, see <http://www.gnu.org/licenses/>.
Class
hexMeshExtractor
Description
Extracts hex mesh from the octree
SourceFiles
hexMeshExtractor.C
\*---------------------------------------------------------------------------*/
#ifndef hexMeshExtractor_H
#define hexMeshExtractor_H
#include "polyMeshGenModifier.H"
#include "meshOctreeAddressing.H"
#include "polyMeshGenModifierAddCellByCell.H"
#include "meshOctree.H"
#include "DynList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class hexMeshExtractor Declaration
\*---------------------------------------------------------------------------*/
class hexMeshExtractor
{
// Private data
//- octree and addressing
meshOctreeAddressing octreeAddressing_;
//- reference to the mesh
polyMeshGen& mesh_;
//- centre node labels
labelLongList* centreNodeLabelPtr_;
//- subvertices generated inside octree leaves
VRWGraph* subVerticesPtr_;
//- vertex type and its orientation
List<direction> octreeVertexType_;
// Private member functions
//- delete freestore data
void clearOut();
//- classify octree points (CORNER, EDGECENTRE, FACECENTRE)
void classifyOctreePoints();
//- create mesh points and pointLeaves addressing
void createPoints();
//- create mesh data
void createHexMesh();
//- create hexes from FACECENTRE points
//void createFaceCentreHexes();
//- create hexes which are dual of octree points
//void createHexesAtOctreePoints();
//- create hexes from octree edges which contains octree cubes
//- at the same level, and a point at a greater level than the cubes
//void createEdgeHexes();
// Nested classes
class createHexCells
{
// Private data
//- mesh modifier
polyMeshGenModifierAddCellByCell meshModifier_;
//- const reference to the octree
const meshOctree& octree_;
//- centre node labels
const labelLongList& centreNodeLabel_;
//- subvertices generated inside octree leaves
const VRWGraph& subVertices_;
//- vertex type and its orientation
const List<direction>& octreeVertexType_;
//- node labels of octree cubes
const VRWGraph& nodeLabels_;
//- leaves at octree nodes
const FRWGraph<label, 8>& nodeLeaves_;
//- mapping between Z-order and cylic order of points in face
FixedList<label, 4> mapping_;
// Private member functions
//- create hexes from FACECENTRE points
inline void createFaceCentreHexes(const label pointI);
//- create hexes which are dual of octree points
inline void createHexesAtOctreePoints(const label pointI);
//- create hexes from octree edges which is contained in
//- octree cubes at the same level, and a point
//- at a greater level than the cubes
inline void createEdgeHexes(const label pointI);
//- create cell faces and add it to the mesh
inline void addHexCell(const FixedList<label, 8>& cellPoints);
// Private copy constructor
//- Disallow default bitwise copy construct
createHexCells(const createHexCells&);
//- Disallow default bitwise assignment
void operator=(const createHexCells&);
public:
// Constructors
createHexCells
(
polyMeshGen& mesh,
const meshOctree& octree,
const labelLongList& centreNodeLabel,
const VRWGraph& subVertices,
const List<direction>& octreeVertexType,
const VRWGraph& nodeLabels,
const FRWGraph<label, 8>& nodeLeaves
);
// Destructor
~createHexCells();
// Public member functions
//- create hex cells which are the dual of the octree points
void generateCells();
};
// Enumerators
enum typeOfVertex_
{
NONE = 0,
CORNER = 1,
NOSUBVERTICES = 2,
FACECENTRE = 4,
BOUNDARY = 8,
MIXED = 16
};
// Private copy constructor
//- Disallow default bitwise copy construct
hexMeshExtractor(const hexMeshExtractor&);
//- Disallow default bitwise assignment
void operator=(const hexMeshExtractor&);
public:
// Constructors
//- Construct from octree and mesh data
hexMeshExtractor
(
const meshOctree& octree,
const IOdictionary& dict,
polyMeshGen& mesh
);
// Destructor
~hexMeshExtractor();
// Member Functions
void createMesh();
};