Reference documentation for deal.II version 9.3.3
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Namespaces | Typedefs | Functions
ad_helpers.h File Reference
#include <deal.II/base/config.h>
#include <deal.II/base/numbers.h>
#include <deal.II/base/symmetric_tensor.h>
#include <deal.II/base/tensor.h>
#include <deal.II/differentiation/ad/ad_drivers.h>
#include <deal.II/differentiation/ad/ad_number_traits.h>
#include <deal.II/differentiation/ad/adolc_number_types.h>
#include <deal.II/differentiation/ad/adolc_product_types.h>
#include <deal.II/differentiation/ad/sacado_number_types.h>
#include <deal.II/differentiation/ad/sacado_product_types.h>
#include <deal.II/fe/fe_values_extractors.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/vector.h>
#include <algorithm>
#include <iostream>
#include <iterator>
#include <numeric>
#include <set>

Go to the source code of this file.

Classes

class  Differentiation::AD::HelperBase< ADNumberTypeCode, ScalarType >
 
class  Differentiation::AD::CellLevelBase< ADNumberTypeCode, ScalarType >
 
class  Differentiation::AD::EnergyFunctional< ADNumberTypeCode, ScalarType >
 
class  Differentiation::AD::ResidualLinearization< ADNumberTypeCode, ScalarType >
 
struct  Differentiation::AD::internal::Extractor< dim, FEValuesExtractors::Scalar >
 
struct  Differentiation::AD::internal::Extractor< dim, FEValuesExtractors::Vector >
 
struct  Differentiation::AD::internal::Extractor< dim, FEValuesExtractors::Tensor< 1 > >
 
struct  Differentiation::AD::internal::Extractor< dim, FEValuesExtractors::Tensor< 2 > >
 
struct  Differentiation::AD::internal::Extractor< dim, FEValuesExtractors::SymmetricTensor< 2 > >
 
struct  Differentiation::AD::internal::ScalarFieldGradient< dim, NumberType, ExtractorType >
 
struct  Differentiation::AD::internal::HessianType< ExtractorType_Row, ExtractorType_Col >
 
struct  Differentiation::AD::internal::HessianType< FEValuesExtractors::SymmetricTensor< 2 >, FEValuesExtractors::Scalar >
 
struct  Differentiation::AD::internal::HessianType< FEValuesExtractors::Scalar, FEValuesExtractors::SymmetricTensor< 2 > >
 
struct  Differentiation::AD::internal::HessianType< FEValuesExtractors::SymmetricTensor< 2 >, FEValuesExtractors::SymmetricTensor< 2 > >
 
struct  Differentiation::AD::internal::ScalarFieldHessian< dim, NumberType, ExtractorType_Row, ExtractorType_Col >
 
class  Differentiation::AD::PointLevelFunctionsBase< dim, ADNumberTypeCode, ScalarType >
 
class  Differentiation::AD::ScalarFunction< dim, ADNumberTypeCode, ScalarType >
 
class  Differentiation::AD::VectorFunction< dim, ADNumberTypeCode, ScalarType >
 

Namespaces

namespace  Differentiation
 
namespace  Differentiation::AD
 
namespace  Differentiation::AD::internal
 

Typedefs

template<int dim, typename NumberType , typename ExtractorType_Field >
using Differentiation::AD::internal::VectorFieldValue = ScalarFieldGradient< dim, NumberType, ExtractorType_Field >
 
template<int dim, typename NumberType , typename ExtractorType_Field , typename ExtractorType_Derivative >
using Differentiation::AD::internal::VectorFieldJacobian = ScalarFieldHessian< dim, NumberType, ExtractorType_Field, ExtractorType_Derivative >
 

Functions

template<int dim, typename IndexType = unsigned int, typename ExtractorType >
std::vector< IndexType > Differentiation::AD::internal::extract_field_component_indices (const ExtractorType &extractor, const bool ignore_symmetries=true)
 
template<int dim, typename IndexType = unsigned int>
std::vector< IndexType > Differentiation::AD::internal::extract_field_component_indices (const FEValuesExtractors::SymmetricTensor< 2 > &extractor_symm_tensor, const bool ignore_symmetries=true)
 
template<typename TensorType , typename NumberType >
void Differentiation::AD::internal::set_tensor_entry (TensorType &t, const unsigned int unrolled_index, const NumberType &value)
 
template<int dim, typename NumberType >
void Differentiation::AD::internal::set_tensor_entry (Tensor< 0, dim, NumberType > &t, const unsigned int unrolled_index, const NumberType &value)
 
template<typename NumberType >
void Differentiation::AD::internal::set_tensor_entry (NumberType &t, const unsigned int unrolled_index, const NumberType &value)
 
template<int dim, typename NumberType >
void Differentiation::AD::internal::set_tensor_entry (SymmetricTensor< 4, dim, NumberType > &t, const unsigned int unrolled_index_row, const unsigned int unrolled_index_col, const NumberType &value)
 
template<int rank, int dim, typename NumberType , template< int, int, typename > class TensorType>
NumberType Differentiation::AD::internal::get_tensor_entry (const TensorType< rank, dim, NumberType > &t, const unsigned int unrolled_index)
 
template<int dim, typename NumberType , template< int, int, typename > class TensorType>
NumberType Differentiation::AD::internal::get_tensor_entry (const TensorType< 0, dim, NumberType > &t, const unsigned int unrolled_index)
 
template<typename NumberType >
const NumberType & Differentiation::AD::internal::get_tensor_entry (const NumberType &t, const unsigned int unrolled_index)
 
template<int rank, int dim, typename NumberType , template< int, int, typename > class TensorType>
NumberType & Differentiation::AD::internal::get_tensor_entry (TensorType< rank, dim, NumberType > &t, const unsigned int unrolled_index)
 
template<int dim, typename NumberType , template< int, int, typename > class TensorType>
NumberType & Differentiation::AD::internal::get_tensor_entry (TensorType< 0, dim, NumberType > &t, const unsigned int index)
 
template<typename NumberType >
NumberType & Differentiation::AD::internal::get_tensor_entry (NumberType &t, const unsigned int index)