This is an automated email from the git hooks/post-receive script.

logari81 pushed a commit to branch master
in repository getfem.

The following commit(s) were added to refs/heads/master by this push:
     new ab6c4d46 Fix fragile python demo
ab6c4d46 is described below

commit ab6c4d46ca3cb86679fc2a92c1db5dc371d21e54
Author: Konstantinos Poulios <[email protected]>
AuthorDate: Mon Jan 26 23:27:33 2026 +0100

    Fix fragile python demo
---
 .../plasticity_fin_strain_lin_hardening_plane_strain.py    | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git 
a/contrib/continuum_mechanics/plasticity_fin_strain_lin_hardening_plane_strain.py
 
b/contrib/continuum_mechanics/plasticity_fin_strain_lin_hardening_plane_strain.py
index 09763bcf..4b4553d3 100644
--- 
a/contrib/continuum_mechanics/plasticity_fin_strain_lin_hardening_plane_strain.py
+++ 
b/contrib/continuum_mechanics/plasticity_fin_strain_lin_hardening_plane_strain.py
@@ -141,6 +141,7 @@ mfout2 = gf.MeshFem(mesh)
 mfout2.set_classical_discontinuous_fem(disp_fem_order)
 
 mim = gf.MeshIm(mesh, integration_degree)
+mim_red = gf.MeshIm(mesh, integration_degree-2) # for selective integration
 
 mimd1 = gf.MeshImData(mim)
 mimd4 = gf.MeshImData(mim, -1, 4)
@@ -176,8 +177,9 @@ md.add_macro("gamma", "gamma0+ksi*Norm(devlogbetr)")
 md.add_macro("devlogbe", "(1-2*ksi)*devlogbetr")
 md.add_macro("tauD2d", "mu*[1,0,0;0,1,0]*devlogbe*[1,0;0,1;0,0]")
 
-md.add_nonlinear_term\
-   (mim, "((tauH*Id(2)+tauD2d)*Inv(F')):Grad_Test_u")
+md.add_nonlinear_term(mim_red, "(tauH*Inv(F')):Grad(Test_u)")
+md.add_nonlinear_term(mim, "(tauD2d*Inv(F')):Grad(Test_u)")
+#md.add_nonlinear_term(mim, "((tauH*Id(2)+tauD2d)*Inv(F')):Grad(Test_u)")
 
 md.add_macro("sigmaD", "(mu/J*devlogbe)")
 md.add_macro("sigma", "tauH/J*Id(3)+mu/J*devlogbe")
@@ -200,18 +202,18 @@ with open(f"{resultspath}/tension_plane_strain.dat", "w") 
as f1:
 
       starttime = time.process_time()
       md.solve("noisy", "max_iter", 25, "max_res", 1e-10,
-               "lsearch", "simplest", "alpha max ratio", 100, "alpha min", 1, 
"alpha mult", 0.6,
-               "alpha threshold res", 1e9)
+               "lsearch", "simplest", "alpha max ratio", 10, "alpha min", 0.1, 
"alpha mult", 0.6,
+               "alpha threshold res", 1e3)
       print("STEP %i COMPLETED IN %f SEC" % (step, 
time.process_time()-starttime))
 
       F = gf.asm_generic(mim, 0, "dirmult", XP_RG, md)
-      print("Displacement %g, total force %g" % (md.variable("disp"), F))
+      print("Displacement %g, total force %g" % (md.variable("disp")[0], F))
       A = gf.asm_generic(mim, 0, "Norm(J*Inv(F')*[1;0])", XP_RG, md)
       V = gf.asm_generic(mim, 0, "1", -1, md)
       sigma11 = gf.asm_generic(mim, 0, "sigma(1,1)", -1, md)/V
       gamma = gf.asm_generic(mim, 0, "gamma", -1, md)/V
       f1.write("%.10g %.10g %.10g %.10g %10g %10g\n"
-               % (md.variable("disp"), F, A, F/A, sigma11, gamma))
+               % (md.variable("disp")[0], F, A, F/A, sigma11, gamma))
       f1.flush()
 
       output = (mfout1, md.local_projection(mim, "sqrt(1.5)*Norm(sigmaD)", 
mfout1), "Von Mises Stress",

Reply via email to