|
[Sponsors] |
August 19, 2014, 22:44 |
Modelling a Released Gate
|
#1 |
New Member
Join Date: Jul 2014
Posts: 4
Rep Power: 12 |
Hello everyone,
I have an issue related to modelling a gate being released. A screenshot of the setup is attached: In the picture, you can see a flume with a "gate" in the middle. The gate obviously is holding water on the left side. The gate has pivot around its bottom and drop to the right. (Alright, I know the gate is really thick now; this is just a simple example that I created. Please bear with me.) The setup is utilizing interDyMFoam in OpenFOAM 2.2.1. I ran a test without moving any mesh. Water holds in the flume without lowering the water level. So far so good. To move the gate, I did some research online and found out dynamicMotionSolverfvMesh cound move meshes. I played with it for awhile and typed the following dynamicMeshDict: Code:
FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dynamicFvMesh dynamicMotionSolverFvMesh; motionSolverLibs ("libfvMotionSolvers.so"); solver displacementLaplacian; displacementLaplacianCoeffs{ diffusivity inverseDistance 1(movingWalls); } When the gate tilted right, elements near the top-right corner of the gate was being squeezed. On the screen output of interDyMFoam, the Courant number went to 50+. That's bad news. I realized that elements must be added on the left side and removed on the right side of the gate. movingConeTopoFvMesh seems to be a good candidate, as it provides layerAdditionRemoval. Here are the files related: dynamicMeshDict: Code:
FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object dynamicMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // motionSolverLibs ("libfvMotionSolvers.so"); dynamicFvMeshLibs 1("libtopoChangerFvMesh.so"); dynamicFvMesh movingConeTopoFvMesh; movingConeTopoFvMeshCoeffs { motionVelAmplitude (0.3 0 0); motionVelPeriod 10; leftEdge 0; leftObstacleEdge 1.375; rightObstacleEdge 1.625; // left // { // minThickness 2e-4; // maxThickness 5e-4; // } right { minThickness 1e-4; maxThickness 2e-4; } } // ************************************************************************* // Code:
FoamFile { version 2.0; format ascii; class dictionary; location "constant"; object meshModifiers; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 1 ( right { type layerAdditionRemoval; faceZoneName movingWallsRightFaceSet; minLayerThickness 0.0001; maxLayerThickness 0.0002; oldLayerThickness 1; active on; } // left // { // type layerAdditionRemoval; // faceZoneName movingWallsLeftFaceZoneSet; // minLayerThickness 0.00002; // maxLayerThickness 0.00005; // oldLayerThickness 0; // active true; // } ); // ************************************************************************* // Code:
FoamFile { version 2.0; format ascii; class dictionary; object topoSetDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // actions ( { name movingWallsRightFaceSet; type faceSet; action new; source patchToFace; sourceInfo { name movingWalls; } } { name movingWallsRightFaceZoneSet; type faceZoneSet; action new; source setToFaceZone; sourceInfo { faceSet movingWallsRightFaceSet; } } ); // ************************************************************************* //
Here's the errors on my screen: Code:
$ interDyMFoam /*---------------------------------------------------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.2.1 | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ Build : 2.2.1-57f3c3617a2d Exec : interDyMFoam Date : Aug 19 2014 Time : 18:40:08 Host : "n0537" PID : 21514 Case : /gscratch/motley/hkwong92/OpenFOAM/myTsunamiCases/rotatingWall-movingConeTopoFvMesh nProcs : 1 sigFpe : Floating point exception trapping - not supported on this platform fileModificationChecking : Monitoring run-time modified files using timeStampMaster allowSystemOperations : Disallowing user-supplied system call operations // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0 Selecting dynamicFvMesh movingConeTopoFvMesh Initial time:0 Initial curMotionVel_:(0 0 0) void movingConeTopoFvMesh::addZonesAndModifiers() : Zones and modifiers already present. Skipping. #0 Foam::error::printStack(Foam::Ostream&) in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" #1 Foam::sigSegv::sigHandler(int) in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" #2 in "/lib64/libc.so.6" #3 Foam::faceZone::operator()() const in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libOpenFOAM.so" #4 Foam::movingConeTopoFvMesh::movingConeTopoFvMesh(Foam::IOobject const&) in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libtopoChangerFvMesh.so" #5 Foam::dynamicFvMesh::addIOobjectConstructorToTable<Foam::movingConeTopoFvMesh>::New(Foam::IOobject const&) in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libtopoChangerFvMesh.so" #6 Foam::dynamicFvMesh::New(Foam::IOobject const&) in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/lib/libdynamicFvMesh.so" #7 Foam::regIOobject::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/bin/interDyMFoam" #8 __libc_start_main in "/lib64/libc.so.6" #9 Foam::regIOobject::writeObject(Foam::IOstream::streamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/gscratch/motley/shared/OpenFOAM/OpenFOAM-2.2.1/platforms/linux64IccDPOpt/bin/interDyMFoam" Segmentation fault Any thoughts on how the gate can be dropped to the right? Thanks. |
|
June 13, 2016, 06:21 |
|
#2 |
Senior Member
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 240
Rep Power: 17 |
Hi, you probably solved it by now. But in case someone is interested: Use topology changing meshes, like movingConeTopoFvMesh for example like here: https://www.youtube.com/watch?v=Bw13GyFSiSc
or, if it is only about the release without details of flow around the gate, use bodyForces (acceleration force that makes your fluid in cells that lie within your gate move with the same velocity as that part of thne gate) you add into the momentum equation of your solver (You then have to compile your own solver then, but that's a good thing anyway). |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
error message | cuteapathy | CFX | 14 | March 20, 2012 07:45 |
OpenFOAM 1.7.0 Released | opencfd | OpenFOAM Announcements from ESI-OpenCFD | 1 | May 26, 2011 04:09 |
OpenFOAM Version 1.6 Released | opencfd | OpenFOAM Announcements from ESI-OpenCFD | 0 | July 27, 2009 18:55 |
Advice on multi-phase flow modelling | Martin | Main CFD Forum | 3 | October 14, 2008 06:16 |
sluice gate by VOF | Gian, S. | CFX | 1 | September 28, 2006 00:08 |