Pull to refresh

Comments 21

Мне кажется вы всё-таки лукавите. "Случайно" изобретаете волновое уравнение, хотя в константах явно указана FLOW_RATE < 0.25 и вообще знаете что такое "Лаплассиан".

Следующий шаг - это неотражающие граничные условия реализовать. Вот где самое интересное, особенно на гексагональной сетке.

Справедливое замечание. Лапласиан я знал — это стандартный оператор. Но я не знал что из него выйдет интерференция без дополнительных условий, фазовый переход без термодинамики, и чётность счётчика частиц без закона сохранения. Именно это я имел в виду под ‘вышло само’ — не незнание инструмента, а неожиданность результата.

Так математика не привносит новой информации, она преобразует существующую в другую форму: мусор на входе - мусор на выходе. В скорости и времени уже заложено расстояние в неявном виде. Перемножив, вы его и получите. Но вот получить оттуда, например, объём машины, которая ехала невозможно. Его там не заложено.

Поэтому вы удивляетесь совершенно зря. Вся математическая модель, заложенная вами, уже включала все эти эффекты с момента написания. Просто вы их не видели в ней.

Это всё красиво, но в коде де-факто решается конечными разностями уравнение реакции-диффузии с кубическим потенциалом. Иногда называется оно уравнением Фитц-Хью - Нагумо. Есть более простой вариант - уравнение Колмогорова-Фишера.

А описанные эффекты формирования паттернов и наложения волн и не надо никуда закладывать. Интерференция, например, это просто суммирование двух гармонических волн с разными фазами.

Спасибо — это самый точный комментарий под статьёй. Вы правы что терминология размыта.

Уточню: у меня есть явное поле скоростей velocity[][], то есть уравнение второго порядка по времени — ∂²φ/∂t² = c²·Δφ − λ(φ²−V²)φ. Это затухающее уравнение Клейна-Гордона с φ⁴ потенциалом, не реакция-диффузия. FitzHugh-Nagumo и Колмогоров-Фишер — первый порядок, там нет волн, только диффузия. Хотя в пределе сильного затухания мои решения, наверное, к Allen-Cahn и сходятся.

Про интерференцию — согласен полностью, это суперпозиция и она неизбежна из линейности. Стоило написать точнее.

Но чётность числа доменных стенок и сохранение топологического заряда — это уже не суперпозиция. Это топология. Вот это меня и удивило по-настоящему.

Второй производной по времени у вас не вижу для гиперболического уравнения, в ней должны быть два временных слоя при расчете newPhi.

Но посыл и моделирование всё равно интересные. Ведь примерно таким и пытаемся описать реальность. Шрёдингер с вашим потенциалом при V=0, например, становится уравнением, известным как НуШ и имеющим солитонные решения.

Спасибо за уточнение! У меня реализован leapfrog через явное поле velocity[][] — это эквивалент двух временных слоёв, просто в форме Верле а не через phi_prev. Согласен что в тексте статьи это стоило показать явно.

Про НуШ — это неожиданно красиво. То есть мои численные солитоны при V→0 должны сходиться к аналитическим решениям НуШ? Если так — это готовый тест на точность симулятора. Буду проверять.

А, вот leap‑frog не разглядел. Не большой спец в этих методах, всю жизнь только параболические уравнения моделировал.

К нелинейному Шрёдингеру не сойдётся, так как это комплексное уравнение с первой производной по времени и чуть другими свойствами.

У вас, выходит, действительно некоторая модификация Клейна‑Гордона на самом деле. Стандарт в квантовой теории поля для скалярных частиц, вплоть до бозонов Хиггса, смотря какой потенциал заложен — у вас как раз очень похоже на хиггсовский.

Можно для тестирования поперебирать другие варианты потенциалов, для которых прописана аналитика. Или забабахать sin‑Гордона (уравнение «синус‑Гордона»), в котором известно много красивых нелинейных волн.

Это классическое (или, если угодно, одночастичное) поле. Квантовое поле так просто не отмоделировать.

Любопытно, что у Вас всякие неустойчивости не полезли: в том виде, в каком временная зависимость в коде формируется, навскидку тяжело сказать, как управлять параметрами моделирования в нелинейном случае. Впрочем, если у Вас, в самом деле, сходится к кипящему вакууму, то, возможно это оно и есть. В диссипативной системе все временные зависимости должны умирать.

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

Но, конечно, моделирование забавное. На нелинейное поле можно смотреть часами.

Про “квантовое” в названии — поправлю. Это классическое нелинейное скалярное поле, второго квантования нет. Название выбрано по аналогии с явлениями которые воспроизводятся — рождение пар, аннигиляция, вакуумные флуктуации — но терминологически это неточно. Добавлю уточнение.

Про устойчивость — повезло с параметрами: FLOW_RATE = 0.20 при пороге Куранта 0.25, DAMPING = 0.998. Диссипация маленькая но она есть, и именно она, как вы и говорите, убивает все долгоживущие моды. Кипящий вакуум в конце — это равновесное состояние диссипативной системы, да.

Про артефакт квадратной решётки — это объясняет крест на tick 821 лучше чем всё что я думал раньше. Двудольный граф допускает шахматное стационарное решение, и симулятор в него и скатывается. На триангулированной поверхности нечётные циклы это математически запрещают — и я как раз планирую следующим шагом перейти на тетраэдральную сетку. Теперь есть строгое обоснование зачем.

Про крупномасштабные структуры — интересный открытый вопрос. Подозреваю что 100×100 не хватает: характерный размер домена сравним с размером решётки и структуры просто не умещаются. Попробую на 500×500.

очень занимательная работа, на досуге ознакомлюсь, спасибо!

вы вообще все кто? и как вы это понимаете? недавно читал книгу "вы конечно шутите мистер фэймон" и только поэтому для меня тут существует знакомые слова, какие-то вещи типа интереференции я понимаю интуитивно, и некоторых других физических явлений, но всё вместе в одну картину у меня не складывается из-за плохой памяти, и такие опыты проводить не могу (((

В недалёком прошлом - обычные советские школьники. Которые от скуки читали журнал "Квант", потому что смартфоны с рилсами ещё не изобрели.

Счётчик показал: 7 → 222 → 1397 → 9821 частиц. Всегда чётное число

Обоснованность этого вывода, который используется для утверждения о том, что было подтверждено рождение пар, вызывает у меня сомнения: я не разбираюсь в квантовой физике, но неужели в учебниках по ней переопределили понятие четных чисел, что бы включить в него 7, 1397, 9821? Я бы ещё понял, если бы нечетными были все числа, и посчитал, что автор не упомянул о необходимости вычеть 1, но в таком случае число 222 сбивает с толку

Справедливое замечание — спасибо. Вы правы: 7, 1397, 9821 — нечётные числа, и я допустил неточность в тексте.

Имел в виду другое: детектор считает граничные узлы, а не топологические объекты. Чётность сохраняется у числа доменных стенок как целых объектов — они рождаются и аннигилируют парами. Число узлов на их границах при этом произвольное и чётным не обязано.

Исправлю формулировку в статье.

Справедливое замечание — спасибо. Вы правы: 7, 1397, 9821 — нечётные числа, и я допустил неточность в тексте.

Меня не отпускает дежа-вю: в точности в таком стиле мне отвечает ЧатГПТ, когда я его поправляю. Извините, если это не так, но далеко не в одном вашем ответе в комментариях возникает такое чувство.

Такое же ощущение возникло, кстати.

Добрый день. А я и не скрываю что ипользую нейросети. Если вы посмотрите мой профиль то увидите что я обычный программист. А так как статья больше по физике (а я обыно не оперирую физическими терминами) нейросети помогают мне точнее формулировать мысли когда я выхожу за пределы своей области. Но ответ мой хоть и отредактирован немного нейросетью. У меня например есть эксперимент по генерации молекул по заданным свойствам. Программу я написал за пару вечеров. Я искал молекулу которая будет собирать энергию от солнца но при этом будет краской. Результат не такой как я ожидал но программа смогла найти те молекулы которые уже используются в производсве солнечных батарей. И новых там примерно ~150 молекул подпадающие под заданные критерии из 2,5 молекул. Напишу статью об этом когда проверю на практике. Код полностью публиковать не буду так как там потенциальные патенты. И это уже химия. А в квантовый мир хочется заглянуть чтобы лучше понимать химию. Всегда казалочь в школе нужно заучивать соединения, и свойства, а не понять один раз и знать как это работает. Я каждый день для себя что то открываю. И квантовый мир стал интересен благодаря ИИ так как в школе на мой взгляд дают ошибочное понимание которе все усложняет, а в институте говорят что это сложно и лучше за это не браться. Собранная мной статистика говорит о том что у меня в среднем за месяц рождается 10 проектов. Я каждый день для себя что то новое открываю, проверяю и пишу код. Это очень захватывает. И про это я напишу отдельную статью скорее будет по психологии. Там я хочу затронуть тему идей, рождения новых идей и как поток мыслей приводит к новым идеям. Про людей которых в психологии называют мультипотенциалами или 'Сканерами' по Барбаре Шер. Я это к чему что мне приходится достаточно глубоко погружаться в тему. Я оперирую абстракициями, но вот сказать на языке людей этой области бывает сложно. Простите если я кого то обидел или не так ответил. И статья не пишется за 5 минут. Хоть в статье и написано что проверил за пару часов, но тема крутилась и были попытки написать программу несколько раз в течении полу года. Но да когда уже были написанны базовые классы красиво вывести получилось буквально за вечер.

И я не пользуюсь чатом GPT просто по духу он мне не подходит и для задач исследования и программирования. Все приходится препроверять по несколько раз. Обчно это Deepseek или Cloude Sonet

из 2,5 млн комбинаций молекул

клеточный автомат у вас ?

Sign up to leave a comment.

Articles