![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Symplectic SystemBoost , Chapter 1. Boost.Numeric.Odeint , Concepts
|
![]() |
Home | Libraries | People | FAQ | More |
Эта концепция описывает, как определить симплектическую систему, написанную с обобщенной координатой<q
>и обобщенным импульсом.<p
>:
q'(t) = f(p)
p'(t) = g(q)
Такая ситуация обычно встречается для гамильтоновых систем с отдельным гамильтоновым:
H(p,q) = Hkin(p) + V(q)
Что дает уравнения движения:
q'(t) = dHkin/ dp = f(p)
p'(t) = dV/dq = g(q)
Алгоритмическая реализация этой ситуации описывается парой вызывающих объектов дляfиgс конкретной подписью параметра. Такая система должна быть реализована как std::пара функций или функторы. Симплектические системы используются в симплектических степперах, таких как<symplectic_rkn_sb3a_mclachlan
>.
System
Тип, который является моделью SymplecticSystem
Coor
Тип координатыq
Momentum
Тип импульсаp
CoorDeriv
Тип производной координатыq'
MomentumDeriv
Тип производной импульсаp'
sys
Объект такого типа<System
>
q
Объект типа Coor
p
Объект типа Momentum
dqdt
Объект типа CoorDeriv
dpdt
Объект типа MomentumDeriv
Имя |
выражение |
Тип |
Семантика |
---|---|---|---|
Проверка пары |
< |
< |
Проверьте, является ли система парой |
Расчетdq/dt = f(p) |
< |
< |
Вычисляетf(p), результат сохраняется в< |
Вычислитьdp/dt = g(q) |
< |
< |
Вычисляетг(к), результат сохраняется в< |
Статья Symplectic System раздела Chapter 1. Boost.Numeric.Odeint Concepts может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
реклама |