|
[Sponsors] | |||||
|
|
|
#1 |
|
New Member
Ville
Join Date: Jun 2018
Posts: 2
Rep Power: 0 ![]() |
Hello!
I'm working on a result validation setup for a LES pipe flow using immersed boundary conditions to model the pipe wall. The idea is to loop an initially fully-developed and perturbed laminar flow profile through the pipe, so the cyclic neighbors are surprisingly the inlet and the outlet of the pipe. I have produced a similar setup in OF5 with a body-fitted mesh using the following blockMeshDict file, boundary file and initial boundary conditions (please keep in mind, that the actual initial U-field is modified to the perturbed fully-developed profile and is not shown below. However, the boundary conditions apply): Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: http://www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
( 0 0 0 ) //0
( 0 0 6. ) //1
( -0.2 -0.2 0 ) //2
( -0.2 -0.2 6. ) //3
( 0.2 -0.2 0 ) //4
( 0.2 -0.2 6. ) //5
( 0.2 0.2 0 ) //6
( 0.2 0.2 6. ) //7
( -0.2 0.2 0 ) //8
( -0.2 0.2 6. ) //9
( 0.353553390593274 0.353553390593274 0 ) //10
( 0.353553390593274 0.353553390593274 6. ) //11
( -0.353553390593274 0.353553390593274 0 ) //12
( -0.353553390593274 0.353553390593274 6. ) //13
( -0.353553390593274 -0.353553390593274 0 ) //14
( -0.353553390593274 -0.353553390593274 6. ) //15
( 0.353553390593274 -0.353553390593274 0 ) //16
( 0.353553390593274 -0.353553390593274 6. ) //17
);
blocks
(
//Pipe blocks
hex (2 4 6 8 3 5 7 9) (20 20 50) simpleGrading (1 1 1) //0 inner block
hex (16 10 6 4 17 11 7 5) (20 40 50) simpleGrading ( 1 9 1 )
hex (10 12 8 6 11 13 9 7) (20 40 50) simpleGrading ( 1 9 1 )
hex (12 14 2 8 13 15 3 9) (20 40 50) simpleGrading ( 1 9 1 )
hex (14 16 4 2 15 17 5 3) (20 40 50) simpleGrading ( 1 9 1 )
);
edges
(
arc 10 12 ( 0 0.5 0 )
arc 11 13 ( 0 0.5 6. )
arc 12 14 ( -0.5 0 0 )
arc 13 15 ( -0.5 0 6. )
arc 14 16 ( 0 -0.5 0 )
arc 15 17 ( 0 -0.5 6. )
arc 16 10 ( 0.5 0 0 )
arc 17 11 ( 0.5 0 6. )
);
boundary
(
inlet
{
type cyclic;
neighbourPatch outlet;
faces
(
(2 4 6 8)
(4 16 10 6)
(10 12 8 6)
(12 14 2 8)
(14 16 4 2)
);
}
outlet
{
type cyclic;
neighbourPatch inlet;
faces
(
(3 5 7 9)
(17 11 7 5)
(11 13 9 7)
(13 15 3 9)
(15 17 5 3)
);
}
walls
{
type wall;
faces
(
(10 11 17 16)
(10 11 13 12)
(12 13 15 14)
(14 15 17 16)
);
}
);
mergePatchPairs
(
);
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5.x |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format binary;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
3
(
inlet
{
type cyclic;
inGroups 1(cyclic);
nFaces 3600;
startFace 534400;
matchTolerance 0.0001;
transform unknown;
neighbourPatch outlet;
}
outlet
{
type cyclic;
inGroups 1(cyclic);
nFaces 3600;
startFace 538000;
matchTolerance 0.0001;
transform unknown;
neighbourPatch inlet;
}
walls
{
type wall;
inGroups 1(wall);
nFaces 4000;
startFace 541600;
}
)
// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type cyclic;
}
outlet
{
type cyclic;
}
walls
{
type noSlip;
}
}
// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.1.0 |
| \\ / A nd | Web: http://www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1;
vertices
(
(-0.7 -0.7 0) //0
(-0.7 0.7 0) //1
(0.7 0.7 0) //2
(0.7 -0.7 0) //3
(-0.7 -0.7 6) //4
(-0.7 0.7 6) //5
(0.7 0.7 6) //6
(0.7 -0.7 6) //7
);
blocks
(
//Pipe blocks
hex (5 6 7 4 1 2 3 0) (20 20 42) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
inletOutlet
{
type cyclic;
faces
(
(4 5 6 7)
(3 2 1 0)
);
}
walls
{
type patch;
faces
(
(2 3 7 6)
(0 1 5 4)
(0 4 7 3)
(1 2 6 5)
);
}
);
mergePatchPairs
(
);
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | foam-extend: Open Source CFD |
| \\ / O peration | Version: 4.0 |
| \\ / A nd | Web: http://www.foam-extend.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
3
(
ibCylinder
{
type immersedBoundary;
nFaces 0;
startFace 48320;
internalFlow no;
}
inletOutlet
{
type cyclic;
nFaces 800;
startFace 48320;
featureCos 0.9;
}
walls
{
type patch;
nFaces 3360;
startFace 49120;
}
)
// ************************************************************************* //
Code:
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 2.4.0 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0 0 0];
internalField uniform (0 0 1.0);
boundaryField
{
ibCylinder
{
type immersedBoundary;
refValue uniform (0 0 0);
refGradient uniform (0 0 0);
fixesValue yes;
setDeadCellValue yes;
deadCellValue (0 0 0);
value uniform (0 0 0);
}
inletOutlet
{
type cyclic;
}
walls
{
type slip;
}
}
// ************************************************************************* //
The immersed boundary should not be the problem here, since a similar setup with separate inlet and outlet conditions do in fact produce a parabolic velocity profile. So I am led to believe that the problem lies in the cyclic boundary condition. Am I setting up the cyclic boundary condition correctly for foam-extend? Any great ideas? Br. Ville |
|
|
|
|
|
|
|
|
#2 |
|
New Member
Thang
Join Date: Apr 2019
Posts: 5
Rep Power: 8 ![]() |
Do you find the answer yet ?
|
|
|
|
|
|
|
|
|
#3 |
|
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 13 ![]() |
Hi,
What is driving your flow? You will need a friving force. In OpenFOAM you could use and averageVelocity source in fvOptions. In foam-extend a pressure jump over the cyclic boundary should do. Haven't tested, but if you only have cyclic, it will eventually stop flowing as the inertia is eaten up by friction. |
|
|
|
|
|
![]() |
| Tags |
| cyclic boundary condition, foam extend 4.0 |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Using createPatch and cyclicAMI in FOAM Extend to create periodicbox | manuc | OpenFOAM Running, Solving & CFD | 1 | April 12, 2022 12:36 |
| Setting up cyclic boundary condition | KateEisenhower | OpenFOAM Pre-Processing | 6 | January 11, 2017 18:17 |
| Cyclic Boundary Condition Errors? | nyflyer | OpenFOAM Running, Solving & CFD | 2 | April 26, 2016 15:14 |
| Basic Nozzle-Expander Design | karmavatar | CFX | 20 | March 20, 2016 09:44 |
| [blockMesh] BlockMesh FOAM warning | gaottino | OpenFOAM Meshing & Mesh Conversion | 7 | July 19, 2010 15:11 |