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
1c3c1e01
Commit
1c3c1e01
authored
Dec 02, 2010
by
mattijs
Browse files
ENH: fluent3dMeshToFoam : added initial part for reading of periodic faces
parent
2c51cc50
Changes
1
Hide whitespace changes
Inline
Side-by-side
applications/utilities/mesh/conversion/fluent3DMeshToFoam/fluent3DMeshToFoam.L
View file @
1c3c1e01
...
...
@@ -36,6 +36,7 @@ Description
------ local definitions
\* ------------------------------------------------------------------------ */
#include "cyclicPolyPatch.H"
#include "argList.H"
#include "Time.H"
#include "polyMesh.H"
...
...
@@ -904,6 +905,13 @@ int main(int argc, char *argv[])
fluentToFoamType.insert("radiator", polyPatch::typeName);
fluentToFoamType.insert("porous-jump", polyPatch::typeName);
//- Periodic halves map directly into split cyclics. The problem is the
// initial matching since we require knowledge of the transformation.
// It is ok if the periodics are already ordered. We should read the
// periodic shadow faces section (section 18) to give use the ordering
// For now just disable.
//fluentToFoamType.insert("periodic", cyclicPolyPatch::typeName);
// Foam patch type for Fluent zone type
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
...
@@ -1039,15 +1047,59 @@ int main(int argc, char *argv[])
if (iter != fluentToFoamType.end())
{
newPatches[patchi] = polyPatch::New
(
iter(),
name,
0,
0,
patchi,
mesh.boundaryMesh()
).ptr();
// See if we have a periodic and can derive the other side.
word neighbPatchName;
if (iter() == cyclicPolyPatch::typeName)
{
// Periodic
size_t n = name.rfind("-SIDE-1");
if (n != string::npos)
{
neighbPatchName = name.substr(0, n) + "-SIDE-2";
}
else
{
n = name.rfind("-SIDE-2");
if (n != string::npos)
{
neighbPatchName = name.substr(0, n) + "-SIDE-1";
}
}
}
if (neighbPatchName.size())
{
Info<< "Adding cyclicPolyPatch for Fluent zone " << name
<< " with neighbour patch " << neighbPatchName
<< endl;
newPatches[patchi] = new cyclicPolyPatch
(
name,
0,
0,
patchi,
mesh.boundaryMesh(),
neighbPatchName,
cyclicPolyPatch::NOORDERING,
vector::zero,
vector::zero,
vector::zero
);
}
else
{
newPatches[patchi] = polyPatch::New
(
iter(),
name,
0,
0,
patchi,
mesh.boundaryMesh()
).ptr();
}
}
else
{
...
...
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