Scipy.integrate.odeint размер шага, зависящий от времениPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Scipy.integrate.odeint размер шага, зависящий от времени

Сообщение Anonymous »


У меня следующая проблема:

Мне нужно использовать ода-решатель, чтобы решить уравнение химической реакции. Константы скорости являются функциями времени и могут внезапно измениться (импульс от электрического разряда).

Один из способов решить эту проблему — сделать размер шага очень маленьким.

Код: Выделить всё

hmax < dt
. This results in a high comp. affort --> time consuming. My question is: Is there an efficient way to make this work? I thought about to

Код: Выделить всё

def hmax(puls_ON)
with

Код: Выделить всё

plus_ON=True
within the puls and

Код: Выделить всё

plus_ON=False
between. However, since dt is increasing in time, it may dose not even recognize the puls, because the time interval is growing hmax=hmax(t).

A time-grid would be the best option I thin, but I don't think this is possible with odeint?

Or is it possible to somehow force the solver to integrate at a specific point in time (e.g. t0 ->(hmax=False)->tpuls_1_start->(hmax=dt)->tpuls_1_end->(hmax=False)->puls_2_start.....)?

thx


Источник: https://stackoverflow.com/questions/551 ... d-stepsize
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»