From 37501f35ac092f58ab27e094036b7936af498e06 Mon Sep 17 00:00:00 2001 From: Orjan Ameye Date: Fri, 29 Nov 2024 11:44:15 +0100 Subject: [PATCH] manual canonical --- docs/src/manual/API.md | 14 ++++++++++++-- docs/src/manual/entering_eom.md | 4 ++-- docs/src/manual/extracting_harmonics.md | 4 ++-- docs/src/manual/linear_response.md | 4 ++-- docs/src/manual/methods.md | 3 +++ docs/src/manual/saving.md | 2 +- docs/src/manual/solving_harmonics.md | 4 ++-- docs/src/manual/time_dependent.md | 2 +- 8 files changed, 25 insertions(+), 12 deletions(-) diff --git a/docs/src/manual/API.md b/docs/src/manual/API.md index c49c2c44..56d3753c 100644 --- a/docs/src/manual/API.md +++ b/docs/src/manual/API.md @@ -15,18 +15,21 @@ DifferentialEquation HarmonicVariable HarmonicEquation ``` -```@docs; canonical=false + +```@docs rearrange_standard rearrange_standard! first_order_transform! is_rearranged_standard get_equations ``` + ```@docs get_harmonic_equations get_krylov_equations add_harmonic! ``` + ```@docs get_independent_variables get_variables @@ -39,6 +42,7 @@ get_steady_states ``` ### Methods + ```@docs WarmUp TotalDegree @@ -46,12 +50,14 @@ Polyhedral ``` ### Access solutions + ```@docs get_single_solution transform_solutions ``` ### Classify + ```@docs classify_solutions! get_class @@ -66,6 +72,7 @@ plot_spaghetti ``` ## Limit cycles + ```@docs get_limit_cycles get_cycle_variables @@ -84,9 +91,10 @@ plot_linear_response plot_rotframe_jacobian_response ``` -## Extentsions +## Extensions ### OrdinaryDiffEq + ```@docs AdiabaticSweep follow_branch @@ -94,10 +102,12 @@ plot_1D_solutions_branch ``` ### SteadyStateSweep + ```@docs steady_state_sweep ``` ### ModelingToolkit + ```@docs ``` diff --git a/docs/src/manual/entering_eom.md b/docs/src/manual/entering_eom.md index 3e906039..728b364e 100644 --- a/docs/src/manual/entering_eom.md +++ b/docs/src/manual/entering_eom.md @@ -2,7 +2,7 @@ The struct `DifferentialEquation` is the primary input method; it holds an ODE or a coupled system of ODEs composed of terms with harmonic time-dependence The dependent variables are specified during input, any other symbols -are identified as parameters. Information on which variable is to be expanded in which harmonic is specified using `add_harmonic!`. +are identified as parameters. Information on which variable is to be expanded in which harmonic is specified using `add_harmonic!`. `DifferentialEquation.equations` stores a dictionary assigning variables to equations. This information is necessary because the harmonics belonging to a variable are later used to Fourier-transform its corresponding ODE. @@ -11,4 +11,4 @@ DifferentialEquation add_harmonic! get_variables(::DifferentialEquation) get_independent_variables(::DifferentialEquation) -``` \ No newline at end of file +``` diff --git a/docs/src/manual/extracting_harmonics.md b/docs/src/manual/extracting_harmonics.md index 1bf32f15..88533078 100644 --- a/docs/src/manual/extracting_harmonics.md +++ b/docs/src/manual/extracting_harmonics.md @@ -22,10 +22,10 @@ The equations governing the harmonics are stored using the two following structs HarmonicVariable ``` -When the full set of equations of motion is expanded using the harmonic ansatz, the result is stored as a `HarmonicEquation`. For an initial equation of motion consisting of $M$ variables, each expanded in $N$ harmonics, the resulting `HarmonicEquation` holds $2NM$ equations of $2NM$ variables. Each symbol not corresponding to a variable is identified as a parameter. +When the full set of equations of motion is expanded using the harmonic ansatz, the result is stored as a `HarmonicEquation`. For an initial equation of motion consisting of $M$ variables, each expanded in $N$ harmonics, the resulting `HarmonicEquation` holds $2NM$ equations of $2NM$ variables. Each symbol not corresponding to a variable is identified as a parameter. A `HarmonicEquation` can be either parsed into a steady-state `Problem` or solved using a dynamical ODE solver. ```@docs; canonical=false HarmonicEquation -``` \ No newline at end of file +```\ diff --git a/docs/src/manual/linear_response.md b/docs/src/manual/linear_response.md index 212344a8..ab70eb66 100644 --- a/docs/src/manual/linear_response.md +++ b/docs/src/manual/linear_response.md @@ -27,7 +27,7 @@ The simplest way to extract the linear response of a steady state is to evaluate The advantage of this method is that for a given parameter set, only one matrix diagonalization is needed to fully describe the response spectrum. However, the method is inaccurate for response frequencies far from the frequencies used in the harmonic ansatz (it relies on the response oscillating slowly in the rotating frame). Behind the scenes, the spectra are stored using the dedicated structs `Lorentzian` and `JacobianSpectrum`. -```@docs +```@docs; canonical=false HarmonicBalance.LinearResponse.JacobianSpectrum HarmonicBalance.LinearResponse.Lorentzian ``` @@ -36,7 +36,7 @@ HarmonicBalance.LinearResponse.Lorentzian Setting `order > 1` increases the accuracy of the response spectra. However, unlike for the Jacobian, here we must perform a matrix inversion for each response frequency. -```@docs +```@docs; canonical=false HarmonicBalance.LinearResponse.ResponseMatrix HarmonicBalance.get_response HarmonicBalance.LinearResponse.get_response_matrix diff --git a/docs/src/manual/methods.md b/docs/src/manual/methods.md index 42ff5589..175c475f 100644 --- a/docs/src/manual/methods.md +++ b/docs/src/manual/methods.md @@ -3,16 +3,19 @@ We offer several methods for solving the nonlinear algebraic equations that arise from the harmonic balance procedure. Each method has different tradeoffs between speed, robustness, and completeness. ## Total Degree Method + ```@docs; canonical=false TotalDegree ``` ## Polyhedral Method + ```@docs; canonical=false Polyhedral ``` ## Warm Up Method + ```@docs; canonical=false WarmUp ``` \ No newline at end of file diff --git a/docs/src/manual/saving.md b/docs/src/manual/saving.md index 27e8c8e6..795bcd63 100644 --- a/docs/src/manual/saving.md +++ b/docs/src/manual/saving.md @@ -4,7 +4,7 @@ All of the types native to `HarmonicBalance.jl` can be saved into a `.jld2` file The function `export_csv` saves a .csv file which can be plot elsewhere. -```@docs +```@docs; canonical=false HarmonicBalance.save HarmonicBalance.load HarmonicBalance.export_csv diff --git a/docs/src/manual/solving_harmonics.md b/docs/src/manual/solving_harmonics.md index c905b77e..16d55bfa 100644 --- a/docs/src/manual/solving_harmonics.md +++ b/docs/src/manual/solving_harmonics.md @@ -19,7 +19,7 @@ The solutions in `Result` are accompanied by similarly-sized boolean arrays stor By default, classes "physical", "stable" and "binary\_labels" are created. User-defined classification is possible with `classify_solutions!`. -```@docs +```@docs; canonical=false HarmonicBalance.classify_solutions! ``` @@ -35,6 +35,6 @@ The function `sort_solutions` goes over the the raw output of `get_steady_states Currently, `sort_solutions` is compatible with 1D and 2D arrays of solution sets. -```@docs +```@docs; canonical=false HarmonicBalance.sort_solutions ``` \ No newline at end of file diff --git a/docs/src/manual/time_dependent.md b/docs/src/manual/time_dependent.md index ede9603c..1bc52d98 100644 --- a/docs/src/manual/time_dependent.md +++ b/docs/src/manual/time_dependent.md @@ -17,6 +17,6 @@ HarmonicBalance.plot(::OrdinaryDiffEqTsit5.ODESolution, ::Any, ::HarmonicEquatio ## Miscellaneous Using a time-dependent simulation can verify solution stability in cases where the Jacobian is too expensive to compute. -```@docs +```@docs; canonical=false HarmonicBalance.is_stable ``` \ No newline at end of file