**please read if you want to be able to read your existing restart files!**
...are now supported. It is not required to serialize the mesh to write a
restart file from a parallel mesh during an application run. Similarly, it
is possible to read a restart file onto an EquationSystems object and mesh
which are not serial.
The new format is visually identical to the old one with two important
differences:
(1) there is a version line at the beginning of the file, and
(2) the ordering of the output vectors is different.
If you want to read an old restart file use the --read_legacy_restart_format
command-line option. Only the new format is written.
The key to doing this was to come up with a partition-agnostic DOF ordering
which could be used to write the same file independent of the partitioning.
I have chosen to use the libHilbert space-filling-curve keys to produce this
ordering.
The approach is as follows:
(1) take the distributed mesh and compute partition-agnostic
DofObject::id()s for the nodes/elements using the Hilbert keys.
(2)
for each system
for each variable in the system
for a block of nodes
for each node in the block of nodes
read/write the solution for this block in hilbert-indexed order
end
end
for a block of elems
for each elem in the block of elems
read/write the solution for this block in hilbert-indexed order
end
end
end
end
The blocking allows a single file to be written through processor 0
independent of the problem size. Of course, the performance of the write
will scale with the single-node I/O. (there is an easy parallel option
which could be added.)
The hilbert indexing is what enables the partiton-agnostic IDs, which in
turn enable a file written on N processors to be restarted on M processors.
Now, currently the hilbert indices are temporarily stored in the
DofObject::id() locations. This requires overwriting the valid numbering
with an invalid numbering and then restoring the original. I thought about
it for a while and chose this approach over adding a DofObject::global_id()
or something like that, although that may be something to consider for the
future.
Thoughts?
-Ben
-------------------------------------------------------------------------
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel