CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
DaeStructuralIndexReduction (ADFun< CG< Base >> &fun, const std::vector< DaeVarInfo > &varInfo, const std::vector< std::string > &eqName) | |
BipartiteGraph< Base > & | getGraph () |
const BipartiteGraph< Base > & | getGraph () const |
void | setPreserveNames (bool p) |
bool | isPreserveNames () const |
size_t | getStructuralIndex () const |
ADFun< CG< Base > > & | getOriginalModel () const |
virtual std::unique_ptr< ADFun< CG< Base > > > | reduceIndex (std::vector< DaeVarInfo > &newVarInfo, std::vector< DaeEquationInfo > &equationInfo)=0 |
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 Attributes | |
BipartiteGraph< Base > | graph_ |
ADFun< CG< Base > > *const | fun_ |
Verbosity | verbosity_ |
std::ostream * | log_ |
Base class for algorithms that perform automatic structural index reduction of implicit DAEs using graphs.
Definition at line 29 of file dae_structural_index_reduction.hpp.
|
inline |
Creates a new algorithm for structural index reduction of DAE systems.
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) |
Definition at line 46 of file dae_structural_index_reduction.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 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.
|
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 78 of file dae_structural_index_reduction.hpp.
|
pure virtualinherited |
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 |
Implemented in CppAD::cg::DummyDerivatives< Base >, CppAD::cg::SoaresSecchi< Base >, and CppAD::cg::Pantelides< Base >.
Referenced by CppAD::cg::DaeIndexReduction< Base >::getOriginalModel(), and CppAD::cg::DummyDerivatives< Base >::reduceIndex().
|
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 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().