-
Notifications
You must be signed in to change notification settings - Fork 261
[IO] Enhance IO class by adding support for reading master-slave constraints and geometries from sub-model parts (transition to extend Metis geometries/constraint support)) #13304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@RiccardoRossi you can review this first, is a very small case |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i am not into this ... is @pooyan-dadvand iterating this with you?
Yes |
I have two general comments on this PR:
|
You mean to focus only in the extrictely necessary?
I can some, but other not beacause we already defined in the io.h some methods with that name. I can rename them too if you agree. |
Yes methods are used. |
* @param rConstraintIds Set to store master-slave constraint IDs. | ||
* @param rGeometriesIds Set to store geometry IDs. | ||
*/ | ||
virtual void ReadSubModelPartEntitiesIds( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I understand that this is the substitution of the above method. Then we shall change the above one.....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I keep it the old one because we are just changing this file in this PR, in other case should be removed in the final one
* @param rGeometriesIds Set of geometry IDs. | ||
* @return The size of the nodal graph. | ||
*/ | ||
virtual std::size_t ReadNodalGraphFromEntitiesList( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This one again. I definitely suggest you to provide a list of usage in Kratos to see how changing the interface would affect us.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is used in the final PR:#13435
See applications/MetisApplication/custom_processes/metis_divide_submodelparts_heterogeneous_input_process.cpp
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The interface is not tidy at all but it is a continuation of the existing one. For this reason I approve it for now and in the future we can change all of them coherently.
📝 Description
Code Cleanup and Comment Improvements:
PartitioningInfo
struct.Expanded
PartitioningInfo
Struct:PartitioningInfo
struct for handling additional entity types:ConstraintsPartitions
andGeometriesPartitions
: New fields to track partitions where master-slave constraints and geometries are local, respectively.ConstraintsAllPartitions
andGeometriesAllPartitions
: New fields to track partitions where master-slave constraints and geometries are present, including ghost partitions.Added Virtual Methods for Sub-Model Part Reading:
ReadSubModelPartElementsAndConditionsIds
: The original method reads element and condition IDs. The newly added overload reads additional IDs for master-slave constraints and geometries.ReadNodalGraphFromEntitiesList
: Similar to the previous method, this one reads a nodal graph, and the new overload includes support for master-slave constraints and geometries.🆕 Changelog