Changeset [44118347e964327bd42c9fe2d0b3f8b0e66e50c7] by Jed Brown

November 17th, 2008 @ 11:59 PM

Partial implementation of geometric maps.

  • We still need plumbing for the geometric maps. The map can either be computed in advance or every time we visit elements. With Q1 element maps, 24=8*3 doubles must be stored. To store it instead, we need 10q (9 values for inverse Jacobian, 1 for determinant) where q is the number of quadrature points. For linear elements, q=8 is natural. For a scalar problem (worst case), 8 new (in cache) values are used so an extra 80 for the stored element map seems disproportionate. This motivates recomputing the map every element, a cost of around 234q. It's not clear yet whether this reduced stress on memory actually pays off. Of course affine elements are a big win, but they are pretty rare in a fully unstructured hexahedral mesh.

  • Remove -Wcast-qual from pedantic warnings. The problem is that there is no way to specify a const array type, for instance when casting

const double a[]; const double (b)[3] = (const double()[3])a;

which complains since the const means that the elements are const. There is no way to indicate that the (double[3]) objects are const, only that the elements are const. GCC is technically correct to complain about this cast, but I believe that the qualifier (const) should be promoted from the elements to the object (double[3]) so that the warning would not be thrown in this case.

Signed-off-by: Jed Brown jed@59A2.org http://github.com/jedbrown/dohp/...

Committed by Jed Brown

  • M CMakeLists.txt
  • M include/dohpgeom.h
  • M include/private/fsimpl.h
  • M src/jacobi/impls/tensor/efstopo.c
  • M src/jacobi/impls/tensor/ruletopo.c
New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

An implementation of the ``dual order hp'' version of the finite element method. This project targets parallel domain-decomposition methods for strongly coupled nonlinear problems with PDE constraints.