CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

Vented explosion simulation: issues with multi-region meshing and simulation

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 13, 2019, 08:47
Default Vented explosion simulation: issues with multi-region meshing and simulation
  #1
New Member
 
Dami Og
Join Date: May 2018
Posts: 2
Rep Power: 0
Dami is on a distinguished road
Dear Foamers,

I have been trying to mesh a multi-region for a system of two process vessels as shown in the attached image. I created and meshed the geometry in Salome, and then exported as STL from the mesh module in Salome. I meshed the STL in OpenFOAM 5.0 using snappyHexMesh. The simulation ran successfully, but the result was not what I anticipated. The explosion seems to ignore the boundary of the vessels (attached image). Instead of venting through the vent panels, it simply expanded as if there were no vessels or present. My two main questions are: (1) how can I place a vent directly on the vessel/geometry and specify that it opens when a certain pressure (release pressure) is reached within the vessel? (2) How can I make my geometry (using snappyHexMesh, multi-region meshing, or any other method) to achieve my aim? Your contributions are highly anticipated and appreciated. My snappyHexMeshDict is shown below. Thanks.



/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: 5 |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object snappyHexMeshDict;
}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

castellatedMesh true;
snap true;
addLayers false; //false


geometry
{
tank01.stl
{
type triSurfaceMesh;

regions
{
Vent_1 { name Vent_1; }
wall_1 { name wall_1; }
}
}
tank02.stl
{
type triSurfaceMesh;

regions
{
Vent_2 { name Vent_2; }
wall_2 { name wall_2; }
}
}
box_1.stl
{
type triSurfaceMesh;
name box_1;
}
box_2.stl
{
type triSurfaceMesh;
name box_2;
}
tank_1.stl
{
type triSurfaceMesh;
name tank_1;
}
tank_2.stl
{
type triSurfaceMesh;
name tank_2;
}
ref_cyl_1.stl
{
type triSurfaceMesh;
name ref_cyl_1;
}
ref_cyl_2.stl
{
type triSurfaceMesh;
name ref_cyl_2;
}
};

// Settings for the castellatedMesh generation.
castellatedMeshControls
{

// Refinement parameters
// ~~~~~~~~~~~~~~~~~~~~~
maxLocalCells 1000000;
maxGlobalCells 2000000;
minRefinementCells 10;
nCellsBetweenLevels 3;



// Explicit feature edge refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
features
(
{
file "box_1.eMesh";
level 3;
}
{
file "box_2.eMesh";
level 3;
}
{
file "tank01.eMesh";
level 1;
}
{
file "tank02.eMesh";
level 1;
}
);



// Surface based refinement
// ~~~~~~~~~~~~~~~~~~~~~~~~

refinementSurfaces
{
tank01
{
// Surface-wise min and max refinement level
level (3 3);

faceZone tank01;
cellZone tank01;
cellZoneInside inside;

regions
{
Vent_1 { level (1 1); patchInfo { type patch; }}
wall_1 { level (1 1); patchInfo { type wall; }}
}
}

tank02
{
// Surface-wise min and max refinement level
level (3 3);

faceZone tank02;
cellZone tank02;
cellZoneInside inside;

regions
{
Vent_2 { level (1 1); patchInfo { type patch; }}
wall_2 { level (1 1); patchInfo { type wall; }}
}
}
}
// Resolve sharp angles
resolveFeatureAngle 30;


// Region-wise refinement
// ~~~~~~~~~~~~~~~~~~~~~~

refinementRegions
{
box_1
{
mode inside;
levels ((1E15 4));
}
box_2
{
mode inside;
levels ((1E15 4));
}
}


// Mesh selection
// ~~~~~~~~~~~~~~
locationInMesh (0.000 0.000 0.1);
allowFreeStandingZoneFaces false;
}



// Settings for the snapping.
snapControls
{

nSmoothPatch 3;
tolerance 1.0;
nSolveIter 30;
nRelaxIter 5;
nFeatureSnapIter 10;
}



// Settings for the layer addition.
addLayersControls
{
relativeSizes true;

layers
{
tank01
{
nSurfaceLayers 3;
}
tank02
{
nSurfaceLayers 3;
}
}

// Expansion factor for layer mesh
expansionRatio 1.3;
finalLayerThickness 1;
minThickness 0.1;
nGrow 0;
featureAngle 30;
nRelaxIter 3;
nSmoothSurfaceNormals 1;
nSmoothNormals 3;
nSmoothThickness 2;
maxFaceThicknessRatio 0.5;
maxThicknessToMedialRatio 1;
minMedianAxisAngle 90;
nBufferCellsNoExtrude 0;
nLayerIter 50;
}


meshQualityControls
{
#include "meshQualityDict"

nSmoothScale 4;
//- Amount to scale back displacement at error points
errorReduction 0.75;
}
mergeTolerance 1e-6;


// ************************************************** *********************** //
Attached Images
File Type: jpg cfd_online.jpg (36.8 KB, 12 views)
File Type: jpg cfd_online_04.jpg (76.9 KB, 10 views)

Last edited by Dami; November 13, 2019 at 08:55. Reason: Added extra information.
Dami is offline   Reply With Quote

Reply

Tags
explosion, meshing, multi-region, snappyhexmesh, vent


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
CFD simulation of gas cicrcuit breaker in fluent with dynamic meshing. Mahesh7238 FLUENT 1 April 5, 2021 00:21
[ICEM] 2D meshing of tandem cylinder in VIV for dynamic simulation mhamiddi2 ANSYS Meshing & Geometry 0 May 16, 2019 05:50
[ANSYS Meshing] How to meshing multi small tubes in a large domain ?? Jamessmp23 ANSYS Meshing & Geometry 2 October 27, 2018 22:58
Bubble plume simulation, multi phase flow Artvandelay Main CFD Forum 5 August 23, 2018 03:52
Fan-assisted Natural Ventilation Simulation - Issues with results for an MRF case Tellur OpenFOAM Running, Solving & CFD 0 July 15, 2016 02:04


All times are GMT -4. The time now is 21:08.