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.
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)