CoDiPack  3.0.0
A Code Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic Struct Reference

Pushes Jacobians and indices to the tape. More...

#include <jacobianBaseTape.hpp>

Inheritance diagram for codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic:

Public Member Functions

template<typename Node, typename DataVector>
inlinevoid handleJacobianOnActive (Node const &node, Real jacobian, DataVector &dataVector)
 General implementation. Checks for invalid and passive values/Jacobians.
 
template<typename Type, typename DataVector>
inlinevoid handleJacobianOnActive (ReferenceActiveType< Type > const &node, Real jacobian, DataVector &dataVector)
 Specialization for ReferenceActiveType nodes. Delays Jacobian push.
 
- Public Member Functions inherited from codi::JacobianComputationLogic< PushJacobianLogic >
void handleJacobianOnActive (Node const &node, Jacobian jacobian, Args &&... args)
 Called for leaf nodes which implement LhsExpressionInterface.
 
inlineExpressionTraits::EnableIfLhsExpression< Node > leaf (Node const &node, Jacobian jacobian, Args &&... args)
 Called for all leaf nodes in the expression.
 
inlinevoid link (Child const &child, Root const &root, Jacobian const &jacobian, Args &&... args)
 
inlinevoid link (ConstantExpression< Real, ConvOp > const &child, Root const &root, Jacobian const &jacobian, Args &&... args)
 Specialization for ConstantExpressions. Will not compute Jacobians for these links.
 
- Public Member Functions inherited from codi::TraversalLogic< PushJacobianLogic >
inlineImpl & cast ()
 Cast to the implementation.
 
inlinevoid eval (NodeInterface< Node > const &node, Args &&... args)
 Start the evaluation of the logic on the given expression.
 
inlinevoid node (Node const &node, Args &&... args)
 Called for each node in the expression.
 
inlinevoid leaf (Node const &node, Args &&... args)
 Called for all leaf nodes in the expression.
 
inlinevoid link (Child const &child, Root const &root, Args &&... args)
 Called for all links in the expression.
 

Additional Inherited Members

- Public Types inherited from codi::JacobianComputationLogic< PushJacobianLogic >
using Impl
 See JacobianComputationLogic.
 
- Public Types inherited from codi::TraversalLogic< PushJacobianLogic >
using Impl
 See TraversalLogic.
 
- Protected Member Functions inherited from codi::TraversalLogic< PushJacobianLogic >
inlinevoid toLinks (Node const &node, Args &&... args)
 Helper method which calls link for each child.
 
inlinevoid toNode (Node const &node, Args &&... args)
 Helper method to distinguish between leaf nodes and normal nodes.
 

Detailed Description

template<typename T_TapeTypes, typename T_Impl>
struct codi::JacobianBaseTape< T_TapeTypes, T_Impl >::PushJacobianLogic

Pushes Jacobians and indices to the tape.


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