> Triangles/tetrahedra are not supported in deal.II. As the answer in the FAQ
> says this is a decision related to performance of the underlying data
> structures. I would like to know if the only reason is the compiler
> optimization of loops or if there are more reasons
> related to refinement/adaptative strategies, multigrid methods or something
> else.
>
> It is also unclear to me why with triangles/tetrahedra this is not possible
> (compiler optimizations).

Many of the same things would be possible if you had *only* triangles and 
tets. For example you could still determine the number of vertices of a cell 
at compile time. These optimizations just wouldn't work any more if you 
*mixed* tets and hexes, for example.

But there's another class of optimizations that are possible on quads and 
hexes because everything is a tensor product (refinement rules, quadrature 
formulas, shape functions, etc). Some of this may lead to faster code if you 
can optimize based on it, but a lot of it simply leads to much smaller (and 
consequently likely more correct) code because you only have to implement the 
1d case and get the rest by tensor products. This typically isn't the case 
for triangles or tets where quadrature formulas and shape functions can not 
always be derived from 1d-representations.

Best
 W.

-------------------------------------------------------------------------
Wolfgang Bangerth                email:            [email protected]
                                 www: http://www.math.tamu.edu/~bangerth/

_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to