#julia #differential-equations #flux.jl
Вопрос:
Я пытаюсь численно решить интегрально-дифференциальный PDE с NeuralPDE.jl
помощью . Уравнение имеет аналитическое решение в области Лапласа, и поэтому я могу проверить численное решение. Уравнение таково
С параметром бета а. В качестве первого шага я слепо следовал примеру, приведенному в документации, адаптируя только очевидные вещи. Это моя первая попытка:
using NeuralPDE, Flux, ModelingToolkit, GalacticOptim, Optim, DiffEqFlux, DomainSets
import ModelingToolkit: Interval, infimum, supremum
@parameters t E
@variables i(..)
Dt = Differential(t)
DE = Differential(E)
IE = Integral(E in DomainSets.OpenInterval(0,Inf))
beta = 2.0;
eq = Dt(i(t, E)) exp(-beta*E)*i(t, E) - IE(i(t,E)*exp(-beta*E))*exp(-E) ~ 0
bcs = [i(0., E) ~ exp(-E)]
domains = [t ∈ Interval(0.0,100.0), E ∈ Interval(0.0, 10.0)]
chain = Chain(Dense(1,15,Flux.σ),Dense(15,1))
initθ = Float64.(DiffEqFlux.initial_params(chain));
strategy_ = GridTraining(0.05)
discretization = PhysicsInformedNN(chain,
strategy_;
init_params = nothing,
phi = nothing,
derivative = nothing)
@named pde_system = PDESystem(eq,bcs,domains,[t, E],[i(t, E)])
prob = NeuralPDE.discretize(pde_system,discretization)
И в последней строке я получаю загадочную (глупую, наверное) ошибку:
Ошибка ключа: ключ * не найден
Вместе с трассировкой стека это не очень помогает. Кто-нибудь может, пожалуйста, пролить немного света на это?
Комментарии:
1. Вы используете версию v1.6 с самой последней версией NeuralPDE.jl?
2. Да @ChrisRackauckas
3. Можете ли вы открыть проблему?
4. Здесь: github.com/SciML/NeuralPDE.jl/issues/406