Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Моделирование физических процессов (http://forum.oszone.net/showthread.php?t=249896)

nix_c 24-12-2012 21:33 2052778

Моделирование физических процессов
 
Вложений: 4
Добрый вечер! Я занимался разработкой компьютерных моделей физических процессов на языке программирования С++. Хочу создать Компьютерную модель катода (Н-р газоразрядной, люминесцентной или натриевой лампы). Предыдущие модели разрабатывал в MS VS2008 Express. Уровень программирования невысокий, опыта программирования мало. Так же по возможности хотелось бы провести параллельное программирование модели и для Unix подобных ОС (Linux в частности).
Может быть есть у кого опыт разработки подобных моделей? Буду рад выслушать ваши предложения. Заранее Спасибо!

Tau_0 24-12-2012 22:05 2052797

Цитата:

Цитата nix_c
Буду рад выслушать ваши предложения. »

Я бы простолте душевной на FORTRAN делал...

Главное --- Физику Всего ентова дела понимать. А кодирование --- последний этап *енря.

ЗЫ Я Физик, но таких спецкурсов не слушал...

nix_c 25-12-2012 19:02 2053297

Цитата:

Цитата Tau_0
Главное --- Физику Всего ентова дела понимать. А кодирование --- последний этап *енря. »

Физика процессов пока изучена мало. В предыдущих моделях возникали сложности (н-р при портации кода с True Basic на С++). Также часто и в физике используется метод Монте Карло требующий достаточное большое число итераций. Поэтому хочется бы чтобы модель работала относительно быстро.

lxa85 26-12-2012 00:10 2053435

nix_c, ой, слушай, найди меня как нить через день два. Я тебе под рюмку чая расскажу что да как :)

nix_c 26-12-2012 00:59 2053470

Цитата:

Цитата lxa85
nix_c, ой, слушай, найди меня как нить через день два. Я тебе под рюмку чая расскажу что да как »

ок)

nix_c 09-01-2013 16:00 2062543

Подскажите какая реализация С++ подойдет для этой цели лучше всего?

XPEHOMETP 15-01-2013 13:28 2067170

Вы поймите, конкретный язык программирования (или его реализация) - это вещи глубоко второстепенные. Главное - это понять суть физических процессов и суметь их описать на некотором языке программирования, адекватно отражающем протекающие физические процессы. Боюсь показаться профаном, но тут главное - не как программировать (и на чем), а что программировать. Если Вы понимаете суть процессов, то сможете адекватно их промоделировать на чем угодно. Фортран тут в теме всплывал не зря - это давний язык научных расчетов. На самом деле, он по сути не имеет особых преимуществ перед другими языками. Все то же самое можно записать на любом другом языке программирования. Любая реализация языка С++ годится, лишь бы Вы могли на этом варианте языка написать адекватную программу. Удобство написания программы в данное время (при достигнутом быстродействии компьютеров) играет гораздо большую роль, чем время ее фактического выполнения. Ибо писать ее вы в любом случае будете большее время, чем то, за которое она будет выполняться. Пишите на чем Вам удобно, это точно окупится.

Iska 15-01-2013 15:34 2067276

Цитата:

Цитата XPEHOMETP
На самом деле, он по сути не имеет особых преимуществ перед другими языками. »

Именно особые — имеет.

lxa85 15-01-2013 16:03 2067294

Iska, XPEHOMETP, Кто имеет? Фортран? Фортран имеет особые преимущества. Но в целом я согласен с
Цитата:

Цитата XPEHOMETP
Вы поймите, конкретный язык программирования (или его реализация) - это вещи глубоко второстепенные. Главное - это понять суть физических процессов и суметь их описать на некотором языке программирования, адекватно отражающем протекающие физические процессы. »

Лишь поправлю: на языке математики, с вероятностным учетом физических событий. (Тут недавно был пример про принадлежность точки к окружности тут)
Это раз.
Затем ищется язык программирования, достаточно удобный для описания найденной математики. Например готовые инструменты для расчетов потоков частиц.

nix_c 16-01-2013 12:01 2067934

Цитата:

Цитата XPEHOMETP
Пишите на чем Вам удобно, это точно окупится. »

Спасибо за совет. Буду писать на С++ , постараюсь каждый отдельный процесс запрограммировать в отдельном приложении. Буду делать множество приложений (скорее всего консольных). Один процесс одно приложение. А потом соединю все приложения в одно Windows form, установлю взаимосвязи между ними.
Для начала промоделирую процессы диффузии и адсорбции (с применением метода Монте-Карло).

Iska 16-01-2013 14:31 2068081

Цитата:

Цитата lxa85
Iska, XPEHOMETP, Кто имеет? …»

lxa85, всё верно.

Цитата:

Цитата nix_c
постараюсь каждый отдельный процесс запрограммировать в отдельном приложении. Буду делать множество приложений (скорее всего консольных). Один процесс одно приложение. А потом соединю все приложения в одно Windows form, установлю взаимосвязи между ними. »

nix_c, напрасно.

XPEHOMETP 16-01-2013 16:15 2068158

Цитата:

Цитата lxa85
Фортран? Фортран имеет особые преимущества. »

Я согласен (я сам как бы на Фортране программы пишу для обработки данных эксперимента). В данном случае фортран ровно в том же положении, что и другие языки. Ибо конкретно тут важнее всего алгоритм, который нужно написать на некотором языке программирования, а на каком - это уже глубоко вторичный вопрос.

Цитата:

Цитата Iska
nix_c, напрасно. »

Может быть. Но - что именно напрасно? Консольные приложения для решения конкретных научных задач - это стандарт, можно сказать. Напрасно объединять их некой GUI-оболочкой? А почему бы и не сделать такое? Внешняя оболочка вряд ли затормозит реальные вычисления.

lxa85 16-01-2013 16:46 2068181

Тут наверно надо рассмотреть архитектуру предлагаемой системы. Т.к. много-много консольных программ меня тоже смущают. Как отработка небольшого алгоритма - вполне. Каждый раз запускать ".exe" для выполнения маленькой задачи при большом расчете - вряд ли. Полезнее было бы их объединить в нечто среднего уровня. ИМХО

nix_c 16-01-2013 19:24 2068327

Цитата:

Цитата lxa85
Тут наверно надо рассмотреть архитектуру предлагаемой системы. Т.к. много-много консольных программ меня тоже смущают. Как отработка небольшого алгоритма - вполне. Каждый раз запускать ".exe" для выполнения маленькой задачи при большом расчете - вряд ли. Полезнее было бы их объединить в нечто среднего уровня. ИМХО »

Для отладки процесса моделирования будет создано "много .exe" файлов лишь для того чтобы было проще адаптировать каждый процесс, т.е каждую закономерность и не лазать по всему коду дабы не повредит что либо. Далее отладить их и уже потом обьеденить в один .EXE файл. ИМХО так будет лучше, но у меня нет подобного опыта программирования.

Iska 16-01-2013 23:47 2068496

Цитата:

Цитата XPEHOMETP
Но - что именно напрасно? »

Разбивать одну задачу моделирования на кучу процессов. Затем пытаться сводить их вместе.

nix_c 17-01-2013 08:10 2068600

Цитата:

Цитата Iska
Разбивать одну задачу моделирования на кучу процессов. Затем пытаться сводить их вместе. »

Чем это чревато?

lxa85 17-01-2013 11:03 2068666

nix_c, все зависит от уровня абстракции.
Цитата:

Цитата nix_c
Чем это чревато? »

Дополнительными накладными расходами на создание процессов.
Пример:
Сервер Apache. В Windows он работает как один процесс и множество нитей. Т.к. на платформе Windows создавать процесс -- "дорого".
В Linux Apache работает множеством процессов. Т.к. в Linux создание процесса -- "дешевая" операция.

XPEHOMETP 18-01-2013 15:24 2069609

Цитата:

Цитата Iska
Разбивать одну задачу моделирования на кучу процессов. Затем пытаться сводить их вместе. »

Согласен. Разбивать полезно для отлаживания каждого процесса по отдельности, чтобы не влияли возможные ошибки в других процессах. Но: когда все окончательно доведено до ума, почему бы и не объединить в едином GUI? Чисто для удобства юзера. Лишний фантик, я понимаю, но, когда все уже заработало, почему бы и не навести красивостей?

nix_c 18-01-2013 18:54 2069784

Скажите пожалуйста, может быть кто слышал от таких программах: MARLOWE, CRISTAL-TRIM, TRIM, TRIM.SP, TRIDYN, DYTRIRS, ACAT-DIFFUSE? Может есть у кого?
С помощью эти программ промоделированы процессы соударения частиц на мишени при ионном облучении.
Хотелось бы посмотреть исходный код. Есть описание на английском для некоторых из них, но где скачать так и не нашел...

lxa85 18-01-2013 19:39 2069820

nix_c, это крайне специфическое ПО, широко известное в узких кругах. К сожалению ничем не могу помочь, кроме как советом найти эти самые узкие круги.
Подключайте научного руководителя и его связи. Это действительно узкая специальность и тут надо знать ключевых людей и ключевые слова. Первый, кто в этом может помочь -- науч.рук. + институты и кафедры профильного направления. Это, к сожалению, ищется даже не за неделю человеком со стороны, например меня.

nix_c 18-01-2013 20:49 2069870

Цитата:

Цитата lxa85
nix_c, это крайне специфическое ПО, широко известное в узких кругах. К сожалению ничем не могу помочь, кроме как советом найти эти самые узкие круги. »

Да. я понимаю это. Просто нет людей хорошо разбирающихся в этом.

Tau_0 20-01-2013 02:17 2070729

Цитата:

Цитата nix_c
Просто нет людей хорошо разбирающихся в этом. »

Кто знает...???...
Ступайте со своей проблемой на Научный форум dxdy в раздел Физика
http://dxdy.ru/fizika-f2.html

lxa85 29-01-2013 11:55 2077505

SRIM(The Stopping and Range of Ions in Matter), на основе TRIM(Transport of ions in matter) оказывается используется при вычислении радиационного поражения материалов. Возможно будет полезен и в данной задаче.
ПО бесплатное, моделирует процесс разлета частиц на основе метода Монте-Карло.
C marlovare сложно. Больно старая разработка, сайт разработчика не доступен.
Собственно все остальное ПО будет носить схожий характер, за некоторой спецификацией.
Везде (ну или почти везде) использован метод Монте-Карло.


Время: 19:26.

Время: 19:26.
© OSzone.net 2001-