Skip to content

Multiple rod io #180

Open
Open
@fankiat

Description

@fankiat

CosseratRodIO currently does not support multiple rod IO. The user instead has to create an IO object for each rod in order to properly render each rod as a rod in Paraview, with separate xmf files for each rod. A preliminary workaround was to append all the nodes of Cosserat rods into a single array, and then add the array as lagrangian field into base IO, altogether bypassing the need for CosseratRodIO. This is slightly undesirable since the rendering in Paraview will render the rods as points and not as polylines.

Instead, the add_as_lagrangian_fields_for_io() function in the base IO class should handle multiple rods (i.e multiple grids) just like how add_as_eulerian_fields_for_io() handles multiple fields (albeit on the same grid). CosseratRodIO can then leverage that and add rods to the IO as needed, resulting in only one file for paraview rendering.

I will push an updated patch of this implementation in sopht-mpi (taking care of the parallel hdf5 writing). This should provide a better idea on how we can refactor and merge MPIIO to the base IO in sopht as planned in #146

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions