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

how do I create multiRegion interface addressing (faceRegionAddressing etc.)?

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

Like Tree1Likes
  • 1 Post By hajott

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 25, 2015, 09:35
Default how do I create multiRegion interface addressing (faceRegionAddressing etc.)?
  #1
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Hello,
I am setting up a multiRegion case similar to the multiRegionHeater tutorial for chtMultiRegionFoam (OF2.3).
But I am creating the individual regions separately with blockMesh and cannot use splitMeshRegions as it is done in the tutorial.

The faces of the coupled patches are congruent, and I know which face on one side is coupled to which face on the other side of each patch. I have to construct the files constant/<regionx>/polyMesh/{point,face,cell,boundary}RegionAddressing.

Is there any documentation about the format of these files?
Or a description, how I can generate them, knowing the patch-to-patch coupling?

Thank you
Hajo
hajott is offline   Reply With Quote

Old   February 25, 2015, 17:21
Default
  #2
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
Look at the heat exchanger tutorial
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   February 26, 2015, 04:38
Default
  #3
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Thank you for suggesting the heatExchanger tutorial.

However, this tutorial first splits the mesh into rotor blades and surrounding air and then uses "createBaffles" to define interfaces on the internal patches.

I have two separate meshes, which touch at one (or more) common patches. I don't see, how I can apply createBaffles on these two meshes, where the patches to be connected are boundary patches to the two individual meshes.
Utkan likes this.
hajott is offline   Reply With Quote

Old   February 26, 2015, 07:35
Default
  #4
Member
 
Thiago Parente Lima
Join Date: Sep 2011
Location: Diamantina, Brazil.
Posts: 61
Rep Power: 14
thiagopl is on a distinguished road
Hi hajott,

I didn't understand yet the problem related to your specific geometry. I'm facing some problems with chtMultiRegion.
Could you please post some skecth of your geometry?
__________________
Fields of interest: buoyantFoam, chtMultRegionFoam.
thiagopl is offline   Reply With Quote

Old   February 26, 2015, 09:34
Default
  #5
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Dear Thiago,
I cannot show the actual geometry, but I attach a sketch to better describe the situation. We have a subdivision of a reactangular volume into three parts with some complicated boundary from one part to the next.

I have three blockMeshDicts to describe the Anode geometry (solid), the Cathode geometry (solid) and the fluid geometry. These blockMeshDicts are extremely complicated, so that I cannot merge them in a single blockMeshDict - they have been generated years ago using a (no longer existing) automatic tool, and I would go crazy if I wanted to join matched vertices and renumber all hexes and patches.

My question is how I can generate the faceRegionAddressing and similar files that are needed to run coupled simulations as chtMultiRegionFoam. Do you have a solution? Maybe one could first merge the three geometries while keeping the information which are the interface patches, if such a tool exists. Then one could again use splitMeshRegions in the same way as done in the multiRegionHeater tutorial. But I have no idea how to perform the merging step.
Attached Images
File Type: png sketch.png (12.7 KB, 126 views)
hajott is offline   Reply With Quote

Old   February 26, 2015, 15:22
Default
  #6
Member
 
Thiago Parente Lima
Join Date: Sep 2011
Location: Diamantina, Brazil.
Posts: 61
Rep Power: 14
thiagopl is on a distinguished road
Hi hajott,

Now I understand but I don't have a solution unfortunately.
__________________
Fields of interest: buoyantFoam, chtMultRegionFoam.
thiagopl is offline   Reply With Quote

Old   February 26, 2015, 16:42
Default
  #7
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
If your meshs are conformal i have a solution.I have a test case I can send you on
Saturday. It uses block mesh -region
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   February 27, 2015, 04:34
Default
  #8
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Dear Derek,
this would be very kind.
What is meant by "conformal"? The three meshed volumes have "congruent" patches, such that for example adjacent patches X at the Anode side and patch Y at the fluid side have exactly the same geometry (vertex positions of each patch face of X and Y are identical) although I am not sure if the topology (ordering of the faces per patch) is identical on both sides. However, if the face ordering is not the same, I think I could write a tool to correct this. I will check.

Thank you
Hajo
hajott is offline   Reply With Quote

Old   February 28, 2015, 11:37
Default
  #9
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
Quote:
Originally Posted by hajott View Post
Dear Derek,
this would be very kind.
What is meant by "conformal"? The three meshed volumes have "congruent" patches, such that for example adjacent patches X at the Anode side and patch Y at the fluid side have exactly the same geometry (vertex positions of each patch face of X and Y are identical) although I am not sure if the topology (ordering of the faces per patch) is identical on both sides. However, if the face ordering is not the same, I think I could write a tool to correct this. I will check.

Thank you
Hajo
Conformal:
each cell face in the patch in one region should match exactly the cell face in the patch of the adjoining region
here is the case - very simple: two regions, two blockmesh files
Attached Files
File Type: zip regiontest.zip (22.7 KB, 70 views)
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   February 28, 2015, 14:07
Default
  #10
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Dear Derek,
I don't see how your example solves my question. Your scripts Allrun and Allrun.pre first generate a blockMesh, then define cellZones to cut the mesh in regions and finally use splitMeshRegions to generate the subMeshes and the interface patches. This is exactly the same procedure as the multiRegionHeater, which I have mentioned above doesn't help in my case:

I already HAVE different meshes for the different regions (Anode, Cathode and fluid in my sketch above). These meshes with their interface patches ARE conformal. But I CANNOT apply your procedure, because I don't have a topoSetDict that explains how the regions are cut out of the whole domain and how to create the boundary patches.

Do you still have a solution to my question?
hajott is offline   Reply With Quote

Old   February 28, 2015, 15:12
Default
  #11
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
Quote:
Originally Posted by hajott View Post
Dear Derek,
I don't see how your example solves my question. Your scripts Allrun and Allrun.pre first generate a blockMesh, then define cellZones to cut the mesh in regions and finally use splitMeshRegions to generate the subMeshes and the interface patches. This is exactly the same procedure as the multiRegionHeater, which I have mentioned above doesn't help in my case:

I already HAVE different meshes for the different regions (Anode, Cathode and fluid in my sketch above). These meshes with their interface patches ARE conformal. But I CANNOT apply your procedure, because I don't have a topoSetDict that explains how the regions are cut out of the whole domain and how to create the boundary patches.

Do you still have a solution to my question?
I uploaded the wrong case
here is the correct one. The previous one "regiontest" was the basis for the two blockmesh version that you require i.e. regiontest2
Attached Files
File Type: zip regiontest2.zip (42.3 KB, 51 views)
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   March 3, 2015, 09:49
Default
  #12
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Which OpenFOAM version do you use?
I have a segmentation fault in the faceAgglomerate step with OF2.3.1.

Are you sure this is the case that you wanted to send? There is a topoSetDict, but it is never used. Moreover, there are two regions (heater and bottomAir). The bottomAir ist fully contained in heater. They are not two regions that touch each other. How does this make sense?
hajott is offline   Reply With Quote

Old   March 3, 2015, 20:14
Default
  #13
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
Quote:
Originally Posted by hajott View Post
Which OpenFOAM version do you use?
I have a segmentation fault in the faceAgglomerate step with OF2.3.1.

Are you sure this is the case that you wanted to send? There is a topoSetDict, but it is never used. Moreover, there are two regions (heater and bottomAir). The bottomAir ist fully contained in heater. They are not two regions that touch each other. How does this make sense?
on Openfoam 2.3.1 it worked perfectly for me ,but i hadnt tested in parallel. I hadnt cleaned out every redundant file.
The two regions touch in a patch, they work together, they transfer heat , it illustrates the methods required but is not based on a real scenario.
other anomalies exist .e.g/ bottomair isnt on the bottom...

I had built this test case quickly specially to help you understand the technique, it obviously does not fit your requirements as it has not been completely cleaned up.
I have now cleaned it up so there are no more confusing files or geometry and called the air region top air
Attached Files
File Type: zip regiontest3.zip (36.7 KB, 47 views)
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   March 4, 2015, 05:58
Default
  #14
New Member
 
Join Date: Feb 2014
Posts: 24
Rep Power: 12
hajott is on a distinguished road
Thank you for updating the geometry.
I have still a segmentation fault in faceAgglomerate.

Maybe there is something wrong with my OpenFOAM installation. I will try to find the problem in the debugger.

Anyway, the faceAgglomerate utility seems to be sufficient to create the face-to-face addressing that I have been asking for, so that I can consider my problem solved when I find the reason for the crash.

Thank you!
Hajo
hajott is offline   Reply With Quote

Old   March 6, 2015, 07:32
Default
  #15
Senior Member
 
Derek Mitchell
Join Date: Mar 2014
Location: UK, Reading
Posts: 172
Rep Power: 12
derekm is on a distinguished road
Quote:
Originally Posted by hajott View Post
Thank you for updating the geometry.
I have still a segmentation fault in faceAgglomerate.

Maybe there is something wrong with my OpenFOAM installation. I will try to find the problem in the debugger.

Anyway, the faceAgglomerate utility seems to be sufficient to create the face-to-face addressing that I have been asking for, so that I can consider my problem solved when I find the reason for the crash.

Thank you!
Hajo
i trust you know faceagglomerate crashes with hanging pointer if nFacesInCoarsestLevel is not set high enough in ViewfactorsDict
and that a bug in ViewfactorGen has recently been fixed to allow setting of maxDynListLength
__________________
A CHEERING BAND OF FRIENDLY ELVES CARRY THE CONQUERING ADVENTURER OFF INTO THE SUNSET
derekm is offline   Reply With Quote

Old   December 24, 2018, 03:15
Default
  #16
Member
 
Emad Tandis
Join Date: Sep 2010
Posts: 77
Rep Power: 15
EmadTandis is on a distinguished road
Quote:
Originally Posted by hajott View Post
Thank you for updating the geometry.
I have still a segmentation fault in faceAgglomerate.

Maybe there is something wrong with my OpenFOAM installation. I will try to find the problem in the debugger.

Anyway, the faceAgglomerate utility seems to be sufficient to create the face-to-face addressing that I have been asking for, so that I can consider my problem solved when I find the reason for the crash.

Thank you!
Hajo



Hello Hajot
I am not sure that my problem is like yours. I have two meshes with a interface (regionCoupling patch) whose faces match together. But their addressing are not correct. for exmaple patch1 on mesh 1 and patch2 on mesh2 are region coupling type whose shadowPatch() functions refer to each other. But:
patch1.Cf()[i]=patch1().shadowPatch().Cf()[k]
I need to change addressing in order to have match faces on both side (i=k)


I hope I could convey my problem. If so, have you found any solution?
EmadTandis is offline   Reply With Quote

Old   April 10, 2019, 12:32
Default
  #17
New Member
 
Gaoqiang Yang
Join Date: Apr 2018
Posts: 13
Rep Power: 7
shanyeyun is on a distinguished road
Hi, I have send you a message. Don't know if you have solved the problem.
I have the same issue need to be solved.
shanyeyun is offline   Reply With Quote

Reply

Tags
addressing, boundary, chtmultiregionfoam, multiregion

Thread Tools Search this Thread
Search this Thread:

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
sliding mesh problem in CFX Saima CFX 46 September 11, 2021 08:38
fluent Note: zone-surface: cannot create surface from sliding interface zone sachinip FLUENT 4 November 12, 2014 11:00
Radiation interface hinca CFX 15 January 26, 2014 18:11
how to create interface mass transfer, henry's law Idtisak CFX 0 April 25, 2008 17:53
Convective Heat Transfer - Heat Exchanger Mark CFX 6 November 15, 2004 16:55


All times are GMT -4. The time now is 01:58.