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

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


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

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

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

 

Способ 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

 

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

@Fedor ну ты чЁ!? Какая нержавейка? Цинк покрытие! Он давно облез...

Это логарифмическая линейка вечна, и таблица Брадиса, и еПипецкие пирамиды немножко...

 

Ссылка на сообщение
Поделиться на других сайтах
21.12.2023 в 20:34, AlexKaz сказал:

Про геометрию, дефичеринг, контакты, срединные поверхности, сетку и т.д. касаемо геом.ядра.

 

"Там, где одному делать нечего, хороший коллектив всегда справится" (итал. поговорка) (шутка, если что)

Рассказ, конечно, полезный и интересный, но количество ручных операций зашкаливает.

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

Добрый день! Есть ли здесь хранители знания, как в Логос-прочность задать нагрузку макросом? В справке расписано про команды для работы с геометрией, сеткой и для обработки результатов, про остальное умалчивается.

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

в Логос-прочность задать нагрузку макросом

Справка не врёт. Я тестил, да, язык макросов в зачаточном состоянии, если говорить о релизах 23 года. Будут ли изменения - самому интересно.

Если есть возможность - стоит сообщить техподдержке о необходимости привычной работы с макросами.

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

Будут ли изменения - самому интересно.

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

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

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

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

06.02.2024 в 17:41, a_schelyaev сказал:

Потерпите родненькие, скоро всем лучше будет!

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

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

Добрый день! Пытаюсь в Логос-тепло задать энерговыделение, зависящее от координаты. В регионе задаю источник как таблицу (x,y,z). В таблице список координат центров ячеек и энерговыделение для каждой ячейки. В постпроцессоре вывожу энерговыделение по ячейкам (параметр Heat_Source), сравниваю его с тем, что было задано в таблице. Если энерговыделение в таблице было одинаковым для всех ячеек — в решении и таблице оно совпадет. А вот если не одинаковым — при решении все ячейки получат одинаковое усредненное значение. Как получить расчет именно для неоднородного энерговыделения, а не для усредненного?

Возможно, Heat_Source и энерговыделение источника — не одно и то же, их некорректно сравнивать?

Возможно, энерговыделение, заданное в точку внутри ячейки, не присваивается ячейке (как делает тот же ансис), а как-то размазывается по всему региону?

Прошу прощения, что не могу приложить файлы задачи.

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

@athrips , во втором случае температура в точках различается или всюду в регионе усреднена?

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

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

@AlexKaz , температура усредненная.

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

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

Проблема решилась. Логос не усредняет неравномерное энерговыделение, если задавать источник не как таблицу (x,y,z), а как таблицу tbl. В таблицу заносятся так же координаты центров ячеек (предполагаю, что сгодятся и любые точки внутри ячейки). Необходимость приводить обычную таблицу к структуре, пригодной для импорта в tbl - такое себе, конечно.

Ссылка на сообщение
Поделиться на других сайтах
22.02.2024 в 14:33, athrips сказал:

В постпроцессоре вывожу энерговыделение по ячейкам (параметр Heat_Source)

Взял брус 1х1х10 м, тетраэдры с ребром 0.2, расставил источники тепловыделения по координате z (через таблицу value x y z) - вроде работает. Результат Heat_Source в принципе совпадает по максимуму с заданным значением. Пример таблицы:

 

0    0    0    0
0    0    0    3.9
0    0    1    0
0    0    1    3.9
1e8    0    0    4
1e8    0    0    6
0    0    0    6.1
0    0    0    10
0    0    1    6.1
0    0    1    10
0    0    0    0.9
1e8    0    0    1.0
1e8    0    0    2.0
0    0    0    0

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

На сайте https://logos-support.ru/blog/post_1_258/ анонсирована презентация изменений, дата 5 марта 2024. Доступ без регистрации
https://disk.compcenter.org/apps/bbb/b/gP8qBiYzxYmgnxiC

Цитата

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

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

Изменения при работе с макроязыком в Логос Препост

Новые инструменты по работе с телами «Автоматическое разрезание», «Выделение сектора симметрии»

Обработка результатов расчетов с циклосимметричными ГУ. Линеаризация напряжений

 

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

Есть ли те, кто работал с неявной динамикой в логос, а то в хелпе 1 пример и 0 описаний в хелпе по настройке шагов и числе подшагов. Особенно интересует настройка числа шагов и подшагов при нагрузке переменной во времени с существенной разницей временных интервалов. 

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

Особенно интересует настройка числа шагов и подшагов при нагрузке переменной во времени с существенной разницей временных интервалов. 

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

 

А вот в версиях до 23 и просто для "шага" да, чёт хотелось бы иного подхода.

В идеале надо бы иметь простой табличный подход из WB: 

* шаг, настройки для t, dt и сходимости

* следующий шаг , настройки для t, dt и сходимости

* ... и т.д.

А все НУ-ГУ задаются через кривые t-нагрузка.

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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



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