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.
-----E-mail
d'origine-----
De : Yves Renard <address@hidden>
A: David Danan <address@hidden>;
getfem-users <address@hidden>
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.
_______________________________________________
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
---------
|