getfem-users
[Top][All Lists]
 Dear David, When a variable is disabled, this just means that it is in fact considerered as a data. So you can of course use set_variable on it to change its value. Or may be I misunderstood you question. You an also enable or disable a brick, so that you can have two versions of your brick and switch from one version to another. Best regards, Yves. Le 20/01/2016 13:45, David Danan a écrit : I see, thank you for your answer. In that case, i have another question in the continuation of this one. In order to reproduce these convexification iterations, i have to solve a sequence of problems where the coefficient of friction is fixed at each iteration. The following small piece of code is used for the friction md.add_filtered_fem_variable('p', mflambda_C, CONTACT_BOUNDARY); md.add_linear_generic_assembly_brick(mim_c, '(u-(u.N1)*N1-p).(Test_p)', CONTACT_BOUNDARY); md.add_nonlinear_generic_assembly_brick(mim_c, '(1/r)*Coulomb_friction_coupled_projection(lambda, N1, u, gap-u.N1, (fric_max-fric_min)*exp(-alpha_fric*Norm(p))+fric_min, r).Test_lambda', CONTACT_BOUNDARY); where u and lambda are the other variables of the problem. This problem is solved by the partial solve mechanism, as you suggested md.disable_variable('p')    md.solve('max_res', 1E-6,'very noisy') md.enable_variable('p') md.disable_variable('u') md.disable_variable('lambda') md.solve('max_res', 1E-6,'very noisy') P=md.variable('p') For the next problem, i would like to delete the first brick and add a new one where the "p" is replaced (in the function Coulomb_friction_coupled_projection) by the tangential displacement obtained in the previous iteration. Is such a thing possible? In other world, is it possible to replace a variable by a data vector defined by the user (something halfway between set_variable and disable)? If it is not, is there another effective way to "update" the coefficient of friction? Thank you in advance. David. -----E-mail d'origine----- De : Yves Renard A: David Danan ; getfem-users Envoyé le : Je, 14 Jan 2016 13:28 Sujet : Re: [Getfem-users] Non convex problems and Getfem solver Dear David, There is no specific treatment for non-convex problems in GetFEM. The default solver is a pure Newton-Raphson algorithm (with a line-search of course) on the whole coupled problem. Of course, it is possible to adapt some other particular strategy for specific situations. This can be done adapting the default solver or using the existing  mechanism of partial solve for instance (or by the use of several model objects). Best regards, Yves. Le 13/01/2016 09:38, David Danan a écrit : Dear users, i would like to know whether the Getfem solver can handle non-convex problems, let's say for instance a Signorini problem with a non monotone friction law where the coefficient of friction is described by \mu(\|\dot{\bu}_\tau\|)=(a-b)\cdot e^{-\alpha\|\dot{\bu}_\tau\|} +b, where a,b, \alpha >0 et a\geq b. If it is, what kind of procedure is used with the Newton iteration? Convexification iteration ( fix the value of the coefficient of friction, in that case, at each "Convexification " iteration to a given value depending on the tangential slip rate found in the previous iteration) ? Something else? Thank you in advance. David. _______________________________________________ Getfem-users mailing list address@hidden https://mail.gna.org/listinfo/getfem-users  -- Yves Renard (address@hidden) tel : (33) 04.72.43.87.08 Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29 20, rue Albert Einstein 69621 Villeurbanne Cedex, FRANCE http://math.univ-lyon1.fr/~renard ---------  -- Yves Renard (address@hidden) tel : (33) 04.72.43.87.08 Pole de Mathematiques, INSA-Lyon fax : (33) 04.72.43.85.29 20, rue Albert Einstein 69621 Villeurbanne Cedex, FRANCE http://math.univ-lyon1.fr/~renard ---------