mesh refinement on top of existent mesh?
Hi, all,
Is there anyway I can refine my mesh based on the existent mesh? For example, I now have 100x100 cells and now I want 200x200 cells. If I simply doubled the nodes of edges in GAMBIT (or put the size of the cell a quater of previous), it seemed I could get what I want; but actually GAMBIT removed the previous mesh and regenerate it all over again. This is not what I want. What is the difference then? Well, if I want a very very fine mesh, i.e., 1000x1000 cells for 1x1cm^2, GAMBIT won't create a uniform mesh with each cell of 1e10m^2; some cells are slightly different. I guess this is because of finite floatpoint computations in GAMBIT. I am thus thinking if I can mesh the domain 10x10 first, then refine it to 100x100 on top of it, then to 1000x1000, in the hope I can guantee to obtain an exactly uniform mesh. Anyway I can do it with GAMBIT? If not with GAMBIT itself, what else can I do? Thanks for suggestions! jx 
Re: mesh refinement on top of existent mesh?
Have you tried using the grid adaption option in Fluent. Take the 100 x 100 grid you have in Gambit and after you have imported it into Fluent do a region adaption and you should be able to make it 200 x 200.

Re: mesh refinement on top of existent mesh?
If you use grid adaption of FLUENT, remember that grid adaption is based on the current solution, so not necessarily you'll obtain a 200x200 uniform grid, if you start from a 100x100 mesh.
Hi :) ap 
Re: mesh refinement on top of existent mesh?
As ap points out, the grid adaption mesh refinement is based on solution. However, that is *not* what I want. I want precise positioning of my cells which makes my UDF easier in my case. This is not a problem when the mesh is coarse, but the very fine cells are tortured probably due to the numerical truncation errors during GAMBIT meshing.
Thanks for further suggestions! 
Re: mesh refinement on top of existent mesh?
I think the only way you have to generate your grid is using GAMBIT, which manages values with 6 decimal digits by default, which means a micrometric lenght.
I don't understand what you mean when you tell "I want precise positioning of my cells which makes my UDF easier in my case". Aren't geometry and cells position macros enough for your purposes? Hi :) ap 
Re: mesh refinement on top of existent mesh?
First of all, for grid adaption you don't have to use solution dependent techniques, you can manually adapt the mesh to the size you want by marking the region you want finer mesh, and telling it the finer the mesh. So if you have a 100*100 mesh to start with, you can create 200*200 mesh by mesh adaption. Second of all, you can create the mesh in larger scale in gambit, say use m instead of cm, if not enough use 100 m for 1 cm, then scale down in fluent. This should get rid of floating point truncations. Ugur

Re: mesh refinement on top of existent mesh?
Of course I did proper scalingdown when import GAMBIT mesh into fluent (i.e., I did use much larger geometry to represent 1x1 cm^2 in GAMBIT). This does not work, however.
Previously I used a 1x9 and 10x90 to represent 0.01x0.09m^2, and I wanted a 100x900 mesh. After read your post, I tried 100x900, 1000x9000 and 10000x90000 in GAMBIT. All the five mesh topologies look the same, here are two screenshots. http://www2.eng.cam.ac.uk/~jx206/pub...bitmesh1.png, http://www2.eng.cam.ac.uk/~jx206/pub...bitmesh2.png, in which you can see the detailed cells are not exactly small squares. Also to answer ap, I want to claculate the difference between bulkmean temperature values at two vertical lines (the first is the middle line between the 4th geometrical unit and the 5th one, the second is the the middle line between 5th and 6th, i.e., I need to calculate temperature drop over the 5th unit, against the time change). If I could get exact uniform mesh, it would be easier to code my UDF. The position and grid macros surely help. In fact I am using them to get the bulkmean temperature at those lines. Just not perfect on a distorted mesh showned in the screenshots. Anyone has further idea? Is the grid adaption method generate a 100x900 mesh based on 10x90 mesh (I can get exact meshing with 10x90)? Thanks, jx 
Re: mesh refinement on top of existent mesh?
I just tried the grid adaption method I proposed to you, and it seemed to work for me. I created a 5m*5m square with 100 cells in gambit, then scaled it down to 0.05mm*0.05mm in Fluent. Still looks fine in grid display. Then I go to adaptregion, mark my entire domain, by giving the x and y min and max and then mark the region. Then selected number of levels to refine as 4, and click adapt. It created me 400 cells this time and they still look perfect. (Grid size for this one 0.0025mm*0.0025mm) Then, I did another refinement, selected levels of refine as 2 this time gave me 1600 cells, and still look perfect. (Grid size for this one is (0.00125mm*0.00125mm) And I did all this in sp solver. I guess this worth a try.
Ugur 
Re: mesh refinement on top of existent mesh?
I tried to create a square (1cm x 1cm) in GAMBIT and to mesh it using a 1000x1000 grid.
I did as follows: 1) Create the square face. 2) Mesh two edges of the square, putting 1000 nodes on both of them, with a uniform distribution. 3) Meshed the face using the map scheme. I obtained a uniform mesh in every point of the square. Did you mesh the edges before meshing the face? If not, try this way. Hi :) ap 
Re: mesh refinement on top of existent mesh?
Ugur and ap, Thanks for your help.
I also tried grid adapation method after I posted my last response yesterday (Friday), and found it worked. It was exactly like ugur described in his post today. As for ap's approach, I had no problem in obtaining a perfect mesh for a perfect square domain, for however fine mesh I had tried; but GAMBIT would not give me a perfect mesh for some other geometries other than a simple perfect square domain, for example, (1) a square domain with a smaller sqaure domain inside (representing fluid in outter area and solid inner), (2) a very flat rectangular domain (i.e., apsect ratio length/height > 20, try very fine mesh with cell aspect ratio close to 1). It is not a problem whether to mesh the edge first or not. Conclusion, the porblem is solved through the grid adaption with FLUENT for a coarse mesh created by GAMBIT. Thanks again. jx 
Re: mesh refinement on top of existent mesh?
Additionally, the grid adaption method seems only able to give 2x2 finer mesh than previous level, i.e., I could obtain, from 10x90 mesh, 20x180, 40x360, ...; but could not obtain 100x900 mesh, whatever I changed the value for "Max Level of Refine" to.

All times are GMT 4. The time now is 15:59. 