This class permits the access of a subset of indexed fields and gives an error if any non-allowed fields are requested.
More...
|
| | FieldContainer (const std::vector< FieldAttributes > &_field_attributes, const SolutionIndexer< dim, number > &_solution_indexer, unsigned int _relative_level, const DependencyMap &dependency_map, const SolveGroup &_solve_group, const MatrixFree< dim, number > &matrix_free) |
| | Constructor.
|
| |
| void | reinit (unsigned int cell) |
| | Initialize based on cell for all dependencies.
|
| |
| void | eval (const BlockVector< number > *src_solutions) |
| | Read solution vector, and evaluate based on dependency flags for all dependencies.
|
| |
| void | reinit_and_eval (unsigned int cell, const BlockVector< number > *src_solutions) |
| | Initialize based on cell, read solution vector, and evaluate based on dependency flags for all dependencies.
|
| |
| void | integrate () |
| | Integrate the residuals.
|
| |
| void | distribute (BlockVector< number > *dst_solutions) |
| | Distribute the integrated residuals.
|
| |
| void | integrate_and_distribute (BlockVector< number > *dst_solutions) |
| | Integrate the residuals and distribute from local to global.
|
| |
| void | set_q_point (unsigned int q) |
| | Set the current quadrature point.
|
| |
| template<TensorRank Rank, DependencyType type> |
| Value< Rank > | get_value (Types::Index global_variable_index) const |
| | Return the value of the specified field.
|
| |
| template<TensorRank Rank> |
| Value< Rank > | get_value (Types::Index global_variable_index, DependencyType type) const |
| | Return the value of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| Gradient< Rank > | get_gradient (Types::Index global_variable_index) const |
| | Return the gradient of the specified field.
|
| |
| template<TensorRank Rank> |
| Gradient< Rank > | get_gradient (Types::Index global_variable_index, DependencyType type) const |
| | Return the gradient of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| Hessian< Rank > | get_hessian (Types::Index global_variable_index) const |
| | Return the hessian of the specified field.
|
| |
| template<TensorRank Rank> |
| Hessian< Rank > | get_hessian (Types::Index global_variable_index, DependencyType type) const |
| | Return the hessian of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| Gradient< Rank > | get_hessian_diagonal (Types::Index global_variable_index) const |
| | Return the diagonal of the hessian of the specified field.
|
| |
| template<TensorRank Rank> |
| Gradient< Rank > | get_hessian_diagonal (Types::Index global_variable_index, DependencyType type) const |
| | Return the diagonal of the hessian of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| Value< Rank > | get_laplacian (Types::Index global_variable_index) const |
| | Return the laplacian of the specified field.
|
| |
| template<TensorRank Rank> |
| Value< Rank > | get_laplacian (Types::Index global_variable_index, DependencyType type) const |
| | Return the laplacian of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| ScalarValue | get_divergence (Types::Index global_variable_index) const |
| | Return the divergence of the specified field.
|
| |
| template<TensorRank Rank> |
| ScalarValue | get_divergence (Types::Index global_variable_index, DependencyType type) const |
| | Return the divergence of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| dealii::SymmetricTensor< 2, dim, ScalarValue > | get_symmetric_gradient (Types::Index global_variable_index) const |
| | Return the symmetric gradient of the specified field.
|
| |
| template<TensorRank Rank> |
| dealii::SymmetricTensor< 2, dim, ScalarValue > | get_symmetric_gradient (Types::Index global_variable_index, DependencyType type) const |
| | Return the symmetric gradient of the specified field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| dealii::Tensor< 1,(dim==2 ? 1 :dim), ScalarValue > | get_curl (Types::Index global_variable_index) const |
| | Return the curl of the specified field.
|
| |
| template<TensorRank Rank> |
| dealii::Tensor< 1,(dim==2 ? 1 :dim), ScalarValue > | get_curl (Types::Index global_variable_index, DependencyType type) const |
| | Return the curl of the specified field.
|
| |
| dealii::Point< dim, ScalarValue > | get_q_point_location () const |
| | Return the quadrature point location.
|
| |
| ScalarValue | get_element_volume () const |
| | Return the quadrature point location.
|
| |
| unsigned int | get_n_q_points () const |
| | Return the number of quadrature points.
|
| |
| template<typename ValType > |
| void | set_value_term (Types::Index global_variable_index, const ValType &val) |
| | Set the residual value of the specified scalar/vector field.
|
| |
| template<typename GradType > |
| void | set_gradient_term (Types::Index global_variable_index, const GradType &val) |
| | Set the residual gradient of the specified scalar/vector field.
|
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Value< Rank > | get_value (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Value< Rank > | get_value (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Gradient< Rank > | get_gradient (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Gradient< Rank > | get_gradient (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Hessian< Rank > | get_hessian (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Hessian< Rank > | get_hessian (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Gradient< Rank > | get_hessian_diagonal (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Gradient< Rank > | get_hessian_diagonal (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Value< Rank > | get_laplacian (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::template Value< Rank > | get_laplacian (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::ScalarValue | get_divergence (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE FieldContainer< dim, degree, number >::ScalarValue | get_divergence (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE dealii::SymmetricTensor< 2, dim, typename FieldContainer< dim, degree, number >::ScalarValue > | get_symmetric_gradient (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE dealii::SymmetricTensor< 2, dim, typename FieldContainer< dim, degree, number >::ScalarValue > | get_symmetric_gradient (Types::Index global_variable_index, DependencyType type) const |
| |
| template<TensorRank Rank, DependencyType type> |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< 1,(dim==2 ? 1 :dim), typename FieldContainer< dim, degree, number >::ScalarValue > | get_curl (Types::Index global_variable_index) const |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE dealii::Tensor< 1,(dim==2 ? 1 :dim), typename FieldContainer< dim, degree, number >::ScalarValue > | get_curl (Types::Index global_variable_index, DependencyType type) const |
| |
| template<typename ValType > |
| DEAL_II_ALWAYS_INLINE void | set_value_term (Types::Index global_variable_index, const ValType &val) |
| |
| template<typename GradType > |
| DEAL_II_ALWAYS_INLINE void | set_gradient_term (Types::Index global_variable_index, const GradType &val) |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE std::vector< typename FieldContainer< dim, degree, number >::template FEEValuationDeps< Rank > > & | get_relevant_feeval_vector () |
| |
| template<TensorRank Rank> |
| DEAL_II_ALWAYS_INLINE const std::vector< typename FieldContainer< dim, degree, number >::template FEEValuationDeps< Rank > > & | get_relevant_feeval_vector () const |
| |
This class permits the access of a subset of indexed fields and gives an error if any non-allowed fields are requested.
- Template Parameters
-
| dim | The number of dimensions in the problem. |
| degree | The polynomial degree of the shape functions. |
| number | Datatype to use for dealii::VectorizedArray<number>. Either double or float. |
Importantly, this class is mostly a wrapper for the dealii::FEEvaluation class, which allows for the evaluation of functions at quadrature points and cell integrations (basically the backbone of the FEM solver). As such, it is one of the most important classes when it comes to performance because these functions are called millions of times.