Программа симулятора на базе книги "Автожиры. Теория и расчет"

DragonSmile

От винта!
Ещё литература на ту же тему:

Д.Б.Уитли. Аэродинамический анализ несущей системы гироплана. 1934 г. (намертво убитое качество)
Н.И.Камов. Винтовые летательные аппараты. 1948 г.
И.П.Братухин. Проектирование и конструкции вертолетов. 1955 г.
П.Р.Пейн. Динамика и аэродинамика вертолета. 1963 г.
Д.Н.Базов. Аэродинамика вертолетов. 1969 г.
Л.С.Вильдгрубе. Вертолеты. Расчет интегральных аэродинамических характеристик и летно-технических данных. 1977 г.
С.Ю.Есаулов, О.П.Бахов, И.С.Дмитриев. Вертолет как объект управления. 1977 г.
А.С.Браверман, А.П.Вайнтруб. Динамика вертолета. Предельные режимы полета. 1988 г.
 

kolibri282

Я люблю строить математические модели винтокрылов
"бездумное слизывание" - всегда большая ошибка если речь идёт о расчетах вертокрыльев. Формулы в книге базируются на тех же самых физических основах как и числовые программы. Если не поняли эти основы никак нельзя применять числовую программу так же как нельзя вслепую использовать формулы из книги. С другой стороны, простые формулы предоставляют возможность осудить, производит ли числовая программа бессмысленные расчёты и могут поэтому служить для контроля. 
 

ВМГ

Я люблю строить самокруты!
Откуда
Моск. обл.
Было бы неплохо организовать в разделе "винтокрылы" новую, отдельную ветку, посвящённую расчёту несущего винта и вопросам, непосредственно с этим связанным (расчёты вертолёта и автожира в разных режимах). Какие будут соображения? 
А я считаю - правильно! А весь расчет будет осуществляться методом главного программиста. Кстати, а в какой среде предполагается вести расчет? 
 

DragonSmile

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

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

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

Было бы неплохо организовать в разделе "винтокрылы" новую, отдельную ветку, посвящённую расчёту несущего винта и вопросам, непосредственно с этим связанным (расчёты вертолёта и автожира в разных режимах). Какие будут соображения? 
А я считаю - правильно! А весь расчет будет осуществляться методом главного программиста.
Главное - не сам расчёт. Главное - корректный алгоритм расчёта. Вот эта тема наиболее важна для обсуждения! Поскольку "ошибке не всё равно, кто её обнаружит" :)

Кстати, а в какой среде предполагается вести расчет?
Пока что делаю предварительную версию программы на борландовском турбо-паскале. Должны работать с гарантированной точностью на любом компьютере с арифметическим сопроцессором, даже под DOS'ом :)
Если потребуется, нетрудно будет перенести под Delphi.

Я не сторонник гонки за модой в стиле "эта программа работает только под Windows 7, причём требуется установить самые последние версии DirectX, VisualBasic, C#, Java, .NET..."
 

DragonSmile

От винта!
Закончил отладку модуля быстрой интерполяции Cx и Cy для произвольного угла атаки и произвольного аэродинамического профиля. Гонял с шагом 0,25 градусов на профиле NACA 23012, работает чётко. Но я что-то не вижу энтузиазма по теме расчёта ротора численными методами. Если такие расчёты здесь не нужны, тогда на этом и закончу возню с компилятором...
 
Закончил отладку модуля быстрой интерполяции Cx и Cy для произвольного угла атаки и произвольного аэродинамического профиля. Гонял с шагом 0,25 градусов на профиле NACA 23012, работает чётко. Но я что-то не вижу энтузиазма по теме расчёта ротора численными методами. Если такие расчёты здесь не нужны, тогда на этом и закончу возню с компилятором...
А вам самому разве это не нужно? Или вы не собираетесь ни покупать, ни строить автожир? А тогда что вас связывает с этой темой? 
 
S

slavka33bis

А тогда что вас связывает с этой темой? Или вы как Денис в самолетном разделе - всех учит, учит, а сам ничего строить не хочет.
Прошу прощения, но
учить и рассказывать - это разные весчи.  :-[

А выполнять объёмную (програмную) работу -- это тоже работа.
И она "дорогово стоит".
От этого пользы будет не меньше ...
 
Сколько бы не стоила эта работа, ее все равно заранее никто оплачивать не будет. Да и потом не такая уж она и объемная, ведь о реалистической графике речи не идет, достаточно изолиний поверхности земли (если это будет симулятор), а если нет, то там еще проще. Я сам уже второй год работаю на симулятором автожира, и так долго не потому, что она большая, а потому что подхожу к ней эпизодически. Вот и недавно забросил на самом интересном месте, так-как взялся за железки.  По программе могу сказать только одно, что хором прикладные проги писать очень трудно.
 

kolibri282

Я люблю строить математические модели винтокрылов
Некоторые из следующих словарных окончаний я угадал....;-)

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

на .... турбо-паскале
Турбо-паскал была очень пригодным языком в прошлом веке. Я использовал их 20 лет. Сегодня она - не состояние техники
Для современной программы есть выбор между C++, Ява или Matlab/octave

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

DragonSmile

От винта!
численными методами.
Я прошу прощения, не напомните мне суть численного и аналитического мотодов расчёта?  :-[
Если объяснять "на пальцах", аналитический метод подразумевает математически строгий вывод формул, "математически" описывающих какое-либо явление. Проблема в том, что далеко не все явления удаётся описать формулами и далеко не все математически корректные выкладки годятся в качестве машинных алгоритмов (некоторые из них чудовищно трудоёмки, хотя на бумаге могут выглядеть "простыми", некоторые основаны на изначально некорректных с инженерной точки зрения допущениях). Численные методы не требуют абсолютно точного решения, обходясь приемлимой точностью, зато их алгоритмы проще и удобнее для машинной реализации.

А вам самому разве это не нужно?
Было бы мне "самому нужно" - посчитал бы тихонько для себя, не давая никакой информации в форум. Вы этого хотите?

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

Да и потом не такая уж она и объемная, ведь о реалистической графике речи не идет, достаточно изолиний поверхности земли (если это будет симулятор), а если нет, то там еще проще.
Симулятор - всего лишь игрушка, реалистичности он всё равно не обеспечит.

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

По программе могу сказать только одно, что хором прикладные проги писать очень трудно.
Это от организации работ зависит :)

Некоторые вещи могут делаться совершенно независимо, давая в дальнейшем дополнительные возможности в программе, к примеру ввод аэродинамических параметров дополнительных профилей при круговой обдувке. Я полдня провозился с вводом данных по NACA 23012, а мог бы вместо этого другие программные модули разрабатывать...

И нужно тут в основном не программирование, а идеи - что и как именно считать. Но это разговор для совершенно другой темы, не связанной ни с симулятором, ни с формулами с 80-й страницы книги Братухина "Автожиры. Теория и расчёт". Будет такая работа признана нужной для форума, будет создана соответствующая ветка - можно будет заниматься расчётами. Решите, что пользы в этом нет - на нет и суда нет...
 

DragonSmile

От винта!
Турбо-паскал была очень пригодным языком в прошлом веке. Я использовал их 20 лет. Сегодня она - не состояние техники
Для современной программы есть выбор между C++, Ява или Matlab/octave
Попробуйте обосновать эту мысль :)
 

kolibri282

Я люблю строить математические модели винтокрылов
какой компилятор Паскаля поддерживает CUDA?
 
Симулятор - всего лишь игрушка, реалистичности он всё равно не обеспечит.
Вы ошибаетесь, просто к слову "симулятор" приклеился ярлык "игрушка". По другому, это называется компьютерное моделирование полета автожира. Программа вычисляет аэродинамику, инерционность и гравитацию ротора, оперения, фюзеляжа каждые, скажем, 0,1 сек., учитывая при этом ветер (можно порывистый на базе генератора случайных чисел), и перемещает автожир в пространстве. Все очень просто.
А вот такие вещи, как резонансы лучше замерять на стенде, программа должна подразумевать, что с этим все в прядке.
В остальном Вы правы.
Мне представляется более уместным сделать программку, более адекватно рассчитывающую работу несущего винта при самых разных условиях работы, это может быть полезно для:выбора оптимального аэродинамического профиля лопастейвыбора оптимальных параметров лопастей (длина, хорда, крутка)определения предельных режимов полёта аппарата с заданными свойствамиопределения параметров для "нетипичных" режимов
Добавить можно еще первоначальное обучение. Выработка моторики знаний поведения автожира, которая затем быстрее позволит выработать моторику рук.
 

[=Djeki =]

люблю автожиры
Откуда
г.Хабаровск
Программа расчётов,компьютерная модуляция - вещь безусловно полезная.
Но прежде чем за неё братся,нужно изучить раннее созданные программы и их историю.
Старые программы безнадёжно устарели и исходя из их результатов расчётов,современные автожиры вовсе не должны летать.Так может необходимо всеголиш подкоректировать старые программы и делу конец?
;)
 

ВМГ

Я люблю строить самокруты!
Откуда
Моск. обл.
Закончил отладку модуля быстрой интерполяции Cx и Cy для произвольного угла атаки и произвольного аэродинамического профиля. Гонял с шагом 0,25 градусов на профиле NACA 23012, работает чётко. Но я что-то не вижу энтузиазма по теме расчёта ротора численными методами. Если такие расчёты здесь не нужны, тогда на этом и закончу возню с компилятором...
А каким образом интерполируется аэродинамический профиль? У Вас есть база данных профилей с их полярами или они описываются какими-нибудь полиномами n-ной степени?
Года 4, а может быть и больше, назад я написал программу для расчета воздушного винта. Так вот, я описывал профиль дужки винта, да и любых других кривых, с помощью сплайнов. Пришлось даже написать программу, с помощью которой можно было построить сплайны кривых, загруженных в окно программы в формате bmp. Результаты писались в базу данных. Делалось это все в среде Дельфи.    Программы работают до сих пор, а как работают, уже надо крепко вспоминать, т.е. лезть в исходные тексты.
 

ВМГ

Я люблю строить самокруты!
Откуда
Моск. обл.
Программа расчётов,компьютерная модуляция - вещь безусловно полезная.
Но прежде чем за неё братся,нужно изучить раннее созданные программы и их историю.
Старые программы безнадёжно устарели и исходя из их результатов расчётов,современные автожиры вовсе не должны летать.Так может необходимо всеголиш подкоректировать старые программы и делу конец?
;)
Вы, видимо, никогда не писали программ, моделирующих какие-то физические процессы. Дело в том, что по Вашему получается, что физический процесс есть функция от способа его моделирования. Но ведь это не так. Физ. процесс и 1000 лет назад оставался все тем же физ процессом. Может меняться язык его описания, но сам процесс остается неизменным. Поэтому программы написанные 60 лет назад, если они правильно написаны, пригодны для применения и сейчас, если их откомпилировать на современные машины. А изучать существующие программы, дело дохлое. Быстрее написать самому. Учитесь у великого Ферми. Он выводил формулы с такой скоростью, что другие не успевали сбегать в библиотеку, что бы посмотреть ее в справочнике.    
 

DragonSmile

От винта!
какой компилятор Паскаля поддерживает CUDA?
Опять повторяю азбучную истину. Главное - не программа, главное - корректный алгоритм расчёта. Имея алгоритм в словесной форме, плюс хорошо документированную программу, отлаженную на вразумительном языке (Паскаль таким языком  является, Си - нет), можно впоследствии достаточно быстро переписать программу на любом другом языке, поддерживающем хоть CUDA, хоть параллельные "кластерные" вычисления. Но сперва нужно получить исходную, правильно считающую, рабочую версию программы. Нет такой программы - никакая CUDA не поможет...

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

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

DragonSmile

От винта!
Закончил отладку модуля быстрой интерполяции Cx и Cy для произвольного угла атаки и произвольного аэродинамического профиля. Гонял с шагом 0,25 градусов на профиле NACA 23012, работает чётко. Но я что-то не вижу энтузиазма по теме расчёта ротора численными методами. Если такие расчёты здесь не нужны, тогда на этом и закончу возню с компилятором...
А каким образом интерполируется аэродинамический профиль?
В самой программе - быстрая кусочно-линейная интерполяция, основанная на табличных значениях Cx и Cy, вычисленных через небольшие углы атаки (0,25 или 0,2 градуса). При таких близких значениях угла атаки ошибка интерполяции будет меньше ошибки измерения этих данных в аэродинамической трубе или "ухода" кривых при разных числах Рейнольдса (одна из "фич" численных методов, ускоряющих вычисления за счёт отказа от недостижимой "абсолютной" точности). Используемая в программе таблица будет строиться заранее, основываясь на данных, полученных при продувке (там шаг изменения угла больше, так что потребуется сглаживание - у меня есть пара проверенных алгоритмов "гладкой интерполяции", прекрасно годящихся для этой задачки).

У Вас есть база данных профилей с их полярами или они описываются какими-нибудь полиномами n-ной степени?
Чуть выше я давал список литературы, которой пользуюсь. В ней есть и результаты круговой продувки нескольких профилей, один из них, который в любом случае потребуется, я использовал для тестирования программы. Ничего особо сложного в этом нет, если будет создана ветка, посвящённая расчёту несущего винта - выложу там подробную документацию по подготовке таблицы описания аэродинамических характеристик произвольного профиля, чтобы можно было использовать его в программах.

Года 4, а может быть и больше, назад я написал программу для расчета воздушного винта. Так вот, я описывал профиль дужки винта, да и любых других кривых, с помощью сплайнов. Пришлось даже написать программу, с помощью которой можно было построить сплайны кривых, загруженных в окно программы в формате bmp. Результаты писались в базу данных. Делалось это все в среде Дельфи.    Программы работают до сих пор, а как работают, уже надо крепко вспоминать, т.е. лезть в исходные тексты.
Мы, похоже, о разных профилях толкуем, я пишу о зависимостях Cx и Cy от угла атаки для конкретного профиля. Опять же, это тема для совершенно другой ветки форума, общей для всех винтокрылов. Вот только непонятно, нужна ли она тем, кто "рулит" этим форумом...
 

DragonSmile

От винта!
Попробовал аппроксимировать промежуточные значения коэффициентов Cx и Cy для получения расчётных таблиц используя преобразование Фурье, точность результата меня не устроила. Исходных точек мало, кривые достаточно нелинейны, после преобразования они гуляют относительно исходных на пару процентов размаха кривых. Попробую другой метод...
 
Вверх