Обновить

Комментарии 24

Мне кажется вы всё-таки лукавите. "Случайно" изобретаете волновое уравнение, хотя в константах явно указана 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 млн комбинаций молекул

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

Очень интересная симуляция, особенно то, как из простого локального правила возникают волны, интерференция и доменные структуры — это действительно хорошо показывает силу нелинейной динамики. Но, как мне кажется, здесь важно аккуратно разделять классическое и квантовое поле. В модели реализовано классическое скалярное поле с нелинейным потенциалом, и наблюдаемые «частицы» — это скорее топологические дефекты (типа кинков), а не квантовые возбуждения. В квантовой теории поля частицы связаны не только с конфигурацией поля, но и с квантованием мод, операторами рождения/уничтожения и статистикой. Поэтому такие эффекты, как, например, «рождение пар» в строгом смысле требуют квантового описания, а не только классической динамики. Тем не менее, как демонстрация того, как сложное поведение может возникать из простых уравнений — это очень наглядно. Особенно интересно было бы увидеть, как поведение меняется при переходе к более сложным моделям или при добавлении шума/флуктуаций.

Не по теме.
Все-таки это ужасно, когда надо писать
"static final int WIDTH = 100;"
вместо
"width=100"
Синтаксис языка программирования должен быть максимально простым!

Теперь по теме.
Вы хотите сказать, что наш мир случаен и возник сам по себе, а все его законы - всего лишь "самопроизвольное зарождение"? Без роли Всевышнего? :)
Я все же не верю, что на винчестере могут самозарождаться программы. Нужен Программист! :) Хотя ваш эксперимент и не об этом, но как-то навеяло...

И еще по теме.
Такие штуки хорошо оформлять в виде готового "экзешника". Нет у меня на компе ЯВМ! Посмотреть не могу... :(

А вообще сама идея интересна: создавать разные модели и смотреть, что будет. Я еще на советских ПМК писал программы управления самолетом и ракетой. Так вот, если "не управлять", а предоставить самолет самому себе, то в конечном итоге он упадет, но характер полета будет весьма интересным (модель в программе задавалась достаточно хорошей).

Подумаю над одним экзешником.
Статьей я хотел показать что мир и вся его сложность построена на простых правилах из которых строится сложное. Это как написать простой язык программирования на котором можно создавать программы.
Я сейчас готовлю другую статью. Эта была с позиции сверху вниз. Следующая с позиции снизу вверх. Там всего одно правило. Но объясняется гравитация, появление вселенной из ничего. Почему бозон Хиггса не частица. Появление частиц. Объясняется время. Почему черные дыры должны со временем исчезать или уменьшаться. Объясняется как можно создать квантовый двигатель. И многие другие вещи. Но пока надо поправить программу моделирующая квантовое пространство. Это не будет научная статья но будет интересно. И самое интересное это появление частиц.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации