36 #include "../include/datatype_structure.hpp" 101 void SetPreaccIn(
const su2double* data,
const int size);
109 void SetPreaccIn(
const su2double*
const *data,
const int size_x,
const int size_y);
139 void SetPreaccOut(su2double** data,
const int size_x,
const int size_y);
152 #ifdef CODI_REVERSE_TYPE 153 #define AD_BEGIN_PASSIVE \ 154 if(AD::globalTape.isActive()) {\ 155 AD::globalTape.setPassive();\ 158 #define AD_END_PASSIVE \ 160 AD::globalTape.setActive(); \ 161 AD::Status = false; \ 164 #define AD_BEGIN_PASSIVE 165 #define AD_END_PASSIVE 176 su2double abs(
const complex<su2double>& x);
179 complex<su2double> operator/(
const complex<su2double>& x,
const complex<su2double>& y);
182 complex<su2double>
operator*(
const complex<su2double>& x,
const complex<su2double>& y);
void ClearAdjoints()
Clears the currently stored adjoints but keeps the computational graph.
Definition: ad_structure.inl:172
void ComputeAdjoint()
Computes the adjoints, i.e. the derivatives of the output with respect to the input variables...
Definition: ad_structure.inl:174
CSysVector operator*(const su2double &val, const CSysVector &u)
Definition: vector_structure.cpp:303
void ResetInput(su2double &data)
Reset the variable (set index to zero).
Definition: ad_structure.inl:178
void SetPreaccIn(const su2double &data)
Sets the scalar input of a preaccumulation section.
Definition: ad_structure.inl:180
void SetPreaccOut(su2double &data)
Sets the scalar output of a preaccumulation section.
Definition: ad_structure.inl:186
void StartPreacc()
Starts a new preaccumulation section and sets the input variables.
Definition: ad_structure.inl:192
void EndPreacc()
Ends a preaccumulation section and computes the local Jacobi matrix of a code section using the varia...
Definition: ad_structure.inl:194
Contains routines for the reverse mode of AD. In case there is no reverse type configured, they have no effect at all.
void Reset()
Reset the tape structure to be ready for a new recording.
Definition: ad_structure.inl:176
void RegisterOutput(su2double &data)
Registers the variable as an output. I.e. as the root of the computational graph. ...
Definition: ad_structure.inl:166
void StartRecording()
Start the recording of the operations and involved variables. If called, the computational graph of a...
Definition: ad_structure.inl:168
void StopRecording()
Stops the recording of the operations and variables.
Definition: ad_structure.inl:170
Main routines for the algorithmic differentiation (AD) structure.
void RegisterInput(su2double &data)
Registers the variable as an input. I.e. as a leaf of the computational graph.
Definition: ad_structure.inl:164