casadi 3.6.7__cp38-none-manylinux2014_aarch64.whl → 3.7.1__cp38-none-manylinux2014_aarch64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- casadi/_casadi.so +0 -0
- casadi/casadi-cli +0 -0
- casadi/casadi.py +6531 -3039
- casadi/cmake/casadi-config-version.cmake +1 -1
- casadi/cmake/casadi-config.cmake +1 -1
- casadi/cmake/casadi-targets-release.cmake +5 -5
- casadi/cmake/casadi-targets.cmake +5 -5
- casadi/{lib/cmake/tinyxml2/tinyxml2-config-version.cmake → cmake/ghc_filesystem/ghc_filesystem-config-version.cmake} +30 -10
- casadi/cmake/ghc_filesystem/ghc_filesystem-config.cmake +30 -0
- casadi/cmake/ghc_filesystem/ghc_filesystem-targets.cmake +107 -0
- casadi/cmake/libzip/libzip-config-version.cmake +43 -0
- casadi/cmake/libzip/libzip-config.cmake +69 -0
- casadi/cmake/libzip/libzip-targets-release.cmake +19 -0
- casadi/{lib/cmake/tinyxml2/tinyxml2-static-targets.cmake → cmake/libzip/libzip-targets.cmake} +11 -7
- casadi/cmake/libzip/modules/FindMbedTLS.cmake +141 -0
- casadi/cmake/libzip/modules/FindNettle.cmake +141 -0
- casadi/cmake/libzip/modules/Findzstd.cmake +186 -0
- casadi/include/casadi/casadi.i +276 -47
- casadi/include/casadi/config.h +11 -11
- casadi/include/casadi/core/archiver.hpp +58 -0
- casadi/include/casadi/core/blazing_spline.hpp +47 -0
- casadi/include/casadi/core/calculus.hpp +57 -2
- casadi/include/casadi/core/callback.hpp +9 -0
- casadi/include/casadi/core/casadi_common.hpp +37 -0
- casadi/include/casadi/core/casadi_meta.hpp +15 -0
- casadi/include/casadi/core/casadi_misc.hpp +21 -0
- casadi/include/casadi/core/code_generator.hpp +115 -19
- casadi/include/casadi/core/core.hpp +5 -0
- casadi/include/casadi/core/dae_builder.hpp +303 -141
- casadi/include/casadi/core/dm.hpp +3 -0
- casadi/include/casadi/core/filesystem.hpp +58 -0
- casadi/include/casadi/core/fmu.hpp +62 -16
- casadi/include/casadi/core/function.hpp +24 -0
- casadi/include/casadi/core/generic_matrix.hpp +214 -7
- casadi/include/casadi/core/generic_shared.hpp +395 -0
- casadi/include/casadi/core/generic_shared_impl.hpp +218 -0
- casadi/include/casadi/core/generic_shared_internal.hpp +215 -0
- casadi/include/casadi/core/generic_type.hpp +3 -0
- casadi/include/casadi/core/global_options.hpp +10 -0
- casadi/include/casadi/core/integrator.hpp +41 -7
- casadi/include/casadi/core/matrix_decl.hpp +71 -0
- casadi/include/casadi/core/mx.hpp +63 -2
- casadi/include/casadi/core/nlp_builder.hpp +2 -1
- casadi/include/casadi/core/options.hpp +6 -3
- casadi/include/casadi/core/optistack.hpp +43 -9
- casadi/include/casadi/core/printable.hpp +8 -0
- casadi/include/casadi/core/resource.hpp +107 -0
- casadi/include/casadi/core/runtime/casadi_blazing_1d_boor_eval.hpp +112 -0
- casadi/include/casadi/core/runtime/casadi_blazing_2d_boor_eval.hpp +311 -0
- casadi/include/casadi/core/runtime/casadi_blazing_3d_boor_eval.hpp +645 -0
- casadi/include/casadi/core/runtime/casadi_blazing_de_boor.hpp +101 -0
- casadi/include/casadi/core/runtime/casadi_finite_diff.hpp +1 -1
- casadi/include/casadi/core/runtime/casadi_nlp.hpp +8 -2
- casadi/include/casadi/core/runtime/casadi_print_canonical.hpp +55 -0
- casadi/include/casadi/core/runtime/casadi_print_scalar.hpp +25 -0
- casadi/include/casadi/core/runtime/casadi_print_vector.hpp +32 -0
- casadi/include/casadi/core/runtime/casadi_printme.hpp +26 -0
- casadi/include/casadi/core/serializer.hpp +13 -5
- casadi/include/casadi/core/serializing_stream.hpp +9 -2
- casadi/include/casadi/core/shared_object.hpp +73 -161
- casadi/include/casadi/core/sparsity.hpp +13 -1
- casadi/include/casadi/core/sparsity_interface.hpp +19 -1
- casadi/include/casadi/core/sx.hpp +41 -0
- casadi/include/casadi/core/sx_elem.hpp +25 -0
- casadi/include/casadi/core/xml_node.hpp +5 -0
- casadi/include/casadi/doc.i +10026 -6513
- casadi/include/casadi/doc_merged.i +6744 -4449
- casadi/include/casadi/valgrind-casadi.supp +138 -0
- casadi/include/casadi/valgrind-python.supp +2470 -0
- casadi/include/fatrop/blasfeo_wrapper/LinearAlgebraBlasfeo.hpp +4 -1
- casadi/include/ghc/filesystem.hpp +6083 -0
- casadi/include/ghc/fs_fwd.hpp +38 -0
- casadi/include/ghc/fs_impl.hpp +35 -0
- casadi/include/ghc/fs_std.hpp +60 -0
- casadi/include/ghc/fs_std_fwd.hpp +63 -0
- casadi/include/ghc/fs_std_impl.hpp +46 -0
- casadi/include/licenses/ghc-external/LICENSE +19 -0
- casadi/include/licenses/libz-external/LICENSE +22 -0
- casadi/include/licenses/libz-external/contrib/dotzlib/LICENSE_1_0.txt +23 -0
- casadi/include/licenses/libzip-external/LICENSE +31 -0
- casadi/include/zconf.h +545 -0
- casadi/include/zip.h +528 -0
- casadi/include/zipconf.h +48 -0
- casadi/include/zlib.h +1938 -0
- casadi/libcasadi-tp-openblas.so +0 -0
- casadi/libcasadi-tp-openblas.so.0 +0 -0
- casadi/libcasadi-tp-openblas.so.0.3 +0 -0
- casadi/libcasadi.so +0 -0
- casadi/libcasadi.so.3.7 +0 -0
- casadi/libcasadi_archiver_libzip.so +0 -0
- casadi/libcasadi_archiver_libzip.so.3.7 +0 -0
- casadi/libcasadi_conic_cplex.so +0 -0
- casadi/libcasadi_conic_cplex.so.3.7 +0 -0
- casadi/libcasadi_conic_daqp.so +0 -0
- casadi/libcasadi_conic_daqp.so.3.7 +0 -0
- casadi/libcasadi_conic_fatrop.so +0 -0
- casadi/libcasadi_conic_fatrop.so.3.7 +0 -0
- casadi/libcasadi_conic_gurobi.so +0 -0
- casadi/libcasadi_conic_gurobi.so.3.7 +0 -0
- casadi/libcasadi_conic_hpipm.so +0 -0
- casadi/libcasadi_conic_hpipm.so.3.7 +0 -0
- casadi/libcasadi_conic_ipqp.so +0 -0
- casadi/libcasadi_conic_ipqp.so.3.7 +0 -0
- casadi/libcasadi_conic_nlpsol.so +0 -0
- casadi/libcasadi_conic_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_conic_osqp.so +0 -0
- casadi/libcasadi_conic_osqp.so.3.7 +0 -0
- casadi/libcasadi_conic_proxqp.so +0 -0
- casadi/libcasadi_conic_proxqp.so.3.7 +0 -0
- casadi/libcasadi_conic_qpoases.so +0 -0
- casadi/libcasadi_conic_qpoases.so.3.7 +0 -0
- casadi/libcasadi_conic_qrqp.so +0 -0
- casadi/libcasadi_conic_qrqp.so.3.7 +0 -0
- casadi/libcasadi_conic_superscs.so +0 -0
- casadi/libcasadi_conic_superscs.so.3.7 +0 -0
- casadi/libcasadi_filesystem_ghc.so +0 -0
- casadi/libcasadi_filesystem_ghc.so.3.7 +0 -0
- casadi/libcasadi_importer_shell.so +0 -0
- casadi/libcasadi_importer_shell.so.3.7 +0 -0
- casadi/libcasadi_integrator_collocation.so +0 -0
- casadi/libcasadi_integrator_collocation.so.3.7 +0 -0
- casadi/libcasadi_integrator_cvodes.so +0 -0
- casadi/libcasadi_integrator_cvodes.so.3.7 +0 -0
- casadi/libcasadi_integrator_idas.so +0 -0
- casadi/libcasadi_integrator_idas.so.3.7 +0 -0
- casadi/libcasadi_integrator_rk.so +0 -0
- casadi/libcasadi_integrator_rk.so.3.7 +0 -0
- casadi/libcasadi_interpolant_bspline.so +0 -0
- casadi/libcasadi_interpolant_bspline.so.3.7 +0 -0
- casadi/libcasadi_interpolant_linear.so +0 -0
- casadi/libcasadi_interpolant_linear.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparse.so +0 -0
- casadi/libcasadi_linsol_csparse.so.3.7 +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so +0 -0
- casadi/libcasadi_linsol_csparsecholesky.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapacklu.so +0 -0
- casadi/libcasadi_linsol_lapacklu.so.3.7 +0 -0
- casadi/libcasadi_linsol_lapackqr.so +0 -0
- casadi/libcasadi_linsol_lapackqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ldl.so +0 -0
- casadi/libcasadi_linsol_ldl.so.3.7 +0 -0
- casadi/libcasadi_linsol_lsqr.so +0 -0
- casadi/libcasadi_linsol_lsqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_ma27.so +0 -0
- casadi/libcasadi_linsol_ma27.so.3.7 +0 -0
- casadi/libcasadi_linsol_mumps.so +0 -0
- casadi/libcasadi_linsol_mumps.so.3.7 +0 -0
- casadi/libcasadi_linsol_qr.so +0 -0
- casadi/libcasadi_linsol_qr.so.3.7 +0 -0
- casadi/libcasadi_linsol_symbolicqr.so +0 -0
- casadi/libcasadi_linsol_symbolicqr.so.3.7 +0 -0
- casadi/libcasadi_linsol_tridiag.so +0 -0
- casadi/libcasadi_linsol_tridiag.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so +0 -0
- casadi/libcasadi_nlpsol_alpaqa.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ampl.so +0 -0
- casadi/libcasadi_nlpsol_ampl.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so +0 -0
- casadi/libcasadi_nlpsol_blocksqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_fatrop.so +0 -0
- casadi/libcasadi_nlpsol_fatrop.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_feasiblesqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_ipopt.so +0 -0
- casadi/libcasadi_nlpsol_ipopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_knitro.so +0 -0
- casadi/libcasadi_nlpsol_knitro.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_madnlp.so +0 -0
- casadi/libcasadi_nlpsol_madnlp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so +0 -0
- casadi/libcasadi_nlpsol_qrsqp.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_scpgen.so +0 -0
- casadi/libcasadi_nlpsol_scpgen.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_snopt.so +0 -0
- casadi/libcasadi_nlpsol_snopt.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so +0 -0
- casadi/libcasadi_nlpsol_sqpmethod.so.3.7 +0 -0
- casadi/libcasadi_nlpsol_worhp.so +0 -0
- casadi/libcasadi_nlpsol_worhp.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so +0 -0
- casadi/libcasadi_rootfinder_fast_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_kinsol.so +0 -0
- casadi/libcasadi_rootfinder_kinsol.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_newton.so +0 -0
- casadi/libcasadi_rootfinder_newton.so.3.7 +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so +0 -0
- casadi/libcasadi_rootfinder_nlpsol.so.3.7 +0 -0
- casadi/libcasadi_sundials_common.so +0 -0
- casadi/libcasadi_sundials_common.so.3.7 +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so +0 -0
- casadi/libcasadi_xmlfile_tinyxml.so.3.7 +0 -0
- casadi/libcoinmumps.so +0 -0
- casadi/libcoinmumps.so.3 +0 -0
- casadi/libcoinmumps.so.3.0.1 +0 -0
- casadi/libfatrop.so +0 -0
- casadi/libgfortran-9121747c.so.5.0.0 +0 -0
- casadi/libipopt.so +0 -0
- casadi/libipopt.so.3 +0 -0
- casadi/libipopt.so.3.14.11 +0 -0
- casadi/libsipopt.so +0 -0
- casadi/libsipopt.so.3 +0 -0
- casadi/libsipopt.so.3.14.11 +0 -0
- casadi/libz.a +0 -0
- casadi/libz.so +0 -0
- casadi/libz.so.1 +0 -0
- casadi/libz.so.1.3.1 +0 -0
- casadi/libzip.a +0 -0
- casadi/pkgconfig/casadi.pc +1 -1
- casadi/pkgconfig/libzip.pc +14 -0
- casadi/tools/__init__.py +3 -1
- casadi/tools/graph/graph.py +1 -1
- casadi/tools/structure3.py +7 -7
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/METADATA +1 -1
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/RECORD +215 -173
- casadi/include/tinyxml2.h +0 -2380
- casadi/lib/cmake/tinyxml2/tinyxml2-config.cmake +0 -57
- casadi/lib/cmake/tinyxml2/tinyxml2-static-targets-release.cmake +0 -19
- casadi/lib/libtinyxml2.a +0 -0
- casadi/lib/pkgconfig/tinyxml2.pc +0 -10
- casadi/tools/structure.py +0 -1446
- {casadi-3.6.7.dist-info → casadi-3.7.1.dist-info}/WHEEL +0 -0
@@ -87,15 +87,23 @@ class CASADI_EXPORT DaeBuilder
|
|
87
87
|
|
88
88
|
/** @name Variables and equations */
|
89
89
|
///@{
|
90
|
+
/** \brief Expression for independent variable (usually time)
|
91
|
+
|
92
|
+
\identifier{2by} */
|
93
|
+
const MX& time() const;
|
94
|
+
|
90
95
|
/** \brief Independent variable (usually time)
|
91
96
|
|
92
|
-
\identifier{
|
93
|
-
const
|
97
|
+
\identifier{2bz} */
|
98
|
+
std::vector<std::string> t_new() const {return all("t");}
|
94
99
|
|
95
100
|
/** \brief Differential states
|
96
101
|
|
97
102
|
\identifier{5f} */
|
98
|
-
std::vector<std::string> x() const;
|
103
|
+
std::vector<std::string> x() const {return all("x");}
|
104
|
+
|
105
|
+
/// Outputs */
|
106
|
+
std::vector<std::string> y() const;
|
99
107
|
|
100
108
|
/** \brief Ordinary differential equations (ODE)
|
101
109
|
|
@@ -105,7 +113,7 @@ class CASADI_EXPORT DaeBuilder
|
|
105
113
|
/** \brief Algebraic variables
|
106
114
|
|
107
115
|
\identifier{5h} */
|
108
|
-
std::vector<std::string> z() const;
|
116
|
+
std::vector<std::string> z() const {return all("z");}
|
109
117
|
|
110
118
|
/** \brief Algebraic equations
|
111
119
|
|
@@ -115,37 +123,52 @@ class CASADI_EXPORT DaeBuilder
|
|
115
123
|
/** \brief Quadrature states
|
116
124
|
|
117
125
|
\identifier{5j} */
|
118
|
-
std::vector<std::string> q() const;
|
126
|
+
std::vector<std::string> q() const {return all("q");}
|
119
127
|
|
120
128
|
/** \brief Quadrature equations
|
121
129
|
|
122
130
|
\identifier{5k} */
|
123
131
|
std::vector<MX> quad() const;
|
124
132
|
|
125
|
-
/** \brief
|
133
|
+
/** \brief Zero-crossing functions
|
126
134
|
|
127
|
-
\identifier{
|
128
|
-
std::vector<
|
135
|
+
\identifier{2b0} */
|
136
|
+
std::vector<MX> zero() const;
|
129
137
|
|
130
138
|
/** \brief Definitions of output variables
|
131
139
|
|
132
140
|
\identifier{5m} */
|
133
141
|
std::vector<MX> ydef() const;
|
134
142
|
|
143
|
+
/** \brief Set all output variables
|
144
|
+
|
145
|
+
\identifier{2db} */
|
146
|
+
void set_y(const std::vector<std::string>& name);
|
147
|
+
|
148
|
+
/** \brief Get all rate variables
|
149
|
+
|
150
|
+
\identifier{2dc} */
|
151
|
+
std::vector<std::string> rate() const;
|
152
|
+
|
153
|
+
/** \brief Set rate variables
|
154
|
+
|
155
|
+
\identifier{2dd} */
|
156
|
+
void set_rate(const std::vector<std::string>& name);
|
157
|
+
|
135
158
|
/** \brief Free controls
|
136
159
|
|
137
160
|
\identifier{5n} */
|
138
|
-
std::vector<std::string> u() const;
|
161
|
+
std::vector<std::string> u() const {return all("u");}
|
139
162
|
|
140
163
|
/** \brief Parameters
|
141
164
|
|
142
165
|
\identifier{5o} */
|
143
|
-
std::vector<std::string> p() const;
|
166
|
+
std::vector<std::string> p() const {return all("p");}
|
144
167
|
|
145
168
|
/** \brief Named constants
|
146
169
|
|
147
170
|
\identifier{5p} */
|
148
|
-
std::vector<std::string> c() const;
|
171
|
+
std::vector<std::string> c() const {return all("c");}
|
149
172
|
|
150
173
|
/** \brief Definitions of named constants
|
151
174
|
|
@@ -155,7 +178,7 @@ class CASADI_EXPORT DaeBuilder
|
|
155
178
|
/** \brief Dependent parameters
|
156
179
|
|
157
180
|
\identifier{5r} */
|
158
|
-
std::vector<std::string> d() const;
|
181
|
+
std::vector<std::string> d() const {return all("d");}
|
159
182
|
|
160
183
|
/** \brief Definitions of dependent parameters
|
161
184
|
|
@@ -167,7 +190,7 @@ class CASADI_EXPORT DaeBuilder
|
|
167
190
|
/** \brief Dependent variables
|
168
191
|
|
169
192
|
\identifier{5t} */
|
170
|
-
std::vector<std::string> w() const;
|
193
|
+
std::vector<std::string> w() const {return all("w");}
|
171
194
|
|
172
195
|
/** \brief Dependent variables and corresponding definitions
|
173
196
|
|
@@ -176,36 +199,15 @@ class CASADI_EXPORT DaeBuilder
|
|
176
199
|
\identifier{5u} */
|
177
200
|
std::vector<MX> wdef() const;
|
178
201
|
|
179
|
-
/** \brief Auxiliary variables: Used e.g. to define functions
|
180
|
-
|
181
|
-
\identifier{5v} */
|
182
|
-
const std::vector<MX>& aux() const;
|
183
|
-
|
184
202
|
/** \brief Initial conditions, left-hand-side
|
185
203
|
|
186
|
-
\identifier{
|
187
|
-
|
204
|
+
\identifier{2b1} */
|
205
|
+
std::vector<MX> init_lhs() const;
|
188
206
|
|
189
207
|
/** \brief Initial conditions, right-hand-side
|
190
208
|
|
191
|
-
\identifier{
|
192
|
-
|
193
|
-
|
194
|
-
/** \brief When statement: triggering condition
|
195
|
-
|
196
|
-
\identifier{5y} */
|
197
|
-
const std::vector<MX>& when_cond() const;
|
198
|
-
|
199
|
-
/** \brief When statement: left-hand-side
|
200
|
-
|
201
|
-
\identifier{5z} */
|
202
|
-
const std::vector<MX>& when_lhs() const;
|
203
|
-
|
204
|
-
/** \brief When statement: right-hand-side
|
205
|
-
|
206
|
-
\identifier{60} */
|
207
|
-
const std::vector<MX>& when_rhs() const;
|
208
|
-
///@}
|
209
|
+
\identifier{2b2} */
|
210
|
+
std::vector<MX> init_rhs() const;
|
209
211
|
|
210
212
|
/** \brief Model structure: outputs
|
211
213
|
|
@@ -230,6 +232,11 @@ class CASADI_EXPORT DaeBuilder
|
|
230
232
|
\identifier{64} */
|
231
233
|
bool has_t() const;
|
232
234
|
|
235
|
+
/** \brief Is there a rate output?
|
236
|
+
|
237
|
+
\identifier{2dg} */
|
238
|
+
bool has_rate() const;
|
239
|
+
|
233
240
|
/** \brief Differential states
|
234
241
|
|
235
242
|
\identifier{65} */
|
@@ -245,6 +252,11 @@ class CASADI_EXPORT DaeBuilder
|
|
245
252
|
\identifier{67} */
|
246
253
|
casadi_int nq() const;
|
247
254
|
|
255
|
+
/** \brief Zero-crossing functions
|
256
|
+
|
257
|
+
\identifier{2cb} */
|
258
|
+
casadi_int nzero() const;
|
259
|
+
|
248
260
|
/** \brief Output variables
|
249
261
|
|
250
262
|
\identifier{68} */
|
@@ -280,62 +292,123 @@ class CASADI_EXPORT DaeBuilder
|
|
280
292
|
* Formulate a dynamic system model
|
281
293
|
*/
|
282
294
|
///@{
|
283
|
-
|
295
|
+
|
296
|
+
/// Add a new model variable
|
297
|
+
MX add(const std::string& name,
|
298
|
+
const std::string& causality,
|
299
|
+
const std::string& variability,
|
300
|
+
const Dict& opts=Dict());
|
301
|
+
|
302
|
+
/// Add a new model variable, default variability
|
303
|
+
MX add(const std::string& name,
|
304
|
+
const std::string& causality,
|
305
|
+
const Dict& opts=Dict());
|
306
|
+
|
307
|
+
/// Add a new model variable, default variability and causality
|
308
|
+
MX add(const std::string& name,
|
309
|
+
const Dict& opts=Dict());
|
310
|
+
|
311
|
+
/// Add a new model variable, symbolic expression already available
|
312
|
+
void add(const std::string& name,
|
313
|
+
const std::string& causality,
|
314
|
+
const std::string& variability,
|
315
|
+
const MX& expr,
|
316
|
+
const Dict& opts=Dict());
|
317
|
+
|
318
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
319
|
+
/// [DEPRECATED] Renamed "time"
|
320
|
+
const MX& t() const { return time();}
|
321
|
+
|
322
|
+
/// [DEPRECATED] Replaced by add
|
284
323
|
MX add_t(const std::string& name="t");
|
285
324
|
|
286
|
-
///
|
325
|
+
/// [DEPRECATED] Replaced by add
|
287
326
|
MX add_p(const std::string& name=std::string());
|
288
327
|
|
289
|
-
///
|
328
|
+
/// [DEPRECATED] Replaced by add
|
290
329
|
MX add_u(const std::string& name=std::string());
|
291
330
|
|
292
|
-
///
|
331
|
+
/// [DEPRECATED] Replaced by add
|
293
332
|
MX add_x(const std::string& name=std::string());
|
294
333
|
|
295
|
-
///
|
334
|
+
/// [DEPRECATED] Replaced by add
|
296
335
|
MX add_z(const std::string& name=std::string());
|
297
336
|
|
298
|
-
///
|
337
|
+
/// [DEPRECATED] Replaced by add
|
299
338
|
MX add_q(const std::string& name=std::string());
|
300
339
|
|
301
|
-
///
|
340
|
+
/// [DEPRECATED] Replaced by add and eq
|
302
341
|
MX add_c(const std::string& name, const MX& new_cdef);
|
303
342
|
|
304
|
-
///
|
343
|
+
/// [DEPRECATED] Replaced by add and eq
|
305
344
|
MX add_d(const std::string& name, const MX& new_ddef);
|
306
345
|
|
307
|
-
///
|
346
|
+
/// [DEPRECATED] Replaced by add and eq
|
308
347
|
MX add_w(const std::string& name, const MX& new_wdef);
|
309
348
|
|
310
|
-
///
|
349
|
+
/// [DEPRECATED] Replaced by add and eq
|
311
350
|
MX add_y(const std::string& name, const MX& new_ydef);
|
312
351
|
|
313
|
-
///
|
314
|
-
void
|
352
|
+
/// [DEPRECATED] Replaced by eq
|
353
|
+
void set_beq(const std::string& name, const MX& val);
|
315
354
|
|
316
|
-
|
317
|
-
void set_alg(const std::string& name, const MX& alg_rhs);
|
355
|
+
#endif // WITH_DEPRECATED_FEATURES
|
318
356
|
|
319
|
-
/// Add
|
320
|
-
|
357
|
+
/// Add a simple equation
|
358
|
+
void eq(const MX& lhs, const MX& rhs, const Dict& opts=Dict());
|
321
359
|
|
322
|
-
/// Add
|
323
|
-
void
|
360
|
+
/// Add when equations
|
361
|
+
void when(const MX& cond, const std::vector<std::string>& eqs, const Dict& opts=Dict());
|
324
362
|
|
325
|
-
///
|
326
|
-
|
363
|
+
/// Assignment inside a when-equation or if-else equation
|
364
|
+
std::string assign(const std::string& name, const MX& val);
|
365
|
+
|
366
|
+
/// Reinitialize a state inside when-equations
|
367
|
+
std::string reinit(const std::string& name, const MX& val);
|
368
|
+
|
369
|
+
/// Specify the initial equation for a variable
|
370
|
+
void set_init(const std::string& name, const MX& init_rhs);
|
371
|
+
|
372
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
373
|
+
/// [DEPRECATED] Replaced by eq
|
374
|
+
void set_ode(const std::string& name, const MX& ode_rhs) {
|
375
|
+
eq(var(name), ode_rhs);
|
376
|
+
}
|
377
|
+
|
378
|
+
/// [DEPRECATED] Replaced by eq
|
379
|
+
void set_alg(const std::string& name, const MX& alg_rhs) {
|
380
|
+
(void)name;
|
381
|
+
eq(0, alg_rhs);
|
382
|
+
}
|
383
|
+
|
384
|
+
/// [DEPRECATED] Replaced by set_init
|
385
|
+
void add_init(const MX& lhs, const MX& rhs) {
|
386
|
+
set_init(lhs.name(), rhs);
|
387
|
+
}
|
388
|
+
|
389
|
+
/// [DEPRECATED] Replaced by nzero()
|
390
|
+
casadi_int ne() const {return nzero();}
|
391
|
+
|
392
|
+
/// [DEPRECATED] Use all("zero") */
|
393
|
+
std::vector<std::string> e() const {return all("zero");}
|
394
|
+
|
395
|
+
#endif // WITH_DEPRECATED_FEATURES
|
327
396
|
|
328
397
|
/// Check if dimensions match
|
329
398
|
void sanity_check() const;
|
330
399
|
///@}
|
331
400
|
|
332
|
-
///
|
401
|
+
/// Reorder variables in a category
|
402
|
+
void reorder(const std::string& cat, const std::vector<std::string>& v);
|
403
|
+
|
404
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
405
|
+
/// [DEPRECATED] Use set_variability, set_causality or set_category to change variable category
|
333
406
|
void clear_all(const std::string& v);
|
334
407
|
|
335
|
-
///
|
408
|
+
/// [DEPRECATED] Use set_variability, set_causality, set_category and/or reorder
|
336
409
|
void set_all(const std::string& v, const std::vector<std::string>& name);
|
337
410
|
|
338
|
-
/** @name Register an existing variable */
|
411
|
+
/** @name [DEPRECATED] Register an existing variable */
|
339
412
|
///@{
|
340
413
|
void register_t(const std::string& name);
|
341
414
|
void register_p(const std::string& name);
|
@@ -347,48 +420,44 @@ class CASADI_EXPORT DaeBuilder
|
|
347
420
|
void register_d(const std::string& name);
|
348
421
|
void register_w(const std::string& name);
|
349
422
|
void register_y(const std::string& name);
|
423
|
+
void register_e(const std::string& name);
|
350
424
|
///@}
|
351
425
|
|
352
|
-
|
353
|
-
|
354
|
-
///@{
|
355
|
-
void set_u(const std::vector<std::string>& name) { set_all("u", name);}
|
356
|
-
void set_x(const std::vector<std::string>& name) { set_all("x", name);}
|
357
|
-
void set_z(const std::vector<std::string>& name,
|
358
|
-
const std::vector<std::string>& alg = std::vector<std::string>());
|
359
|
-
void set_q(const std::vector<std::string>& name) { set_all("q", name);}
|
360
|
-
void set_y(const std::vector<std::string>& name) { set_all("y", name);}
|
361
|
-
///@}
|
362
|
-
#endif // WITH_DEPRECATED_FEATURES
|
363
|
-
|
364
|
-
/** @name Manipulation
|
365
|
-
* Reformulate the dynamic optimization problem.
|
366
|
-
*/
|
367
|
-
///@{
|
368
|
-
|
369
|
-
#ifdef WITH_DEPRECATED_FEATURES
|
370
|
-
/// [DEPRECATED] Clear input variable: Replaced by clear_all
|
371
|
-
void clear_in(const std::string& v) { clear_all(v);}
|
372
|
-
#endif // WITH_DEPRECATED_FEATURES
|
426
|
+
/// [DEPRECATED] Use eliminate("d")
|
427
|
+
void eliminate_d();
|
373
428
|
|
374
|
-
///
|
429
|
+
/// [DEPRECATED] Use eliminate("w")
|
375
430
|
void eliminate_w();
|
376
431
|
|
377
|
-
///
|
378
|
-
void lift(bool lift_shared = true, bool lift_calls = true);
|
379
|
-
|
380
|
-
/// Eliminate quadrature states and turn them into ODE states
|
432
|
+
/// [DEPRECATED] Use eliminate("q")
|
381
433
|
void eliminate_quad();
|
382
434
|
|
383
|
-
///
|
435
|
+
/// [DEPRECATED] Use sort("d")
|
384
436
|
void sort_d();
|
385
437
|
|
386
|
-
///
|
438
|
+
/// [DEPRECATED] Use sort("w")
|
387
439
|
void sort_w();
|
388
440
|
|
389
|
-
///
|
441
|
+
/// [DEPRECATED] Use reorder("z", new_order)
|
390
442
|
void sort_z(const std::vector<std::string>& z_order);
|
391
443
|
|
444
|
+
#endif // WITH_DEPRECATED_FEATURES
|
445
|
+
|
446
|
+
/** @name Manipulation
|
447
|
+
* Reformulate the dynamic optimization problem.
|
448
|
+
*/
|
449
|
+
///@{
|
450
|
+
|
451
|
+
|
452
|
+
/// Eliminate all dependent parameters
|
453
|
+
void eliminate(const std::string& cat);
|
454
|
+
|
455
|
+
/// Sort dependent parameters
|
456
|
+
void sort(const std::string& cat);
|
457
|
+
|
458
|
+
/// Lift problem formulation by extracting shared subexpressions
|
459
|
+
void lift(bool lift_shared = true, bool lift_calls = true);
|
460
|
+
|
392
461
|
/// Prune unused controls
|
393
462
|
void prune(bool prune_p = true, bool prune_u = true);
|
394
463
|
|
@@ -433,7 +502,10 @@ class CASADI_EXPORT DaeBuilder
|
|
433
502
|
void parse_fmi(const std::string& filename) {load_fmi_description(filename); }
|
434
503
|
|
435
504
|
/// Does the FMU provide support for analytic derivatives
|
436
|
-
bool
|
505
|
+
bool provides_directional_derivatives() const;
|
506
|
+
|
507
|
+
/// Does the FMU provide support for analytic derivatives (FMI 2 naming)
|
508
|
+
bool provides_directional_derivative() const {return provides_directional_derivatives();}
|
437
509
|
|
438
510
|
/// Import problem description from FMI or XML
|
439
511
|
void load_fmi_description(const std::string& filename);
|
@@ -463,34 +535,60 @@ class CASADI_EXPORT DaeBuilder
|
|
463
535
|
const Dict& opts=Dict()) const;
|
464
536
|
///@}
|
465
537
|
|
466
|
-
/** \brief
|
538
|
+
/** \brief Create a function with standard integrator DAE signature
|
467
539
|
|
468
540
|
\param name Name assigned to the resulting function object
|
469
541
|
\param opts Optional settings
|
470
542
|
|
471
|
-
\identifier{
|
472
|
-
Function create(const std::string&
|
543
|
+
\identifier{2c0} */
|
544
|
+
Function create(const std::string& fname, const Dict& opts=Dict()) const;
|
545
|
+
|
546
|
+
/** \brief Create a function with standard integrator DAE signature, default naming
|
547
|
+
|
548
|
+
\identifier{2c1} */
|
549
|
+
Function create() const {return create(name() + "_dae");}
|
473
550
|
|
474
551
|
/// Construct a function for evaluating dependent parameters
|
475
552
|
Function dependent_fun(const std::string& fname,
|
476
553
|
const std::vector<std::string>& s_in,
|
477
554
|
const std::vector<std::string>& s_out) const;
|
478
555
|
|
556
|
+
/// Construct a function describing transition at a specific events
|
557
|
+
Function transition(const std::string& fname, casadi_int index) const;
|
558
|
+
|
559
|
+
/// Construct a function describing transition at any events
|
560
|
+
Function transition(const std::string& fname) const;
|
561
|
+
|
562
|
+
/// Construct an event transition function, default naming
|
563
|
+
Function transition() const {return transition(name() + "_transition");}
|
564
|
+
|
479
565
|
///@{
|
480
566
|
/// Get variable expression by name
|
481
567
|
MX var(const std::string& name) const;
|
482
568
|
MX operator()(const std::string& name) const {return var(name);}
|
483
569
|
///@}
|
484
570
|
|
485
|
-
/// Get the time derivative of
|
571
|
+
/// Get the time derivative of model variables
|
486
572
|
std::vector<std::string> der(const std::vector<std::string>& name) const;
|
487
573
|
|
488
574
|
///@{
|
489
|
-
///
|
490
|
-
MX
|
491
|
-
|
575
|
+
/// Differentiate an expression with respect to time
|
576
|
+
MX der(const MX& v) const;
|
577
|
+
MX der(const MX& v);
|
492
578
|
///@}
|
493
579
|
|
580
|
+
/// Get the pre-variables of model variables
|
581
|
+
std::vector<std::string> pre(const std::vector<std::string>& name) const;
|
582
|
+
|
583
|
+
/// Get the pre-expression given variable expression
|
584
|
+
MX pre(const MX& v) const;
|
585
|
+
|
586
|
+
/// Does a variable have a binding equation?
|
587
|
+
bool has_beq(const std::string& name) const;
|
588
|
+
|
589
|
+
/// Get the binding equation for a variable
|
590
|
+
MX beq(const std::string& name) const;
|
591
|
+
|
494
592
|
///@{
|
495
593
|
/// Get/set value reference
|
496
594
|
casadi_int value_reference(const std::string& name) const;
|
@@ -509,17 +607,53 @@ class CASADI_EXPORT DaeBuilder
|
|
509
607
|
void set_type(const std::string& name, const std::string& val);
|
510
608
|
///@}
|
511
609
|
|
512
|
-
|
513
|
-
/// Get/set the causality
|
610
|
+
/// Get the causality
|
514
611
|
std::string causality(const std::string& name) const;
|
612
|
+
|
613
|
+
/** \brief Set the causality, if permitted
|
614
|
+
|
615
|
+
The following changes are permitted:
|
616
|
+
* For controls 'u' (variability 'continuous', causality 'input'), free parameters 'p'
|
617
|
+
(variability 'tunable', causality 'parameter') and fixed parameters 'c' (variability
|
618
|
+
'fixed', causality 'parameter'), causality can only be changed indirectly, by updating
|
619
|
+
the variability
|
620
|
+
* Add or remove an output 'y' by setting the causality to 'output' or 'local',
|
621
|
+
respectively
|
622
|
+
|
623
|
+
No other changes are permitted.
|
624
|
+
|
625
|
+
\identifier{2c2} */
|
515
626
|
void set_causality(const std::string& name, const std::string& val);
|
516
|
-
///@}
|
517
627
|
|
518
|
-
|
519
|
-
/// Get/set the variability
|
628
|
+
/// Get the variability
|
520
629
|
std::string variability(const std::string& name) const;
|
630
|
+
|
631
|
+
/** \brief Set the variability, if permitted
|
632
|
+
|
633
|
+
For controls 'u' (variability 'continuous', causality 'input'), free parameters 'p'
|
634
|
+
(variability 'tunable', causality 'parameter') and fixed parameters 'c'
|
635
|
+
(variability 'fixed', causality 'parameter'), update variability in
|
636
|
+
order to change the category. Causality is updated accordingly.
|
637
|
+
|
638
|
+
Other changes are not permitted
|
639
|
+
|
640
|
+
\identifier{2c3} */
|
521
641
|
void set_variability(const std::string& name, const std::string& val);
|
522
|
-
|
642
|
+
|
643
|
+
/// Get the variable category
|
644
|
+
std::string category(const std::string& name) const;
|
645
|
+
|
646
|
+
/** \brief Set the variable category, if permitted
|
647
|
+
|
648
|
+
The following changes are permitted:
|
649
|
+
* Controls 'u' can be changed to/from tunable parameters 'p' or fixed parameters 'c'
|
650
|
+
* Differential states that do not appear in the right-hand-sides can be changed between
|
651
|
+
regular states 'x' and quadrature states 'q'
|
652
|
+
|
653
|
+
Other changes are not permitted. Causality and variability is updated accordingly.
|
654
|
+
|
655
|
+
\identifier{2c4} */
|
656
|
+
void set_category(const std::string& name, const std::string& val);
|
523
657
|
|
524
658
|
///@{
|
525
659
|
/// Get/set the initial property
|
@@ -545,12 +679,39 @@ class CASADI_EXPORT DaeBuilder
|
|
545
679
|
/// Get the dimensions of a variable
|
546
680
|
std::vector<casadi_int> dimension(const std::string& name) const;
|
547
681
|
|
682
|
+
/// Get the start time
|
683
|
+
double start_time() const;
|
684
|
+
|
685
|
+
/// Set the start time
|
686
|
+
void set_start_time(double val);
|
687
|
+
|
688
|
+
/// Get the stop time
|
689
|
+
double stop_time() const;
|
690
|
+
|
691
|
+
/// Set the stop time
|
692
|
+
void set_stop_time(double val);
|
693
|
+
|
694
|
+
/// Get the tolerance
|
695
|
+
double tolerance() const;
|
696
|
+
|
697
|
+
/// Set the tolerance
|
698
|
+
void set_tolerance(double val);
|
699
|
+
|
700
|
+
/// Get the step size
|
701
|
+
double step_size() const;
|
702
|
+
|
703
|
+
/// Set the step size
|
704
|
+
void set_step_size(double val);
|
705
|
+
|
548
706
|
// The following routines are not needed in MATLAB and would cause ambiguity
|
549
707
|
// Note that a multirow strings can be interpreted as a vector of strings
|
550
708
|
#if !(defined(SWIG) && defined(SWIGMATLAB))
|
551
|
-
/// Get the time derivative of
|
709
|
+
/// Get the time derivative of model variables, single variable
|
552
710
|
std::string der(const std::string& name) const;
|
553
711
|
|
712
|
+
/// Get the pre-variables of model variables
|
713
|
+
std::string pre(const std::string& name) const;
|
714
|
+
|
554
715
|
/// Get an attribute, single variable
|
555
716
|
double attribute(const std::string& a, const std::string& name) const;
|
556
717
|
|
@@ -576,11 +737,14 @@ class CASADI_EXPORT DaeBuilder
|
|
576
737
|
void set_nominal(const std::string& name, double val);
|
577
738
|
|
578
739
|
/// Get the start attribute, single variable
|
579
|
-
double start(const std::string& name) const;
|
740
|
+
std::vector<double> start(const std::string& name) const;
|
580
741
|
|
581
742
|
/// Set the start attribute, single variable
|
582
743
|
void set_start(const std::string& name, double val);
|
583
744
|
|
745
|
+
/// Set the start attribute, vector argument
|
746
|
+
void set_start(const std::string& name, const std::vector<double>& val);
|
747
|
+
|
584
748
|
// Clear all set values
|
585
749
|
void reset();
|
586
750
|
|
@@ -635,29 +799,40 @@ class CASADI_EXPORT DaeBuilder
|
|
635
799
|
/// Evaluate the values for a set of variables at the initial time
|
636
800
|
std::vector<GenericType> get(const std::vector<std::string>& name) const;
|
637
801
|
|
638
|
-
///
|
802
|
+
/// Check if a particular variable exists
|
803
|
+
bool has(const std::string& name) const;
|
804
|
+
|
805
|
+
/// Get a list of all variables
|
806
|
+
std::vector<std::string> all() const;
|
807
|
+
|
808
|
+
/// Get a list of all variables of a particular category
|
809
|
+
std::vector<std::string> all(const std::string& cat) const;
|
810
|
+
|
811
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
812
|
+
/// [DEPRECATED] Use add
|
639
813
|
MX add_variable(const std::string& name, casadi_int n=1);
|
640
814
|
|
641
|
-
///
|
815
|
+
/// [DEPRECATED] Use add
|
642
816
|
MX add_variable(const std::string& name, const Sparsity& sp);
|
643
817
|
|
644
818
|
/// Add a new variable from symbolic expressions
|
645
819
|
void add_variable(const MX& new_v);
|
646
820
|
|
647
|
-
///
|
821
|
+
/// [DEPRECATED] Use add
|
648
822
|
size_t add_variable_new(const std::string& name, casadi_int n=1);
|
649
823
|
|
650
|
-
///
|
824
|
+
/// [DEPRECATED] Use add
|
651
825
|
size_t add_variable_new(const std::string& name, const Sparsity& sp);
|
652
826
|
|
653
|
-
///
|
827
|
+
/// [DEPRECATED] Use add
|
654
828
|
size_t add_variable_new(const MX& new_v);
|
655
829
|
|
656
|
-
///
|
657
|
-
bool has_variable(const std::string& name) const;
|
830
|
+
/// [DEPRECATED] Ranamed "has"
|
831
|
+
bool has_variable(const std::string& name) const {return has(name);}
|
658
832
|
|
659
833
|
/// Get a list of all variables
|
660
|
-
std::vector<std::string> all_variables() const;
|
834
|
+
std::vector<std::string> all_variables() const {return all();}
|
835
|
+
#endif // WITH_DEPRECATED_FEATURES
|
661
836
|
|
662
837
|
/// Get the (cached) oracle, SX or MX
|
663
838
|
Function oracle(bool sx = false, bool elim_w = false, bool lifted_calls = false) const;
|
@@ -669,21 +844,30 @@ class CASADI_EXPORT DaeBuilder
|
|
669
844
|
const std::vector<std::string>& inames) const;
|
670
845
|
|
671
846
|
#ifndef SWIG
|
672
|
-
|
847
|
+
#ifdef WITH_DEPRECATED_FEATURES
|
848
|
+
/// [DEPRECATED] Use add
|
673
849
|
Variable& new_variable(const std::string& name, casadi_int numel = 1);
|
674
850
|
|
675
851
|
///@{
|
676
|
-
/// Access
|
852
|
+
/// [DEPRECATED] Access to internal class and corresponding indexing removed
|
677
853
|
Variable& variable(const std::string& name);
|
678
854
|
const Variable& variable(const std::string& name) const;
|
855
|
+
Variable& variable(size_t ind);
|
856
|
+
const Variable& variable(size_t ind) const;
|
857
|
+
size_t find(const std::string& name) const;
|
858
|
+
std::vector<size_t> find(const std::vector<std::string>& name) const;
|
859
|
+
const std::string& name(size_t ind) const;
|
860
|
+
std::vector<std::string> name(const std::vector<size_t>& ind) const;
|
679
861
|
///@}
|
680
862
|
|
681
863
|
///@{
|
682
|
-
///
|
683
|
-
|
684
|
-
const
|
864
|
+
/// [DEPRECATED] Use string name, not internal index to access variables
|
865
|
+
const MX& var(size_t ind) const;
|
866
|
+
std::vector<MX> var(const std::vector<size_t>& ind) const;
|
685
867
|
///@}
|
686
868
|
|
869
|
+
#endif // WITH_DEPRECATED_FEATURES
|
870
|
+
|
687
871
|
/// Access a member function or object
|
688
872
|
const DaeBuilderInternal* operator->() const;
|
689
873
|
|
@@ -693,28 +877,6 @@ class CASADI_EXPORT DaeBuilder
|
|
693
877
|
/// Check if a particular cast is allowed
|
694
878
|
static bool test_cast(const SharedObjectInternal* ptr);
|
695
879
|
|
696
|
-
/// Get single variable expression by index
|
697
|
-
const MX& var(size_t ind) const;
|
698
|
-
|
699
|
-
/// Get variable expressions by index
|
700
|
-
std::vector<MX> var(const std::vector<size_t>& ind) const;
|
701
|
-
|
702
|
-
/// Get index of variable
|
703
|
-
size_t find(const std::string& name) const;
|
704
|
-
|
705
|
-
/// Get indices of variable
|
706
|
-
std::vector<size_t> find(const std::vector<std::string>& name) const;
|
707
|
-
|
708
|
-
/** \brief Get variable name by index
|
709
|
-
|
710
|
-
\identifier{6h} */
|
711
|
-
const std::string& name(size_t ind) const;
|
712
|
-
|
713
|
-
/** \brief Get variable names by indices
|
714
|
-
|
715
|
-
\identifier{6i} */
|
716
|
-
std::vector<std::string> name(const std::vector<size_t>& ind) const;
|
717
|
-
|
718
880
|
#endif // SWIG
|
719
881
|
};
|
720
882
|
|