CFD Online Logo CFD Online URL
Home > Forums > OpenFOAM Running, Solving & CFD

Has the adpativemesh feature be implemented in FOAM

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

LinkBack Thread Tools Display Modes
Old   January 5, 2005, 23:08
Default If no, I want to built it. So
Luckyluke (Luckyluke)
Posts: n/a
If no, I want to built it. Somebody will give me advice? I am a newbie.
  Reply With Quote

Old   January 6, 2005, 03:34
Default Heya (BTW, I prefer real name
Hrvoje Jasak (Hjasak)
Posts: n/a
Heya (BTW, I prefer real names, there's no reason to hide your identity here)

Yup, I have done it in 1995-6 - see my Thesis for details. It has been done on a shape-based mesh, it's been very hard and it lived a remarkably long time. However, it's dead now but it has caused me to develop the polyMesh approach foam is now using.

polyMesh now supports topological mesh changes and the rest of the code is written to automatically handle it, i.e. do the field mapping and such like automatically. There still may be some top-level issues, but have a look at icoTopoFoam to see how it's done.

Writing your own mesh refinenemt should now be very comfortable. There is a set of 9 primitive operations you can do on the mesh:

add/modify/remove point/face/cell

Based on these, you shoud specify your topological mesh change based on the above primitive operations, pack it into a polyTopoChange and the rest is easy. BEWARE: nobody at this level will check that the change you introduce makes any sense, i.e. you are allowed to do whatever you like. If the result is not a valid mesh, the code will fall over.

polyMeshModifiers, like attact/detach boundaries, layer addition/removal and sliding interfaces are all implemented using this approach. If you are serious about doing this, you will need to study IN DETAIL (!!! don't tell me I didn't warn you) the dynamic mesh library. I would pick up layer addition/removal or attach/detach and study the code until I really understand what is going on before proceeeding.

May I also recommend my excellent (and cleaned up) error estimation tools, also available in foam. :-)

There is a bunch of mesh manipulation tools which use a new approach - have a look at OpenFOAM-1.0/applications/utilities/mesh/advanced

Good luck,


P.S. There is a lot of comments in my code and this kind of stuff is very difficult to explain in a news group. Please read the code and comments in detail before asking questions.
  Reply With Quote

Old   January 6, 2005, 07:10
Default Thank you for your kindness,J
Luckyluke (Luckyluke)
Posts: n/a
Thank you for your kindness,Jasak. In your thesis, you have simulated a supersonic flow using the adaptive refinement feature.Can you give me a example of sovler with adaptive mesh?Am I greedy? If that, I am sorry..
My mother language is not english and I could not precisely understand the comments in code and the other documents. Sigh.
  Reply With Quote

Old   January 6, 2005, 11:15
Default Hi Luke, you might want to
Henry Weller (Henry)
Posts: n/a
Hi Luke,

you might want to have a look at aforementioned mesh utilities (utilities/mesh/) and in particular manipulation/refineMesh which refines a mesh by cell splitting.

  Reply With Quote

Old   January 6, 2005, 19:50
Default In the solving velocity proce
Vatant (Vatant)
Posts: n/a
In the solving velocity procedure in interFoam module, surfaceScalarField UBLendingfactor is being introduced. I tried to figure out the reason behind creating such a scalar field but am unclear about it. Why does it appear in the Ueqn.h procedure?
  Reply With Quote

Old   January 11, 2005, 08:21
Default Hi Vatant The "(fieldName)
Eugene de Villiers (Eugene)
Posts: n/a
Hi Vatant

The "(fieldName)BlendingFactor" field is a top level specification of the blending coefficient field for the "localBlended" convection differencing scheme.

To put it more plainly, if you want to use the "localBlended" meta-scheme, to blend say the Gamma and central differencing schemes, you have to specify the the local blending factor at each face in the domain. When used, the "localBlended" scheme will search the database for a surfaceScalarField called to "(fieldName)BlendingFactor", where "(fieldName)" corresponds to the name of the convected property. Being able to specify this blending factor in the top level code gives you an enormous amount of flexibility in terms of its distribution at the cost of some generality.

In the case of interFoam, I calculate the UblendingFactor such that it is close to one at the interface (i.e. where the VOF fraction is neither 0 nor 1). Thus I can use the more bounded and stable gamma2V differencing scheme for the momentum convection at the fluid-fluid interface and the more accurate central differencing scheme away from this area.

This approach is especially useful in LES where energy conserving differencing schemes are essential, but accuracy sometimes needs to be compromised locally to maintain the boundedness of the solution. I have also used this approach to run LES calculations on extremly bad meshes by locally blending CD and Gamma schemes depending on mesh quality and CFL numbers.

Hopefully I will get around to producing some documentation for this feature in the not to distant future.

  Reply With Quote


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
GammaContactAngle not implemented coastal593 OpenFOAM Running, Solving & CFD 5 November 9, 2010 06:21
Convective Schemes how are they implemented nicasch OpenFOAM Running, Solving & CFD 1 November 4, 2010 09:47
Where is gSum implemented cosimobianchini OpenFOAM Running, Solving & CFD 0 September 19, 2007 12:35
Understanding implemented PISO stephan OpenFOAM Running, Solving & CFD 0 January 28, 2006 12:11
Is it implemented the QUICK scheme in the CFX? Viana CFX 2 January 23, 2006 06:08

All times are GMT -4. The time now is 23:43.