Stokhos Development
Loading...
Searching...
No Matches
Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage > Class Template Reference

Forward-mode AD class templated on the storage for the derivative array. More...

#include <Sacado_Fad_GeneralFad_MP_Vector.hpp>

Inheritance diagram for Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >:
Collaboration diagram for Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >:

Public Types

typedef Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > > T
typedef RemoveConst< T >::type value_type
 Typename of values.
typedef ScalarType< value_type >::type scalar_type
 Typename of scalar's (which may be different from T).
typedef value_type::value_type val_type

Public Member Functions

Initialization methods
KOKKOS_INLINE_FUNCTION GeneralFad ()
 Default constructor.
template<typename S>
KOKKOS_INLINE_FUNCTION GeneralFad (const S &x, SACADO_ENABLE_VALUE_CTOR_DECL)
 Constructor with supplied value x.
KOKKOS_INLINE_FUNCTION GeneralFad (const int sz, const T &x, const DerivInit zero_out=InitDerivArray)
 Constructor with size sz and value x.
KOKKOS_INLINE_FUNCTION GeneralFad (const int sz, const int i, const T &x)
 Constructor with size sz, index i, and value x.
KOKKOS_INLINE_FUNCTION GeneralFad (const Storage &s)
 Constructor with supplied storage s.
KOKKOS_INLINE_FUNCTION GeneralFad (const GeneralFad &x)
 Copy constructor.
template<typename S>
KOKKOS_INLINE_FUNCTION GeneralFad (const Expr< S > &x, SACADO_ENABLE_EXPR_CTOR_DECL)
 Copy constructor from any Expression object.
KOKKOS_INLINE_FUNCTION ~GeneralFad ()
 Destructor.
KOKKOS_INLINE_FUNCTION void diff (const int ith, const int n)
 Set GeneralFad object as the ith independent variable.
KOKKOS_INLINE_FUNCTION void setUpdateValue (bool update_val)
 Set whether this Fad object should update values.
KOKKOS_INLINE_FUNCTION bool updateValue () const
 Return whether this Fad object has an updated value.
template<typename S>
KOKKOS_INLINE_FUNCTION SACADO_ENABLE_EXPR_FUNC (bool) isEqualTo(const Expr< S > &x) const
 Returns whether two Fad objects have the same values.
Value accessor methods
KOKKOS_INLINE_FUNCTION const T & val () const
 Returns value.
KOKKOS_INLINE_FUNCTION T & val ()
 Returns value.
KOKKOS_INLINE_FUNCTION const val_type & val (int j) const
 Returns value.
KOKKOS_INLINE_FUNCTION val_type & val (int j)
 Returns value.
Derivative accessor methods
KOKKOS_INLINE_FUNCTION int availableSize () const
 Returns number of derivative components that can be stored without reallocation.
KOKKOS_INLINE_FUNCTION bool hasFastAccess () const
 Returns true if derivative array is not empty.
KOKKOS_INLINE_FUNCTION bool isPassive () const
 Returns true if derivative array is empty.
KOKKOS_INLINE_FUNCTION void setIsConstant (bool is_const)
 Set whether variable is constant.
KOKKOS_INLINE_FUNCTION const T * dx () const
 Returns derivative array.
KOKKOS_INLINE_FUNCTION T dx (int i) const
 Returns derivative component i with bounds checking.
KOKKOS_INLINE_FUNCTION T & fastAccessDx (int i)
 Returns derivative component i without bounds checking.
KOKKOS_INLINE_FUNCTION const T & fastAccessDx (int i) const
 Returns derivative component i without bounds checking.
KOKKOS_INLINE_FUNCTION val_type dx (int i, int j) const
 Returns derivative component i with bounds checking.
KOKKOS_INLINE_FUNCTION val_type & fastAccessDx (int i, int j)
 Returns derivative component i without bounds checking.
KOKKOS_INLINE_FUNCTION const val_type & fastAccessDx (int i, int j) const
 Returns derivative component i without bounds checking.

Detailed Description

template<typename Ord, typename Val, int VecNum, typename Dev, typename Storage>
class Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >

Forward-mode AD class templated on the storage for the derivative array.

This class provides a general forward mode AD implementation for any type of derivative array storage. It does not incorporate expression templates.

Constructor & Destructor Documentation

◆ GeneralFad() [1/3]

template<typename Ord, typename Val, int VecNum, typename Dev, typename Storage>
template<typename S>
KOKKOS_INLINE_FUNCTION Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >::GeneralFad ( const S & x,
SACADO_ENABLE_VALUE_CTOR_DECL  )
inline

Constructor with supplied value x.

Initializes value to x and derivative array is empty

◆ GeneralFad() [2/3]

template<typename Ord, typename Val, int VecNum, typename Dev, typename Storage>
KOKKOS_INLINE_FUNCTION Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >::GeneralFad ( const int sz,
const T & x,
const DerivInit zero_out = InitDerivArray )
inline

Constructor with size sz and value x.

Initializes value to x and derivative array 0 of length sz

◆ GeneralFad() [3/3]

template<typename Ord, typename Val, int VecNum, typename Dev, typename Storage>
KOKKOS_INLINE_FUNCTION Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >::GeneralFad ( const int sz,
const int i,
const T & x )
inline

Constructor with size sz, index i, and value x.

Initializes value to x and derivative array of length sz as row i of the identity matrix, i.e., sets derivative component i to 1 and all other's to zero.

References fastAccessDx().

Member Function Documentation

◆ diff()

template<typename Ord, typename Val, int VecNum, typename Dev, typename Storage>
KOKKOS_INLINE_FUNCTION void Sacado::Fad::GeneralFad< Sacado::MP::Vector< Stokhos::StaticFixedStorage< Ord, Val, VecNum, Dev > >, Storage >::diff ( const int ith,
const int n )
inline

Set GeneralFad object as the ith independent variable.

Sets the derivative array of length n to the ith row of the identity matrix and has the same affect as the Implementation(const int sz, const int i, const T & x) constructor.

References fastAccessDx().


The documentation for this class was generated from the following file: