You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ProjectedMaterialPropertyStorage is the workhorse for awkward restarts that cannot use checkpoints.
However, some material properties are not statically sized and therefore it's hard to know how many components to output and which objects to create before the material is even initialized
Design
Tough one here. We may even not want to do this because it adds a lot of code compared to statically-sized property types.
Beyond the meta-programming that is involved in the ProjectMaterialPropertyStorage, the main issue is knowing the number of components to output in the action. So either:
move the action later in time so that we know the size of the vectors. This can be tough, we could know the size only on computeQpProperties!
have the user pass the size
Impact
Seamless restarts of stateful material properties of dynamic sizes
Originally posted by delpierrena September 18, 2024
Hello everyone,
I am currently trying to implement the particle finite element method using the Moose FEM solver.
The application could be landslide, earthen dam failures, footing etc.. The basic idea of the method is to remesh when necessary to allow for modelling large deformations problems. The remeshing algorithm is working fine but I am struggling harder with reinitializing the moose simulation from a past solution.
Since our problem involves large deformations, we need to remap a lot of quantities from one mesh to another. So we run a simulation, retrieve the plastic strain, internal parameter, stresses, velocities and accelerations and we want to remap these into the new displaced mesh.
The issue we face is that we are unable to initialize the old material properties before starting the simulation. We modified the initQpStatefulProperties function from the ComputeMultiPlasticityStress class in order to initialize the plastic_strain, the stress and the intnl parameter but this is obviously not the way to go.
Example : We performed a slope failure simulation. We output some quantities at a given point in the slope after 0.1s of simulation. Here the elastic strain xx (es_xx) the plastic strain xx (ps_xx) the strain xx (s_xx) and the stress yy.
Then, we want to restart the simulation based on our modified version of InitQpStatefulProperties but the results are clearly wrong since the strain is not the sum of the elastic and of the plastic contribution and this, since the first step : Postprocessor Values: +----------------+----------------+----------------+----------------+----------------+ | time | es_xx | ps_xx | s_xx | stress_yy | +----------------+----------------+----------------+----------------+----------------+ | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | | 1.000000e-02 | 3.105196e-05 | 1.682521e-04 | 2.885585e-05 | -3.673527e+04 | +----------------+----------------+----------------+----------------+----------------+
We believe that the issue is coming from the reinitialization of some fields (most probably the plastic strain ). In particular, when reinitializing the finite element problem, we cannot initialize the old properties needed for the return map algorithm. Do you have any idea of how we could initialize these old material properties ?
The text was updated successfully, but these errors were encountered:
Reason
ProjectedMaterialPropertyStorage is the workhorse for awkward restarts that cannot use checkpoints.
However, some material properties are not statically sized and therefore it's hard to know how many components to output and which objects to create before the material is even initialized
Design
Tough one here. We may even not want to do this because it adds a lot of code compared to statically-sized property types.
Beyond the meta-programming that is involved in the ProjectMaterialPropertyStorage, the main issue is knowing the number of components to output in the action. So either:
Impact
Seamless restarts of stateful material properties of dynamic sizes
Discussed in #28654
Originally posted by delpierrena September 18, 2024
Hello everyone,
I am currently trying to implement the particle finite element method using the Moose FEM solver.
The application could be landslide, earthen dam failures, footing etc.. The basic idea of the method is to remesh when necessary to allow for modelling large deformations problems. The remeshing algorithm is working fine but I am struggling harder with reinitializing the moose simulation from a past solution.
Since our problem involves large deformations, we need to remap a lot of quantities from one mesh to another. So we run a simulation, retrieve the plastic strain, internal parameter, stresses, velocities and accelerations and we want to remap these into the new displaced mesh.
The issue we face is that we are unable to initialize the old material properties before starting the simulation. We modified the initQpStatefulProperties function from the ComputeMultiPlasticityStress class in order to initialize the plastic_strain, the stress and the intnl parameter but this is obviously not the way to go.
Example : We performed a slope failure simulation. We output some quantities at a given point in the slope after 0.1s of simulation. Here the elastic strain xx (es_xx) the plastic strain xx (ps_xx) the strain xx (s_xx) and the stress yy.
Then, we want to restart the simulation based on our modified version of InitQpStatefulProperties but the results are clearly wrong since the strain is not the sum of the elastic and of the plastic contribution and this, since the first step :
Postprocessor Values: +----------------+----------------+----------------+----------------+----------------+ | time | es_xx | ps_xx | s_xx | stress_yy | +----------------+----------------+----------------+----------------+----------------+ | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | 0.000000e+00 | | 1.000000e-02 | 3.105196e-05 | 1.682521e-04 | 2.885585e-05 | -3.673527e+04 | +----------------+----------------+----------------+----------------+----------------+
We believe that the issue is coming from the reinitialization of some fields (most probably the plastic strain ). In particular, when reinitializing the finite element problem, we cannot initialize the old properties needed for the return map algorithm. Do you have any idea of how we could initialize these old material properties ?
The text was updated successfully, but these errors were encountered: