Skip to content

Commit c90780a

Browse files
committed
mark linear analysis interface as experimental
1 parent 27887ac commit c90780a

File tree

2 files changed

+22
-4
lines changed

2 files changed

+22
-4
lines changed

docs/src/API/linear_analysis.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
# Linear Analysis
22

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:
47

58
- [`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$.
710
- [`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.
912
- [`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.
1013

1114
An analysis point can be created explicitly using the constructor [`AnalysisPoint`](@ref), or automatically when connecting two causal components using `connect`:
@@ -94,4 +97,4 @@ Modules = [ModelingToolkitStandardLibrary.Blocks]
9497
Pages = ["Blocks/analysis_points.jl"]
9598
Order = [:function, :type]
9699
Private = false
97-
```
100+
```

src/Blocks/analysis_points.jl

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ Create an AnalysisPoint for linear analysis. Analysis points can also be created
1616
connect(in, :ap_name, out)
1717
```
1818
19+
!!! danger "Experimental"
20+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
21+
1922
# Arguments:
2023
- `in`: A connector of type [`RealOutput`](@ref).
2124
- `out`: A connector of type [`RealInput`](@ref).
@@ -149,6 +152,9 @@ end
149152
150153
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`.
151154
155+
!!! danger "Experimental"
156+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
157+
152158
# Arguments:
153159
- `kwargs`: Are sent to `ModelingToolkit.linearize`
154160
@@ -178,6 +184,9 @@ end
178184
179185
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`.
180186
187+
!!! danger "Experimental"
188+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
189+
181190
# Arguments:
182191
- `kwargs`: Are sent to `ModelingToolkit.linearize`
183192
@@ -208,6 +217,9 @@ end
208217
209218
Compute the (linearized) loop-transfer function in analysis point `ap`, from `ap.out` to `ap.in`.
210219
220+
!!! danger "Experimental"
221+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
222+
211223
# Arguments:
212224
- `kwargs`: Are sent to `ModelingToolkit.linearize`
213225
@@ -236,6 +248,9 @@ Open the loop at analysis point `ap` by breaking the connection through `ap`.
236248
237249
`open_sys` will have `u ~ ap.out` as input and `y ~ ap.in` as output.
238250
251+
!!! danger "Experimental"
252+
The analysis-point interface is currently experimental and at any time subject to breaking changes not respecting semantic versioning.
253+
239254
# Arguments:
240255
- `kwargs`: Are sent to `ModelingToolkit.linearize`
241256

0 commit comments

Comments
 (0)