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

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 =C3=A0 20:44, Patrick Schmidt a =C3=A9crit=C2=A0:

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 =3D 1.e7

md.add_initialized_data('Fx', [applied_force, 0]);

mim_bound1 =3D gf.MeshIm('levelset', mls, 'boundary(a)',

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 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

--=20 Yves Renard (Yves.Renard@insa-lyon.fr) 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 -----------------------73DE3A6A3BB79ADBFFFB4810-- From MAILER-DAEMON Tue Aug 29 06:01:34 2017 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1dmdKw-0006e2-Ob for mharc-getfem-users@gnu.org; Tue, 29 Aug 2017 06:01:34 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60990) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from

Dear Yves,

thank you very much for your comprehensive answer. That solved my
problem. I forgot, that the gradient of the level-set function
provides the normal-vector, but it totally makes sense to me now.

Thank you,

Patrick

On 08/29/2017 10:51 AM, Yves Renard
wrote:

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 (Yves.Renard@insa-lyon.fr) 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 ---------

--------------D4B9476735063804A77DDA77--