CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
SoaresSecchi (ADFun< CG< Base > > &fun, const std::vector< DaeVarInfo > &varInfo, const std::vector< std::string > &eqName, const std::vector< Base > &x) | |
SoaresSecchi (const SoaresSecchi &p)=delete | |
SoaresSecchi & | operator= (const SoaresSecchi &p)=delete |
AugmentPath< Base > & | getAugmentPath () const |
void | setAugmentPath (AugmentPath< Base > &a) const |
void | setPreserveNames (bool p) |
bool | isPreserveNames () const |
std::unique_ptr< ADFun< CG< Base > > > | reduceIndex (std::vector< DaeVarInfo > &newVarInfo, std::vector< DaeEquationInfo > &equationInfo) override |
size_t | getStructuralIndex () const |
BipartiteGraph< Base > & | getGraph () |
const BipartiteGraph< Base > & | getGraph () const |
ADFun< CG< Base > > & | getOriginalModel () const |
std::ostream & | log () const |
void | setLog (std::ostream &out) |
void | setVerbosity (Verbosity verbosity) |
Verbosity | getVerbosity () const |
Protected Types | |
using | CGBase = CppAD::cg::CG< Base > |
using | ADCG = CppAD::AD< CGBase > |
Protected Member Functions | |
void | detectSubset2Dif () |
Protected Attributes | |
std::vector< Base > | x_ |
std::set< Enode< Base > * > | lastAddEq_ |
bool | reduced_ |
AugmentPathDepthLookahead< Base > | defaultAugmentPath_ |
AugmentPathDepthLookaheadA< Base > | defaultAugmentPathA_ |
AugmentPath< Base > * | augmentPath_ |
AugmentPath< Base > * | augmentPathA_ |
BipartiteGraph< Base > | graph_ |
ADFun< CG< Base > > *const | fun_ |
Verbosity | verbosity_ |
std::ostream * | log_ |
Soares Secchi method for DAE structural index reduction
Definition at line 30 of file soares_secchi.hpp.
|
inline |
Creates the DAE index reduction algorithm that implements the Soares Secchi method.
fun | The original model (potentially high index) |
varInfo | The DAE system variable information (in the same order as in the tape) |
eqName | Equation names (it can be an empty vector) |
x | typical variable values (used to avoid NaNs in CppAD checks) |
Definition at line 63 of file soares_secchi.hpp.
|
inlineinherited |
Provides the original model with a representation of an implicit DAE (potentially high index).
Definition at line 55 of file dae_index_reduction.hpp.
|
inline |
Provides the differentiation index. It can only be called after reduceIndex().
CGException |
Definition at line 157 of file soares_secchi.hpp.
|
inline |
Whether or not original names saved by using CppAD::PrintFor(0, "", val, name) should be kept by also adding PrintFor operations in the reduced model.
Definition at line 104 of file soares_secchi.hpp.
|
inlineoverridevirtual |
Performs the DAE differentiation index reductions
newVarInfo | Variable related information of the reduced index model |
equationInfo | Equation related information of the reduced index model |
CGException | on failure |
Implements CppAD::cg::DaeIndexReduction< Base >.
Definition at line 118 of file soares_secchi.hpp.
|
inline |
Defines whether or not original names saved by using CppAD::PrintFor(0, "", val, name) should be kept by also adding PrintFor operations in the reduced model.
Definition at line 95 of file soares_secchi.hpp.
|
protectedinherited |
The original model representing an implicit DAE system
Definition at line 36 of file dae_index_reduction.hpp.
Referenced by CppAD::cg::DaeIndexReduction< Base >::getOriginalModel().
|
protected |
the last equations added to graph (equations used to create the ODE or DAE with index 1)
Definition at line 43 of file soares_secchi.hpp.