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

Софт ЛОГОС - что за зверь? В наших краях не водится


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

Поскольку геморрой с созданием объёмной сетки на сложных телах продолжается и конца ему не видно, есть лайфхак, который работает чуть чаще.

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

 

Способ 0 - это не способ, а убогое признание, что генератор (как конкретный инструмент импортозамещения, как следствие) толком не работает:

- создать сетку в платных забугорных WB, Patran, Nastran, Abaqus etc., экспортировать в формат, который переварит препост. По факту, это не решение проблемы легальным способом, поскольку лицензий на эти софтины фирмам сегодня не купить. А кто купил бессрочные лицензии раньше, тому замещение вообще зачем?

 

Способ 1:

- создать объёмную сетку в бесплатных SALOME-Meca, GMSH, FreeCAD, LS-Prepost, OpenFOAM, импортировать в препост, в том числе через ряд конверсий. Кто понимает минимальный технический английский со словарём, тот уже разобрался. Кто не хочет использовать гуглтранслейт и моск, тот ноет что ничегонеполучаицца.

 

Способ 2, самый хитрожопый на текущий момент, поэтому нигде не описан:

- вариант 1) не самый хороший. Получить корректный замкнутый STL в любом CAD, затолкать в препост-прочность, затем "Инструменты -> Сетка -> Генерация объёмной сетки -> Генерация тетраэдральной сетки от поверхностной сетки". Проверить, заполнилось ли внутреннее пространство сетки элементами, использовать инструмент по Ctrl+F8. Затем удалять поверхностную сетку после создания объёмной. 

- вариант 2) лучше. Построить качественную замкнутую поверхностную сетку в SALOME-Meca, GMSH, FreeCAD, LS-Prepost, экспортировать в STL. Повторить вариант 1).

- вариант 3) почти идеальный, но работает не всегда. Импортировать в Аэрогидро-Препост геометрию, построить сетку поверхностную/объёмную, сохранить проект. В препост-прочность импортировать efr-сетку из подпапок проекта аэрогидро. При необходимости, повторить пункт 1). Способ плох тем, что Аэрогидро - отдельный платный модуль.

- вариант 4) разные комбинации вариантов 1-3 и способов 0 и 1.

 

Способ 3) самый спорный. Продолжать использовать только мэшер препоста. 

 

Наконец, кардинальный способ 4) посмотреть в сторону опенсорц. См. ремарку про гуглтранслейт и моск.

 

 

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


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

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

 

1 сначала в Препост Аэрогидро импортируется геометрия; сложная геометрия как правило подгружается с дефектами, поэтому для неё применяется п.2 ниже
- отчасти дефекты, особенно связанные со скруглениями, могут быть устранены варьированием точности и размерности в настройках при импорте геометрии, но это не панацея в общем случае, к тому же может очень значительно увеличивать время импорта
- геометрию предпочтительнее подгружать по одному телу, и сетку соответственно строить только для одного редактируемого выбранного тела, но в целом на результат не сильно влияет, если учитывать точность при импорте

 

2 открытая в текущий момент в рабочем поле геометрия лечится:
- для начала, геометрия осматривается визуально на дефекты
- затем подгружается окно "Диагностика геометрии" (на панели зелёный кубик с жёлтым треугольником с восклицательным знаком)
- в окне наиболее значимые пункты по степени важности - это открытые контуры, затем перекрытия
- т.е. сначала пытаемся автоматикой (ПКМ по элементу дерева -> Автоисправление)  убрать все проблемные открытые контуры, затем все перекрытия - часто этого достаточно
- если недостаточно:
- удаляются битые поверхности
- при необходимости кривые (в т.ч. на поверхностях) разбиваются инструментом "разбить ребро" - очень удобная фича (в LS-PREPOST тоже имеется)
- создаются прямые/кривые/дуги/скругления по точкам
- по кривым и прямым создаются новые поверхности
- поверхности в ряде случаев требуется пересоздать: "Режим редактирования поверхностей -> Пересоздать грань". особенно это касается скруглений, которые требуется пересоздавать заново по соседним граням чтобы получить коррекную форму скругления


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


4 создаётся регион:
- в этом пункте можно поступить двояко, либо выбрать в дереве геометрию, ПКМ -> создать регион
- либо выбрать в дереве геометрию -> извлечь тесселяцию с флагом автосшивки, что создаст в дереве новую деталь (фактически, голый stl) - выбрать её и создать для неё регион
- для тесселяции включаем видимость сетки stl - на панели "Стиль отображения геометрии -> Закрашенный с рёбрами"
- при создании региона выбрать "Разбиение региона на границы -> НЕ РАЗБИВАТЬ", что часто избавляет от генерации элементов с нулевой площадью, обнаружить которые можно только постфактум на этапе создание объемной сетки, при этом возникает ошибка "Обнаружена граница 'id=...,' с нулевым количеством треугольников - объемная сетка не может быть построена
- для тесселяции надо убедиться, что все поверхностные элементы stl сшиты, т.е. все грани стыкуются корректно по узлам; если этого где-то не произошло - возвращаемся на п.2. или используем корректировку stl инструментами работы с поверхностной сеткой ("режим редактирования фасеточной геометрии") - это крайне нежелательно делать, т.к. не позволит не вылечит саму геометрию, соответственно, и сохранить её можно будет только битой


5 строится поверхностная сетка (довольно плотная):
- в ветке генераторов отмечается "поверхностная сетка" и "ТЕТРАЭДРАЛЬНАЯ СЕТКА" (это важно)
- для выбора размера сетки необходимо определиться с размером геометрии - включить "Вид -> Масштабная линейка", затем задать ориентировочный размер элемента в "Блок генераторов -> Базовый размер"
- на панели выбирается кнопка "плоская сетка с молнией" - запуск генератора поверхностной сетки
- если поверхностная сетка не построилась, что бывает, возвращаемся на п.2.
- если поверхностная сетка построилась - ЗАПУСКАЕТСЯ ГЕНЕРАТОР ОБЪЁМНОЙ СЕТКИ
- если объёмная сетка построилась - вся мегаопупея с гарантией ~ 99.99% завершится хорошо


6 если поверхностная сетка построилась, но не построилась объёмная:
- либо тесселированная поверхностная сетка экспортируется в stl (ПКМ по названию тесселированной детали -> Экспортировать геометрию -> stl)
- либо проект Аэрогидро сохраняется, открывается Препост Прочность, в нём импортируется поверхностная сетка из подпапок проекта аэрогидро (efr-сетка с названием *surface*), затем сохраняется в stl
- сохранённый stl-файл загружается КАК ГЕОМЕТРИЯ в НОВОМ проекте Аэрогидро, затем сетка перестраивается, т.е. повторяется п.4 и 5


7 строится объёмная сетка в Препост Прочность:
- открывается Препост Прочность, в нём импортируется поверхностная сетка из подпапок проекта аэрогидро (efr-сетка с названием *surface*) либо импортируется поверхностный stl
- "Инструменты -> Сетка -> Генерация объёмной сетки -> Генерация тетраэдральной сетки от поверхностной сетки". Проверить, заполнилось ли внутреннее пространство сетки элементами, использовать инструмент по Ctrl+F8. Затем удалять поверхностную сетку после создания объёмной.

 

Как итог, получается сетка из линейных тетраэдров. Для неё в свойствах подобласти соответственно выбрать "тетраэдр, 4 узл", иначе результат расчёта задачи будет мягко говоря неправильным.

 

Дополнительно в процессе как вспомогательный инструмент можно использовать LS-PREPOST, например для проверки корректности stl-сетки, но в общём случае это не обязательно. В LS-Prepost удобно визуально наблюдать, есть ли в сетки незакрытые контуры, но корректировать, закрывая контуры, бесполезно - препосты логоса объёмную сетку строить всё равно не захотят, ссылаясь на свои непонятные проблемы.
Также в LS-PREPOST удобно строить объёмную сетку из тетраэдров по качественной поверхностной сетки из п.6, при этом удобно быстро понижать количество элементов (метод 2 при создании тетрасетки) при довольно хорошем сохранении границ сетки, но не идеально всё же; затем сохранить в k-файл и открыть объёмную сетку в Препост Прочность.
Также в LS-PREPOST в ряде случаев удаётся долечить геометрию и сшить поверхности до солида, если это всё же не получается в Аэрогидро-Препост.
Ещё один лайфхак - битая stl-сетка импортируется в SALOME-Meca, близкие узлы сшиваются, линейная сетка заменяется на квадратичную, сохраняется в stl и загружается в ls-prepost - далее можно получить объёмную сетку из тетраэдров.

 

 

Ранее в сериале:

Скрытый текст
07.11.2023 в 08:34, AlexKaz сказал:

Поскольку геморрой с созданием объёмной сетки на сложных телах продолжается и конца ему не видно, есть лайфхак, который работает чуть чаще.

 

Способ 0 - это не способ, а убогое признание, что генератор (как конкретный инструмент импортозамещения, как следствие) толком не работает:

- создать сетку в платных забугорных WB, Patran, Nastran, Abaqus etc., экспортировать в формат, который переварит препост. По факту, это не решение проблемы легальным способом, поскольку лицензий на эти софтины фирмам сегодня не купить. А кто купил бессрочные лицензии раньше, тому замещение вообще зачем?

 

Способ 1:

- создать объёмную сетку в бесплатных SALOME-Meca, GMSH, FreeCAD, LS-Prepost, OpenFOAM, импортировать в препост, в том числе через ряд конверсий. Кто понимает минимальный технический английский со словарём, тот уже разобрался. Кто не хочет использовать гуглтранслейт и моск, тот ноет что ничегонеполучаицца.

 

Способ 2, самый хитрожопый на текущий момент, поэтому нигде не описан:

- вариант 1) не самый хороший. Получить корректный замкнутый STL в любом CAD, затолкать в препост-прочность, затем "Инструменты -> Сетка -> Генерация объёмной сетки -> Генерация тетраэдральной сетки от поверхностной сетки". Проверить, заполнилось ли внутреннее пространство сетки элементами, использовать инструмент по Ctrl+F8. Затем удалять поверхностную сетку после создания объёмной. 

- вариант 2) лучше. Построить качественную замкнутую поверхностную сетку в SALOME-Meca, GMSH, FreeCAD, LS-Prepost, экспортировать в STL. Повторить вариант 1).

- вариант 3) почти идеальный, но работает не всегда. Импортировать в Аэрогидро-Препост геометрию, построить сетку поверхностную/объёмную, сохранить проект. В препост-прочность импортировать efr-сетку из подпапок проекта аэрогидро. При необходимости, повторить пункт 1). Способ плох тем, что Аэрогидро - отдельный платный модуль.

- вариант 4) разные комбинации вариантов 1-3 и способов 0 и 1.

 

Способ 3) самый спорный. Продолжать использовать только мэшер препоста. 

 

Наконец, кардинальный способ 4) посмотреть в сторону опенсорц. См. ремарку про гуглтранслейт и моск.

Изменено 7 ноября пользователем AlexKa

 

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...
UnPinned posts
32 минуты назад, Fedor сказал:

В Лире трехмерными элементами :) 

Стержневыми переменного сечения, голубчик

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

Предлагаю всем трехмерными сделать .  Сначала получить то, что дает наиболее точная теория упругости, а уж потом смотреть инженерные упрощения ее  :) 

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

Предлагаю проверить на такой задачке на которой споткнулся лет тридцать назад. 

Стальной брусок. С одной стороны шарнир с другой задано перемещение. Синим. Просто такая задача решается и при линейных деформациях и при нелинейных деформациях. Проблемы начались когда прикладывал силы.  Все решал конечно в рамках теории упругости трехмерными  элементами . Интересно как с такими задачками справляется нынешнее ПО :) 

C0.GIF

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

Предлагаю всем трехмерными сделать .  Сначала получить то, что дает наиболее точная теория упругости, а уж потом смотреть инженерные упрощения ее  :) 

мне от чего-то подумалось, раз Сергей предлагает, значит, у него есть эталонное решение.

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

Предлагаю проверить на такой задачке на которой споткнулся лет тридцать назад. 

ОК, вы будете считать в Зенит95
https://ntp-dip.ru/

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

С одной стороны шарнир с другой задано перемещение.

 

6 минут назад, Fedor сказал:

Проблемы начались когда прикладывал силы. 

я чего-то не поняла, какие граничные условия в задаче?

3 минуты назад, Fedor сказал:

У меня его нет. Обращайтесь к его автору :) 

Фёдор, попросите у них демку. Объясните, что на форуме топовых специалистов идёт битва отечественного ПО. И да, я почему-то думала, что вы на перфокартах и перфолентах застали весь софт из СССР. :biggrin:

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

Шарниры слева.  Справа нагрузка заданным перемещением. Задача Дирихле по ученому .  Потом добавлял еще силу во втором варианте, то есть задачу Неймана если по ученому. Но во втором случае решались месте обе... :) 

Цитата

Фёдор, попросите у них демку

Автор знает о форуме, но как деловой человек не считает нужным тратить свое время на него. Я не попрошайка, будет надо и сам напишу. Делать то, что могут многие  спортивно, но не интересно. Я люблю чтобы было любопытно. Больше ученый, чем инженер по духу   :) 

Ссылка на сообщение
Поделиться на других сайтах
38 minutes ago, Fedor said:

Просто такая задача решается и при линейных деформациях и при нелинейных деформациях.

Решается.. Только ответ разный)

Это сделано в балках.

image.png

 

41 minutes ago, Fedor said:

Проблемы начались когда прикладывал силы. 

А сила должна быть следящей или нет? 

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

Интересно не на балках...  

И почему 212 мм на конце ?  Полное перемещение, а не по вертикали ?  

Наверное не следящей если понимать груз, а направленной в одну сторону... 

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

Изменено пользователем Fedor
Ссылка на сообщение
Поделиться на других сайтах
6 minutes ago, Fedor said:

И почему 212 мм на конце ?  Полное перемещение, а не по вертикали ?

Как говорится, "Бинго!"

Там ведь даже подписано Total Deformation. Чисто на всякий случай.

 

 

Ссылка на сообщение
Поделиться на других сайтах
5 minutes ago, Fedor said:

Для контроля лучше бы по вертикали.  Чисто на всякий случай :) 

Кайн проблем, херр Пинежанинов!

 

image.png

 

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

Интересно не на балках...  

И почему 212 мм на конце ?  Полное перемещение, а не по вертикали ?  

Наверное не следящей если понимать груз, а направленной в одну сторону... 

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

Надо четкое понимание, что задавать: Если только вертикальное перемещение 200, а горизонтальное 0 - то будет удлинение (гипотенуза всяко больше катета). А если по горизонтали нет ограничений - повернется и получится балка на двух шарнирах с силой под углом.

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

Для начала только вертикальное. Как и написано. По горизонтали нет ограничений справа. Только шарнир слева. :) 

Если сначала сместить, потом нагрузить, то работа получается небольшой от силы умноженной на перемещение уже после смещения. А если работу считать по общему перемещению то она получается очень большой.  Соответственно и внутренняя энергия ... 

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

Для начала только вертикальное. Как и написано. По горизонтали нет ограничений справа. Только шарнир слева. :) 

Если сначала сместить, потом нагрузить, то работа получается небольшой от силы умноженной на перемещение уже после смещения. А если работу считать по общему перемещению то она получается очень большой.  Соответственно и внутренняя энергия ... 

Фёдор, с днём Рождения! :clapping:

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

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

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

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

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

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

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

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

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

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

    • Бестолковый


×
×
  • Создать...