Dear Patrick,
The "Normal" vector is indeed only defined on element faces. In order to
obtain the normal vector of a level-set, the standard way is to use
"Normalized(Grad_lambda)" where "lambda" is the scalar field of the
level-set function (that you have to add as a data to the model). Note
also, that you have access to discontinuities across the level-set of
Xfem fields (mesh_fem_level_set objects) thanks to the Xfem_plus and
Xfem_minus command of the language (see
http://getfem.org/userdoc/gasm_high.html#xfem-discontinuity-evaluation-with-mesh-fem-level-set)
Best regards,
Yves.
Le 28/08/2017 à 20:44, Patrick Schmidt a écrit :
>
> Dear Getfem users,
>
> I am new to getFem and made my way through the demo_crack.py file in
> order to use the implemented XFEM formulation.
>
> Now I would like to set up a boundary value problem where a pressure
> acts orthogonal to the surface of the discontinuity. I tried to find
> some way in order to apply source terms orthogonal on the surface of
> the discontinuity. In terms of the boundary condition that's as far as
> I got:
>
>
> applied_force = 1.e7
> md.add_initialized_data('Fx', [applied_force, 0]);
>
> mim_bound1 = gf.MeshIm('levelset', mls, 'boundary(a)',
>
> gf.Integ('IM_STRUCTURED_COMPOSITE(IM_TRIANGLE(6),3)'))
> md.add_source_term_generic_assembly_brick\
> (mim_bound1, 'Fx.Test_u')
>
>
> I tried to use the 'Normal' keyword within the string, but since the
> integration takes part within the element and the normal seems to be
> defined on surfaces only, my python script failed.
>
>
> Is there a way to apply Neumann Boundary conditions orthogonal to the
> surface of the discontinuity?
>
>
> Kind regards,
>
> Patrick
>
>
>
--
Yves Renard ([email protected]) 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
---------