CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > CFX

CFX Mesh Deformation problem

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

Reply
 
LinkBack Thread Tools Display Modes
Old   October 15, 2010, 06:36
Default CFX Mesh Deformation problem
  #1
New Member
 
Join Date: Oct 2010
Posts: 29
Rep Power: 6
Silmaril is on a distinguished road
Hi, I'm new in this forum.
I have a problem with mesh deformation in a rather fine grid of a valve.

Is the first time I use mesh deformation and after doing the tutorial I tried to set up my problem accordingly in ANSYS CFX 12 (all mesh deformation parameters are as in default condition).

The mesh is completely hexaedral, the initial gap of the piston head is 0.1 mm (total stroke 8 mm) with 10 layers leading to quite a big refinement in the region near the gap. all the surfaces except for the piston head and piston stem are set to stationary, piston head has specified motion and the stem unspecified motion.

After few time steps the mesh quality fall and finally the calculation crashes due to some degenerate element. I post-processed the results looking for how the mesh is deforming and a picture can be viewed in the attachement. I think that the mesh quality will improve a lot if I can tell the code to deform the mesh as suggested by the red arrows (in the attachment). Anyone knows how can I do this, or do you have any suggestion on how the problem can be solved?

Thanks in advance
Attached Images
File Type: jpg AirValve_GridDeformation_New.jpg (84.3 KB, 182 views)
Silmaril is offline   Reply With Quote

Old   October 15, 2010, 09:57
Default
  #2
Senior Member
 
Michael P. Owen
Join Date: Mar 2009
Posts: 195
Rep Power: 8
michael_owen is on a distinguished road
Use distinct subdomains and specify the mesh motion individually using CEL. This dictates the precise motion of all mesh nodes, not just surface notes. You may also want to consider sliding GGI interfaces.
michael_owen is offline   Reply With Quote

Old   October 18, 2010, 05:25
Default
  #3
New Member
 
Join Date: Oct 2010
Posts: 29
Rep Power: 6
Silmaril is on a distinguished road
Do you know if there is any example or tutorial to start with? The grid size is about 2 million nodes but the "problematic" part is smaller, do you think it is better to split the grid in different sub-domains and "manually" set the mesh only in few sub-domains?

Thanks
Silmaril is offline   Reply With Quote

Old   October 18, 2010, 06:14
Default
  #4
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,831
Rep Power: 85
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
Definitely, yes. If you can manually define the motion it is far better than using the global mesh smoothing method.

You may also wish to use GGI interfaces to create sliding interfaces. These can often be better than letting the mesh distort to join mesh sections when you have linear motions like poppet valves and pistons.
ghorrocks is offline   Reply With Quote

Old   October 18, 2010, 11:18
Default
  #5
New Member
 
Join Date: Oct 2010
Posts: 29
Rep Power: 6
Silmaril is on a distinguished road
I tried to find some more or less detailed guide in the manual on how to set manually the motion, but havn't find any .
Do you know if there is such an information on the CFX 12 help? Do I have to change all the coordinate of each node every timestep in some file like the cfx5 file imported from ICEM for the grid or something similar?

Another possible solution that came to my mind is to set the nodes on a surface to have a motion only on such surface (not normal to it) so as to let the nodes "moves around" on the fixed surface, is it a possible feature in the code?
Silmaril is offline   Reply With Quote

Old   October 18, 2010, 17:49
Default
  #6
Super Moderator
 
Glenn Horrocks
Join Date: Mar 2009
Location: Sydney, Australia
Posts: 10,831
Rep Power: 85
ghorrocks has a spectacular aura aboutghorrocks has a spectacular aura aboutghorrocks has a spectacular aura about
You cannot define boundary nodes to stay on a surface, but move around on that surface.

The only way to fully specify mesh motion is with user fortran. Michael suggests that defining a region a subdomain allows you to define the motion of all nodes with CEL, I have not tried that. So that is two options.
ghorrocks is offline   Reply With Quote

Old   October 19, 2010, 05:33
Default
  #7
New Member
 
Join Date: Oct 2010
Posts: 29
Rep Power: 6
Silmaril is on a distinguished road
Does anyone have some fortran routine for moving nodes that can share just to have an example to start with?

Thanks
Silmaril is offline   Reply With Quote

Old   October 19, 2010, 10:00
Default different approach
  #8
New Member
 
Till
Join Date: Oct 2010
Posts: 12
Rep Power: 6
tillx is on a distinguished road
I have run into similar problems and ended up setting up a separate mesh for each timestep. I did this just by duplicating a satisfying mesh with the current parameters, updating the geometry from CAD and then tweaking the parameters to optimize the mesh for the new geometry. Once all meshes are setup in workbench, its easy to relink them with CFX for each timestep in workbench and update the solve. I'm sure that can be further automatized that the consecutive meshes are automatically uploaded at each timestep. I'm just not there yet. Works great with even the most complex geometry changes in a rotary piston engine.
Nevertheless, a drawback seems to be that with that approach the mesh interpolator does not follow the continuous mass assumption in the changing mesh since new nodes are introduces each timestep rather then existing nodes relocated, I assume. For an expansion cycle I could solve that by using a negative total mass flow in the continuity setup of a subdomain. For the respective total mass flow for each timestep I use a nested if() array with the volumes of each current and previous mesh I preset from the CAD data. That makes convergence much more stable it seems. The mass outflow is then just the volume difference between meshes multiplied by volumeInt(Density). The results can be double checked by summing the Mass Flow at the interfaces of each timestep and comparing with volumeInt(Density) of the final timestep.
In the compression cycle this approach now looks a bit more complicated as it seems that I have to add mass with continuity values that match the ones existing ones. I'm currently waiting for feedback myself on that issue. Hope that helps.
tillx is offline   Reply With Quote

Reply

Tags
cfx12, mesh deformation

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
2D Mesh Generation Tutorial for GMSH aeroslacker Open Source Meshers: Gmsh, Netgen, CGNS, ... 12 January 19, 2012 04:52
external flow with snappyHexMesh chelvistero OpenFOAM 11 January 15, 2010 20:43
CFX mesh inflantation problem zona CFX 3 January 9, 2010 02:02
Mesh deformation in CFX 12.0 Tonny CFX 5 October 30, 2008 17:04
fluent add additional zones for the mesh file SSL FLUENT 2 January 26, 2008 12:55


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