|
[Sponsors] |
[mesh manipulation] create a new boundary patch on an existing boundary |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
June 29, 2017, 10:32 |
create a new boundary patch on an existing boundary
|
#1 |
Senior Member
Gajendra Gulgulia
Join Date: Apr 2013
Location: Munich
Posts: 144
Rep Power: 13 |
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?? |
|
July 8, 2017, 12:04 |
|
#2 |
Senior Member
Gajendra Gulgulia
Join Date: Apr 2013
Location: Munich
Posts: 144
Rep Power: 13 |
solved the problem.
used setSet and createPatch for making the small inlet patch on an existing boundary patch. |
|
July 27, 2017, 15:35 |
|
#3 |
New Member
Martin
Join Date: Oct 2013
Location: Newcastle
Posts: 21
Rep Power: 13 |
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 |
|
April 6, 2021, 02:48 |
|
#4 |
New Member
Join Date: Jul 2013
Posts: 8
Rep Power: 13 |
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! |
|
September 6, 2021, 08:23 |
|
#5 | |
Member
Bushra Rasheed
Join Date: Dec 2020
Posts: 97
Rep Power: 5 |
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! |
||
December 13, 2024, 09:12 |
|
#6 |
New Member
Join Date: Jul 2011
Posts: 15
Rep Power: 15 |
it should be cellSet not feceSet in topoSetDict
|
|
Tags |
cellset |
|
|
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 |