updates after 2012.3

22 views
Skip to first unread message

Robert Cimrman

unread,
Sep 26, 2012, 12:20:40 PM9/26/12
to sfepy...@googlegroups.com
Hi,

this is to inform you about the latest updates of the code.

1. The 'hierarchic' branch has been merged into the master. This branch
introduces a hierarchical FE basis into the code and some other tools described
below. Look at [1] for an example. It's not finished, but I have decided to
merge it already, as the general ideas seem to be work, and I needed some of
the developments in the master and vice-versa. The caveats are for now:

- Only 2_4 (rectangles) and 3_8 (bricks) elements are supported.
- Dirichlet boundary conditions are piece-wise linear - the higher order
boundary dofs are set to zero. To allow them, projections to FE spaces on a
region would have to be implemented. We are thinking about redesigning the C FE
core to make tasks such as this easier.
- Surface integral terms are not yet supported.
- The post-processing is more difficult, as a linearization of the solution is
required.
- A test was written that checks the basis continuity between two elements.
This test revealed that the standard nodal basis on 3_8 elements has wrong face
orientations (the functions from the two face sides do not match) for
approximation order >= 3. This will be fixed, hopefully before the next release.

2. New plotting modules / updated scripts:

- script/save_basis.py can be used to visualize a FE basis or its gradient on a
single element or on a (small) mesh.
- New modules sfepy/postprocess/plot_facets.py and
sfepy/postprocess/plot_dofs.py can be used to plot the reference elements and
DOF numberings. Matplotlib with mplot3d is needed there.

r.
[1] http://docs.sfepy.org/doc-devel/examples/diffusion/sinbc.html

Ondřej Čertík

unread,
Oct 3, 2012, 5:06:00 AM10/3/12
to sfepy...@googlegroups.com
On Wed, Sep 26, 2012 at 9:20 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
> Hi,
>
> this is to inform you about the latest updates of the code.
>
> 1. The 'hierarchic' branch has been merged into the master. This branch
> introduces a hierarchical FE basis into the code and some other tools
> described below. Look at [1] for an example. It's not finished, but I have
> decided to merge it already, as the general ideas seem to be work, and I
> needed some of the developments in the master and vice-versa. The caveats
> are for now:
>
> - Only 2_4 (rectangles) and 3_8 (bricks) elements are supported.

That's exciting. Is it using the Cartesian product on each element?
What is the maximum polynomial order that it can handle?

Ondrej

Robert Cimrman

unread,
Oct 3, 2012, 5:27:34 AM10/3/12
to sfepy...@googlegroups.com
Yes, but the order in each direction as well as in all the elements is the same.

> What is the maximum polynomial order that it can handle?

The 1D base functions are generated up to order 10. But there is a limitation
given by the fact that we assemble all elements in a group at once, so
unintegrated element matrices have to fit into memory. In 3D for the 1D order 7
the element matrix has shape 512x512, and the number of quadrature points is
also 512 so 8 * 512**3 / 1e9 = 1.073741824, that is 1GB for a single element.
This will have to be dealt with.

r.

Ondřej Čertík

unread,
Oct 3, 2012, 5:44:21 AM10/3/12
to sfepy...@googlegroups.com
I see. Looks like one cannot precalculate everything on quadrature
points in advance.
So I guess one will have to deal with it element by element.

Ondrej
Reply all
Reply to author
Forward
0 new messages