Задачи установившегося состояния
Более полную документацию по нелинейным решателям для задач установившегося состояния см. в NonlinearSolve.jl. |
#
SciMLBase.SteadyStateProblem
— Type
Определяет задачу установившегося состояния. Страница документации: https://docs.sciml.ai/DiffEqDocs/stable/types/steadystatetypes/
Математическая спецификация задачи установившегося состояния
Для определения задачи установившегося состояния достаточно задать функцию , которая определяет ODE:
и начальное предположение , где f(u,p,t)=0
. Функцию f
следует указать как f(u,p,t)
(или на месте как f(du,u,p,t)
), а условие u₀
должно представлять собой массив AbstractArray (или число), геометрия которого соответствует требуемой геометрии u
. Обратите внимание, что тип значения u₀
не ограничен числами или векторами; значением u₀
также могут быть произвольные матрицы или тензоры высокой разрядности.
Заметим, что для определения установившегося состояния необходимо, чтобы функция f
была автономной, т. е. f
не зависела от t
. Но при этом должна использоваться форма, соответствующая стандартному решателю ODE. Решатели установившегося состояния интерпретируют f
, фиксируя .
Тип задачи
Конструкторы
SteadyStateProblem(f::ODEFunction,u0,p=NullParameters();kwargs...)
SteadyStateProblem{isinplace,specialize}(f,u0,p=NullParameters();kwargs...)
isinplace
дополнительно задает, является ли функция функцией на месте или нет. Это определяется автоматически, а не выводится. specialize
дополнительно определяет уровень специализации. Дополнительные сведения см. в разделе об уровнях специализации в документации по SciMLBase. По умолчанию используется AutoSpecialize
.
Параметры являются необязательными, и если они не заданы, будет использоваться одинарный элемент NullParameters()
, который при попытке индексирования несуществующих параметров будет выдавать понятные ошибки. Все дополнительные именованные аргументы передаются в решатели. Например, если в задаче задать обратный вызов (callback
), этот callback
будет добавляться при каждом вызове функции solve.
Кроме того, доступен конструктор из задач ODEProblem
:
SteadyStateProblem(prob::ODEProblem)
Параметры являются необязательными, и если они не заданы, будет использоваться одинарный элемент NullParameters()
, который при попытке индексирования несуществующих параметров будет выдавать понятные ошибки. Все дополнительные именованные аргументы передаются в решатели. Например, если в задаче задать обратный вызов (callback
), этот callback
будет добавляться при каждом вызове функции solve.
Сведения о задании якобианов и матриц масс см. на странице о DiffEqFunctions.
Поля
-
f
: функция в ODE. -
u0
: начальное предположение для установившегося состояния. -
p
: параметры для задачи. По умолчанию используетсяNullParameters
. -
kwargs
: именованные аргументы, передаваемые в решатели.
Специальные поля решения
Тип SteadyStateSolution
отличается от других решений DiffEq тем, что в нем отсутствует временная информация.
Тип решения
#
SciMLBase.NonlinearSolution
— Type
struct NonlinearSolution{T, N, uType, R, P, A, O, uType2, S} <: SciMLBase.AbstractNonlinearSolution{T, N}
Представление решения нелинейного уравнения, определяемого задачей NonlinearProblem, или решения установившегося состояния для дифференцированного уравнения, определяемого задачей SteadyStateProblem.
Поля
-
u
: представление решения нелинейного уравнения. -
resid
: невязка решения. -
prob
: исходная задача NonlinearProblem/SteadyStateProblem, которая была решена. -
alg
: тип алгоритма, используемого решателем. -
original
: если решатель заключен в оболочку из альтернативной экосистемы решателей, например NLsolve.jl, то это исходный возврат из данной библиотеки решателей. -
retcode
: код возврата от решателя. Используется для определения того, успешно ли решен решатель или завершился ли он из-за ошибки. Дополнительные сведения см. в документации по кодам возврата. -
left
: если решатель использует метод заключения в скобки, то это конечное значение левой скобки. -
right
: если решатель использует метод заключения в скобки, то это конечное значение правой скобки. -
stats
: статистика по решателю, например количество необходимых вычислений функции.