|
[Sponsors] |
How to implement time-varying boundary conditions in an enclosed cylinder |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
May 14, 2020, 07:29 |
How to implement time-varying boundary conditions in an enclosed cylinder
|
#1 |
New Member
Alejandro
Join Date: May 2020
Posts: 1
Rep Power: 0 |
Hi, I've been working with OpenFOAM for the past few weeks. The goal of my project is to simulate a viscoelastic fluid in a closed cylinder, in which the top and bottom face are moving up and down with a sinusoidal and coherent motion (when the bottom face moves up, the top face goes up too, and vice versa). You could think that the bottom face is moved by a motor, and that the top face is connected to the bottom one.
Said so, I'm having trouble establishing the appropriate pressure boundary conditions. So far, my blockMeshDict looks like this: Code:
/*--------------------------------*- C++ -*----------------------------------*\ ========= | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 7.0 | | \\ / A nd | Website: https://openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; radius 0.025; radiusNeg -0.025; box 0.010; boxNeg -0.010; zMax 0.50; zMin -0.50; nR 7; nZ 20; verbose no; geometry { cylinder { // Axis point at the start i Axis point at the end i Cylinder radius type searchableCylinder; point1 (0 0 -1); point2 (0 0 1); radius $radius; } } // Scaling factor for the vertex coordinates scale 1; // List of vertex coordinates vertices ( // Inner ($boxNeg $boxNeg $zMin) ($box $boxNeg $zMin) ($boxNeg $box $zMin) ($box $box $zMin) // Outer block points project ($radiusNeg $radiusNeg $zMin) (cylinder) project ($radius $radiusNeg $zMin) (cylinder) project ($radiusNeg $radius $zMin) (cylinder) project ($radius $radius $zMin) (cylinder) // Inner ($boxNeg $boxNeg $zMax) ($box $boxNeg $zMax) ($boxNeg $box $zMax) ($box $box $zMax) // Outer block points project ($radiusNeg $radiusNeg $zMax) (cylinder) project ($radius $radiusNeg $zMax) (cylinder) project ($radiusNeg $radius $zMax) (cylinder) project ($radius $radius $zMax) (cylinder) ); // Ordered list of vertex labels and mesh size // ($nR $nR $nZ) numbers of cells in each direction // simpleGrading cell expansion ratios //The shape is always hex since the blocks are always hexahedra. blocks ( // Arc 3D inferior hex ( 4 5 1 0 12 13 9 8) ($nR $nR $nZ) simpleGrading (1 1 1) // Arc 3D esquerra hex ( 4 0 2 6 12 8 10 14) ($nR $nR $nZ) simpleGrading (1 1 1) // Arc 3D dret hex ( 1 5 7 3 9 13 15 11) ($nR $nR $nZ) simpleGrading (1 1 1) // Arc 3D superior hex ( 2 3 7 6 10 11 15 14) ($nR $nR $nZ) simpleGrading (1 1 1) // Rectangle interior hex ( 0 1 3 2 8 9 11 10) ($nR $nR $nZ) simpleGrading (1 1 1) ); edges ( project 4 5 (cylinder) project 7 5 (cylinder) project 6 7 (cylinder) project 4 6 (cylinder) project 12 13 (cylinder) project 13 15 (cylinder) project 12 14 (cylinder) project 14 15 (cylinder) ); boundary ( inlet { type patch; faces ( (0 1 5 4) (1 3 7 5) (2 6 7 3) (0 4 6 2) (0 2 3 1) ); } outlet { type patch; faces ( (8 12 13 9) (9 13 15 11) (10 11 15 14) (8 10 14 12) (8 9 11 10) ); } walls { type wall; faces ( (4 5 13 12) (4 12 14 6) (5 7 15 13) (6 14 15 7) ); } ); mergePatchPairs ( ); // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ ========= | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 7.0 | | \\ / A nd | Website: https://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 uniformFixedValue; uniformValue sine; uniformValueCoeffs { amplitude 0.00742; scale (0 0 1); frequency 5.9; start 0; level (0 0 0); } } outlet { type uniformFixedValue; uniformValue sine; uniformValueCoeffs { amplitude 0.00742; scale (0 0 1); frequency 5.9; start 0; level (0 0 0); } } walls { type noSlip; } } // ************************************************************************* // Code:
/*--------------------------------*- C++ -*----------------------------------*\ ========= | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 7.0 | | \\ / A nd | Website: https://openfoam.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class volScalarField; object p; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [0 2 -2 0 0 0 0]; internalField uniform 0; boundaryField { inlet { type fixedFluxExtrapolatedPressure; } walls { type zeroGradient; } outlet { type fixedFluxExtrapolatedPressure; } } // ************************************************************************* // Is there something that I'm doing wrong? Should not the pressure have an oscillating behavior on both faces? If anyone has any idea of how I could implement the aforementioned system and what I am doing wrong, I would very much appreciate it. (By the way, I am using rheoTool in order to implement a viscoelastic Giesekus fluid: https://github.com/fppimenta/rheoTool). |
|
Tags |
boundary conditions, closed volume, pressure bc, rheotool, time-varying bc |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Other] Contribution a new utility: refine wall layer mesh based on yPlus field | lakeat | OpenFOAM Community Contributions | 58 | December 23, 2021 03:36 |
AMI speed performance | danny123 | OpenFOAM | 21 | October 24, 2020 05:13 |
CFD analaysis of Pelton turbine | amodpanthee | CFX | 31 | April 19, 2018 19:02 |
Question about adaptive timestepping | Guille1811 | CFX | 25 | November 12, 2017 18:38 |
An error has occurred in cfx5solve: | volo87 | CFX | 5 | June 14, 2013 18:44 |