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