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
a0c52565
Commit
a0c52565
authored
Apr 04, 2013
by
andy
Browse files
ENH: Added new createExternalCoupledPatchGeometry utility
parent
73b9f50b
Changes
5
Hide whitespace changes
Inline
Side-by-side
applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/files
0 → 100644
View file @
a0c52565
createExternalCoupledPatchGeometry.C
EXE = $(FOAM_APPBIN)/createExternalCoupledPatchGeometry
applications/utilities/preProcessing/createExternalCoupledPatchGeometry/Make/options
0 → 100644
View file @
a0c52565
EXE_INC = \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = \
-lfiniteVolume \
-lcompressibleTurbulenceModel
applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometry.C
0 → 100644
View file @
a0c52565
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 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 <http://www.gnu.org/licenses/>.
Application
createExternalCoupledPatchGeometry.
Description
Application to generate the patch geometry (points and faces) for use
with the externalCoupled boundary condition.
SeeAlso
externalCoupledMixedFvPatchField
\*---------------------------------------------------------------------------*/
#include
"fvCFD.H"
#include
"createExternalCoupledPatchGeometryTemplates.H"
#include
"IOobjectList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
int
main
(
int
argc
,
char
*
argv
[])
{
#include
"addRegionOption.H"
argList
::
validArgs
.
append
(
"fieldName"
);
#include
"setRootCase.H"
#include
"createTime.H"
#include
"createNamedMesh.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
const
word
fieldName
=
args
[
1
];
IOobjectList
objects
(
IOobjectList
(
mesh
,
mesh
.
time
().
timeName
()));
label
processed
=
-
1
;
processField
<
scalar
>
(
mesh
,
objects
,
fieldName
,
processed
);
processField
<
vector
>
(
mesh
,
objects
,
fieldName
,
processed
);
processField
<
sphericalTensor
>
(
mesh
,
objects
,
fieldName
,
processed
);
processField
<
symmTensor
>
(
mesh
,
objects
,
fieldName
,
processed
);
processField
<
tensor
>
(
mesh
,
objects
,
fieldName
,
processed
);
if
(
processed
==
-
1
)
{
Info
<<
"Field "
<<
fieldName
<<
" not found"
<<
endl
;
}
Info
<<
"
\n
End
\n
"
<<
endl
;
return
0
;
}
// ************************************************************************* //
applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometryTemplates.C
0 → 100644
View file @
a0c52565
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include
"createExternalCoupledPatchGeometryTemplates.H"
#include
"externalCoupledMixedFvPatchField.H"
#include
"IOobjectList.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
template
<
class
Type
>
void
processField
(
const
fvMesh
&
mesh
,
const
IOobjectList
&
objects
,
const
word
&
fieldName
,
label
&
processed
)
{
if
(
processed
!=
-
1
)
{
return
;
}
typedef
GeometricField
<
Type
,
fvPatchField
,
volMesh
>
fieldType
;
const
word
timeName
(
mesh
.
time
().
timeName
());
IOobjectList
fieldObjbjects
(
objects
.
lookupClass
(
fieldType
::
typeName
));
if
(
fieldObjbjects
.
lookup
(
fieldName
)
!=
NULL
)
{
fieldType
vtf
(
*
fieldObjbjects
.
lookup
(
fieldName
),
mesh
);
const
typename
fieldType
::
GeometricBoundaryField
&
bf
=
vtf
.
boundaryField
();
forAll
(
bf
,
patchI
)
{
if
(
isA
<
externalCoupledMixedFvPatchField
<
Type
>
>
(
bf
[
patchI
]))
{
Info
<<
"Generating external coupled geometry for field "
<<
fieldName
<<
endl
;
const
externalCoupledMixedFvPatchField
<
Type
>&
pf
=
refCast
<
const
externalCoupledMixedFvPatchField
<
Type
>
>
(
bf
[
patchI
]
);
pf
.
writeGeometry
();
processed
=
1
;
break
;
}
}
if
(
processed
!=
1
)
{
processed
=
0
;
Info
<<
"Field "
<<
fieldName
<<
" found, but does not have any "
<<
externalCoupledMixedFvPatchField
<
Type
>::
typeName
<<
" boundary conditions"
<<
endl
;
}
}
}
// ************************************************************************* //
applications/utilities/preProcessing/createExternalCoupledPatchGeometry/createExternalCoupledPatchGeometryTemplates.H
0 → 100644
View file @
a0c52565
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013 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 <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#ifndef createExternalCoupledPatchGeometryTemplates_H
#define createExternalCoupledPatchGeometryTemplates_H
#include
"word.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace
Foam
{
template
<
class
Type
>
void
processField
(
bool
&
processed
,
const
word
&
fieldName
);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#ifdef NoRepository
# include "createExternalCoupledPatchGeometryTemplates.C"
#endif
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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