getfem-users
[Top][All Lists]

## Re: (E field | current) circulation

 From: Egor Vtorushin Subject: Re: (E field | current) circulation Date: Tue, 20 Jul 2021 17:20:37 +0700

Kostas,
thank you for answering thу question and sorry for the delay in communication.  I am sorry for missing important point - i am in 3D space
In 2D HHO example it works fine since
``````# # Boundary selectionflst  = m.outer_faces()
managing with 1D faces that are the edges I suppose.
In 3D  all_faces provides access to 2d faces. Consider 4 points simplex that  have 4 faces. I can integrate over an area of one of faces or many using regions built with outer_faces output.
In my situation I have to make 1D integration over edges with respect to length. The 4 point simplex has 4 faces and 6 1D edges.
``At first glance outer_faces() method doesn't provide access to 1D edges for 3D meshes and with is my problem, assuming the fact that it returns empty array for dim=1 or dim=2 ``
``boxm.outer_faces()Out[: array([[0, 0, 0, 0, 0, 0],       [0, 1, 2, 3, 4, 5]], dtype=int32)boxm.outer_faces(3)Out: array([[0, 0, 0, 0, 0, 0],       [0, 1, 2, 3, 4, 5]], dtype=int32)boxm.outer_faces(2)Out: array([], shape=(2, 0), dtype=int32)EMPTYboxm.outer_faces(1)Out: array([], shape=(2, 0), dtype=int32)``
``EMPTY``

``Here boxm is 1 convex rectangular `PARALLELEPIPED`
``Regards, Egor``

пн, 19 июл. 2021 г. в 15:31, Konstantinos Poulios <logari81@googlemail.com>:
Dear Egor Vtorushin,

Have a look at the outer_faces method:

if you put only one element in CVIDs you will get what you want, I guess.

I am not sure how efficient it is to calculate these integrals for all elements one by one though.

"mesh.all_faces" might also be relevant for your question. You can also have a look at HHO examples like

https://git.savannah.nongnu.org/cgit/getfem.git/tree/interface/tests/python/demo_elasticity_HHO.py

Best regards
Kostas

On Mon, Jul 19, 2021 at 8:59 AM Egor Vtorushin <vtorushin@gmail.com> wrote:
Dear  Yves,
Do you have any hints how to manage 1D integral over a loop containing simplex' or quad' edges.
Let  I have an electrical field(or current ) computed in   simplex or quad mesh nodes. Then i need to calculate the field circulation over edge-loop for each face according to Stokes' theorem/formula
There is an obsoleted  function
`    edges`(CVLST=None*args)

Synopsis: [E,C] = Mesh.edges(self [, CVLST][, ‘merge’])

[OBSOLETE FUNCTION! will be removed in a future release]

Return the list of edges of mesh M for the convexes....

Maybe  there is a way to utilize the Mesh.edges function or another way?
Regards, Egor Vtorushin