CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   CFX (https://www.cfd-online.com/Forums/cfx/)
-   -   Considerations about memory consuption in CFX (https://www.cfd-online.com/Forums/cfx/69888-considerations-about-memory-consuption-cfx.html)

Luk_Fiz November 8, 2009 09:59

Considerations about memory consuption in CFX
 
Hi all,
Last time I had to rapidly jump into a much bigger simulations than I was performing before. Because of that I started to more carefully consider things related to memory and resources consumptions depending on mesh. I would be very gratefull if some more experienced users can justify if this thinking manner is right:

1) CFX is node based soft. Because of that given geometry (f.e. car body) is represented more "accurately" by mesh of higher number of nodes but not higher number of elements.

2) The mesh of higher number of nodes consumes more CPU resources than mesh of smaller number of nodes, but for 2 meshes of the same number of nodes this one with higher number of elements also consumes more CPU time

3) (most important): there is a statement in manual, that for hex and quad meshes with the same number of nodes the memory consumption is about two times higher for quad mesh. Does it mean that memory consuption depends on number of elements not number of nodes? Does it depend on both?

4) So, after all, for a given geometry it is better to use hex mesh, because for the same number of elements as quad mesh (what limits the memory consumption) the hex one has far higher number of nodes what represent the surface more accurately? True of False? I neglect all the numerics about higher robustness and faster convergence of hex and so on...

I would be very gratefull is some more experienced users (in big models especially) could comment on this.

Luk

ghorrocks November 8, 2009 16:48

CFX is a node based solver. All that means is the variable values are stored at the node locations, and the control volumes are constructed around the nodes. I have no idea what you mean by your point 1.

On your point 2, the primary consideration for memory use is the number of nodes. Then a second order effect is the element types, and for a given number of nodes a hex mesh will have less memory useage than a tet mesh.

I have no idea what you mean by quad meshes in CFX. CFX does not support 2D elements.

So, yes, if you can hex mesh a geometry you will probably use less memory than the equivalent tet mesh.

But keep in mind that computer memory is cheap these days and it is often easier to buy more memory or go distributed parallel than to reduce memory consumption.

Luk_Fiz November 8, 2009 17:49

Hi,
Of course, I was thinking about tetra (3D) not quads (2D).

My idea was to compare tetra and hex meshes from the point of view of comparing memory consumption achieving as accurate geometry representation as possible. The theory states that ratio of elements/nodes for tetra is approximately 5:1 while for pure hexa is 1:1. My problem is what really "represents" the geometry: elements or nodes? It is a question if You have limited memory amount: if geometry is represented by elements than (neglecting other factors) You can easily produce tetra mesh which would have five time less nodes and consumes less CPU.
But I suspect, that in CFX which is node based the more nodes on surface the better is its representation. With this, since memory consumption is growing with rising number of elements it is better to use hexa mesh, because it has less elements (memory consumption) with the same number of nodes.

And - in the end, the memory is relatively cheap, right. But I am hitting the upper limit of RAM possible to mount on motherboard and, in fact I must buy new system If I like to expand.


Luk

ghorrocks November 8, 2009 21:23

Quote:

My problem is what really "represents" the geometry: elements or nodes?
You can't have one without the other! The nodes are assembled into elements, the elements are defined by the nodes at the corners. Together they define the geometry.

I cannot see where you are going with this line of thought. A finite volume based solver has to be either node or element based, and a given mesh could be used in either a node or element based solver. Comparing node and element based solvers is meaningless until you do a proper mesh size (and all the other factors) sensitivity analysis, and then you may find that one solver may need a finer mesh than the other to achieve the same level of mesh convergence.

Luk_Fiz November 9, 2009 02:57

Hi,
Of course that I cannot produce nodes without elements and elements without nodes but the problem is that for different meshes You have different ratios of nodes/elements.
If the solver is node based than, as You said it builds control volumes around nodes - in other words solves the equations at nodes (more or less). In my understanding, taking this, and considering the fact that also number of elements influences memory consumption than, from the point of RAM resources it could be advantageous to produce meshes with highest number of nodes and smallest possible number of elements. Such situation occures in hexa.

Am I right?

Thanks for fruitfull discussion,
Luk

ghorrocks November 9, 2009 04:43

Yes, you are correct. For a given number of nodes a hex mesh will use less memory than a tet mesh. So, everything else being equal, you would choose a hex mesh in preference to a tet mesh.


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