|
[Sponsors] | |||||
[mesh manipulation] create a new boundary patch on an existing boundary |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|
|
#1 |
|
Senior Member
Gajendra Gulgulia
Join Date: Apr 2013
Location: Munich
Posts: 144
Rep Power: 14 ![]() |
Hello FOAMers
I am trying to create a new boundary say for example of a square size of 0.2*0.3 mm in the middle of an existing wall boundary of size 2.5*2.5 mm. The geometry is too complicated already (it's a combustion chamber) and also i am required to demonstrate the usage of various tools and utilities of OpenFoam than just simple blockMesh and hence I don't want to create more blockMesh What I wish to do is to create a new boundary patch called inlet on the existing mesh. what i think is using setSet command after defining cellSet in the systems directory. But I have no idea how to do it! Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name inlet; //name of the new patch??
action new; //?
topoSetSources ( boxToCell { box ( x1 y1 z1 ) ( x2 y2 z2) ; } ); //no idea what boxToCell is or topoSetSources is??
|
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
Gajendra Gulgulia
Join Date: Apr 2013
Location: Munich
Posts: 144
Rep Power: 14 ![]() |
solved the problem.
used setSet and createPatch for making the small inlet patch on an existing boundary patch. |
|
|
|
|
|
|
|
|
#3 |
|
New Member
Martin
Join Date: Oct 2013
Location: Newcastle
Posts: 21
Rep Power: 14 ![]() |
Hi, I am trying something similar here, could you explain what you did exactly as i struggle to find out how to best use these utilities.
I want to take a slice on my bottom wall and give it a specific boundary condition. The mesh is existing already, what steps do i need to do to create a slice of certain thickness on the bottom wall? Hope you can point me to the right way here Best wishes Martin |
|
|
|
|
|
|
|
|
#4 |
|
New Member
Join Date: Jul 2013
Posts: 8
Rep Power: 14 ![]() |
Below steps worked for me in creating a new patch from an existing patch, without recreating the mesh.
General overview:
Detailed steps:
Example system/topoSetDict file Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
// BCWALL_FLOWSLEEVE_EXT
{
name inletFaceSet; //name of the new set to be created
type faceSet; // is it a cellSet or faceSet?
action new; // is it new or appending?
source boxToFace; // extracting faces from the defined box
sourceInfo // box details
{
box (0.00014 -0.08 -0.03) (0.001 -0.034 0.03); //Fine adjustments are need to extract faces alone from desired face. Tip: Load the surface in paraview, and get the x-bounds correctly.
}
}
);
Now, assigning the newly created faceSet as a patch boundary. This is done using createPatch. Example system/createPatchDict file: Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object createPatchDict;
}
pointSync false;
// Patches to create.
patches
(
{
name INLET_NEW; // Name of new patch to be created
patchInfo
{
type patch; // is it a patch or wall? polyMesh/boundary file will be updated accordingly.
}
constructFrom set;
// If constructFrom = set : name of faceSet
set inletFaceSet; // name of the set created in topoSet
}
);
There is an alternate process suggested in Splitting the Boundaries. The issue I encountered with this approach was that I could not save an STL as the boundary faces contained largely hex cells. Error message said that 'only triangles can be saved as an STL'. Hope this helps. Happy foaming! |
|
|
|
|
|
|
|
|
#5 | |
|
Member
Bushra Rasheed
Join Date: Dec 2020
Posts: 97
Rep Power: 6 ![]() |
Quote:
My topoSet and createPatch files are: TopoSet: actions ( { name f0; type faceSet; action new; /* source boxToFace; box (-0.2 -0.2 0)(0.2 0.2 0.001);*/ source cylinderToCell; p1 (0 0 0); p2 (0 0 -0.5); radius 4; } ); CreatePatch: pointSync false; // Patches to create. patches ( { // Name of new patch name inlet; // Type of new patch patchInfo { type patch; } // How to construct: either from 'patches' or 'set' constructFrom set; // If constructFrom = patches : names of patches. Wildcards allowed. patches ("periodic.*"); // If constructFrom = set : name of faceSet set f0; } ); Thanks! |
||
|
|
|
||
|
|
|
#6 |
|
New Member
Join Date: Jul 2011
Posts: 15
Rep Power: 16 ![]() |
it should be cellSet not feceSet in topoSetDict
|
|
|
|
|
|
![]() |
| Tags |
| cellset |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| y+ and u+ values with low-Re RANS turbulence models: utility + testcase | florian_krause | OpenFOAM | 114 | August 23, 2023 06:37 |
| Radiation in semi-transparent media with surface-to-surface model? | mpeppels | CFX | 11 | August 22, 2019 08:30 |
| Error finding variable "THERMX" | sunilpatil | CFX | 8 | April 26, 2013 08:00 |
| RPM in Wind Turbine | Pankaj | CFX | 9 | November 23, 2009 05:05 |
| Convective Heat Transfer - Heat Exchanger | Mark | CFX | 6 | November 15, 2004 16:55 |