
Public Member Functions | |
| InternalDataBase () | |
| virtual | ~InternalDataBase () |
| UpdateFlags | current_update_flags () const |
| bool | is_first_cell () const |
| virtual void | clear_first_cell () |
| virtual std::size_t | memory_consumption () const |
Public Attributes | |
| UpdateFlags | update_flags |
| UpdateFlags | update_once |
| UpdateFlags | update_each |
| std::vector< double > | volume_elements |
| std::vector< Point< spacedim > > | support_point_values |
| std::vector< Tensor < 2, spacedim > > | support_point_gradients |
| std::vector< Tensor < 2, spacedim > > | support_point_inverse_gradients |
Private Member Functions | |
| InternalDataBase (const InternalDataBase &) | |
Private Attributes | |
| bool | first_cell |
Base class for internal data of finite element and mapping objects. The internal mechanism is that upon construction of a FEValues objects, it asks the mapping and finite element classes that are to be used to allocate memory for their own purpose in which they may store data that only needs to be computed once. For example, most finite elements will store the values of the shape functions at the quadrature points in this object, since they do not change from cell to cell and only need to be computed once. Since different FEValues objects using different quadrature rules might access the same finite element object at the same time, it is necessary to create one such object per FEValues object. Ownership of this object is then transferred to the FEValues object, but a pointer to this object is passed to the finite element object every time it shall compute some data so that it has access to the precomputed values stored there.
Definition at line 298 of file mapping.h.
| Mapping< dim, spacedim >::InternalDataBase::InternalDataBase | ( | const InternalDataBase & | ) | [private] |
Copy constructor forbidden.
| Mapping< dim, spacedim >::InternalDataBase::InternalDataBase | ( | ) |
Constructor. Sets UpdateFlags to update_default and first_cell to true.
| virtual Mapping< dim, spacedim >::InternalDataBase::~InternalDataBase | ( | ) | [virtual] |
Virtual destructor for derived classes
Reimplemented in FiniteElement< dim, spacedim >::InternalDataBase.
| UpdateFlags Mapping< dim, spacedim >::InternalDataBase::current_update_flags | ( | ) | const |
If first_cell==true this function returns update_flags, i.e. update_once|update_each. If first_cell==false it returns update_each.
| bool Mapping< dim, spacedim >::InternalDataBase::is_first_cell | ( | ) | const |
Return whether we are presently initializing data for the first cell. The value of the field this function is returning is set to true in the constructor, and cleared by the FEValues class after the first cell has been initialized.
This function is used to determine whether we need to use the update_once flags for computing data, or whether we can use the update_each flags.
| virtual void Mapping< dim, spacedim >::InternalDataBase::clear_first_cell | ( | ) | [virtual] |
Set the first_cell flag to false. Used by the FEValues class to indicate that we have already done the work on the first cell.
Reimplemented in FESystem< dim, spacedim >::InternalData.
| virtual std::size_t Mapping< dim, spacedim >::InternalDataBase::memory_consumption | ( | ) | const [virtual] |
Return an estimate (in bytes) or the memory consumption of this object.
Reimplemented in MappingCartesian< dim, spacedim >::InternalData, MappingQ< dim, spacedim >::InternalData, and MappingQ1< dim, spacedim >::InternalData.
| UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_flags |
| UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_once |
| UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_each |
| std::vector<double> Mapping< dim, spacedim >::InternalDataBase::volume_elements |
The determinant of the Jacobian in each quadrature point. Filled if update_volume_elements.
| std::vector<Point<spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_values |
| std::vector<Tensor<2,spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_gradients |
| std::vector<Tensor<2,spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_inverse_gradients |
bool Mapping< dim, spacedim >::InternalDataBase::first_cell [private] |
documentation generated on Fri Feb 3 2012 06:04:09 by
doxygen
1.7.2