Public Member Functions | Public Attributes | Private Member Functions | Private Attributes

Mapping< dim, spacedim >::InternalDataBase Class Reference

Inheritance diagram for Mapping< dim, spacedim >::InternalDataBase:
Inheritance graph
[legend]

List of all members.

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< doublevolume_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

Detailed Description

template<int dim, int spacedim = dim>
class Mapping< dim, spacedim >::InternalDataBase

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.


Constructor & Destructor Documentation

template<int dim, int spacedim = dim>
Mapping< dim, spacedim >::InternalDataBase::InternalDataBase ( const InternalDataBase  ) [private]

Copy constructor forbidden.

template<int dim, int spacedim = dim>
Mapping< dim, spacedim >::InternalDataBase::InternalDataBase (  )

Constructor. Sets UpdateFlags to update_default and first_cell to true.

template<int dim, int spacedim = dim>
virtual Mapping< dim, spacedim >::InternalDataBase::~InternalDataBase (  ) [virtual]

Virtual destructor for derived classes

Reimplemented in FiniteElement< dim, spacedim >::InternalDataBase.


Member Function Documentation

template<int dim, int spacedim = dim>
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.

template<int dim, int spacedim = dim>
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.

template<int dim, int spacedim = dim>
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.

template<int dim, int spacedim = dim>
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.


Member Data Documentation

template<int dim, int spacedim = dim>
UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_flags

Values updated by the constructor or by reinit.

Definition at line 325 of file mapping.h.

template<int dim, int spacedim = dim>
UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_once

Values computed by constructor.

Definition at line 331 of file mapping.h.

template<int dim, int spacedim = dim>
UpdateFlags Mapping< dim, spacedim >::InternalDataBase::update_each

Values updated on each cell by reinit.

Definition at line 337 of file mapping.h.

template<int dim, int spacedim = dim>
std::vector<double> Mapping< dim, spacedim >::InternalDataBase::volume_elements

The determinant of the Jacobian in each quadrature point. Filled if update_volume_elements.

Definition at line 396 of file mapping.h.

template<int dim, int spacedim = dim>
std::vector<Point<spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_values

The positions of the mapped (generalized) support points.

Definition at line 403 of file mapping.h.

template<int dim, int spacedim = dim>
std::vector<Tensor<2,spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_gradients

Definition at line 411 of file mapping.h.

template<int dim, int spacedim = dim>
std::vector<Tensor<2,spacedim> > Mapping< dim, spacedim >::InternalDataBase::support_point_inverse_gradients

Definition at line 420 of file mapping.h.

template<int dim, int spacedim = dim>
bool Mapping< dim, spacedim >::InternalDataBase::first_cell [private]

The value returned by is_first_cell.

Definition at line 428 of file mapping.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:09 by doxygen 1.7.2