Dear Egor,
Yes, If you use the xfem facilities, you can have a single field u cut
by the level set and then, a penalty term as you mention
'1e5*(Xfem_plus(u)-Xfem_minus(u)).(Xfem_plus(Test_u)-Xfem_minus(Test_u))'
can prescribe the continuity of the field using an integration on the
level-set itslef. Otherwise, you can have two different fields and a
penalty term
'1e5*(u1-u2).(Test_u1-Test_u2)'
Both should work (xfem allows to have a single field so may be it is the
simplest).
And a Nitsche method to prescribe the continuity should be better, but a
first approach with a penalization is ok, of course.
Best regards,
Yves
On 18/03/2021 10:38, Egor Vtorushin wrote:
UPD
Dear Yves,
I think purple one should be like
'1e5*(Xfem_plus(u)-Xfem_minus(u)).(Xfem_plus(Test_u)-Xfem_minus(Test_u))'
But anyway i appreciate any extra hints/thoughts if you would provide
some.
Regards, Egor
ср, 17 мар. 2021 г. в 16:28, Egor Vtorushin <[email protected]
<mailto:[email protected]>>:
Dear Yves, thank you for responding!
Looks like I am getting closer to my goal.
But there is a collision with continuity at the interface condition
If I use something like Interior Point condition for example
'*((u-Interpolate(u,neighbour_elt))*Normal).((Test_u-Interpolate(Test_u,neighbour_elt))*Normal)*'
there is no level-set zero level faces to apply in mesh linked to
*mim_ls_bound *integration method i use in assembly
gf.asm('generic', *mim_ls_bound*, 2, blueExpression, INNER_FACES,
'u', 1, mfls, 0)
here
mim_ls_bound = gf.MeshIm('levelset', mls, 'BOUNDARY',
gf.Integ("IM_TRIANGLE(3)"))
mfls = gf.MeshFem('levelset',mls,mfu)
where mls is
mls = gf.MeshLevelSet(m)
mls.add(ls1)
mls.adapt()
for some
ls1 = gf.LevelSet(m, 2, 'x-.25')
lagrangian MeshFem mfu and mesh m
*
*If i use
gf.asm('generic', mim_ls_bound, 2, purpleExpression, -1, 'u', 1,
mfls, 0)
I can't use *Interpolate(*, neighbour_elt )* term in
purleExpression since there is no convex faces in defined region
This one is not empty : *gf.asm('generic', mim_ls_bound, 2,
'Test_u.u', -1, 'u', 1, mfls, 0)*
but how to express a jump on interface?
Do you have any thoughts on this? Could you advise me how to
implement continuity at the interface condition term properly from
your perspective?
I attached a small solid python script as well
Regards, Egor
ср, 17 мар. 2021 г. в 01:38, Yves Renard <[email protected]
<mailto:[email protected]>>:
Dear Egor,
This is of course possible. The best way, I think, is to
define two different fields for the matrix and the inclusion
by defining an integration method inside the inclusion and
outside (If you take only one field for the inclusion and the
matrix, you will have some locking effect on the interface).
Then you can ensure the continuity at the interface either
with a multiplier (but with some possible non satisfaction of
the inf-sup condition) or in a better way with Nitsche's
method (see Hansbo's publications for instance).
Best regards,
Yves
On 16/03/2021 18:40, Egor Vtorushin wrote:
Dear Yves,
Could you please provide me with a hint on how to implement
an inclusion with level set.
I want to implement an inversion/optimization problem with a
given conductive homogeneous medium.
There is a dipole source with given frequency, power and
location and i am modeling a field via Helmholtz equation or
MaxwelL equation
Then i want to put an anomalous object (that has different
non zero conductivity/k ^2) inside the media such a way so
field propagation and frequency resolution is sensitive to
the anomalia.
My optimization problem is to find the anomalia's position
and shape to minimize a misfit with the measured field. It is
close to structural_optimization.mexample but i don't need
holes i need an inclusion.
It still seems to me that it is very reasonable to use a
LevelSet based technique to describe the anomalia and its
changings.
But using the level-set raises the variable jump immediately
instead of the operator coefficient jump that i need for.
I looked through some other examples(like fictitious domains)
but still have no way to come up with.
Please share with me some hints if you have one.
Regards, Egor Vtorushin
--
Yves Renard ([email protected]
<mailto:[email protected]>) tel : (33) 04.72.43.87.08
INSA-Lyon
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard
<http://math.univ-lyon1.fr/~renard>
---------
--
Yves Renard ([email protected]) tel : (33) 04.72.43.87.08
INSA-Lyon
20, rue Albert Einstein
69621 Villeurbanne Cedex, FRANCE
http://math.univ-lyon1.fr/~renard
---------