>Hi,
>
>we are using OpenDX on Linux an Solaris to visualize FEM
>solutions. Normaly, we do hp FEM on hierarchical grids, ie. we
>have unstructured grids and on each cell of the grid a different
>number of points were the solution has to be plotted. Therefore,
>I chose "multigrid" in the data files and each member of the
>multigrid is a cell in the FEM grid.
>
>For testing purposes, I created a FEM grid with 262144 elements,
>each with the solution only evaluated in the corners. The file
>has a size of about 115 MB.
>
>Running dx on this file is quite tedious, since it takes a lot
>of memory. Giving 200 MB to dx is not enough:
>


More useful than seeing the net would be to see a small or representative
portion of the data file you are trying to Import.

If I read the above correctly you have a multigrid in which each member is
one cell of your grid. That sounds like a bad idea. Can you not create a
grid of many cells, each of which carries the same type of data? Then you
make the multigrid out of the several grids. Even better, why not use
invalid positions to mask off the points in one common grid that do not
carry a particular data value. That way, you only need define the grid
positions/connectivity once, then refer to those two components multiple
times while attaching individual invalid positions and data components to
make new fields. Roughly:

object 1....define your positions for all points
object 2... define your connections
object 3... if needed, define a different connections set based on object
1's positions (so you don't need to duplicate the positions array)

object 10...define the first data array, let's say pressure
object 11...define the invalid positions array that masks off the points in
object 1 that do not carry pressure (byte value of 1 is "invalid", 0 is
valid)

object 100.. field 1
component 1 positions
component 2 connections
component 10 data
component 11 invalid positions

object 20. define the next data array, let's say temperature
object 21...define the invalid positions that mask off points without
temperature

object 200... field 2
component 1 positions
component 2 connections  (or 3 connections if they differ)
component 20 data
component 21 invalid positions

object 1000. multigrid
member 0 field 1
member 1 field 2

See the documentation for precise syntax above.

Does this seem useful? When you Import, you'll import everything (the
multigrid) then need to Select members by index number to operate on them
individually. If this stills blows out memory, then don't define the
multigrid: just define individual fields as separate dx files and Import
one at a time. But I don't really think you should have a problem loading
260K members into 200Mb memory even though obviously things expand
(positions are 3D floats, so 24 bytes per position, etc.).

Chris Pelkie
Vice President/Scientific Visualization Producer
Conceptual Reality Presentations, Inc.
30 West Meadow Drive
Ithaca, NY 14850
[EMAIL PROTECTED]

Reply via email to