diff --git a/Allwclean b/Allwclean index 1f55d569..3284d8aa 100755 --- a/Allwclean +++ b/Allwclean @@ -19,6 +19,7 @@ wclean ./src/dfCanteraMixture wclean ./src/dfMeshTools wclean ./applications/utilities/flameSpeed wclean ./applications/utilities/dfAutoPatch +wclean ./applications/utilities/dfFluent3DMeshToFoam wclean ./applications/solvers/dfSprayFoam wclean ./applications/solvers/df0DFoam wclean ./applications/solvers/dfLowMachFoam diff --git a/Allwmake b/Allwmake index 74136b06..dab0a5ca 100755 --- a/Allwmake +++ b/Allwmake @@ -30,3 +30,4 @@ wmake applications/solvers/dfSteadyFoam wmake applications/utilities/flameSpeed wmake applications/utilities/dfAutoPatch +wmake applications/utilities/dfFluent3DMeshToFoam diff --git a/applications/utilities/dfFluent3DMeshToFoam/Make/files b/applications/utilities/dfFluent3DMeshToFoam/Make/files new file mode 100644 index 00000000..24de36d2 --- /dev/null +++ b/applications/utilities/dfFluent3DMeshToFoam/Make/files @@ -0,0 +1,3 @@ +fluent3DMeshToFoam.L + +EXE = $(DF_APPBIN)/dfFluent3DMeshToFoam diff --git a/applications/utilities/dfFluent3DMeshToFoam/Make/options b/applications/utilities/dfFluent3DMeshToFoam/Make/options new file mode 100644 index 00000000..70c838b7 --- /dev/null +++ b/applications/utilities/dfFluent3DMeshToFoam/Make/options @@ -0,0 +1,7 @@ +EXE_INC = \ + -I$(LIB_SRC)/meshTools/lnInclude \ + -I$(LIB_SRC)/dynamicMesh/lnInclude + +EXE_LIBS = \ + -lmeshTools \ + -ldynamicMesh diff --git a/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.C b/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.C new file mode 100644 index 00000000..d99f8f58 --- /dev/null +++ b/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.C @@ -0,0 +1,30 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2018 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM. If not, see . + +Application + fluent3DMeshToFoam + +Description + Converts a Fluent mesh to OpenFOAM format. + +\*---------------------------------------------------------------------------*/ diff --git a/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.L b/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.L new file mode 100644 index 00000000..86353d51 --- /dev/null +++ b/applications/utilities/dfFluent3DMeshToFoam/fluent3DMeshToFoam.L @@ -0,0 +1,1446 @@ +/*--------------------------------*- C++ -*----------------------------------*\ + ========= | + \\ / F ield | OpenFOAM: The Open Source CFD Toolbox + \\ / O peration | Website: https://openfoam.org + \\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation + \\/ M anipulation | +------------------------------------------------------------------------------- +License + This file is part of OpenFOAM. + + OpenFOAM 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. + + OpenFOAM 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 OpenFOAM. If not, see . + +\*---------------------------------------------------------------------------*/ + +%{ +#undef yyFlexLexer + + /* ------------------------------------------------------------------------ *\ + ------ local definitions + \* ------------------------------------------------------------------------ */ + +#include "cyclicPolyPatch.H" +#include "argList.H" +#include "Time.H" +#include "polyMesh.H" +#include "polyTopoChange.H" +#include "polyMeshZipUpCells.H" +#include "wallPolyPatch.H" +#include "symmetryPolyPatch.H" +#include "oldCyclicPolyPatch.H" +#include "Swap.H" +#include "IFstream.H" +#include "readHexLabel.H" + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +using namespace Foam; + +// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // + +// Line number +label lineNo = 1; + +// Scale factor used to scale points (optional command line argument) +scalar scaleFactor = 1.0; + +label dimensionOfGrid = 0; +label nPoints = 0; +label nFaces = 0; +label nCells = 0; + +bool hangingNodes = false; + +pointField points(0); +faceList faces(0); +labelList owner(0); +labelList neighbour(0); + +// Group type and name +Map groupType(100); +Map groupName(100); + +// Point groups +DynamicList