CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
Pantelides (ADFun< CG< Base > > &fun, const std::vector< DaeVarInfo > &varInfo, const std::vector< std::string > &eqName, const std::vector< Base > &x) | |
Pantelides (const Pantelides &p)=delete | |
Pantelides & | operator= (const Pantelides &p)=delete |
AugmentPath< Base > & | getAugmentPath () const |
void | setAugmentPath (AugmentPath< Base > &a) const |
std::unique_ptr< ADFun< CG< Base > > > | reduceIndex (std::vector< DaeVarInfo > &newVarInfo, std::vector< DaeEquationInfo > &equationInfo) override |
BipartiteGraph< Base > & | getGraph () |
const BipartiteGraph< Base > & | getGraph () const |
void | setPreserveNames (bool p) |
bool | isPreserveNames () const |
size_t | getStructuralIndex () 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_ |
bool | reduced_ |
AugmentPathDepthLookahead< Base > | defaultAugmentPath_ |
AugmentPath< Base > * | augmentPath_ |
BipartiteGraph< Base > | graph_ |
ADFun< CG< Base > > *const | fun_ |
Verbosity | verbosity_ |
std::ostream * | log_ |
Pantelides DAE index reduction algorithm
Definition at line 29 of file pantelides.hpp.
|
inline |
Creates the DAE index reduction algorithm that implements the Pantelides 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 54 of file pantelides.hpp.
|
inlineprotected |
delete all V-nodes with A!=0 and their incident edges from the graph
Definition at line 110 of file pantelides.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.
|
inlineinherited |
Provides the structural index which is typically a good approximation of the differentiation index. It can only be called after reduceIndex().
CGException |
Definition at line 90 of file dae_structural_index_reduction.hpp.
|
inlineinherited |
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 78 of file dae_structural_index_reduction.hpp.
|
inlineoverridevirtual |
Performs the DAE index reduction and creates a new reduced index model.
newVarInfo | Variable related information of the reduced index model |
equationInfo | Equation related information of the reduced index model |
Implements CppAD::cg::DaeIndexReduction< Base >.
Definition at line 79 of file pantelides.hpp.
|
inlineinherited |
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 69 of file dae_structural_index_reduction.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().