Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
cf475708
Commit
cf475708
authored
Dec 16, 2010
by
mattijs
Browse files
ENH: extrudeMesh : reorganisation
parent
46ec7d65
Changes
24
Hide whitespace changes
Inline
Side-by-side
applications/utilities/mesh/generation/extrude/Allwclean
View file @
cf475708
...
...
@@ -3,6 +3,7 @@ cd ${0%/*} || exit 1 # run from this directory
set
-x
wclean libso extrudeModel
wclean
wclean extrudeMesh
wclean extrudeToRegionMesh
# ----------------------------------------------------------------- end-of-file
applications/utilities/mesh/generation/extrude/Allwmake
View file @
cf475708
...
...
@@ -3,6 +3,8 @@ cd ${0%/*} || exit 1 # run from this directory
set
-x
wmake libso extrudeModel
wmake
wmake extrudeMesh
wmake extrudeToRegionMesh
# ----------------------------------------------------------------- end-of-file
applications/utilities/mesh/generation/extrude/extrudeMesh/Make/options
View file @
cf475708
EXE_INC = \
-IextrudedMesh \
-IextrudeModel/lnInclude \
-I
../
extrudeModel/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude \
-I$(LIB_SRC)/surfMesh/lnInclude \
-I$(LIB_SRC)/meshTools/lnInclude \
...
...
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C
View file @
cf475708
...
...
@@ -214,9 +214,8 @@ int main(int argc, char *argv[])
(
IOobject
(
"extrudeProperties"
,
runTimeExtruded
.
constant
(),
regionDir
,
"extrudeMeshDict"
,
runTimeExtruded
.
system
(),
runTimeExtruded
,
IOobject
::
MUST_READ_IF_MODIFIED
)
...
...
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMeshDict
View file @
cf475708
...
...
@@ -10,7 +10,7 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
object extrude
Properties
;
object extrude
MeshDict
;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
...
...
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/files
deleted
100644 → 0
View file @
46ec7d65
extrudeModel/extrudeModel.C
extrudeModel/extrudeModelNew.C
linearNormal/linearNormal.C
linearDirection/linearDirection.C
linearRadial/linearRadial.C
sigmaRadial/sigmaRadial.C
wedge/wedge.C
LIB = $(FOAM_LIBBIN)/libextrudeModel
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/Make/options
deleted
100644 → 0
View file @
46ec7d65
EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude
EXE_LIBS = \
-lmeshTools \
-ldynamicMesh
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.C
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"extrudeModel.H"
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
namespace
Foam
{
defineTypeNameAndDebug
(
extrudeModel
,
0
);
defineRunTimeSelectionTable
(
extrudeModel
,
dictionary
);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam
::
extrudeModel
::
extrudeModel
(
const
word
&
modelType
,
const
dictionary
&
dict
)
:
nLayers_
(
readLabel
(
dict
.
lookup
(
"nLayers"
))),
expansionRatio_
(
readScalar
(
dict
.
lookup
(
"expansionRatio"
))),
dict_
(
dict
),
coeffDict_
(
dict
.
subDict
(
modelType
+
"Coeffs"
))
{}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam
::
extrudeModel
::~
extrudeModel
()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
Foam
::
label
Foam
::
extrudeModel
::
nLayers
()
const
{
return
nLayers_
;
}
Foam
::
scalar
Foam
::
extrudeModel
::
expansionRatio
()
const
{
return
expansionRatio_
;
}
Foam
::
scalar
Foam
::
extrudeModel
::
sumThickness
(
const
label
layer
)
const
{
// 1+r+r^2+ .. +r^(n-1) = (1-r^n)/(1-r)
if
(
mag
(
1
.
0
-
expansionRatio_
)
<
SMALL
)
{
return
scalar
(
layer
)
/
nLayers_
;
}
else
{
return
(
1
.
0
-
pow
(
expansionRatio_
,
layer
))
/
(
1
.
0
-
pow
(
expansionRatio_
,
nLayers_
));
}
}
// ************************************************************************* //
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModel.H
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
Class
Foam::extrudeModel
Description
Top level extrusion model class
SourceFiles
extrudeModel.C
\*---------------------------------------------------------------------------*/
#ifndef extrudeModel_H
#define extrudeModel_H
#include
"dictionary.H"
#include
"point.H"
#include
"autoPtr.H"
#include
"runTimeSelectionTables.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
/*---------------------------------------------------------------------------*\
Class extrudeModel Declaration
\*---------------------------------------------------------------------------*/
class
extrudeModel
{
protected:
// Protected data
const
label
nLayers_
;
const
scalar
expansionRatio_
;
const
dictionary
&
dict_
;
const
dictionary
&
coeffDict_
;
// Private Member Functions
//- Disallow default bitwise copy construct
extrudeModel
(
const
extrudeModel
&
);
//- Disallow default bitwise assignment
void
operator
=
(
const
extrudeModel
&
);
public:
//- Runtime type information
TypeName
(
"extrudeModel"
);
//- Declare runtime constructor selection table
declareRunTimeSelectionTable
(
autoPtr
,
extrudeModel
,
dictionary
,
(
const
dictionary
&
dict
),
(
dict
)
);
// Constructors
//- Construct from dictionary
extrudeModel
(
const
word
&
modelType
,
const
dictionary
&
);
// Selectors
//- Select null constructed
static
autoPtr
<
extrudeModel
>
New
(
const
dictionary
&
);
//- Destructor
virtual
~
extrudeModel
();
// Member Functions
// Access
label
nLayers
()
const
;
scalar
expansionRatio
()
const
;
// Member Operators
//- Helper: calculate cumulative relative thickness for layer.
// (layer=0 -> 0; layer=nLayers -> 1)
scalar
sumThickness
(
const
label
layer
)
const
;
virtual
point
operator
()
(
const
point
&
surfacePoint
,
const
vector
&
surfaceNormal
,
const
label
layer
)
const
=
0
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/extrudeModel/extrudeModelNew.C
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"extrudeModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Foam
::
autoPtr
<
Foam
::
extrudeModel
>
Foam
::
extrudeModel
::
New
(
const
dictionary
&
dict
)
{
const
word
modelType
(
dict
.
lookup
(
"extrudeModel"
));
Info
<<
"Selecting extrudeModel "
<<
modelType
<<
endl
;
dictionaryConstructorTable
::
iterator
cstrIter
=
dictionaryConstructorTablePtr_
->
find
(
modelType
);
if
(
cstrIter
==
dictionaryConstructorTablePtr_
->
end
())
{
FatalErrorIn
(
"extrudeModel::New(const dictionary&)"
)
<<
"Unknown extrudeModel type "
<<
modelType
<<
nl
<<
nl
<<
"Valid extrudeModel types are :"
<<
nl
<<
dictionaryConstructorTablePtr_
->
sortedToc
()
<<
nl
<<
exit
(
FatalError
);
}
return
autoPtr
<
extrudeModel
>
(
cstrIter
()(
dict
));
}
// ************************************************************************* //
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.C
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"linearDirection.H"
#include
"addToRunTimeSelectionTable.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
extrudeModels
{
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
defineTypeNameAndDebug
(
linearDirection
,
0
);
addToRunTimeSelectionTable
(
extrudeModel
,
linearDirection
,
dictionary
);
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
linearDirection
::
linearDirection
(
const
dictionary
&
dict
)
:
extrudeModel
(
typeName
,
dict
),
direction_
(
coeffDict_
.
lookup
(
"direction"
)),
thickness_
(
readScalar
(
coeffDict_
.
lookup
(
"thickness"
)))
{
direction_
/=
mag
(
direction_
);
if
(
thickness_
<=
0
)
{
FatalErrorIn
(
"linearDirection(const dictionary&)"
)
<<
"thickness should be positive : "
<<
thickness_
<<
exit
(
FatalError
);
}
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
linearDirection
::~
linearDirection
()
{}
// * * * * * * * * * * * * * * * * Operators * * * * * * * * * * * * * * * * //
point
linearDirection
::
operator
()
(
const
point
&
surfacePoint
,
const
vector
&
surfaceNormal
,
const
label
layer
)
const
{
//scalar d = thickness_*layer/nLayers_;
scalar
d
=
thickness_
*
sumThickness
(
layer
);
return
surfacePoint
+
d
*
direction_
;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace extrudeModels
}
// End namespace Foam
// ************************************************************************* //
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearDirection/linearDirection.H
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
Class
Foam::extrudeModels::linearDirection
Description
Extrudes by transforming points in a specified direction by a given distance
\*---------------------------------------------------------------------------*/
#ifndef linearDirection_H
#define linearDirection_H
#include
"point.H"
#include
"extrudeModel.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
namespace
extrudeModels
{
/*---------------------------------------------------------------------------*\
Class linearDirection Declaration
\*---------------------------------------------------------------------------*/
class
linearDirection
:
public
extrudeModel
{
// Private data
//- Extrude direction
vector
direction_
;
//- layer thickness
scalar
thickness_
;
public:
//- Runtime type information
TypeName
(
"linearDirection"
);
// Constructors
//- Construct from dictionary
linearDirection
(
const
dictionary
&
dict
);
//- Destructor
~
linearDirection
();
// Member Operators
point
operator
()
(
const
point
&
surfacePoint
,
const
vector
&
surfaceNormal
,
const
label
layer
)
const
;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
}
// End namespace extrudeModels
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeModel/linearNormal/linearNormal.C
deleted
100644 → 0
View file @
46ec7d65
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/