omega_h icon indicating copy to clipboard operation
omega_h copied to clipboard

Mixed mesh

Open joshia5 opened this issue 5 years ago • 5 comments

This work is towards handling mixed meshes in Omega_h. The capabilities implemented are:

  • Reading a mixed mesh from a simmetrix format to Omega_h in serial
  • Derivation, storage and query of all possible first order adjacency information
  • Writing a mixed mesh from Omega_h to a vtu file in serial
  • Add, query and remove 'tags'

Some APIs focusing on writing 'tags' to vtu file, and transferring classification information from input mesh to Omega_h are included as work in progress.

/cc @ibaned Please let me know any comments or suggestions.

joshia5 avatar Jun 18 '20 21:06 joshia5

This is a lot of work! Do we expect every existing Omega_h use case to still work with these changes? If so I'm going to go ahead and verify that our simulation code still runs.

ibaned avatar Jun 19 '20 16:06 ibaned

Just found the first issue: in general, we try not to require Kokkos in Omega_h (in the past Kokkos didn't build on Windows and Omega_h needed to). This line in Omega_h_vtk.cpp:

Kokkos::deep_copy(lastVal,Kokkos::subview(ends_t.view(),ends_t.size()-1));

Should be replaceable with this line:

lastVal = ends_t.last();

Assuming that lastVal is an output and not an input...

Could you please:

  1. Remove explicit use of Kokkos
  2. resolve the conflict GitHub is pointing out in Omega_h_adj.cpp

ibaned avatar Jun 19 '20 16:06 ibaned

Thank you for the comments. The Kokkos explicit use issue, the conflicts in 'Omega_h_adj.cpp' have been resolved, and all the existing Omega_h use cases are expected to work with these changes.

joshia5 avatar Jun 19 '20 21:06 joshia5

Thank you! The library compiles now, but the mixed_mesh test doesn't compile. Could you make sure that the mixed_mesh test is not compiled if Omega_h_USE_SimModSuite=OFF?

ibaned avatar Jun 22 '20 15:06 ibaned

Done. Thank you!

joshia5 avatar Jun 22 '20 20:06 joshia5