|
[Sponsors] |
February 12, 2019, 10:01 |
Cyclic boundary condition in foam-extend 4.0
|
#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 |
|
June 28, 2019, 07:49 |
|
#2 |
New Member
Thang
Join Date: Apr 2019
Posts: 5
Rep Power: 7 |
Do you find the answer yet ?
|
|
March 3, 2020, 09:03 |
|
#3 |
Member
Torsten Schenkel
Join Date: Jan 2014
Posts: 69
Rep Power: 12 |
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 |
|
|
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 |