Колебания одномерных замкнутых цепочек

advertisement
Колебания одномерных замкнутых цепочек
Пусть xi, vi, pi, mi соответственно, смещение из положения равновесия, скорость, импульс и масса iой частицы в замкнутой цепочке, состоящей из N частиц. Пусть индекс i пробегает значения от 0
до N-1. Пусть коэффициенты жесткости ki. Функция Лагранжа имеет в общем случае вид
Здесь xN = x0, а функция Unl является потенциальной энергией, приводящей к нелинейности
взаимодействия.
Линейные цепочки
Задача на собственные значения и собственные вектора
В этом случае Unl = 0. Перейдя к переменным
, получим в качестве потенциальной
энергии квадратичную форму вида
(1)
Здесь отличные от нуля элементы симметричной матрицы kij имеют вид:
диагональные kii = (ki + ki-1)/mi, где k-1 = kN-1,
недиагональные kii+1 = -ki/(mimi+1)1/2 при i < N-1 и k0N-1 =-kN-1/(m0mN-1)1/2.
Задача определения закона движения цепочки
где Qα = aαcos(ωαt + φα), сводится к задаче определения собственных частот ωα (α=0,…,N-1)
(собственных значений матрицы kij) и матрицы tiα – собственных векторов матрицы kij.
Столбцы матрицы tiα должны удовлетворять условиям ортонормировки
Это условие ортогональности матрицы поворота, производящей преобразование потенциальной
энергии к диагональной форме
1
Определение амплитуд и начальных фаз нормальных мод
Значения амплитуд aα и начальных фаз φα определяются заданием начальных смещений
скоростей (импульсов)
и их
. Для этого решаются системы линейных уравнений, где неизвестными
являются начальные значения нормальных координат Qα0
и начальные значения нормальных скоростей (импульсов) Pα0
Далее, амплитуды определяются как
а начальные фазы как φα = -arctan(Pα0/ωαQα0).
При моделировании необходимо исключить движение центра масс, найдя минимальную частоту
и положив соответствующую нормальную координату равной нулю. Необходимо найти
парциальные энергии колебаний Eα = Pα2/2 + ωα2Qα2/2 и проверять их сохранение. Их сумма
должна давать внутреннюю энергию цепочки. Масштабировать время следует по максимальной
частоте.
Задача о нелинейной цепочке
Потенциальная энергия и уравнения движения
Пусть далее добавка к потенциальной энергии Unl нелинейной цепочки имеет вид
Замкнутость цепочки означает, что xN = x0.
Код вычисления потенциальной энергии в программе
double
// накопитель энергии
enrg = 0,
// Смещение i-ой частицы по отношению к частице, следующей за ней (POSTerior)
post;
for (int i = 0; i < _N; i++)
{
post = state[i].q - state[i == _N - 1 ? 0 : (i + 1)].q;
enrg += (.5 * _k[i] + (_alpha[i] / 3 + .25 * _beta[i] * post) * post) * post * post +
(_gamma3[i] / 3 + .25 * _gamma4[i] * state[i].q) * state[i].q * state[i].q * state[i].q;
}
return enrg;
2
Уравнения движения цепочки имеют вид
Здесь Fi - сила, действующая на i-ую частицу, которая равна
Здесь x-1 = xN-1, xN = x0, k-1 = kN-1, α-1 = αN-1, β-1 = βN-1.
Код в программе, отвечающей правой части уравнений движения для импульсов
// Правая часть уравнений изменения импульсов частиц
double fp(ushort i, double time, double[] y)
{
// Номер предыдущей частицы
int iPrev = (i == 0 ? _N : i) - 1;
double
// Смещение i-ой частицы по отношению к предыдущей частице (PREVious)
prev = y[2 * i] - y[2 * iPrev],
// Смещение i-ой частицы по отношению к следующей частице (POSTerior)
post = y[2 * i] - y[2 * (i == _N - 1 ? 0 : (i + 1))];
return
(-_k[i] + (-_alpha[i] - _beta[i] * post) * post) * post
+
(-_k[iPrev] + (_alpha[iPrev] - _beta[iPrev] * prev) * prev) * prev
- (_gamma3[i] + _gamma4[i] * y[2 * i]) * y[2 * i] * y[2 * i];
}
Здесь y[2*i] – смещение (координата) i-ой частицы. Массив y хранит импульсы и координаты.
Координаты отвечают четным индексам, а соответствующие импульсы – нечетным.
Масштабирование
В линейной задаче масштабирование можно не проводить, но выбирать шаг табуляции решения,
исходя из значения минимального периода Tmin = 2π/ωmax.
В нелинейной задаче имеет смысл в процессе счета использовать масштабированные
координаты, импульсы и время.
1. Масштаб массы можно выбрать равным полной массе цепочки [M] = M.
2. Масштаб энергии лучше выбирать условием равенства единице внутренней
энергии цепочки, т.е. [E] = Eint. Отсюда масштаб времени [T]2 = M [D]2/Eint.
3
3. Масштаб длины [D] выбирается в зависимости от значений коэффициентов αi, βi,
определяющих динамику цепочки.
a. Если все коэффициенты βi = 0, то масштаб длины можно выбрать из условия
[α] = max(|αi|). Так как [α] = [E]/[D]3, то [D]3 = Eint/ max(|αi|).
b. Если все коэффициенты αi = 0, то масштаб длины можно выбрать из условия
[β] = max(|βi|). Поэтому [D]4 = Eint/ max(|βi|).
c. Если есть как среди αi, так и среди βi коэффициенты не равные нулю, то
масштаб длины можно выбрать как [D] = max(|αi|)/max(|βi|). В этом масштабе
единице равно отношение максимальных по модулю коэффициентов α и β.
4
Download