Колебания одномерных замкнутых цепочек Пусть 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