Skip to content

Commit 094f810

Browse files
Merge pull request #3887 from ChrisRackauckas-Claude/add-missing-api-docs
Add missing API documentation for all exported symbols
2 parents 5a5abcb + da33e92 commit 094f810

File tree

5 files changed

+209
-3
lines changed

5 files changed

+209
-3
lines changed

docs/pages.jl

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,5 +47,8 @@ pages = [
4747
"basics/Precompilation.md",
4848
"basics/FAQ.md"],
4949
"comparison.md",
50-
"internals.md"
50+
"Internal Details" => Any[
51+
"internals.md",
52+
"internals/structural_transformation.md",
53+
"internals/bipartite_graph.md"]
5154
]

docs/src/API/System.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,3 +224,27 @@ following functions are useful for manipulating namespacing functionality.
224224
ModelingToolkit.renamespace
225225
ModelingToolkit.namespace_equations
226226
```
227+
228+
## Linearization and Analysis
229+
230+
Functions for linearization and analysis of systems.
231+
232+
```@docs
233+
linearization_ap_transform
234+
get_sensitivity_function
235+
get_comp_sensitivity_function
236+
get_looptransfer_function
237+
get_sensitivity
238+
get_comp_sensitivity
239+
get_looptransfer
240+
open_loop
241+
```
242+
243+
## Additional Equation Classification
244+
245+
```@docs
246+
alg_equations
247+
diff_equations
248+
has_alg_equations
249+
has_diff_equations
250+
```

docs/src/internals.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
11
# Internal Details
22

3-
This is a page for detailing some of the inner workings to help future
4-
contributors to the library.
3+
This section documents the internal implementation details of ModelingToolkit. These APIs are not considered stable and may change without notice in non-breaking releases. They are documented here to help future contributors understand the library's inner workings.
4+
5+
## Overview
6+
7+
ModelingToolkit's internal architecture consists of several key components:
8+
9+
- **Structural Transformation**: Algorithms for transforming equation systems, including index reduction, tearing, and algebraic simplification
10+
- **Bipartite Graphs**: Graph representations used to analyze relationships between equations and variables
11+
- **System Structure**: Internal representations of system state and transformations
12+
13+
These components work together to enable ModelingToolkit's symbolic manipulation and code generation capabilities.
14+
15+
!!! warning
16+
The functions and types documented in this section are internal implementation details. Users should not rely on these APIs as they may change or be removed without deprecation warnings.

docs/src/internals/bipartite_graph.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Bipartite Graphs
2+
3+
!!! warning "Internal API"
4+
The functions documented on this page are internal implementation details of ModelingToolkit. They are not part of the public API and may change or be removed without notice in non-breaking releases. This documentation is provided to help contributors understand the codebase.
5+
6+
ModelingToolkit uses bipartite graphs to represent relationships between equations and variables in systems. These functions provide tools for working with and analyzing these graphs.
7+
8+
## Graph Types
9+
10+
```@docs
11+
BipartiteGraph
12+
BipartiteEdge
13+
DiCMOBiGraph
14+
DiffGraph
15+
```
16+
17+
## Vertex Operations
18+
19+
```@docs
20+
𝑠vertices
21+
𝑑vertices
22+
has_𝑠vertex
23+
has_𝑑vertex
24+
nsrcs
25+
ndsts
26+
```
27+
28+
## Neighbor Operations
29+
30+
```@docs
31+
𝑠neighbors
32+
𝑑neighbors
33+
set_neighbors!
34+
```
35+
36+
## Edge Operations
37+
38+
```@docs
39+
𝑠edges
40+
𝑑edges
41+
```
42+
43+
## Graph Views and Modifications
44+
45+
```@docs
46+
invview
47+
delete_srcs!
48+
delete_dsts!
49+
```
50+
51+
## Matching Algorithms
52+
53+
```@docs
54+
maximal_matching
55+
construct_augmenting_path!
56+
```
57+
58+
## Dependency Analysis
59+
60+
```@docs
61+
equation_dependencies
62+
variable_dependencies
63+
eqeq_dependencies
64+
varvar_dependencies
65+
map_variables_to_equations
66+
```
67+
68+
## Graph Conversion
69+
70+
```@docs
71+
asgraph
72+
asdigraph
73+
```
74+
75+
## Constants
76+
77+
```@docs
78+
SRC
79+
DST
80+
```
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Structural Transformation
2+
3+
!!! warning "Internal API"
4+
The functions documented on this page are internal implementation details of ModelingToolkit. They are not part of the public API and may change or be removed without notice in non-breaking releases. This documentation is provided to help contributors understand the codebase.
5+
6+
These functions are used for structural analysis and transformation of equation systems, including index reduction, tearing, and other algebraic manipulations used in the simplification process.
7+
8+
## Tearing and Algebraic Simplification
9+
10+
```@docs
11+
tearing
12+
tearing_reassemble
13+
tearing_substitution
14+
torn_system_jacobian_sparsity
15+
find_solvables!
16+
linear_subsys_adjmat!
17+
```
18+
19+
## Index Reduction
20+
21+
```@docs
22+
dae_index_lowering
23+
pantelides!
24+
pantelides_reassemble
25+
dummy_derivative
26+
```
27+
28+
## Consistency Checking
29+
30+
```@docs
31+
check_consistency
32+
```
33+
34+
## Incidence Matrix Operations
35+
36+
```@docs
37+
sorted_incidence_matrix
38+
but_ordered_incidence
39+
```
40+
41+
## Variable Ordering and Masks
42+
43+
```@docs
44+
lowest_order_variable_mask
45+
highest_order_variable_mask
46+
computed_highest_diff_variables
47+
```
48+
49+
## Shift Operations
50+
51+
These functions handle shift operations in discrete-time systems.
52+
53+
```@docs
54+
shift2term
55+
lower_shift_varname
56+
simplify_shifts
57+
distribute_shift
58+
```
59+
60+
## System Structure Types and Functions
61+
62+
```@docs
63+
SystemStructure
64+
TearingState
65+
TransformationState
66+
isdiffvar
67+
isdervar
68+
isalgvar
69+
isdiffeq
70+
algeqs
71+
is_only_discrete
72+
dervars_range
73+
diffvars_range
74+
algvars_range
75+
get_fullvars
76+
system_subset
77+
```
78+
79+
## Graph Types
80+
81+
```@docs
82+
Matching
83+
InducedCondensationGraph
84+
MatchedCondensationGraph
85+
Unassigned
86+
unassigned
87+
```

0 commit comments

Comments
 (0)