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