]> https://gitweb.dealii.org/ - dealii.git/commit
Make the Mapping and FE output objects members of FEValues. 1419/head
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 24 Aug 2015 00:30:23 +0000 (19:30 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Mon, 24 Aug 2015 00:30:23 +0000 (19:30 -0500)
commit639fcbb1b167799c9b0595a6f7a3f742e0d54634
tree31977bccfacacbd081898409ce48b01c5c83743f
parent217b8811aa7ccee1fc8bf17ee3370108b889f7cb
Make the Mapping and FE output objects members of FEValues.

Historically, the fields in the internal::FEValues::MappingRelatedData and
internal::FEValues::FiniteElementRelatedData classes were part of the (now
removed) base class FEValuesData. These two classes neatly split the fields of
this base class into separate categories, but they continued to enter the
FEValuesBase class via protected inheritance. This is not only slightly awkward,
but also not the easiest approach to understand if you start looking at stuff.

This patch is in essence incredibly boring: instead of having two protected
base classes, it introduces two protected member variables. The remainder
of the patch is then simply an exercise in making sure every use of the
henceforth member variables now accessese the members of the two new
class-type member variables. The only interesting aspect (and that's where
everything becomes much clearer with this design) is that when we call
Mapping::fill_fe_values() or the same function in FiniteElement, we no
longer need to implicitly cast down '*this' to the base class reference,
but can instead just use the new member variable.

Other than that the only noteworthy part of the patch is the introduction
of memory_consumption() functions for the two classes previously split out
from FEValuesData.
include/deal.II/fe/fe_update_flags.h
include/deal.II/fe/fe_values.h
source/fe/fe_values.cc

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.