metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2009-04-05 03:21 pm

"Машинное доение", ака матмоделирование

В последнее время у людей сильно популярно вместо дорогих натурных экспериментов заниматься "машинным доением" - моделировать всякую херню на компах, исходя из известных законов и некоторого набора математических методов.
Одно дело то, что ничего принципиально нового так открыть нельзя (законы известные!), и то что люди плавно вместо своей как бы основной работы (физики, химии там) начинают больше заниматься всякой ИТ-шной херней (почему сеть в кластере отваливается, "где взять больше памяти, а то матрицы не влазят" и "как эту память лучше выделять", изучение всяких говнопрограммных фреймворков для параллельных вычислений, "почему методы не сходятся", и прочая муть, ни малейшего отношения к реальности не имеющая). В экстремальных случаях заканчивается тем, что человек бросает науку и идет работать программистом.

А вот другое - как вообще проверить, правильно ли выбрана модель и расчетные методы, без экспериментов? А то ведь чисел можно накрутить сколько угодно, а толку без проверки не будет.

Это я к чему - заинтересовался темой расчета антенн. И есть такая халявная прога - mmana, которая основана на коде MININEC, реализующем метод моментов (насколько я понял из теории, в нем провода антенны разбиваются на мелкие части и тем самым уравнения излучения эм-волн преобразуются из интегральных форм в матричную, затем уравнения решаются обычными методами, находятся токи в элементах и затем производится расчет поля в дальней зоне).
Ну и соответственно на радиолюбительских форумах народ пишет, что типа он там смоделировал антенну и все у него работает.

Про юзабилити этой проги даже можно и не вспоминать - сразу видно, что писали "специалисты предметной области", ад неимоверный.

Так вот оная прога иногда выдает какие-то совершенно антифизические результаты, вроде отрицательных активных сопротивлений, гигантских скачков выходных значений при минимальных изменениях входных параметров(хотя такое возможно в окрестностях узких резонансов), идеально сферические диаграммы направленности у несимметричных антенн и прочий мрак.
А у радиолюбителей, по моему, из приборов для проверки только КСВ-метр, и вообще они это дело, как мне кажется, в итоге всегда эмпирически подгоняют. И, соответственно, никакой реальной возможности проверить, что эта прога насчитала и правильно ли она вообще работает - нет.

[identity profile] 1ceheart.livejournal.com 2009-04-05 01:13 pm (UTC)(link)
> Одно дело то, что ничего принципиально нового так открыть нельзя (законы известные!)

Ну это сильно не так. Все конструкции языка C++ известны, однако это же не значит, что на нем нельзя написать принципиально новую программу :)

Про моделирование антенн, и вообще RF - да, это черная магия, разумеется. Но без моделирования - это еще большая черная магия, и наибольшую ценность представляют не те случаи, когда модель сходится с реальностью, а те, когда она радикально расходится. Просто не надо относиться к этому софту как к генератору антенн типа "а сгенери-ка мне антенну с такими-то параметрами". И, естественно, без эксперимента это все фигня :)

[identity profile] eu3eu.livejournal.com 2009-04-05 03:12 pm (UTC)(link)
Любую антенну, сконструированную в MMANA, обязательно нужно проверять, введя огромные коэффициенты разбиения. Да, считает при этом намного дольше, но результат более реальный получается. Иногда сильно отличающийся от результатов предварительных быстрых расчётов.

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

Так вот, MMANA, если правильно ей пользоваться - не врёт. Про отрицательные активные сопротивления - гон, ни разу такого в MMANA не видел. Может, версия совсем уж древняя у тебя?

Голым КСВ-метром антенны сейчас настраивают только пионэры. У каждого приличного радиолюбителя обязательно есть антенный анализатор - измеритель импеданса, типа MFJ-269 или аналогичный, коих на рынке полно. Или они знают, у кого его можно одолжить. Некоторые даже сами такие приборы делают, ничуть не хуже промышленных. Ничего сложного в этом нет - синтезатор частоты на DDS, ОДИН измерительный резистор, три детектора, микроконтроллер, ЖК дисплей. Результат - открытым текстом R и X прямо в точке питания антенны на заданной частоте. По этим показаниям компенсируется реактивность, подгоняется активное сопротивление - и всё, можно подтыкать кабель к антенне и пользовать её. Всё будет работать. Проверено!

[identity profile] metaclass.livejournal.com 2009-04-05 05:47 pm (UTC)(link)
Да, там от разбиения очень сильно зависит. Вплоть до того, что если провод представить как два составленных рядом куска - из-за изменения структуры разбиения меняется все нафиг. Мне, кстати, очень непонятно, почему там нет адаптивного разбиения, а то руками его подгонять занудно.

Версия вроде последняя, 1.2.0.20

Да, измеритель импеданса видимо полезная хрень.

[identity profile] eu3eu.livejournal.com 2009-04-05 03:34 pm (UTC)(link)
Ещё скажи, что спайс-симуляция аналоговых схем нафиг не нужна. Нужна, и ещё как - обязательно прогоняю схему через симулятор и смотрю, чего ждать, что на что влияет и как с этим бороться. Даже температурные режимы моделирую. И только потом уже берусь за паяльник и макетирую. Всё получается.

[identity profile] metaclass.livejournal.com 2009-04-05 05:49 pm (UTC)(link)
Не, что нужна, это факт. Просто если при симуляции нарушается закон сохранения энергии - вера в нее резко теряется :)

[identity profile] vadim-i-z.livejournal.com 2009-04-05 05:28 pm (UTC)(link)
Как минимум одно открытие в физике плазмы было сделано именно так. Деталей не знаю (не моя область), но на компьютерно изготовленном графике там получилась непонятная фигнюшечка, которая неизвестно откуда взялась. Проверили - а она и в эксперименте получается.

[identity profile] wealth.livejournal.com 2009-04-06 03:57 pm (UTC)(link)
моделировать всякую херню на компах
см. ниже.

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

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

[identity profile] metaclass.livejournal.com 2009-04-06 05:11 pm (UTC)(link)
По первым двум пунктам - я специально перегибаю палку, чтобы сбежался народ и начал со мной спорить. Даже специально фразу про "машинное доение" у Профессора потырил :)
Еще, правда, я это пишу по результатам наблюдений за одним моим знакомым, который уже года три в АН РБ занимается тем, что воюет с алгоритмами моделирования фотонных кристаллов, причем большая часть времени у него уходит именно на ИТ-шную ересь, типа выделения памяти и нехватки точности вычислений. Если бы я так занимался посторонними вещами - меня бы с работы выгнали давно.

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

[identity profile] wealth.livejournal.com 2009-04-06 06:52 pm (UTC)(link)
Для того, чтобы уменьшить время на всю эту ересь, как Вы точно заметили, надо студентов/аспирантов иметь. Каждому поручить что-то одно и доить их потом по этому поводу. Вот например я сегодня 18 кабелей перетыкал в кластере и, как назло, именно последний оказался битым. На все это ушло порядка двух часов, а ведь мог бы и другими вещами заниматься. Студенты тут помогут конечно здорово.

За свою жизнь я только один раз использовал чужой код - все остальное своими руками. Не потому что типа гордый и все дела, а так просто спокойнее и понятно что где и чего считает.

[identity profile] inhate.livejournal.com 2009-04-07 10:14 am (UTC)(link)
>>>> ибо принято за аксиому что программы желательно брать готовые, а не писать самому

Ребе собрался в линуксовые админы?

[identity profile] metaclass.livejournal.com 2009-04-07 06:46 pm (UTC)(link)
Да старость таки уже подходит, творчество все больше и больше душевных сил требует.
forever_live: (Default)

[personal profile] forever_live 2010-07-24 04:23 pm (UTC)(link)
Вот как думаешь - лучше взорвать тыщу ядрёных бомб безо всякого матмоделирования, или одну-две-пять после моделирования, даже если оно сожрёт столько же времени, сколько первый вариант?