Reference documentation for deal.II version Git d9b14c2d54 2019-09-14 18:13:29 -0600
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Namespaces | Classes | Enumerations | Functions
Differentiation::AD Namespace Reference

Namespaces

 internal
 

Classes

struct  ADNumberTraits
 
class  CellLevelBase
 
class  EnergyFunctional
 
class  HelperBase
 
struct  is_ad_number
 
struct  is_adolc_number
 
struct  is_adolc_taped_number
 
struct  is_adolc_tapeless_number
 
struct  is_complex_valued_ad_number
 
struct  is_real_valued_ad_number
 
struct  is_sacado_dfad_number
 
struct  is_sacado_number
 
struct  is_sacado_rad_number
 
struct  is_taped_ad_number
 
struct  is_tapeless_ad_number
 
struct  Numbers
 
struct  NumberTraits
 
class  PointLevelFunctionsBase
 
class  ResidualLinearization
 
class  ScalarFunction
 
struct  TapedDrivers
 
struct  TapelessDrivers
 
struct  Types
 
class  VectorFunction
 

Enumerations

enum  NumberTypes {
  NumberTypes::none, NumberTypes::adolc_taped, NumberTypes::adolc_tapeless, NumberTypes::sacado_dfad,
  NumberTypes::sacado_dfad_dfad, NumberTypes::sacado_rad, NumberTypes::sacado_rad_dfad
}
 

Functions

static ::ExceptionBaseExcRequiresADNumberSpecialization ()
 
static ::ExceptionBaseExcRequiresADOLC ()
 
static ::ExceptionBaseExcSupportedDerivativeLevels (std::size_t arg1, std::size_t arg2)
 

Detailed Description

Wrappers for automatic differentiation libraries. Currently there is support for the following libraries:

Enumeration Type Documentation

◆ NumberTypes

An enumeration to indicate which type of auto-differentiable number is to be used for computations. If a type that is selected for use is not available in the library, a run-time error will be thrown.

Author
Jean-Paul Pelteret, 2017, 2019
Enumerator
none 

A dummy type for floating point numbers (i.e., non-differentiable scalar types).

This option exists to facilitate the use of template meta-programming techniques to select, based on this enumeration, which auto-differentiable number type will be used to perform calculations. It will not permit any computations because the underlying number types resulting from its selection are floating point types, rather than auto-differentiable numbers.

adolc_taped 

Taped forward and reverse-mode ADOL-C number type (n-differentiable).

First derivatives will be computed using reverse mode, while the second derivatives will be computed using forward mode. Even higher-order derivatives can be computed using ADOL-C's own driver functions.

adolc_tapeless 

Tapeless dynamic forward-mode ADOL-C number type (once differentiable).

sacado_dfad 

Tapeless dynamic forward-mode Sacado number type (once differentiable).

sacado_dfad_dfad 

Tapeless nested dynamic forward-mode Sacado number type (twice differentiable).

Both the first and second derivatives will be computed using forward mode.

sacado_rad 

Tapeless reverse-mode Sacado number type (once differentiable).

sacado_rad_dfad 

Tapeless nested reverse-mode and dynamic forward-mode Sacado number type (twice differentiable).

First derivatives will be computed using reverse mode, while the second derivatives will be computed using forward mode.

Definition at line 36 of file ad_number_types.h.