Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Development
openfoam
Commits
688169d9
Commit
688169d9
authored
Jun 23, 2008
by
Andrew Heather
Committed by
graham
Jun 23, 2008
Browse files
small utility to list patches and boundary conditions
parent
fbcac8e2
Changes
5
Hide whitespace changes
Inline
Side-by-side
applications/utilities/miscellaneous/patchSummary/Make/files
0 → 100644
View file @
688169d9
patchSummary.C
EXE = $(FOAM_USER_APPBIN)/patchSummary
applications/utilities/miscellaneous/patchSummary/Make/options
0 → 100644
View file @
688169d9
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = \
-lfiniteVolume
applications/utilities/miscellaneous/patchSummary/patchSummary.C
0 → 100644
View file @
688169d9
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Application
patchSummary
Description
Writes fields and boundary condition info for each patch at each requested
time instance.
\*---------------------------------------------------------------------------*/
#include "fvCFD.H"
#include "volFields.H"
#include "IOobjectList.H"
#include "patchSummaryTemplates.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int
main
(
int
argc
,
char
*
argv
[])
{
# include "addTimeOptions.H"
# include "setRootCase.H"
# include "createTime.H"
// Get times list
instantList
Times
=
runTime
.
times
();
// set startTime and endTime depending on -time and -latestTime options
# include "checkTimeOptions.H"
runTime
.
setTime
(
Times
[
startTime
],
startTime
);
# include "createMesh.H"
for
(
label
i
=
startTime
;
i
<
endTime
;
i
++
)
{
runTime
.
setTime
(
Times
[
i
],
i
);
Info
<<
"Time = "
<<
runTime
.
timeName
()
<<
nl
<<
endl
;
const
IOobjectList
fieldObjs
(
mesh
,
runTime
.
timeName
());
const
wordList
objNames
=
fieldObjs
.
names
();
PtrList
<
volScalarField
>
vsf
(
objNames
.
size
());
PtrList
<
volVectorField
>
vvf
(
objNames
.
size
());
PtrList
<
volSphericalTensorField
>
vsptf
(
objNames
.
size
());
PtrList
<
volSymmTensorField
>
vsytf
(
objNames
.
size
());
PtrList
<
volTensorField
>
vtf
(
objNames
.
size
());
Info
<<
"Valid fields:"
<<
endl
;
forAll
(
objNames
,
objI
)
{
IOobject
obj
(
objNames
[
objI
],
runTime
.
timeName
(),
mesh
,
IOobject
::
MUST_READ
);
if
(
obj
.
headerOk
())
{
addToFieldList
<
scalar
>
(
vsf
,
obj
,
objI
,
mesh
);
addToFieldList
<
vector
>
(
vvf
,
obj
,
objI
,
mesh
);
addToFieldList
<
sphericalTensor
>
(
vsptf
,
obj
,
objI
,
mesh
);
addToFieldList
<
symmTensor
>
(
vsytf
,
obj
,
objI
,
mesh
);
addToFieldList
<
tensor
>
(
vtf
,
obj
,
objI
,
mesh
);
}
}
Info
<<
endl
;
const
polyBoundaryMesh
&
bm
=
mesh
.
boundaryMesh
();
forAll
(
bm
,
patchI
)
{
Info
<<
"Patch: "
<<
bm
[
patchI
].
name
()
<<
nl
;
outputFieldList
<
scalar
>
(
vsf
,
patchI
);
outputFieldList
<
vector
>
(
vvf
,
patchI
);
outputFieldList
<
sphericalTensor
>
(
vsptf
,
patchI
);
outputFieldList
<
symmTensor
>
(
vsytf
,
patchI
);
outputFieldList
<
tensor
>
(
vtf
,
patchI
);
Info
<<
endl
;
}
}
Info
<<
"End
\n
"
<<
endl
;
return
0
;
}
// ************************************************************************* //
applications/utilities/miscellaneous/patchSummary/patchSummaryTemplates.C
0 → 100644
View file @
688169d9
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#include "patchSummaryTemplates.H"
#include "IOmanip.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template
<
class
Type
>
void
Foam
::
addToFieldList
(
PtrList
<
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
>&
fieldList
,
const
IOobject
&
obj
,
const
label
fieldI
,
const
fvMesh
&
mesh
)
{
typedef
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
fieldType
;
if
(
obj
.
headerClassName
()
==
fieldType
::
typeName
)
{
fieldList
.
set
(
fieldI
,
new
fieldType
(
obj
,
mesh
)
);
Info
<<
" "
<<
fieldType
::
typeName
<<
tab
<<
obj
.
name
()
<<
endl
;
}
}
template
<
class
Type
>
void
Foam
::
outputFieldList
(
PtrList
<
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
>&
fieldList
,
const
label
patchI
)
{
forAll
(
fieldList
,
fieldI
)
{
if
(
fieldList
.
set
(
fieldI
))
{
Info
<<
" "
<<
pTraits
<
Type
>::
typeName
<<
tab
<<
tab
<<
fieldList
[
fieldI
].
name
()
<<
tab
<<
tab
<<
fieldList
[
fieldI
].
boundaryField
()[
patchI
].
type
()
<<
nl
;
}
}
}
// ************************************************************************* //
applications/utilities/miscellaneous/patchSummary/patchSummaryTemplates.H
0 → 100644
View file @
688169d9
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/
#ifndef patchSummaryTemplates_H
#define patchSummaryTemplates_H
#include "fvCFD.H"
#include "volFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
template
<
class
Type
>
void
addToFieldList
(
PtrList
<
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
>&
fieldList
,
const
IOobject
&
obj
,
const
label
fieldI
,
const
fvMesh
&
mesh
);
template
<
class
Type
>
void
outputFieldList
(
PtrList
<
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
>&
fieldList
,
const
label
patchI
);
}
// End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "patchSummaryTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment