Перейти к публикации

Как смоделировать такое? Есть ли пример?


Рекомендованные сообщения

А в FV разве нельзя создать пользовательскую систему координат?

Именно для подвижного тела нет. Там реализовано задание вращения используя только глобальную систему координат. До создания функционала с пользовательскими СК зашло в тупик по субъективной причине.

А потом другие дела навалились.

Так что ждемс.

Ссылка на сообщение
Поделиться на других сайтах


Такое ощущение, что шнек никак не воздействует на жидкость. Зазор есть, но не настолько большой чтобы вся вода успевала через него просачиваться. 1-2мм при диаметре шнека 120мм. Толщина перьев шнека 2мм (шнек довольно низко полигональный).

Вот видео

Здесь 137000 ячеек. Считалось 1,5 - 2 суток. Core2Duo/2.6 GHz/2,8Гб

Потом считал с меньшим кол-вом ячеек. Увеличивал скорость вращения шнека. Шероховатость стенок и шнека. Включил Модель Зазора. Результат аналогичный. Шнека как будто нет (хотя воду вроде как и раскачивает). Но картинка в целом точно неестественная.

Когда увеличил плотность (2000кг/м3) и вязкость (0.2) программа вообще аварийно вырубается (с предложением винды отправить отчет об ошибке).

Еще в какие-то моменты при грубом расчете (20 -30 тыс. расчетных ячеек) видно, что вода не брезгует проходить и сквозь стенки шнека.

Изображение

В чем могут быть проблемы. Куда копать?

Ссылка на сообщение
Поделиться на других сайтах

Касаемо "прозрачного" шнека - нужно адаптировать по его стенке сетку, т.к. в старой версии если толщина тела меньше размера ячейки, то тело не работает.

Поэтому, придется адаптировать.

А второй вариант это через скользящую границу.

Ссылка на сообщение
Поделиться на других сайтах

Впрочем, подобная эффективность и не снилась helicoide..

Быть того не может, ведь на шнеке не построишь вечный двигатель
Ссылка на сообщение
Поделиться на других сайтах

Быть того не может, ведь на шнеке не построишь вечный двигатель

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

Ссылка на сообщение
Поделиться на других сайтах

Касаемо "прозрачного" шнека - нужно адаптировать по его стенке сетку, т.к. в старой версии если толщина тела меньше размера ячейки, то тело не работает.

Поэтому, придется адаптировать.

А второй вариант это через скользящую границу.

Использую адаптацию параллелепипедом в области шнека. Очень мелкие сетки получаются тогда (>700тыс.). Даже нет возможности проверить дает ли это какие-то результаты. В домашних условиях такое не посчитать.

Под скользящей границей имеется ввиду скользящая сетка?

Это 3 рабочих объема один из которых вращается, а на торцах этого вращающегося цилиндра задана скользящая стенка?

При этом можно получить аналогичные результаты и это будет работать при грубых сетках? И крутящий момент шнека можно будет узнать? Кстати так и не нашел как узнать крутящий момент на шнеке.

Изменено пользователем fluent3000
Ссылка на сообщение
Поделиться на других сайтах

Очень мелкие сетки получаются тогда (>700тыс.).

Вам надо для вращающегося тела сделать отдельное ГУ типа "Стенка". Отличаться от другого ГУ "Стенка" оно будет включенной адаптацией по поверхности, к которой применяется ГУ.

Или модификатор надо для самого этого подвижного тела делать с адаптацией по границе тела.

(не знаю, какой вариант доступен во 2й версии)

Т.е. адаптировать надо не по объему, а по поверхности!

Но всё-равно эту задачу лучше смотреть в 3 версии, где есть x64 решатель, не ограничивающий использование памяти.

Для моего домашнего ПК с 8 гиг памяти предел наступает при ~ 2млн ячеек. Данные не помещаются в памяти и солвер начинает гонять данные с памяти на диск и обратно. Это сильно тормозит счет, но иногда на небольшое время приходится использовать.

Ссылка на сообщение
Поделиться на других сайтах

Думал при включении адаптации по ГУ, адаптация происходит только на стадии генерации сетки. Тело-то движется, а адаптация по ГУ происходить на каждой итерации не будет.

Но сейчас проверил и впрямь происходит. Вы правы. Сейчас буду пробовать таким макаром.

Еще вопрос. Насколько степень полигональности подвижного тела и рабочего объема, влияет на скорость вычислений?

Изменено пользователем fluent3000
Ссылка на сообщение
Поделиться на других сайтах

Еще вопрос. Насколько степень полигональности подвижного тела и рабочего объема, влияет на скорость вычислений?

если вы про точность отрисовки круга треугольниками - то на скорость никак не влияет,

но чем точнее геометрия цилиндра и вала, тем меньше между ними можно сделать зазор (чтоб тела не пересекались при движении).

Ссылка на сообщение
Поделиться на других сайтах

Для моего домашнего ПК с 8 гиг памяти предел наступает при ~ 2млн ячеек.

Интересная информация (если она соответствует действительности). Это примерно в 4 раза больше чем потребляет решатель CFX. Интересно - это решатель столько съел или постпроцессор ему помог
Ссылка на сообщение
Поделиться на других сайтах

С адаптации по ГУ получилось добиться 230000 расч. ячеек. Но за ночь посчитал только 155 итераций и 0.003сек.

Изображение

kristeen, а сколько по времени считалась ваша задача и на какой машине (ОС/проц/память/частота памяти)?

Мне тут говорили, что Fluent решает всё без упрощений и тоже будет долго. А CFX так же? Можно ли в CFX считать быстро в первом приближении, пока все настраиваешь, а потом уже более менее детально просчитать за пару суток такую задачу?

Т.е. основная проблема сейчас это то, что размер ячейки должен быть меньше толщины пера шнека. Даже с адаптацией сетки конца расчетам не видно.

Изменено пользователем fluent3000
Ссылка на сообщение
Поделиться на других сайтах

Интересная информация (если она соответствует действительности). Это примерно в 4 раза больше чем потребляет решатель CFX. Интересно - это решатель столько съел или постпроцессор ему помог

Решатель.

Судя по всему, по настройкам решалки у нас аналог Double Precision в CFX.

А если включить 128битную нашу решалку, то памяти еще больше скушается.

B еще одно интересное наблюдение - глобального сравнения не проводили, но периодически клиенты утверждают, что они получаем аналогичное ему решение на сетке в 3-4 раза меньшей по объему в FV.

Ссылка на сообщение
Поделиться на других сайтах

(если она соответствует действительности)

В эти 8 гиг входит также ОС + немножко всякой требухи, свойственной домашнему ПК,

т.е. реально где-то 6,5 Гиг это 2 млн ячеек.

постпроцессор редко кушает много, но я его всегда выгружаю.

Ссылка на сообщение
Поделиться на других сайтах

6,5 Гиг это 2 млн ячеек.

Это много даже если используется 128-битная арифметика вместо стандартной

Ссылка на сообщение
Поделиться на других сайтах

Это много даже если используется 128-битная арифметика вместо стандартной

Это пиковое значение за один шаг. В среднем за шаг память занята значительно меньше (раза в 2...).

Что там происходит в этот пиковый момент - хз.

Точнее, не совсем хз - это некое конкретное уравнение.

Т.е. запас для оптимизации есть.

ну и тут другой момент: зачем напрягаться, ведь есть определенный оптимум по кол-ву памяти на ядро для хорошего распараллеливания.

вот из мануала:

Рекомендация по выбору объема оперативной памяти:

Для оценки потребной оперативной памяти, можно воспользоваться соотношением: 200-300 тысяч ячеек ~ 1

ГБ (в зависимости от разрядности Солвера и сложности задачи).

Наилучшая масштабируемость* достигается, когда на ядро приходится 50 – 100 тысяч ячеек.

а память не особо дорогая (десктопная), и воткнуть её можно 64 гига на 6 ядер (на 2011 платформе).

Но нафига...? Вот при этих 2 млн ячеек на 4х ядрах нестационарная задача считается сильно ощутимое время.

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

Ссылка на сообщение
Поделиться на других сайтах

Наилучшая масштабируемость* достигается, когда на ядро приходится 50 – 100 тысяч ячеек.

Смешная фраза :smile: наилучшая масштабируемость это когда ваша задача влезла целиком в кэш процессора :smile:

Различают <noindex>2 типа</noindex> <noindex>масштабируемости </noindex>- weak scalability и strong scalability.

Обычно масштабируемость выражают через кривую эффективности которая имеет вот <noindex>такой</noindex> вид. Где там может быть оптимум ? :smile:

Можно сравнивать кривые эффективности и говорить что одна задача масштабируется лучше чем другая (выше % эффективности или меньше угол касательной к кривой эффективности) только в определённой точке данной кривой.

Ссылка на сообщение
Поделиться на других сайтах

Это много даже если используется 128-битная арифметика вместо стандартной

1. Структура сетки на границе нерегулярная. Т.к. там неправильные многогранники, то их приходится хранить практически в явном виде.

2. Обуславливатель и итерционная схема предполагает затраты по памяти в обмен на способность продавливать решение иам, где старичок Ланцож ножками дергается в конвульсиях.

3. Больше придумать ничего не могу.

:)

Смешная фраза :smile: наилучшая масштабируемость это когда ваша задача влезла целиком в кэш процессора :smile:

Нижний порог получился строго из преобладания доли обменов над вычислениями.

Можно сравнивать кривые эффективности и говорить что одна задача масштабируется лучше чем другая (выше % эффективности или меньше угол касательной к кривой эффективности) только в определённой точке данной кривой.

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

На трехмерной особо дураков не встречал показывать кривую.

Ссылка на сообщение
Поделиться на других сайтах

вот <noindex>такой</noindex> вид.

что там означают три кривых / подписи к ним ?

А про эффективность отвечу так: вплоть до того, что задача на N ядрах может решаться медленнее, чем на M (где N>M).

Но это редкость. есть другой момент - есть X задач и M ядер, и надо раздать ядра так, чтоб время решения было наименьшим.

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

Но я сразу скажу - этот момент знаю плохо, более чем на 4х ядрах не работал и работа в многопроцессорном варианте не предвидится.

PS у FV тоже какая-то такая кривая есть:

Изображение

оформление графика удручающее ))

Ссылка на сообщение
Поделиться на других сайтах

Нижний порог получился строго из преобладания доли обменов над вычислениями.

У вас обмены блокирующие ? :g:

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

На трехмерной особо дураков не встречал показывать кривую.

Если вместо числа ядер по оси x отложить стоимость лицензии на данное число ядер, эффект будет еще более впечатляющим :smile:

Ссылка на сообщение
Поделиться на других сайтах

что там означают три кривых / подписи к ним ?

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

А про эффективность отвечу так: вплоть до того, что задача на N ядрах может решаться медленнее, чем на M (где N>M).

Но это редкость. есть другой момент - есть X задач и M ядер, и надо раздать ядра так, чтоб время решения было наименьшим.

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

Но я сразу скажу - этот момент знаю плохо, более чем на 4х ядрах не работал и работа в многопроцессорном варианте не предвидится.

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

Например при переходе от 100 к 200 ядер общее время решения задачи уменьшается на 5%

добавляете еще 100 - уменьшается еще на 1% ну и так далее

FV тоже какая-то такая кривая есть:

О - логарифмическая шкала :smile:

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.



  • Сообщения

    • gudstartup
      телеграммы формирует smc датчик вообще 1vpp он телеграммами не занимается но лучше конечно оба хвоста проверить
    • gudstartup
      а как он развалится если вы на нем фактически не работаете ... сколько моточасов он у вас отработал за 8 лет? на 8 рассчитывают станок 24\7 безаварийной работы а потом как вы выражаетесь полная мехатроника даже подшипника в осевых моторах менять приходится и тормоза на гравитационных осях а швп и опорники это уж само собой.    
    • mnerno
      @gudstartup А кабель от SMC20 к энкодеру? Он тоже тогда получается под подозрением.. Вообще я энкодер смотрел вчера осцилографом и сигнал немного шумноват, но тут мог источник питания подкидывать я импульсным не сильно шикарным лабораторным его питал. Синусы на месте обоих каналов и референтный и готовность возвращает.
    • Viktor2004
      Можно. Но для этого надо долго возиться с программой ладдера производителя и доводить ее до ума. И для каждого станка все это индивидуально. А я привел способ быстрый и простой
    • gudstartup
      @mnerno энкодер телеграммы отправляет но они доходят иногда в искаженном виде и это обычно из происходит из за кабеля особенно если он порядочной длины. свойства кабеля на вч вы поверить не сможете а мультиметр показывает только целостность проводников. проверите кабель потом останется только сам энкодер так как smc20   вы уже меняли.    
    • Горыныч
      И это прекрасно, что вы имели много интересных предложений за разные деньги, но выбрали то, что выбрали. Это просто неоценимый опыт :) К следующим закупкам будете подходить более осознанно.   Я всегда готов обсудить новые закупки. Но откатов у нас нет, совсем нет. Я мзду не беру и не даю, мне за державу обидно!
    • Mixon513
      Стояло 25% то есть 2500. Но как я отошел поставил на 100% и в итоге вот что получилось
    • maxx2000
      @Viktor2004 это всё понятно, я про то , что можно ли пожертвовать допустим только 2 соседними ячейками, а не кастрировать весь барабан.
    • Бестолковый
      @The_22nik Нет, везде (глобально, так как прописан с шаблонах и деталей и сборок и чертежей) стоит один и тот же шрифт "ГОСТ тип А". @Snake 60 При сохранении отсоединённого чертежа плоскости превращаются в штрих-пунктирные линии без обозначений/названий. Выбираешь плоскость, тыцаешь F2 и переименовываешь. Как отобразить её название на чертеже - на скриншотах ниже.   Моя база - это плоскость ПО. См. ккриншот ниже.
    • mnerno
      Про вентиляторы я знаю. Не доходят руки их поменять, лежат ждут своей очереди. Какова вероятность что это не энкодер? Кабель драйвклика завтра попробую поменять. Ошибки указывающие на драйвклик лезут после актив енкодера через некоторое время.  
×
×
  • Создать...