Add MultiMesh postprocessing and FDH5 dataset support#45
Merged
Conversation
add h5py and update minimal simcoon version
- add methods to convert local to global id in multi_mesh data - update dependencies (matlplotlib<3.5 no more supported)
# Conflicts: # examples/01-simple/spherical_shell_compression.py
meshChange -> mesh_change
Add documentation, minor API clarifications and behavior fixes across IO and core modules. Key changes: - environment: add meshio dependency. - constraint/distributed_load: cache load magnitude and skip re-assembly when unchanged to avoid unnecessary regeneration. - core: fix typo in Assembly docstring; Mesh now documents register_name; MultiMesh.find_elements documents unsupported name-saving; DataSet.get_data uses fill_unused_nodes=None when converting to preserve source node data. - multimeshdata: add concise docstrings for properties and helpers (active, map, keys, items, shape, ndim) to clarify semantics (operate on active submesh blocks). - util/fdh5: introduce CompressionConfig dataclass; add comprehensive docstrings and parameter validation to FDH5Writer/FDH5Reader methods; preserve submesh ordering and names when reconstructing MultiMesh to avoid silent collisions; remove large example and commented dead code. - util/xdmf_writer: add parameter docs and minor behavior tweak to only export gauss-point fields with a single GP as cell-centered attributes; various code cleanups and formatting. These changes improve usability, documentation, and correctness of IO routines and avoid unnecessary recomputation during assembly.
Add a small launch test feature at the end of all tests
…contact - small bug corrections
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds postprocessing support for
MultiMeshobjects, including meshes with several element types or several submeshes sharing the same element type.It introduces
MultiMeshDatato keep element and Gauss-point fields attached to their source submesh, extendsDataSet/MultiFrameDataSetaccess and plotting logic forMultiMesh, and adds FDH5 read/write support for raw meshes and result datasets.Main Changes
MultiMeshsubmesh access by index, element type, or submesh name.MultiMeshDatafor per-submesh element and Gauss-point data.DataSet.get_data(), plotting, history extraction, and FDH5 save/load forMultiMesh.AssemblySumresult extraction across assemblies attached to different meshes.MultiMeshplotting and global element selection.Notes
Element and Gauss-point values are stored per submesh, so duplicate element types remain distinguishable through submesh ids or names.