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

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


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

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

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

 

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

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

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

А с нелинейностью не будет растягиваться

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

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

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

Чет у меня только кончик в разнос пошел. Посчитал с большими перемещениями.

 

nonlin 5.png

Перемещения общие

 

nonlin 5 vmis.png

Напряжения Мизес

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

Чет у меня только кончик в разнос пошел.

Вы решаете задачу у которой нет физического смысла. 

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

Есть простой геометрический смысл... Да и вращение обычное физическое движение. На колесо посмотрите. Или ветряную мельницу которая вращается и к ней прицепился Дон Кихот   :) 

 

Цитата

Чет у меня только кончик в разнос пошел. Посчитал с большими перемещениями.

Это без силы ? 

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

Есть простой геометрический смысл...

Приложите силу, а не перемещение и решите линейную статическую задачу.

Это механизм, нет решения. Если нет закреплений, то и нет деформаций.

 

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

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

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

Это просто упрощенный вариант консольной балки с большими прогибами

У консольной балки консольное закрепление. У этой задачи нет правильного решения в линейной статической постановке, а вы предлагаете решить геометрически нелинейную задачу.  Это механизм. Конструкция повернется на 90 град, а потом будет растягиваться. Решите задачу в явной динамике. И получите правильный ответ.

Вы в очередной раз устраиваете клоунаду на форуме. :biggrin:

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

То есть исключаете задачу Дирихле из рассматриваемых. То есть ваша программка таких не решает, можно сделать вывод :) 

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

у меня только кончик в разнос пошел. Посчитал с большими перемещениями.

Да и геометрия судя по картинке исказилась... 

Цитата

У консольной балки консольное закрепление.

Если в балке заданы нулевые перемещения по концам, то это по вашему, законные условия, а если одно из них не нулевое, то уже незаконные?   Смешно :) 

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

Свободный конец будет просто поворачиваться.

А вы задаете перемещение только по одной оси. И решаете в статической постановке. Ту задачу которую вы предлагаете решить в ней нет физического смысла.

Если вы решаете в статической постановке, То выберете какое-то одно из положений вращающейся конструкции. Консольно закрепите и приложите силу.

 

2 часа назад, Fedor сказал:

Или ветряную мельницу которая вращается и к ней прицепился Дон Кихот

В одном из положений мельницы. Задаете статически определимое закрепление и задаете силу = собственному весу Дон Кихота. Также делаете и в вашей задаче.

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

А вы задаете перемещение только по одной оси.

Вы невнимательны. Перемещения на двух концах. Все статически определимо. Силу пока не рассматриваем и не прикладываем :) 

На одном u=0 v=0 w=0   на другом w=200 

C0.GIF

В сопромате обычно u=0 v=0 w=0   на другом w=0  и какая-нибудь нагрузка.   Можете любой справочник посмотреть ...  :)

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

Вы невнимательны. Перемещения на двух концах. Все статически определимо. Силу пока не рассматриваем и не прикладываем :) 

На одном u=0 v=0 w=0   на другом w=200 

C0.GIF

И это вращение балки. Продолжайте и дальше смешить народ. 

Решайте в нелинейной статической постановке.:biggrin:

Я не буду вам мешать.

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

Вы решаете задачу у которой нет физического смысла. 

@Fedor перечитайте мои сообщения начиная с этого. Может быть поймете.)

 

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

Есть геометрический, а геометрия, движение как и время, всегда основа физически осмысленных теорий. Странно, что не понимаете этого   :)

 

Фи́зика (от др.-греч. φυσική — «природный» от φύσις — «природа») — область естествознания: наука о наиболее общих законах природы, о материи, её структуре, движении и правилах трансформации.    <=  https://ru.wikipedia.org/wiki/Физика 

 

Цитата

Предмет её изучения  ....    наиболее общие формы её движения

а вы простейшие движения пытаетесь исключить :) 

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

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

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

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

Силы зависят от вторых производных по пространству, а не наоборот :) 

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

Это без силы ? 

С силой, без силы, эффект один и тот же.

В Сисе то же самое получается

nonlin ans.png

 

 

nonlin ans mis.png

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

Странно, может из-за того что перемещения не симметрично относительно плоскости разреза задавались ?  

Ну пусть это исследуют более тонкие и строгие математики, как говаривал Ферма. Странно потому что элементы квадратики по идее поворачиваются одинаково. Результат явно показывает на погрешность. А если разбить погрубее или наоборот. О силе пока давайте забудем.  :) 

 

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

Кстати сколько итераций у Вас осуществлялось ?   Зависит ли это от их числа, то есть требуемой точности решения ?  

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

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

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

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

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

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

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

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

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

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

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




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