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

Поиск соседних ячеек в неструктурированой сетке


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

Если я правильно понял. И у Вас и у меня по сути реализован конвертор формата из стандартного (unv, neu) в свой формат. Я тоже это делаю один раз для одной сетки. 

У меня без паралелеливания 400 тыс ячеек считает за 4 часа. А у Вас во сколько раз паралеливание дало выигрыш?

 

По сути выигрыш равен числу параллельных потоков (в разах). То есть при распараллеливании у вас сложность будет не O(N^2) а O((N^2/n)) ... на самом деле выигрыш у нас еще больше из за алгоритмических ухищрений, связанных с порядком хранения структур (но это внутренняя кухня, которая работает только в частном случае)

 

То есть при использовании GPU это тысячи раз, при использовании MPI от десятков до сотен раз.

 

Ниже пример с куском выхлопа решалки.

7 внешних сеток, общий объем расчетной области ~24 млн. КО, при инициализации использовалось 160 ядер

 

Init HyperFLOW3D Solver time=965.836sec.

 

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

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


Хардкоры ? Их есть у меня  :biggrin:

 

Сетка чуть больше 5млн. 

Время инициализации ~ 15 сек

 

3Tflop/s в даблах они такие  :rolleyes:

post-34943-0-41268800-1446831807.png

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

Против Кеплер лома нет приема.
:flush::smile:

Но тему копать интересно тем не менее.
Пока ускорился аж в 10 раз. :biggrin: Целых 20 ячеек/сек для геометрии из 4-го поста. driving.gif
Не представляю, что будет при задаче размерностью 100K, наверное все загнется к едрене фене. Но приятно ощутить себя чуточку программистом :smile:

0_cd9e2_c1025b78_orig.png

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
  • 1 год спустя...
В 29.10.2015 в 17:04, Andreiwse сказал:

Мне нужна следующая информация: для каждой ячейки знать номера ячеек с которыми она контактирует. Для этого я сравниваю каждую ячейку со всеми остальными ячейками, то есть каждую строку матрицы ячеек со всей матрицой ячеек. Получается два цикла один вложенный в другой в общем M^2 сравнений, расчет занимает очень много времени. 

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

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...
В 18.09.2017 в 06:36, Blurp сказал:

105 мин

Еще раз объясняю для этого используют хеш таблицы. Можете написать свою но на сегодняшний день быстрее взять готовую. 

1 500 000  элементов это меньше 2 сек.))

 

Ссылка на сообщение
Поделиться на других сайтах
Только что, ДОБРЯК сказал:

1 500 000  элементов это меньше 2 сек.))

Да как-то неинтересны твои стопицот байтов, напечатанных за 2 секунды на клавиатуре.

Ты будешь реальное файло математить, или можно продолжать считать тебя лицедеем в рубашке в крупный круглешок? :biggrin:

12 минуты назад, Blurp сказал:

А то смотри, нейтральное гамбита файло всего 46 метров весу, тьфу для тебя, семечки. Пришлю, только свистни.

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, Blurp сказал:

Да как-то неинтересны твои стопицот байтов

Не интересно, не читай. )

 

В 18.09.2017 в 06:36, Blurp сказал:

105 мин :wallbash:

Так и будешь всю жизнь головой о стенку биться. ))

Ссылка на сообщение
Поделиться на других сайтах
Только что, ДОБРЯК сказал:

Так и будешь всю жизнь головой о стенку биться. ))

Да можно и всю жизнь с перерывами на пожрать и поржать с тебя. :bye:

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, Blurp сказал:

Да можно и всю жизнь с перерывами на пожрать и поржать

Вот и занимайся своим делом. )

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...
В 18.09.2017 в 06:36, Blurp сказал:
В 02.11.2015 в 16:20, Andreiwse сказал:

400 тыс ячеек считает за 4 часа

105 мин :wallbash:

 

Модель крюка. 

$$ Количество элементов = 556734

Количество граней = 556734 * 4

Время )

1, 105, 145, 000 тактов

Делим на 3, 500, 000, 000 =  0,315 сек.

 

---------------------------------------------------------------------------------------

Та же модель крюка. 

$$ Количество элементов = 4 573 606

Количество граней = 4 573 606 * 4

Время )

13, 048, 034, 000 тактов

Делим на 3, 500, 000, 000 =  3,728 сек.

 

105 мин :wallbash:

А теперь можешь смеяться.

:maladets:

И картинка из Интернета. )

 

99.png

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
В 30.10.2015 в 13:38, Blurp сказал:

Наверно вам правильно @piden намекнул, что не для этого форума вопрос.

Вопрос был сформулирован корректно и как раз для этого форума. )

Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, ДОБРЯК сказал:

А теперь можешь смеяться.

И продолжу смеяться. В теме есть файл. В 4-м посте.

Масенький такой.

Но ты даже его не осиляешь своими хушастыми таблицами. )))))

Зато помимо многабукаф, начал лепить левые картинки из интернета. ))))))))))))

Прогресс! )))))))

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

 

 

Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, Blurp сказал:

И продолжу смеяться.

Ты как всегда не понял.

Хорошо смеется тот, кто смеется над обезьянкой.

 

В 18.09.2017 в 06:36, Blurp сказал:

105 мин :wallbash:

:5a33a3668d68d_3DSmiles(9):

Ссылка на сообщение
Поделиться на других сайтах
11 минуту назад, ДОБРЯК сказал:

Хорошо смеется тот, кто смеется над обезьянкой.

Гогочи, не вопрос. ))))

Скрытый текст

Только вот какой прикол:

Обезьяна-не программист решает задачу, пусть и долго, но решает. И смеётся над клоуном.

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

Смеются они одновременно, но правильнее смеётся конечно клоун )))))

14 минуты назад, ДОБРЯК сказал:

Хорошо смеется тот, кто смеется над обезьянкой.

Катать с тобой тупорылую вату смысла нет. :no_1:

Кароч ПНХ, добуяк. :bye:

 

Ссылка на сообщение
Поделиться на других сайтах
В 01.11.2015 в 19:16, Blurp сказал:

Ответно благодарю вас за то, что заставили пошевелить мозгами. Хоть задачу не решил, но залез в такие дебри....вплоть до попыток прикрутить для решения MySQL сервер, либо файловую БД SQLite

:maladets:

Глубоко копнул. 

В 07.11.2015 в 10:38, Blurp сказал:

Но тему копать интересно тем не менее.
Пока ускорился аж в 10 раз. :biggrin:Целых 20 ячеек/сек для геометрии из 4-го поста. driving.gif
Не представляю, что будет при задаче размерностью 100K, наверное все загнется к едрене фене. Но приятно ощутить себя чуточку программистом

:biggrin:

Размерность задачи определяется не размером файла, а количеством узлов и количеством элементов. И количеством граней в элементе. )

Изменено пользователем ДОБРЯК
Ссылка на сообщение
Поделиться на других сайтах
  • 3 недели спустя...

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

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

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

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

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

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

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

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

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

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



  • Сообщения

    • ik_
      Здравствуйте! Довольно часто после нескольких проверок проекта перед сдачей в нем всем равно остаются глупые ошибки. Я думаю, можно было бы создать макрос, который мог бы проверять часто повторяющиеся ошибки, особенно которые трудно проверять человеку (много элементов для проверки). Он мог бы применяться следующим образом: выбирается папка с файлами, и после этого каждая деталь открывается и проверяется. В конце создается файл с перечислением чертежей и ошибок в них вида: "в детали АБВ10.10.011 скорей всего не стоят габаритные размеры" Тема создана, чтобы пофантазировать, какие ошибки можно было бы так проверять и каким способом это можно сделать. Я пока придумал пару проверок: 1. Самое простое. Проверить Наименование видов разрезов и баз, правильность порядка и нет ли неиспользуемых 2. Проверить все ли базы используются. При редактировании большого чертежа часто приходится поменять базы и соответственно обозначения допусков. Часто в таких случаях можно запутаться в базах, какую то базу оставить, без ссылающихся на нее допусков (ну у меня такое бывало) 3. Есть ли габаритные размеры. Тут возможно применять Bounding Box - узнавать габариты и узнавать есть ли такие размеры на чертеже. 4. Все ли нужные размеры стоят. Тут скорей всего реализовать очень сложно. В голову приходит только сравнивать количество размеров в модели и на чертеже (при этом не учитывать фаски там и все такое) 5. Проверять висячие размеры и элементы (желто-зеленые на чертеже) 6. На всех ли размерах с допуском стоит шероховатость   Делать пока ничего с этим не планирую, думаю стоит ли этим заниматься.
    • TVM
      Проблема в общей сборке. :( Дали ТЗ организаторам паралельной ветки. Очень долго репу чешут. Возможно нет ресурсов. Подозреваю будет все в ручном режиме.   Все "N" в стандартную BOM вывел (заголовок таблицы воспринимает свойсво головной сборки). Как теперь правильно все перемножить. P.S. Ветка в Все Вопросы о CAD.
    • Snake 60
      Тогда посмотрите вот этот макрос: https://snake-60.ru/blog/blog-list/84-onepage-blog/82-vba-makros-kombajn-po-chteniyu-i-paketnomu-zaneseniyu-svojstv-v-detali-i-sborki-solidworks Всегда можно доработать если есть четкое ТЗ.
    • pugach
    • Модернизация станков
    • Jesse
      по идее наоборот: когда тело контачит с жёстким телом, то его частота завышается.. Если свободно болтается, то частота ниже должна быть..)) Ну т.е. как обычно рассуждаем в МКЭ: больше суммарная жёсткость модели - больше частота    вот тут всё же кажется, что если мы посчитаем transient с нелинейностью а потом возьмём FFT с графика амплитуды, то это уже халтура будет)) Ну т.е. когда мы считаем модальник обычный, то это линейный идеализированный случай, когда мы пренебрегли всеми возможными нелинейностями. Иначе говоря, малая нелинейность которая присутствует всегда и везде сделает колебания лишь слегка ангармоничными (очень слабые отклонения от чистой синусоиды при измерении колебаний в точке)..  А в трензиенте с физической или другой существенной нелинейностью уже сам физический смысл частоты пропадёт имхо. Да и форму колебаний мы не можем знать в данном случае. Только лишь эту условную цифру - частоту..
    • TVM
      Спасибо. Ознакомился. Судя по столбцу связи в свойствах, зто более старшая версия чем SW16 и макрос вероятно не будет работать. Так же нет задания кол-ва головной сборки и получения результата.   Задача похожа на планирование производства. Где всем элементам допустим присвоено свойство "N". Как в столбце, допустим через формулу, получить кол-во деталей? Стандартная таблица BOM SW.  
    • Модернизация станков
      Латр 1М на 9 Ампер с сервоприводом РД 09 СССР. 2 шестеренки, концевики, ножки, стойки. Управление 2-мя кнопками Плюс и Минус. 3 проводка: один "0" и два фазных на "+" и "-" Стоят концевые контакты кнопки, разъемы. Все по уму, промышленное. НЕ САМОДЕЛ. 1983 год выпуска. Отличное состояние. Все просмотрено, некоторые винты/ болты заменены на новые. ЛАТР с ..... дистанционным управлением, кибернетический. Реостат. Да, такое тоже было в Союзе в промышленном оборудовании. Крутить рукой - не везде можно и удобно. Удаленное регулирование напряжения. Плавное. Можно по Интернету... Дам гарантию. Для стабилизаторов напряжения не подойдет. Медленно двигается "ручка". ОДИН ОБОРОТ ДЕЛАЕТСЯ ЗА 50 СЕКУНД. От минимума до максимума. Кто хочет побыстрее - надо поменять РД 09 на более скоростной. Сейчас стоит 1,75 об/мин. Самый медленный. Питание для управления ~ 220 В. Концевые контакты - кнопки МП 110 - не дадут выйти за пределы регулировки. Размеры : Диаметр 16 см Высота 29 см По мощности ЛАТРа - написано до 9 Ампер. НО желательно использовать на мощности 1 кВт или 5 Ампер. Чтобы был запас по мощности. Чтобы катушка не перегревалась. Провода заменены на гибкие. Схемы и распиновки разъемов дам. Продается только весь узел в сборе. Пультик с кнопками и видео работы будет. Пультик идет как тестовый. Расскажу все про него и как подключать. Любые доделки и доработки по Вашему требованию. Можно установить вольтметр, кнопки красивые, пульт, корпус, кожух и пр. Отправлю в регионы. Качественную упаковку гарантирую. 10,000 Р Торг уместен. // Лабораторный регулятор автотрансформатор напряжения с сервоприводом и электронным управлением Возможно для курсовых работ в институт, для лабораторного практикума и работ по физике, химии //
    • pugach
      Если тело при колебаниях задевает другое тело (берем пример с картинки), значит оно "хочет" колебаться с большей амплитудой и меньшей частотой. И когда контакт пропадет оно должно колебаться со своей собственной 1 частотой, или я не прав? Не знаю, может, отдельную тему про это задать. Я намучился с заданием "стандартного" демпфирования в workbench. Тестил на колебаниях заделанного стержня. Пробовал считать альфа и бетта, но в результате получал значительно большее затухание - логарифмический декремент колебаний ~0,35 вместо 0,12. Может это быть из-за того, что при моих условиях в стержне были небольшие (до 1 МПа) напряжения? Ведь НП-031 предлагает следующую таблицу, получается стандартные 2% относятся к стандартным условиям по нагрузкам на конструкцию?
    • mannul
      Смотря что вы подразумеваете под черновой обработкой. Выборку эквидистантным смещением от заготовки к модели? Конечно нельзя. Потому что программа рассчитывает выборку используя направляющие кривые на модели, проецируя их вдоль оси Z на модель. Для импеллеров и лопаток есть свои траектории.
×
×
  • Создать...