
Public Types | |
| typedef Table< 2, double > | ShapeVector |
| typedef std::vector < std::vector< Tensor < 1, spacedim > > > | GradientVector |
| typedef std::vector < std::vector< Tensor < 2, spacedim > > > | HessianVector |
Public Member Functions | |
| void | initialize (const unsigned int n_quadrature_points, const FiniteElement< dim, spacedim > &fe, const UpdateFlags flags) |
Public Attributes | |
| ShapeVector | shape_values |
| GradientVector | shape_gradients |
| HessianVector | shape_hessians |
| std::vector< double > | JxW_values |
| std::vector< Tensor < 2, spacedim > > | jacobians |
| std::vector< Tensor < 3, spacedim > > | jacobian_grads |
| std::vector< Tensor < 2, spacedim > > | inverse_jacobians |
| std::vector< Point< spacedim > > | quadrature_points |
| std::vector< Point< spacedim > > | normal_vectors |
| std::vector< Tensor < 1, spacedim > > | boundary_forms |
| std::vector< unsigned int > | shape_function_to_row_table |
| UpdateFlags | update_flags |
Contains all data vectors for FEValues. This class has been extracted from FEValuesBase to be handed over to the fill functions of Mapping and FiniteElement.
The purpose of this class is discussed on the page on The interplay of UpdateFlags, Mapping and FiniteElement in FEValues.
Definition at line 1345 of file fe_values.h.
| typedef Table<2,double> FEValuesData< dim, spacedim >::ShapeVector |
Storage type for shape values. Each row in the matrix denotes the values of a single shape function at the different points, columns are for a single point with the different shape functions.
If a shape function has more than one non-zero component (in deal.II diction: it is non-primitive), then we allocate one row per non-zero component, and shift subsequent rows backward. Lookup of the correct row for a shape function is thus simple in case the entire finite element is primitive (i.e. all shape functions are primitive), since then the shape function number equals the row number. Otherwise, use the shape_function_to_row_table array to get at the first row that belongs to this particular shape function, and navigate among all the rows for this shape function using the FiniteElement::get_nonzero_components() function which tells us which components are non-zero and thus have a row in the array presently under discussion.
Definition at line 1394 of file fe_values.h.
| typedef std::vector<std::vector<Tensor<1,spacedim> > > FEValuesData< dim, spacedim >::GradientVector |
Storage type for gradients. The layout of data is the same as for the ShapeVector data type.
Definition at line 1402 of file fe_values.h.
| typedef std::vector<std::vector<Tensor<2,spacedim> > > FEValuesData< dim, spacedim >::HessianVector |
Likewise for second order derivatives.
Definition at line 1408 of file fe_values.h.
| void FEValuesData< dim, spacedim >::initialize | ( | const unsigned int | n_quadrature_points, |
| const FiniteElement< dim, spacedim > & | fe, | ||
| const UpdateFlags | flags | ||
| ) |
Initialize all vectors to correct size.
| ShapeVector FEValuesData< dim, spacedim >::shape_values |
Store the values of the shape functions at the quadrature points. See the description of the data type for the layout of the data in this field.
Definition at line 1417 of file fe_values.h.
| GradientVector FEValuesData< dim, spacedim >::shape_gradients |
Store the gradients of the shape functions at the quadrature points. See the description of the data type for the layout of the data in this field.
Definition at line 1427 of file fe_values.h.
| HessianVector FEValuesData< dim, spacedim >::shape_hessians |
Store the 2nd derivatives of the shape functions at the quadrature points. See the description of the data type for the layout of the data in this field.
Definition at line 1437 of file fe_values.h.
| std::vector<double> FEValuesData< dim, spacedim >::JxW_values |
Store an array of weights times the Jacobi determinant at the quadrature points. This function is reset each time reinit() is called. The Jacobi determinant is actually the reciprocal value of the Jacobi matrices stored in this class, see the general documentation of this class for more information.
However, if this object refers to an FEFaceValues or FESubfaceValues object, then the JxW_values correspond to the Jacobian of the transformation of the face, not the cell, i.e. the dimensionality is that of a surface measure, not of a volume measure. In this case, it is computed from the boundary forms, rather than the Jacobian matrix.
Definition at line 1466 of file fe_values.h.
| std::vector<Tensor<2,spacedim> > FEValuesData< dim, spacedim >::jacobians |
Array of the Jacobian matrices at the quadrature points.
Definition at line 1472 of file fe_values.h.
| std::vector<Tensor<3,spacedim> > FEValuesData< dim, spacedim >::jacobian_grads |
Array of the derivatives of the Jacobian matrices at the quadrature points.
Definition at line 1478 of file fe_values.h.
| std::vector<Tensor<2,spacedim> > FEValuesData< dim, spacedim >::inverse_jacobians |
Array of the inverse Jacobian matrices at the quadrature points.
Definition at line 1484 of file fe_values.h.
| std::vector<Point<spacedim> > FEValuesData< dim, spacedim >::quadrature_points |
Array of quadrature points. This array is set up upon calling reinit() and contains the quadrature points on the real element, rather than on the reference element.
Definition at line 1493 of file fe_values.h.
| std::vector<Point<spacedim> > FEValuesData< dim, spacedim >::normal_vectors |
List of outward normal vectors at the quadrature points. This field is filled in by the finite element class.
Definition at line 1500 of file fe_values.h.
| std::vector<Tensor<1,spacedim> > FEValuesData< dim, spacedim >::boundary_forms |
List of boundary forms at the quadrature points. This field is filled in by the finite element class.
Definition at line 1507 of file fe_values.h.
| std::vector<unsigned int> FEValuesData< dim, spacedim >::shape_function_to_row_table |
Indicate the first row which a given shape function occupies in the shape_values, shape_gradients and shape_hessians arrays. If all shape functions are primitive, then this is the identity mapping. If, on the other hand some shape functions have more than one non-zero vector components, then they may occupy more than one row, and this array indicates which is the first one.
The questions which particular vector component occupies which row for a given shape function is answered as follows: we allocate one row for each non-zero component as indicated by the FiniteElement::get_nonzero_components() function, and the rows are in ascending order exactly those non-zero components.
Definition at line 1538 of file fe_values.h.
| UpdateFlags FEValuesData< dim, spacedim >::update_flags |
Original update flags handed to the constructor of FEValues.
Definition at line 1545 of file fe_values.h.
documentation generated on Fri Feb 3 2012 06:04:07 by
doxygen
1.7.2