* Added WriteExodusII method to the Mesh; added exodus_writer cpp file; updated cmakelists.
* Added test_exodus_writer file for Exodus II writer unit tests.
* Setting title, num_dim, num_elem.
* Added function to generate Exodus II element blocks from MFEM mesh.
* Added a function to generate sideset information from an MFEM mesh.
* Added function to get num_nodes for an MFEM mesh.
* Writing coordinates to file.
* Rewritten GenerateExodusIIElementBlocksFromMesh to make use of element attributes.
* Now defining some element block parameters.
* Added WriteNodeConnectivityForBlock; fixed naming of one of the variables.
* Fixed naming for number of nodes per element variable.
* Added function to write sideset boundary IDs to file.
* Added function to write block IDs.
* Added incomplete functiono "GenerateExodusIISidesetsFromMesh" which generates key information about each boundary which can then be written to the file.
* Now also writing the number of elements for each sideset.
* Updated Exodus II writer to write boundary element IDs and side IDs to file.
* Corrected the side_ids_for_boundary_id mapping.
* Rewritten function to generate Exodus II boundary info.
* Fixed incorrect dimensions passed to nc_def_var.
* Added line length and version number info.
* Added header information.
* Removed NETCDF_4 flag (not supported by some programs). Manually setting nc_enddef and nc_redef.
* Added info for timesteps, updated file size info, added info for block element types.
* Added dummy variable to get-around bug in libMesh which prevents the x-coordinate from being read.
* Added ExodusII writer Hex8 test case.
* Updated exodus_writer to handle Tet4.
* Added Tet4 test case and a comparison test function.
* Fixed incorrect variable name.
* Added MFEM to ExodusII side map for Hex8.
* Added Tet4 test ExodusII file.
* Added Wedge6 support to ExodusII writer.
(cherry picked from commit 9412dac5c4dde84732d2f8e82787eac3f9e48906)
* Added ExodusII Wedge6 test case.
(cherry picked from commit 0e69f28a5f357fc44d22f52b1cd5f7a63e492b2b)
* Added Pyramid5 support.
(cherry picked from commit 679b1e4c3f9298513627d27ea130b5e87b80350c)
* Added Pyramid5 test case.
(cherry picked from commit 2f90b786a0228892f76f926af5e0fe04ab741977)
* Commented-out Wedge6 and Pyramid5 tests since the files cannot be read until ReadCubit is updated in a separate PR.
* Removed unused dimension definition; Added support for writing mixed first-order meshes.
(cherry picked from commit 4c111d6f9198f418d32df98fd5e711455f73170a)
* Commented-out test cases that cannot be run with existing ReadCubit ExodusII reader.
* STarted writing a class to encapsulate writing.
* Converted functions to methods in class.
* Removed mesh argument from methods.
* Added CreateEmptyFile, WriteTitle and WriteNumOFElements methods.
* Added database/api versions, floating point word size, max line/name lengths.
* writing element block parameters now handled in class method.
* Sideset information now stored inside class.
* writing nodal variables is now done in a method.
* Add functionality now added to class.
* Added a DefineDimension wrapper around nc_def_dim.
* Added DefineVar wrapper method.
* Added a static method for writing to a file.
* Reordered methods.
* Updated documentation.
* Added safety check to ensure mesh is first-order.
* Added PutVar wrapper method.
* Added PutAtt method.
* Replaced nc_put_att_text.
* Moved nc_redef and nc_enddef into methods.
* WriteNodalCoordinates is now a single method.
* Added DefineAndPutVar method to simplify code.
* Added a macro to check NetCDF status.
* Added a GenerateLabel method.
* Added global named C string labels.
* Updated documentation; merged methods.
* Merged methods for writing boundary info.
* WriteElementBlocks now contains all methods related to this.
* Moved ExodusII file information writer methods into a new method.
* Moved all mesh writer methods into new method.
* Added safety check method.
* Reordered globals; updated documentation; switched set to unordered_set.
* Added test case for Tet10; added additional dofs checks.
* Added handling of second-order Tet (Tet10) elements to exodus writer.
* Updated the "elem_type" names.
* Added Hex27 support to writer.
* Added Hex27 test.
* Added support for Wedge18.
* Added mapping for Pyramid14 (cannot test until reader is able to handle higher-order pyramids).
* Added test files; added additional unit tests.
* Added test comments.
* Commented-out mixed second-order writer test since current reader cannot handle multiple element types.
* Addresses compiler warnings.
* Updated documentation.
* Minor changes to increase readability.
* Updated changelog.
* Address build issue.
* Address compiler warning for unused function used in the unit tests.
* Moves "WriteExodusII" further down to live with the Print methods.
* Renamed "WriteExodusII" to "PrintExodusII" to be consistent.
* Moves ExodusII labels into their own namespace to avoid polluting mfem namespace.
* Temporary mesh output files are now placed in current directory.
* Removes temporary output meshes to avoid false positives.
* Adding Exodus II output option to mesh-explorer
* make style
* Moves ExodusII test meshes into mfem/data directory.
* Fixes minor typo for GenerateExodusIIElementBlocks documentation.
* Adds a check to confirm that the nodes correspond to a 2nd order H1 space.
* Moves CheckNodalFESpaceIsSecondOrderH1 implementation to bottom.
* Applies style.
* Removes unneeded semi-colon from ExodusIILabels namespace.
* Moves side map arrays into ExodusIISideMaps labels.
Avoids polluting mfem namespace.
* Moves node ordering maps into ExodusIINodeOrderings namespace.
Ensures that mfem namespace is not polluted.
* Removes documentation from #define to fix failing check.
* Revert "Removes documentation from #define to fix failing check."
This reverts commit 39bc2ce836.
* Removes Doxygen documentation from #define to hopefully fix failing test.
* Fixes an issue where the writer failed on interior boundaries.
This initial fix skips internal boundaries. These are not added and a warning is printed indicating which interior boundaries have been skipped.
* Removes mesh test files.
* ExodusII write tests now use mfem/data repository.
* Adds ExodusII test tag.
* Removes varaible underscore prefixes.
* Applies style.
* Uses Generate macro to avoid test duplication.
* Adds link to libMesh issue.
---------
Co-authored-by: Edward Palmer <edward.palmer@ukaea.uk>
Co-authored-by: Tzanio Kolev <tzanio@llnl.gov>
Co-authored-by: Stowell, Mark L <stowell1@llnl.gov>