LINUX.ORG.RU

Компьютерная модель газа, организация емких вычислений

 , ,


0

3

Здравствуйте.

Надо стало написать компьютерную модель явления теплопереноса в условиях среднего вакуума. Реализовал в лоб - обсчёт траектории для каждой молекулы. С этим, в общем, особых проблем нет. Написал на c++

Проблема в количестве молекул. При давлении 1Па при температуре 333К (30С) в объеме 7x5x1мм их около 8 трлн. На каждую молекулу нужно 4 поля типа double(положение x,y, скорость, направление(угол) - модель двухмерная). Если считать, что double занимает 8 байт, то для одной молекулы нужно 32 байта, а для всех молекул - 232ТБ. Естественно, что моих 4 гигов оперативки не хватит, а мой intel celeron 2@1.1GHz будет это все обсчитывать, по примерным оценкам, около сотни веков для моделирования всей системы на 1с вперёд с шагом в 1мкс по времени(шаг 1мкс взят неспроста, увеличить нельзя).

Вот и вопрос - существуют ли сервисы, где можно запустить такие вычисления, или я с дуба рухнул, и такое даже БАК не может себе позволить?

Ну а если кто знает, подскажите, как можно с меньшими затратами реализовать такую модель, ибо концентрацию уменьшить нельзя - уже не то будет…

Перемещено Pinkbyte из development

Реализовал в лоб - обсчёт траектории для каждой молекулы.

Ты считаешь изменение скоростей пары молекул после их столкновения, как будто это твёрдые тела?

anonymous
()

Эммм….

  1. считать можно на флотах.

  2. 7х5х1 мм это нефига не двумерная модель.

  3. и главное. Какая у Вас длина свободного пробега? Если много меньше размера системы - читайте/гуглите про молекулярную динамику, но скорее всего лучше перейти на физическую кинетику (какое нить уравнение Больцмана). Если длина свободного пробега больше размера системы (скорее всего так?) - нужно считать просто соударение молекулы со стенками. Это можно сделать довольно эффективно, в частности шаг по времени тут вообще не очень нужен.

Но на целероне конечно такие вещи считать не надо, для этого есть более подходящие машины;-)

Да, тему лучше перенести в S&E

AntonI ★★★★
()

Гуглить метод конечных элементов, он же finite element analysis. Это примерно то, что ты наколхозил, только единица анализа это не молекула, а некий объем, и обмен между смежными объемами обсчитывается корректно, а не как бильярд с шариками. Клеточный автомат еще погугли.

Кстати, как так вышло, что ты прямо с мороза пришел к такой задаче?

anonymous
()
Ответ на: комментарий от anonymous

Гуглить метод конечных элементов, он же finite element analysis. Это примерно то, что ты наколхозил, только единица анализа это не молекула, а некий объем, и обмен между смежными объемами обсчитывается корректно

Ты не перепутал с finite volume method? Ну или уточняй, какое пространство функций использовать для аппроксимации в FEM.

aquadon ★★★★★
()

А не глупо вот так вот выкидывать плоды трудов статистических физиков прошлых 2-3 столетий?

ados ★★★★★
()
Ответ на: комментарий от anonymous

Ок, какую именно систему уравнений Вы собираетесь предложить ТСу решать при помощи МКЭ?

И как именно Вы собираетесь предложить ТСу описывать его физическую систему уравнением теплопроводности (Вы наверное его имели ввиду)?

А еще, почему Вы хотите предложить ТСу решать уравнение теплопроводности при помощи МКЭ а не при помощи конечных разностей например?

AntonI ★★★★
()
Ответ на: комментарий от ados

На самом деле тут не очень очевидно как статфизика может помочь. Если у ТС длина свободного пробега больше размера системы (скорее всего так, лень считать), то от статфизики мы можем получить тока уравнение идеального газа.

ЗЫ посчитал все таки - при параметрах ТСа важно что за газ. Если воздух то длина свободного пробега 6мм как раз, если водород больше, если что то тяжелое то меньше и получается такой пограничный случай…

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

AntonI ★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)

Кмк, на симуляторах просто делают систему крупнее или молекул меньше и получают +- что надо.

crutch_master ★★★★★
()

Реализовал в лоб - обсчёт траектории для каждой молекулы

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

LamerOk ★★★★★
()
Ответ на: комментарий от anonymous

Пусть пользователь

А потом пусть сам пересчитывает положение каждой молекулы.

anonymous
()
Ответ на: комментарий от anonymous

В данном случае обмена между объемами нет - я же сказал, средний вакуум, при этом средняя длина свободного пробега 2 см, а у меня расстояние между стенками - 7мм

Architector
() автор топика
Ответ на: комментарий от LamerOk

Так рандом же. Ну,с условием сохранения распределения Максвелла

Architector
() автор топика
Ответ на: комментарий от crutch_master

Молекул меньше - изменится концентрация - так нельзя

Architector
() автор топика
Ответ на: комментарий от AntonI

Именно. Длина свободного пробега аргона 7мм, гелия 2см.

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

Architector
() автор топика
Ответ на: комментарий от ados

А что мне с ними делать? Они верны для давлений бОльших или немного меньших атмосферного, у меня вакуум

Architector
() автор топика
Ответ на: комментарий от AntonI
  1. Да, лучше, я уж по привычке

  2. Просто считаем, что молекулы в данном объеме движутся только по оси x и y, а собственно ввести z координату и ещё один угол проблем особых нет

  3. Про свободный пробег я вам чуть выше ответил, а про осталное попрошу поподробнее, не совсем понял

Architector
() автор топика

обсчёт траектории для каждой молекулы.

Совершенный абсурд, это невозможно, ненужно и решает другую задачу. Раз речь идет о «теплопроводности», то нужно решать уравнение для одночастичной функции плотности (aka ур-е Больцмана) с соответствующей правой частью.

Вы не на тот форум обратились, тут у вас с физикой проблемы.

i586 ★★★★★
()
Ответ на: комментарий от i586

Та тьфу, с уравнением Больцмана слишком всё просто

Architector
() автор топика
Ответ на: комментарий от Architector

про осталное попрошу поподробнее, не совсем понял

  1. Я глянул Ваш текст, основное чего там нет - вменяемых граничных условий на молекулы. То есть Вы пишите про среднюю энергию, но моделировать то Вы будете молекулы которые при отражении от стенки должны быть как то распределены. Это самое интересное. Прилетела молекула со скоростью v1, стукнулась о стенку с температурой T1 - с какой именно скоростью она отлетит? Вот что Вы тут напишите, то на выходе и будет.

  2. У Вас очевидно большинство соударений будет происходить со стенками, ортогональными минимальному размеру. Как именно такие соударения будут происходить довольно важно. Но я вообще не вижу в Вашей постановке необходимости ставить до стенки кроме тех которые имеют температуры T1 и T2, там можно поставить периодику или еще что… в общем какие то компоненты скорости там должна быть (иначе посыпется размерность), но смотреть надо только на одну компоненту. Можно ограничится рассмотрением двух бесконечных плоскостей с температурами T1 и T2

  3. Собственно схема тривиальная, поскольку Вас интересует только стационар как я понял, то можно погонять ровно одну молекулу. Вылетела с одной стенки, аналитически считаете когда она попадет в другую стенку и что она ей принесет. Делаете так много раз, получаете среднее время и среднюю энергию, делите одно на другую получаете поток. Не забудьте умножить на концентрацию. Поскольку задача линейная по концентрации, то чем больше молекул Вы тут возьмете тем всего лишь точнее будет ответ - нет необходимости гонять их триллионами.

  4. и главное - это все можно сделать на бумашке;-) Но если хочется покодить чо то околонаучное, пуркуа бы и не па…

AntonI ★★★★
()
Последнее исправление: AntonI (всего исправлений: 1)
Ответ на: комментарий от Evgueni

ТС просто изобрел метод Монте-Карло. Ничего страшного, так тоже можно.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

Так если считать, что молекулы друг с другом не взаимодействуют, то не нужно считать все эти OVER exp(9000) молекул. Посчитать траектории для нескольких миллионов, а дальше «масштабировать».

Waterlaz ★★★★★
()
Ответ на: комментарий от AntonI
  1. Ну, со скоростью соответствующей температуре стенки v=sqrt(3kT/m0)

  2. Стены да, только две, грубо говоря ограничиваемся рассмотрением двух беск. плоскостей. Хотяя… на самом деле там нить в цилиндре и это все будет справедливо только для молекул, которые-таки будут соударяться с нитью, остальные же нам и в принципе неинтересны.

  3. Ну… Я просто не совсем уверен, что молекулы прям уж не взаимодействуют. Действительно ли при свободном пробеге 2см и расстоянии между препятствиями 7мм можно считать, что в основном происходят столкновения только со препятствиями(стенками)?

Architector
() автор топика
Ответ на: комментарий от Architector
  1. Это не так. Это средняя скорость, а Вам делать скорости которые были бы по Максвеллу распределены.

  2. Цилиндрическая геометрия очень сильно все поменяет в смысле времени пролета. Тогда надо делать именно ее.

  3. Если молекулы взаимодействуют то это или у-е Больцмана или полноценная молекулярная динамика. И то и то все сильно усложняет. Решите сначала для невзаимодествия;-)

AntonI ★★★★
()
Ответ на: комментарий от Architector

И мне как раз нужно подтвердить выведенное мной уравнение теплопроводности для этих условий.

Подтвердить на маленькой задаче нельзя?

yvv ★★☆
()
Ответ на: комментарий от AntonI

друг с другом не взаимодействуют,

Все равно Больцман. Вы просто не понимаете, откуда берется уравнение Больцмана.

i586 ★★★★★
()
Ответ на: комментарий от Waterlaz

Товарищ путает «друг с другом не взаимодействуют» и «не взаимодействуют». В последнем случае можно посчитать только для одной частицы. И даже не на бумажке, а мгновенно и в уме.

i586 ★★★★★
()
Ответ на: комментарий от i586

Вы просто не понимаете, откуда берется уравнение Больцмана.

Расскажите скорее! Очень интересно.

Заодно расскажите чем Больцман отличается от Власова и от Фоккера-Планка. А про цепочку Боголюбова и метод Чепмена нашего Энгскога поговорить не хотите?;-)

AntonI ★★★★
()
Ответ на: комментарий от i586

Товарищ этими вопросами занимается профессионально 25 с гаком лет, в том числе рассказывает об этом студентам всяких МФТИ.

Но я очень жду Вашего рассказа, не томите!

AntonI ★★★★
()
Ответ на: комментарий от i586

Вы меня поэкзаменовать решили?))))

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

Судя по терминологии, вам за 50.

Ванга из Вас так себе… но мне любопытно из Вас Ванга лучше чем знаток статфизики или хуже?

Впрочем это все лирика. Итак, откуда по Вашему берется у-е Больмана и чем оно отличается от у-й Власова и Фоккера-Планка?

Про цепочку Боголюбова и теорему Лиувилля можете не рассказывать.

AntonI ★★★★
()
Ответ на: комментарий от i586

Угадал, значит.

Мдя… у Вас даже со школьной арфметикой не айс оказывается, а я Вас про физкинетику спрашиваю;-(

AntonI ★★★★
()

Реализовал в лоб - обсчёт траектории для каждой молекулы.

А вдруг у тебя в реальности молекулы иначе полетят?

ya-betmen ★★★★★
()
Ответ на: комментарий от ya-betmen

Реализовал в лоб - обсчёт траектории для каждой молекулы.

А вдруг у тебя в реальности молекулы иначе полетят?

Обязательно по другому полетят. Пока что никто не смог смоделировать даже одноатомный газ с высокой точностью. Когда молекулы начинают тыкаться друг в друга, то неожиданно выясняется, что они ведут себя не как резиновые/стальные шарики в вакууме. Потому лучше держаться ближе к эмпирике и перепроверять результаты моделирования.

byko3y ★★★★
()
Ответ на: комментарий от AntonI

Я думаю, что это вы ошиблись. Любое одночастичное уравнение будет иметь такой вид, хотя бы и с нулевой правой частью. Тем более, что у нас тут газ во внешнем поле.

i586 ★★★★★
()
Ответ на: комментарий от i586

Одночастичное уравнение с нулевой правой частью называется уравнением Власова. Вариантов правой части существует довольно много разных, а вот уравнением Больцмана называется только одно. (условно два, есть еще уравнение Больцмана в тау приближении).

И это не внешнее поле, это граничные условия. Впрочем внешнее поле входит в левую часть а не в правую. Ну то есть его так принято писать…

AntonI ★★★★
()
Ответ на: комментарий от byko3y

Вместо того что бы нести тут лютое 4.2 найдите статьи Нормана Генри Эдгаровича и читайте до просветления.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

Вместо того что бы нести тут лютое 4.2 найдите статьи Нормана Генри Эдгаровича и читайте до просветления

Он смог смоделировать одноатомный газ в высокой точностью? Или ты о том, что процесс случайный, а значит высокую точность и не положено иметь? Однако, для достаточно большого числа частиц (как в исходном сообщении) статистическая погрешность становится ничтожна, а вот погрешность модели вылазит на первый план.

byko3y ★★★★
()
Ответ на: комментарий от AntonI

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

Sahas ★★★★☆
()
Ответ на: комментарий от Sahas

Не знаю что такое наша/ваша физика, но в общепринятой статфизике у-е Больцмана с нулевой правой частью это не уравнение Больцмана а таки у-е Власова. Еще есть у-е Фоккера-Планка (слабые столкновения, диффузия в пр-ве скоростей), и дальше там целый зоопарк уравнений…

AntonI ★★★★
()
Ответ на: комментарий от byko3y

WTF высокая точность? От молекулярнодинамических расчетов никто не требует предсказания реальной траектории отдельных молекул, требуется расчет макрохарактеристик - и это умеют делать очень хорошо.

Даже для белков.

AntonI ★★★★
()
Ответ на: комментарий от AntonI

Одночастичное уравнение с нулевой правой частью называется уравнением Власова.

уравнением Больцмана называется только одно.

Это терминология из старых русских учебников, она вводит в заблуждение. На этом основаниия я и решил, что вам >50. Я никак не склонен к эйджизму, но токсичная атмосфера этого форума, равно как и резкий тон ваших высказываений заставили меня начать разговор о возрасте, о чем я сожалею.

И это не внешнее поле, это граничные условия.

Какая разница, это одно и то же.

i586 ★★★★★
()
Ответ на: комментарий от AntonI

Цитирую классика (Бёрд Г. Молекулярная газовая динамика, М.:Мир 1981, стр. 102):

«Поскольку столкновениями молекул можно пренебречь, интеграл столкновений в правой части уравнения Больцмана (3.20) можно положить равным нулю. В результате получим свободномолекулярное уравнение Больцмана»

Sahas ★★★★☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.