how to extend step-42 to quasi-static problem

50 views
Skip to first unread message

gif...@gmail.com

unread,
Apr 5, 2022, 9:21:43 AM4/5/22
to deal.II User Group
Dear all,

I'm trying to extend step-42, according to what the authors Frohne, Heister, and Bangerth suggested in the related paper, ie: modify the current one-step analysis to a sequence of loading steps (quasi-static analysis).

Apart from a for-loop over the pseudo-time parameter, 
i) I recast the procedures computing the constitutive laws in incremental form (see the attached files "model.cpp" and "model.hpp"), by introducing also the eta parameter which accounts for the load history as accumulated plastic strain;
ii) I coherently modified the sphere obstacle function by increasing for each time step the position of the sphere center;
ii) I added in the residuals the contribution of the stress stored at the previous time-step (local_q_points_history[q_point].old_stress) as
cell_rhs(i) -= (- local_q_points_history[q_point].old_stress +
                  strain_tensors[q_point] * stress_strain_tensor ) *
                fe_values[displacement].symmetric_gradient(i, q_point) *
                fe_values.JxW(q_point);
The variables eta and old_stress are both stored as local_q_points_history.

I tried with different mesh refinements and different time-step sizes, but the analyses provide unsatisfactory results. By summarizing, the size of active set reduces to zero after the first time step, and then increases. The convergence of the Newton solver slows down since the initial loops, leading to loose convergence (for max loop reached). The evaluation of the resulting contact force fails giving negative values.

At the moment, I'm really stuck. Is there anybody who can give me some hints?

Thanks in advance,

Giovanni


model.cpp
model.hpp

Wolfgang Bangerth

unread,
Apr 5, 2022, 10:49:30 AM4/5/22
to dea...@googlegroups.com
On 4/5/22 07:21, gif...@gmail.com wrote:
>
> I tried with different mesh refinements and different time-step sizes, but the
> analyses provide unsatisfactory results. By summarizing, the size of active
> set reduces to zero after the first time step, and then increases. The
> convergence of the Newton solver slows down since the initial loops, leading
> to loose convergence (for max loop reached). The evaluation of the resulting
> contact force fails giving negative values.
>
> At the moment, I'm really stuck. Is there anybody who can give me some hints?

Giovanni,
short of finding someone who is (i) an expert in time dependent plasticity,
(ii) has plenty of spare time to look through your program, you are left with
debugging the problem yourself. Here is how I would approach things:

* Simplify. Instead of looking at a whole load history, just consider two steps.
* Pick a load history so that what step-42 produces corresponds to your first
step. Make sure you get the same result. If it doesn't, you've just figured
out that already your first load step has a problem.
* Then double the load in the second step. You know that that should result in
a larger indentation, and a larger active set.
* If it doesn't, investigate why that is. One approach would be to simplify
the set up so that instead of indenting a complex shape (or just a sphere),
you impose a constant load across the top surface of the domain. You might
even be able to compute the solution for this problem by hand because of the
symmetries of the deformation you expect.


It is not uncommon for a complex program to be wrong in the beginning -- in
fact, I'd say that's how nearly every program starts out. The question is
whether you can build the mental tools to break things down into smaller
pieces that can be debugged more easily. Simplifying the situation to
something for which it is easier to reason about the behavior is a key first
step in this process.

Best
W.

--
------------------------------------------------------------------------
Wolfgang Bangerth email: bang...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/

gif...@gmail.com

unread,
Apr 5, 2022, 11:02:09 AM4/5/22
to deal.II User Group
Dear Wolfgang

thank you for your quick reply. All your suggestions are very useful.
I have already done some debugging you proposed, but I will go back on my steps, and try again to do it more carefully.

Best

Giovanni
Reply all
Reply to author
Forward
0 new messages