You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/src/API/linear_analysis.md
+7-4Lines changed: 7 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,14 @@
1
1
# Linear Analysis
2
2
3
-
Linear analysis refers to the process of linearizing a nonlinear model and analysing the resulting linear dynamical system. To facilitate linear analysis, ModelingToolkitStandardLibrary provides the concept of an [`AnalysisPoint`](@ref), which can be inserted inbetween two causal blocks (such as those from the Blocks sub module). Once a model containing analysis points is built, several operations are available:
3
+
!!! danger "Experimental"
4
+
The interface described here is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
5
+
6
+
Linear analysis refers to the process of linearizing a nonlinear model and analysing the resulting linear dynamical system. To facilitate linear analysis, ModelingToolkitStandardLibrary provides the concept of an [`AnalysisPoint`](@ref), which can be inserted in-between two causal blocks (such as those from the `Blocks` sub module). Once a model containing analysis points is built, several operations are available:
4
7
5
8
-[`get_sensitivity`](@ref) get the [sensitivity function (wiki)](https://en.wikipedia.org/wiki/Sensitivity_(control_systems)), $S(s)$, as defined in the field of control theory.
6
-
-[`get_comp_sensitivity`](@ref) get the complementary sensitivy function $T(s) : S(s)+T(s)=1$.
9
+
-[`get_comp_sensitivity`](@ref) get the complementary sensitivity function $T(s) : S(s)+T(s)=1$.
7
10
-[`get_looptransfer`](@ref) get the (open) loop-transfer function where the loop starts and ends in the analysis point.
8
-
-[`linearize`](@ref) can be called with two analysis points denoting the input and output of the linearied system. Parts of the model not appearing between the input and output will be removed.
11
+
-[`linearize`](@ref) can be called with two analysis points denoting the input and output of the linearized system. Parts of the model not appearing between the input and output will be removed.
9
12
-[`open_loop`](@ref) return a new (nonlinear) system where the loop has been broken in the analysis point, i.e., the connection the analysis point usually implies has been removed.
10
13
11
14
An analysis point can be created explicitly using the constructor [`AnalysisPoint`](@ref), or automatically when connecting two causal components using `connect`:
Copy file name to clipboardExpand all lines: src/Blocks/analysis_points.jl
+15Lines changed: 15 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,9 @@ Create an AnalysisPoint for linear analysis. Analysis points can also be created
16
16
connect(in, :ap_name, out)
17
17
```
18
18
19
+
!!! danger "Experimental"
20
+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
21
+
19
22
# Arguments:
20
23
- `in`: A connector of type [`RealOutput`](@ref).
21
24
- `out`: A connector of type [`RealInput`](@ref).
@@ -149,6 +152,9 @@ end
149
152
150
153
Compute the sensitivity function in analysis point `ap`. The sensitivity function is obtained by introducing an infinitesimal perturbation `d` at the input of `ap`, linearizing the system and computing the transfer function between `d` and the output of `ap`.
151
154
155
+
!!! danger "Experimental"
156
+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
157
+
152
158
# Arguments:
153
159
- `kwargs`: Are sent to `ModelingToolkit.linearize`
154
160
@@ -178,6 +184,9 @@ end
178
184
179
185
Compute the complementary sensitivity function in analysis point `ap`. The complementary sensitivity function is obtained by introducing an infinitesimal perturbation `d` at the output of `ap`, linearizing the system and computing the transfer function between `d` and the input of `ap`.
180
186
187
+
!!! danger "Experimental"
188
+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
189
+
181
190
# Arguments:
182
191
- `kwargs`: Are sent to `ModelingToolkit.linearize`
183
192
@@ -208,6 +217,9 @@ end
208
217
209
218
Compute the (linearized) loop-transfer function in analysis point `ap`, from `ap.out` to `ap.in`.
210
219
220
+
!!! danger "Experimental"
221
+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
222
+
211
223
# Arguments:
212
224
- `kwargs`: Are sent to `ModelingToolkit.linearize`
213
225
@@ -236,6 +248,9 @@ Open the loop at analysis point `ap` by breaking the connection through `ap`.
236
248
237
249
`open_sys` will have `u ~ ap.out` as input and `y ~ ap.in` as output.
238
250
251
+
!!! danger "Experimental"
252
+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
253
+
239
254
# Arguments:
240
255
- `kwargs`: Are sent to `ModelingToolkit.linearize`
0 commit comments