kinnala / scikit-fem

Simple finite element assemblers
https://scikit-fem.readthedocs.io
BSD 3-Clause "New" or "Revised" License
470 stars 76 forks source link

Add ignore_orientation and ignore_interior_facets flags #1050

Closed kinnala closed 8 months ago

kinnala commented 11 months ago
In [1]: from skfem import *

In [2]: %time m = MeshTet.load('labelled.msh')

CPU times: user 632 ms, sys: 27.8 ms, total: 660 ms
Wall time: 704 ms

becomes

In [1]: from skfem import *

In [2]: %time m = MeshTet.load('labelled.msh', ignore_orientation=True)

CPU times: user 193 ms, sys: 31.8 ms, total: 225 ms
Wall time: 260 ms

due to vectorized matching. However, the latter is more memory intensive. The memory usage can be reduced by entirely ignoring the interior facets via MeshTet.load('labelled.msh', ignore_interior_facets=True.

Fixes #1049.