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 <vtorus...@gmail.com <mailto:vtorus...@gmail.com>>:

    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 <yves.ren...@insa-lyon.fr
    <mailto:yves.ren...@insa-lyon.fr>>:



        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 (yves.ren...@insa-lyon.fr  
<mailto:yves.ren...@insa-lyon.fr>)       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 (yves.ren...@insa-lyon.fr)       tel : (33) 04.72.43.87.08
  INSA-Lyon
  20, rue Albert Einstein
  69621 Villeurbanne Cedex, FRANCE
  http://math.univ-lyon1.fr/~renard

---------

Reply via email to