Hi,
this is to inform you about the latest updates of the code.
- 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.
- 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
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.
- 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
On 10/03/2012 11:06 AM, Ondřej Čertík wrote:
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.
- 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?
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.
On Wed, Oct 3, 2012 at 2:27 AM, Robert Cimrman <cimr...@ntc.zcu.cz> wrote:
On 10/03/2012 11:06 AM, Ondřej Čertík wrote:
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.
- 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?
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.
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
participants (2)
-
Ondřej Čertík
-
Robert Cimrman