-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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>
- Loading branch information
Showing
5 changed files
with
173 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters