|
value_type | get_dof_value (const unsigned int dof) const |
|
void | submit_dof_value (const value_type val_in, const unsigned int dof) |
|
value_type | get_value (const unsigned int q_point) const |
|
void | submit_value (const value_type val_in, const unsigned int q_point) |
|
gradient_type | get_gradient (const unsigned int q_point) const |
|
void | submit_gradient (const gradient_type grad_in, const unsigned int q_point) |
|
Tensor< 2, 1, VectorizedArray< Number > > | get_hessian (unsigned int q_point) const |
|
gradient_type | get_hessian_diagonal (const unsigned int q_point) const |
|
value_type | get_laplacian (const unsigned int q_point) const |
|
value_type | integrate_value () const |
|
| ~FEEvaluationBase () |
|
void | reinit (const unsigned int cell) |
|
void | reinit (const TriaIterator< DoFCellAccessor< DoFHandlerType, level_dof_access > > &cell) |
|
void | reinit (const typename Triangulation< dim >::cell_iterator &cell) |
|
unsigned int | get_cell_data_number () const |
|
internal::MatrixFreeFunctions::CellType | get_cell_type () const |
|
const internal::MatrixFreeFunctions::ShapeInfo< Number > & | get_shape_info () const |
|
void | fill_JxW_values (AlignedVector< VectorizedArray< Number > > &JxW_values) const |
|
void | read_dof_values (const VectorType &src, const unsigned int first_index=0) |
|
void | read_dof_values_plain (const VectorType &src, const unsigned int first_index=0) |
|
void | distribute_local_to_global (VectorType &dst, const unsigned int first_index=0) const |
|
void | set_dof_values (VectorType &dst, const unsigned int first_index=0) const |
|
value_type | get_dof_value (const unsigned int dof) const |
|
void | submit_dof_value (const value_type val_in, const unsigned int dof) |
|
value_type | get_value (const unsigned int q_point) const |
|
void | submit_value (const value_type val_in, const unsigned int q_point) |
|
gradient_type | get_gradient (const unsigned int q_point) const |
|
void | submit_gradient (const gradient_type grad_in, const unsigned int q_point) |
|
Tensor< 1, n_components_, Tensor< 2, dim, VectorizedArray< Number > > > | get_hessian (const unsigned int q_point) const |
|
gradient_type | get_hessian_diagonal (const unsigned int q_point) const |
|
value_type | get_laplacian (const unsigned int q_point) const |
|
VectorizedArray< Number > | get_divergence (const unsigned int q_point) const |
|
SymmetricTensor< 2, dim, VectorizedArray< Number > > | get_symmetric_gradient (const unsigned int q_point) const |
|
Tensor< 1,(dim==2?1:dim), VectorizedArray< Number > > | get_curl (const unsigned int q_point) const |
|
void | submit_divergence (const VectorizedArray< Number > div_in, const unsigned int q_point) |
|
void | submit_symmetric_gradient (const SymmetricTensor< 2, dim, VectorizedArray< Number > > grad_in, const unsigned int q_point) |
|
void | submit_curl (const Tensor< 1, dim==2?1:dim, VectorizedArray< Number > > curl_in, const unsigned int q_point) |
|
value_type | integrate_value () const |
|
VectorizedArray< Number > | JxW (const unsigned int q_point) const |
|
const VectorizedArray< Number > * | begin_dof_values () const |
|
VectorizedArray< Number > * | begin_dof_values () |
|
const VectorizedArray< Number > * | begin_values () const |
|
VectorizedArray< Number > * | begin_values () |
|
const VectorizedArray< Number > * | begin_gradients () const |
|
VectorizedArray< Number > * | begin_gradients () |
|
const VectorizedArray< Number > * | begin_hessians () const |
|
VectorizedArray< Number > * | begin_hessians () |
|
const std::vector< unsigned int > & | get_internal_dof_numbering () const |
|
ArrayView< VectorizedArray< Number > > | get_scratch_data () const |
|
|
| FEEvaluationAccess (const MatrixFree< 1, Number > &matrix_free, const unsigned int fe_no, const unsigned int quad_no, const unsigned int fe_degree, const unsigned int n_q_points) |
|
template<int n_components_other> |
| FEEvaluationAccess (const Mapping< 1 > &mapping, const FiniteElement< 1 > &fe, const Quadrature< 1 > &quadrature, const UpdateFlags update_flags, const unsigned int first_selected_component, const FEEvaluationBase< 1, n_components_other, Number > *other) |
|
| FEEvaluationAccess (const FEEvaluationAccess &other) |
|
FEEvaluationAccess & | operator= (const FEEvaluationAccess &other) |
|
| FEEvaluationBase (const MatrixFree< dim, Number > &matrix_free, const unsigned int fe_no, const unsigned int quad_no, const unsigned int fe_degree, const unsigned int n_q_points) |
|
| FEEvaluationBase (const Mapping< dim > &mapping, const FiniteElement< dim > &fe, const Quadrature< 1 > &quadrature, const UpdateFlags update_flags, const unsigned int first_selected_component, const FEEvaluationBase< dim, n_components_other, Number > *other) |
|
| FEEvaluationBase (const FEEvaluationBase &other) |
|
void | read_dof_values_plain (const VectorType *src_data[]) |
|
FEEvaluationBase & | operator= (const FEEvaluationBase &other) |
|
void | read_write_operation (const VectorOperation &operation, VectorType *vectors[]) const |
|
|
AlignedVector< VectorizedArray< Number > > * | scratch_data_array |
|
VectorizedArray< Number > * | scratch_data |
|
VectorizedArray< Number > * | values_dofs [n_components] |
|
VectorizedArray< Number > * | values_quad [n_components] |
|
VectorizedArray< Number > * | gradients_quad [n_components][dim] |
|
VectorizedArray< Number > * | hessians_quad [n_components][(dim *(dim+1))/2] |
|
const unsigned int | quad_no |
|
const unsigned int | n_fe_components |
|
const unsigned int | active_fe_index |
|
const unsigned int | active_quad_index |
|
const MatrixFree< dim, Number > * | matrix_info |
|
const internal::MatrixFreeFunctions::DoFInfo * | dof_info |
|
const internal::MatrixFreeFunctions::MappingInfo< dim, Number > * | mapping_info |
|
const internal::MatrixFreeFunctions::ShapeInfo< Number > * | data |
|
const Tensor< 1, dim, VectorizedArray< Number > > * | cartesian_data |
|
const Tensor< 2, dim, VectorizedArray< Number > > * | jacobian |
|
const VectorizedArray< Number > * | J_value |
|
const VectorizedArray< Number > * | quadrature_weights |
|
const Point< dim, VectorizedArray< Number > > * | quadrature_points |
|
const Tensor< 2, dim, VectorizedArray< Number > > * | jacobian_grad |
|
const Tensor< 1,(dim >1?dim *(dim-1)/2:1), Tensor< 1, dim, VectorizedArray< Number > > > * | jacobian_grad_upper |
|
unsigned int | cell |
|
internal::MatrixFreeFunctions::CellType | cell_type |
|
unsigned int | cell_data_number |
|
bool | dof_values_initialized |
|
bool | values_quad_initialized |
|
bool | gradients_quad_initialized |
|
bool | hessians_quad_initialized |
|
bool | values_quad_submitted |
|
bool | gradients_quad_submitted |
|
std_cxx1x::shared_ptr< internal::MatrixFreeFunctions::MappingDataOnTheFly< dim, Number > > | mapped_geometry |
|
std::vector< types::global_dof_index > | old_style_dof_indices |
|
const unsigned int | first_selected_component |
|
std::vector< types::global_dof_index > | local_dof_indices |
|
template<typename Number>
class FEEvaluationAccess< 1, 1, Number >
This class provides access to the data fields of the FEEvaluation classes. Partial specialization for scalar fields in 1d that defines access with simple data fields, i.e., scalars for the values and Tensor<1,1> for the gradients.
- Author
- Katharina Kormann and Martin Kronbichler, 2010, 2011, Shiva Rudraraju, 2014
Definition at line 1313 of file fe_evaluation.h.
template<typename Number >
Return the value stored for the local degree of freedom with index dof
. If the object is vector-valued, a vector-valued return argument is given. Note that when vectorization is enabled, values from several cells are grouped together. If set_dof_values
was called last, the value corresponds to the one set there. If integrate
was called last, it instead corresponds to the value of the integrated function with the test function of the given index.
template<typename Number >
Takes values on quadrature points, multiplies by the Jacobian determinant and quadrature weights (JxW) and sums the values for all quadrature points on the cell. The result is a scalar, representing the integral over the function over the cell. If a vector-element is used, the resulting components are still separated. Moreover, if vectorization is enabled, the integral values of several cells are represented together.