CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Other Meshers: ICEM, Star, Ansys, Pointwise, GridPro, Ansa, ...

How to get rid of internal walls (surfaces)?

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 2 Post By vangelis

Reply
 
LinkBack Thread Tools Display Modes
Old   August 16, 2012, 07:51
Question How to get rid of internal walls (surfaces)?
  #1
New Member
 
Blaž Mikuž
Join Date: Sep 2011
Location: Ljubljana
Posts: 27
Rep Power: 5
bmikuz is on a distinguished road
Hello everyone,

I have the problem with internal surfaces in the mesh, because I don't know what BC to specify there (I tried cyclic but it didn't worked). These internal surfaces are supposed to be part of the fluid and not real physical walls. So, i want to get rid of them. Is it possible to join the internal surfaces with the rest of internalMesh?

To be more specific, the mesh was made with ICEM. Internal surfaces were introduced only for making special blocks which have different shapes and mesh densities. The mesh was stored in a fluent format and imported to OpenFoam with fluent3DMeshToFoam command. Now, I have also patches of these internal surfaces in the constant/polyMesh/boundary file but I want to get rid of them.

What do you suggest me to do? Thanks in advance!
bmikuz is offline   Reply With Quote

Old   August 16, 2012, 17:45
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,312
Blog Entries: 34
Rep Power: 84
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings bmikuz,

This is a rather old page, but hopefully you can figure out how to do this in the latest OpenFOAM versions: http://openfoamwiki.net/index.php/Ho...internal_walls

Feel free to add more information to it if you can figure out how to do it in modern OpenFOAM versions.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   August 17, 2012, 03:25
Default
  #3
New Member
 
Blaž Mikuž
Join Date: Sep 2011
Location: Ljubljana
Posts: 27
Rep Power: 5
bmikuz is on a distinguished road
Thank you for your respond, Bruno. I already checked this web page, which is not the thing I'm looking for. If I understand correctly, these instructions are made for creating two one-sided walls from a double-sided wall. If I do this I still have internal walls in the fluid domain, but what I want is to get rid of them. I don't want to have these walls in the fluid because I don't know what BC to specify there. They are not physical walls - they are just approximate borders of boundary layers in a fluid.
bmikuz is offline   Reply With Quote

Old   August 18, 2012, 04:06
Default
  #4
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,312
Blog Entries: 34
Rep Power: 84
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Without a test case, I can't experiment myself. But from your description, it looks like you want to remove baffles... well, you might need to convert that wall into baffles first.

Quoting from here: http://www.openfoam.com/features/mesh-manipulation.php
Quote:
mergeOrSplitBaffles Detects faces that share points (baffles). Either merge them or duplicate the points
Additionally, there's this thread on a similar subject: Remove internal patch(es)

If you can provide a small test case, it would be easier for other members of this forum to test this as well .
wyldckat is offline   Reply With Quote

Old   August 21, 2012, 08:22
Default
  #5
New Member
 
Blaž Mikuž
Join Date: Sep 2011
Location: Ljubljana
Posts: 27
Rep Power: 5
bmikuz is on a distinguished road
Your information was very useful. mergeOrSplitBaffles solved the problem. Thank you!
bmikuz is offline   Reply With Quote

Old   December 4, 2013, 07:31
Default
  #6
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
hi bmikuz,

how did you do to remove the internal patches using mergeOrSplitBaffles?
could you please explain to me.

thanks,
nash
nash is offline   Reply With Quote

Old   December 4, 2013, 09:49
Default
  #7
New Member
 
Blaž Mikuž
Join Date: Sep 2011
Location: Ljubljana
Posts: 27
Rep Power: 5
bmikuz is on a distinguished road
Hi nash,

in my case the mergeOrSplitBaffles command somehow did what I want, but there is no guarantee that it will work on every mesh.
I found out that this command does not effect only mesh but also BCs files in 0 directory! So, the 0 directory must have been prepared in the case directory before mergeOrSplitBaffles command was applied.

I did some research and found out that this command does not remove the "internal" patches (which belong to internal surfaces) from boundary file (in constant/polyMesh/boundary). In the boundary file, the nFaces at all "internal" patches were changed to 0, but the patches themselves were not deleted. Consequently the BCs were needed also for internal surfaces, which doesn't make sense but this was done automatically by the command if 0 directory was prepared before executing the mergeOrSplitBaffles command. For example the velocity's BC fixedValue uniform (0 0 0) was changed to nonuniform 0(). I don't know the details but I presumed that in this case the program recognized that there was no internal surface anymore and so it ignored that BC...

I hope that this will help you.
bmikuz is offline   Reply With Quote

Old   December 4, 2013, 12:21
Default
  #8
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
but i think my problem is a bit different.
i got internal faces which are non-conformal.
i think i need to use AMI but not so sure since my case doesnt involve dynamic mesh.

the mesh is from ANSA, after converting it to openfoam the internal faces are detected as wall by openfoam.
the are actually overlapping , quad and tetra mesh.
Attached Images
File Type: jpg non-conformal.jpg (40.9 KB, 19 views)
nash is offline   Reply With Quote

Old   December 5, 2013, 03:52
Default
  #9
Senior Member
 
Tom Fahner
Join Date: Mar 2009
Location: Delft, Netherlands
Posts: 224
Rep Power: 10
tomf is on a distinguished road
Send a message via MSN to tomf Send a message via Skype™ to tomf
Hi nash,

Indeed you can change the patch type in the boundary file to cyclicAMI. Just look at one of the AMI tutorials for the correct syntax. Of course you need to keep the ANSA written nFaces and startFace entries.

AMI is not just for dynamic mesh, it is used in case of non-conformal interfaces.

Good luck.
tomf is offline   Reply With Quote

Old   December 5, 2013, 07:27
Default
  #10
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
hi tom,

thanks for the reply. I look at the tutorial and the implementation is with createBaffles which i think in my case is not necessary since i already have them in my boundary (patches)

Code:
interface_02_side_tetra_layer_rotor
    {
        type            wall;
        nFaces          4044;
        startFace       19593687;
    }
    interface_01_side_tetra_layer_rotor
    {
        type            wall;
        nFaces          10734;
        startFace       19597731;
.
.
.
.

 interface_02_side_quad_layer_rotor
    {
        type            wall;
        nFaces          13384;
        startFace       19748052;
    }
    interface_01_side_quad_layer_rotor
    {
        type            wall;
        nFaces          37037;
        startFace       19761436;
    }
.
.
.
.

    }
can you help me how to change it to AMI?
the quad need to be matched with tetra.

thanks
-nash-
nash is offline   Reply With Quote

Old   December 5, 2013, 07:46
Default
  #11
Senior Member
 
Tom Fahner
Join Date: Mar 2009
Location: Delft, Netherlands
Posts: 224
Rep Power: 10
tomf is on a distinguished road
Send a message via MSN to tomf Send a message via Skype™ to tomf
Hi,

If you look at the mixerVesselAMI 2D case, run it and look at the boundary file you can find the following:

Code:
    AMI1                                                                                                                                                     
    {                                                                                                                                                        
        type      cyclicAMI;                                                                                                                           
        inGroups        1(cyclicAMI);                                                                                                                        
        nFaces          96;                                                                                                                                  
        startFace       6240;                                                                                                                                
        matchTolerance  0.0001;                                                                                                                              
        transform       noOrdering;                                                                                                                          
        neighbourPatch  AMI2;                                                                                                                                
    }                                                                                                                                                        
    AMI2                                                                                                                                                     
    {                                                                                                                                                        
        type            cyclicAMI;                                                                                                                           
        inGroups        1(cyclicAMI);                                                                                                                        
        nFaces          96;                                                                                                                                  
        startFace       6336;                                                                                                                                
        matchTolerance  0.0001;                                                                                                                              
        transform       noOrdering;                                                                                                                          
        neighbourPatch  AMI1;
    }
I think you can work with this example and modify it for your case,

regards,
Tom
tomf is offline   Reply With Quote

Old   December 5, 2013, 07:58
Default
  #12
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
should it be cyclicAMI or just AMI?

thanks
-nash-
nash is offline   Reply With Quote

Old   December 5, 2013, 08:59
Default
  #13
Senior Member
 
Tom Fahner
Join Date: Mar 2009
Location: Delft, Netherlands
Posts: 224
Rep Power: 10
tomf is on a distinguished road
Send a message via MSN to tomf Send a message via Skype™ to tomf
It needs to be cyclicAMI, I do not think AMI is a valid patch type.
tomf is offline   Reply With Quote

Old   December 5, 2013, 09:04
Default
  #14
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
Code:
AMI_02_side_tetra_layer_rotor
 {
   type      cyclicAMI;                                             
   inGroups        1(cyclicAMI);
   nFaces          4044;
   startFace       19593687;
   matchTolerance  0.0001;
   transform       noOrdering;                                          
   neighbourPatch  AMI_02_side_quad_layer_rotor;  
 }
 AMI_01_side_tetra_layer_rotor
 {

   type      cyclicAMI;                                             
   inGroups        1(cyclicAMI);
   nFaces          10734;
   startFace       19597731;
   matchTolerance  0.0001;
   transform       noOrdering;                                          
   neighbourPatch  AMI_01_side_quad_layer_rotor;
 }

...........


AMI_02_side_quad_layer_rotor
 {
   type            cyclicAMI;
   inGroups        1(cyclicAMI);
   nFaces          13384;
   startFace       19748052;
   matchTolerance  0.0001;
   transform       noOrdering;                                          
   neighbourPatch  AMI_02_side_tetra_layer_rotor;
 }
 AMI_01_side_quad_layer_rotor
 {
   type            cyclicAMI;
   inGroups        1(cyclicAMI);
   nFaces          37037;
   startFace       19761436;
   matchTolerance  0.0001;
   transform       noOrdering;                                          
   neighbourPatch  AMI_01_side_tetra_layer_rotor;
 }
is this ok?

what else should i edit/add before i can run the simulation using simpleFoam?

thanks
regards,
Nash
nash is offline   Reply With Quote

Old   December 5, 2013, 09:17
Default
  #15
Senior Member
 
Tom Fahner
Join Date: Mar 2009
Location: Delft, Netherlands
Posts: 224
Rep Power: 10
tomf is on a distinguished road
Send a message via MSN to tomf Send a message via Skype™ to tomf
Yes it looks ok at first glance. Just test it and look at the usually informative error report if something is wrong.

You only need to edit the files in the 0 time folder accordingly. Please look at the tutorials, there they have all the examples. I think you will learn more by looking at them and trying to understand what is going on than asking for help step by step on the forum.

Regards,
Tom
tomf is offline   Reply With Quote

Old   December 5, 2013, 09:19
Default
  #16
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
yup i have looked at them. i will give it a try.
thanks again
nash is offline   Reply With Quote

Old   December 5, 2013, 09:52
Default
  #17
Senior Member
 
Vangelis Skaperdas
Join Date: Mar 2009
Location: Thessaloniki, Greece
Posts: 163
Rep Power: 9
vangelis is on a distinguished road
Hi there

Just wanted to add that you can define the cyclicAMI
bc type inside ANSA.

Go to DECK>AUXILIARIES>INTERFACE
Select NEW, type AMI
and set in the card the two PIDs that form the non conformal interface
and keep default type noOrdering

Vangelis
tomf and nash like this.
vangelis is offline   Reply With Quote

Old   December 5, 2013, 16:24
Default
  #18
Member
 
Join Date: Aug 2013
Posts: 50
Rep Power: 3
nash is on a distinguished road
Quote:
Originally Posted by vangelis View Post
Hi there

Just wanted to add that you can define the cyclicAMI
bc type inside ANSA.

Go to DECK>AUXILIARIES>INTERFACE
Select NEW, type AMI
and set in the card the two PIDs that form the non conformal interface
and keep default type noOrdering

Vangelis
Thanks.. It works and lots easier
nash is offline   Reply With Quote

Reply

Tags
internal bc's, mesh adaption

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Boundary Patch definition on Thin Surfaces / Internal Walls in SnappyHex Hannes_Kiel OpenFOAM Native Meshers: snappyHexMesh and Others 4 August 27, 2013 01:06
Thin Surfaces / internal Walls in SnappyHex - Problem with patch allocation Hannes_Kiel OpenFOAM 0 September 6, 2011 06:28
Internal Walls balkrishna OpenFOAM Native Meshers: blockMesh 4 July 22, 2011 01:54
Internal Walls in Hex hagupta CFX 4 June 7, 2006 09:09
Internal surfaces for post-processor. cfd guy CFX 3 November 19, 2002 15:52


All times are GMT -4. The time now is 04:46.