Kratos
Kratos copied to clipboard
[Geo] Orchestrator-based multistage
📝 Description
This is a draft PR for the discussion of the more delicate changes required for the upgrade of the current multistage capabilities of the GeoMechanicsApplication to use the Orchestrator-based multistage from KratosCore.
For the moment, the unique thing would be to rely on the standard import mechanism, that is to say, if the model part is already in the model set
"model_import_settings" : {
"input_type": "use_input_model_part"
}
in the solver_settings of the project parameters.
Now that #11807 is already merged we can retake this.
Here it is the example I was referring to in my previous comment reexamolenofproblemtypeapplication_cimne.zip.
I note that the checkpointing and restart mechanism, which was working the last time I tried it, is currently not working as the SmallStrainUPwDiffOrderElement serialization is not completely implemented. Note that the mpStressStatePolicy pointer is neither serialized nor loaded.
https://github.com/KratosMultiphysics/Kratos/blob/2bbc87f06265282ae3db84905619ec4a3ba7edd5/applications/GeoMechanicsApplication/custom_elements/small_strain_U_Pw_diff_order_element.hpp#L324-L332
I tried to add it but the StressStatePolicy class lacks the serialization implementation so I guess that this is a problem affecting not only this element in the application.
Here it is the example I was referring to in my previous comment reexamolenofproblemtypeapplication_cimne.zip.
I note that the checkpointing and restart mechanism, which was working the last time I tried it, is currently not working as the
SmallStrainUPwDiffOrderElementserialization is not completely implemented. Note that thempStressStatePolicypointer is neither serialized nor loaded.https://github.com/KratosMultiphysics/Kratos/blob/2bbc87f06265282ae3db84905619ec4a3ba7edd5/applications/GeoMechanicsApplication/custom_elements/small_strain_U_Pw_diff_order_element.hpp#L324-L332
I tried to add it but the
StressStatePolicyclass lacks the serialization implementation so I guess that this is a problem affecting not only this element in the application.
Thank you for flagging this! The stress state policy was indeed a newly added component. Since we don't have tests yet for components using serialization, this one slipped through. The issue here is that the mpStressStatePolicy is a pointer to the StressState interface and it seems we don't have a mechanism to instantiate derived classes from serialization (except for using the registry). We'll investigate how to best implement this at our end.