-
Notifications
You must be signed in to change notification settings - Fork 116
Parallel periodic extruded adaptivity
This page describes the current restrictions in combining the following four items of functionality:
- Parallel
- Periodic meshes
- Extruded meshes (2+1D, 1+1D)
- Adaptivity
For P1-P1 runs this old sam functionality. For all others this depends on ironing out all bugs related to our use of Zoltan. As far as I know, all bugs reported in 2D have been fixed. 3D parallel adaptivity is known to be broken? (Jon is this correct?)
This is (serial, non-periodic) 2+1D and 1+1D adaptivity. Working correctly. Could do with a few more tests.
Singly periodic is working well (again some more tests would be good). Doubly (or more) periodic has turned out to be a hard problem. Some serious work is needed to get this implemented if anyone is interested.
Appears to work in both 1+1D and 2+1D (AJM)
Appears to work (apart from with the python diagnostic on CX1 but that's another issue ;-) AJM)
This is functional, tested and described in the manual.
The restrictions mentioned above (zoltan for parallel adaptivity and double periodic) of course still apply here as well.
This one actually works! See the periodic_2plus1_parallel test case, in particular the periodic_2plus1_parallel.xml. Also documented in the manual (AJM). I have also made a script (not committed) which manually periodises the 3D flml as you do not need to do the full periodise on it, can discuss whether this is useful or too specific (AJM)
Also works, see periodic_2plus_adaptivity test. Not extensively tested afaik (skramer).
This requires quite some work in the parallel adaptivity iterations, and the zoltan wrappers. If interpolation is to remain local, the extrusion needs to be repeated within each iteration of the parallel adaptivity loop, so that fields can be interpolated between the extruded old and new mesh. For data migration, zoltan not only needs to redistribute the nodes and elements of the horizontal mesh (this is always the start as the decomposition needs to remain columnar), but after that also needs to redistribute the fields on extruded meshes.
Update 2 Sep '10: this has now been implemented by CianW, but there still appear to be issues with the quality of the load balancing (and therefore perhaps of the mesh quality through domain locking).
This still needs a lot of work. We need to think how it should be done in the first place. An idea would be to, instead of the moving front algorithm used in serial, use the parallel adaptivity iteration to move the locked periodic boundary region away. Either the global periodic boundary is always made to coincide with inter-domain boundaries, or local domains that have disconnected parts across the periodic boundary, locally reconstruct a connected domain to apply adaptivity to.