]> https://gitweb.dealii.org/ - dealii.git/commit
Fix an inconsistency.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 17 Jul 2015 16:17:07 +0000 (11:17 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Fri, 17 Jul 2015 16:22:42 +0000 (11:22 -0500)
commit4d84ea81377f1529143c55eef9238d20957320af
treec53a276569c82231017dffd16f0843123278b79f
parent0260f462b14c9f4edbcf839543080fe6f06c9e1f
Fix an inconsistency.

My understanding is that when FEValues calls the mapping, the mapping puts
its results into the FEValuesData base class of the FEValues object. Then,
FEValues calls FiniteElement::fill_fe_values which uses the mapping data
and its InternalData object to compute shape function information and again
put it into the FEValuesData base class of the FEValues object.

In the case of FESystem, this is a bit more complicated: Here, we don't want
the base elements to put their stuff into the FEValuesData base object
because the results of *all* base elements will go there (and because,
consequently, array sizes don't match, etc). Thus, FESystem::fill_fe_values
creates an array of scratch FEValuesData objects, passes these to the
base elements that fill them, and the copies back the data from the scratch
objects to its own base element. To make this work, FESystem has to also first
copy everything that's in its own FEValuesData base object to each of the scratch
objects.

This is where the bug lies: Currently, only one of the elements that the mapping
has computed is copied; we need to be consistent and do this with all
mapping related arrays in FEValuesData.
source/fe/fe_system.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.