Positions of purely regular grids are stored compactly (i.e., a pair of floats per regular dimension). The connections are implicit. If one or more of the dimensions are irregular, then a vector for the dimension is required and a product is used to define the grid, which is also compact.

A regular grid cannot have irregular connections neither can a strict Cartesian mesh be unstructured. If it is unstructured, then you explicitly define the positions (e.f., nodes or cell centers), and you need to specific the relationship between the positions (e.g., connections or neighbors). If the grid is topologically regular, but geometrically irregular (e.g., structured or curvilinear), then you have a 3d array of 3-vectors (floats) to define the positions. The connections are implicit.

If you have any mesh for which you have cells or nodes that are to be ignored, you can use Include to indicate them as invalid. Use cull = false to maintain the grid's regularity and create an invalid positions component. This can be done by data or by position, for example (e.g., Mark->Include->Unmark). The default (cull=true) will irregularize the mesh and create a connections list. As to which will use less memory will depend on the fraction of invalid points.

All of this is outlinedin the manuals...

Inactive hide details for Jason Hicken <[EMAIL PROTECTED]>Jason Hicken <[EMAIL PROTECTED]>




          Jason Hicken <[EMAIL PROTECTED]>
          Sent by: [EMAIL PROTECTED]

          09/27/2004 02:57 PM
          Please respond to opendx-users



To: [EMAIL PROTECTED]
cc:
Subject: [opendx-users] regular grid storage


Hello,

How does Dx store a regular grid?  Does it store all of the positions
explicitly?

I am using a large regular grid (257 x 257 x 257) with irregular connections to
define an unstructured Cartesian mesh.  Hence, there are a large number of
points on the regular gird that I do not use.

I am getting "signal 11 caught" messages with 256Mb of memory, and I was just
wondering if the grid storage is the problem.  If so, is there a way to tell Dx
to ignore the unused positions without making an "invalid positions" array?

Thanks,
Jason

GIF image

Reply via email to