При использовании метода конечных элементов я всегда использовал либо уже сетчатые домены, либо очень простые.
Из того, что я слышал, создание сложных геометрических форм часто передается на аутсорсинг специализированным компаниям (поскольку это считается неинтересной частью работы).
Мне интересно, как это делается: частично ли это автоматическое, нужно ли вам в некоторых случаях вручную определять точки и соединения? Каковы наиболее часто используемые критерии для обеспечения соответствия сетки ожиданиям клиента? Каковы тенденции: следует ли ожидать, что он будет полностью автоматическим в ближайшие годы?
Редактировать: я недавно нашел частичный ответ на этот вопрос: изогеометрический анализ (IGA). IGA можно рассматривать как расширение метода конечных элементов для решения проблемы генерации сетки путем создания сетки непосредственно из САПР. Он использует сплайновое описание геометрии САПР для автоматического построения как сетки, так и пространства конечных элементов.
И одна из причин, по которой он был разработан, заключается в том, что авторы заметили, что генерация сетки настолько болезненна, что для ее достижения в отрасли требуется большая часть времени, а сходимость сетки проверяется очень редко.
Этот метод, по-видимому, действительно интересен, но не получил широкого распространения, поскольку является относительно новым (10 лет).
источник
Ответы:
Существует несколько методов построения сложных областей для анализа методом конечных элементов. Они обычно делятся на две категории: структурированные и неструктурированные. Для структурированных сеток в основном вся сетка может быть отображена непосредственно в трехмерный массив координат XYZ, тогда как неструктурированные сетки не могут. Хорошее описание классификаций с картинками здесь: http://en.wikipedia.org/wiki/Grid_classification
В структурированной сетке есть два конкретных типа:
Структурированные сетки:
Декартова сетка - это в основном использование шестигранных кубов для представления элементов. Хорошо известным пакетом, использующим декартову сетку, будет Cart3D. Это не очень сложно, но сложность состоит в том, чтобы определить, где кубы пересекают поверхность.
Подгонка к телу - в криволинейных сетках с подгонкой к телу их можно разделить на: алгебраические сетки или эллиптические сетки. В любом случае пользователь должен определить точки на границах домена. Для генерации точек внутри области алгебраические сетки обычно используют некоторую вариацию метода, называемого интерполяцией Эрмита, для генерации внутренних точек. Эллиптические сетки могут создавать криволинейные сетки, где в основном все линии сетки являются ортогональными, и, как правило, они используются, когда речь идет о сетчатых сетках. Внутренние точки здесь в основном вычисляются путем решения эллиптического уравнения в частных производных. Учебник defacto для этих типов приспособлений для тела доступен в Интернете здесь: http://www.erc.msstate.edu/publications/gridbook/, Автор этой книги, по сути, считается «отцом генерации сетки», потому что он придумал эллиптическую сетку для генерации сетки.
Неструктурированные сетки
Поскольку неструктурированные сетки не могут быть сопоставлены с трехмерным массивом, они также должны указывать сопоставление связности, которое может указывать, какие элементы связаны с другими элементами. Основной алгоритм, который используется, называется «триангуляция Делоне», которая подробно обсуждается здесь: http://en.wikipedia.org/wiki/Delaunay_triangulation . Одна из популярных книг, которая освещает эту тему, называется «Руководство по созданию сетки».
Основной алгоритм здесь, учитывая начальный набор точек на границе: (1) Вычислить начальную триангуляцию, (2) Выполнить проверку качества на основе алгоритма уточнения Рупперта ( http://en.wikipedia.org/wiki/Ruppert % 27s_algorithm ), (3) Вставьте или удалите точки на основе алгоритма Рупперта так, чтобы генерируемые тетраэдры имели минимальный угол (например, 24 градуса).
Чтобы ответить на ваш вопрос о критериях, что делает хорошую сетку связанной с рядом факторов, но пара наиболее важных факторов: (1) разрешение сетки (достаточно ли точек сетки, чтобы получить требуемое разрешение) и ( 2) геометрия элементов (перекос, минимальный угол, соотношение сторон и т. Д.). Это обсуждается здесь: http://en.wikipedia.org/wiki/Types_of_mesh. Они оба будут влиять на качество решения конечного элемента. Есть еще один аспект неструктурированной сетки сетки, называемый «Фронт продвижения», который используется для получения точек вблизи границы в случае динамики жидкости.
Сказав все это, большинство методов требуют некоторой предварительной работы, а затем они также несколько автоматические. В любом типе алгоритма сетки пользователь должен будет потратить некоторое время, чтобы определить геометрию и некоторое начальное распределение точек на поверхности. По моему опыту, приспособленные для тела сетки занимают больше всего времени. Как триангуляция Делоне, так и декартовы сетки, в основном, автоматически генерируют точки внутренней области.
В последние несколько лет я мало работал в этой области, но в прошлом эта тенденция переходила от сетчатых сеток к неструктурированным триангуляциям Делоне или декартовым сеткам. Кроме того, были некоторые коды, которые могут преобразовывать декартову сетку в неструктурированную сетку Делоне и наоборот (например, Gambit).
Я не думаю, что эти коды сетки когда-либо будут полностью автоматическими, потому что для задания геометрии требуется некоторый уровень ввода, который обычно включает очистку модели САПР. Совсем недавно были разработаны методы для автоматизации многих из этих задач. Генерация внутренних точек домена в наши дни практически полностью автоматизирована. Эти современные системы генерации сетки в наши дни становятся достаточно зрелыми с точки зрения производства высококачественных сеток. Одно из направлений исследований в последнее десятилетие было в области ускорения генерации сетки с помощью параллельной обработки, а в последние несколько лет параллельной генерации сетки с использованием нескольких графических процессоров (GPU).
Здесь представлен полный список программного обеспечения для создания сеток: http://www.robertschneiders.de/meshgeneration/software.html Они должны быть отнесены к одной из трех указанных выше категорий.
источник
В то время как другие ребята объяснили теоретические основы создания мешей, практика заметно отличается, и она вовсе не автоматическая в отраслях, где качество сетки имеет первостепенное значение, учитывая, что результаты анализа методом конечных элементов охватывают большую часть процесса разработки продукта.
Давайте сначала разберемся, как делается меширование:
Сетки для структурных доменов бывают трех типов: 1D-сетка, 2D-сетка и 3D-сетка, основанные на типе элементов, используемых для построения сетки.
1D-сетка: линейный элемент
2D-сетка: элемент quad / tria
3D-сетка: гекса (кирпич) / пента / тетра элементы.
Какую сетку использовать, т.е. 1D, 2D или 3D, в первую очередь зависит от требуемой точности вычислений, вычислительных затрат (времени, необходимого для решения проблемы) и соотношения сторон домена . Наибольшее соотношение сторон должно быть больше 10 (как правило большого пальца), чтобы пренебречь размером и перейти к сетке с низким размером.
Позволь мне объяснить.
Домен 100X50X80 имеет все сопоставимые размеры, а самое высокое соотношение сторон составляет 100/50 = 3. Следовательно, трехмерные элементы будут использоваться для создания сетки этой части.
Домен 100X50X8 имеет одно незначительное измерение, а самое высокое соотношение сторон составляет 100/8 = 12. Поэтому будут использованы 2D элементы. Деталь из листового металла является прекрасным примером этого.
Домен 100X5X8 имеет два незначительных измерения, а самое высокое соотношение сторон составляет 100/5 = 20. Поэтому будут использованы 1D элементы. Сборка фермы служит примером.
Как только вы определитесь с типом элементов, которые вы будете использовать, качество элемента станет очевидным. Чтобы сохранить качество, сетка должна быть сделана вручную .
Все программное обеспечение для создания сетки поставляется с опцией автоматической сетки, которая работает только с отображаемыми деталями и прямыми гранями / блоками. Большинство объяснений в других ответах (особенно ответ @ Wes) связаны с тем, что делается в фоновом режиме для работы automesh.
Идея состоит в том, чтобы разделить ваш домен на несколько патчей и автоматически объединять их патч за патчем и постоянно обеспечивать связь между патчами . Обеспечение связи в основном автоматическое на основе проверки на основе допусков. 1D-сетка проще в этих аспектах.
Следующим шагом является поддержание потока сетки и симметрии. Поток сетки указывает на изменение размеров элементов. Когда вам нужно представить сложную функцию, размер элемента изменится с большего на меньший. Это не должно происходить в одно мгновение, и следует поддерживать постепенное изменение размера. Кроме того, симметричные части должны иметь симметричную сетку для сохранения целостности результатов FEA.
Все вышеперечисленные пункты помогут сохранить качество сетки. Тем не менее, программное обеспечение для создания сетки обычно имеет возможность проверять качество сетки, используя несколько параметров, которые можно регулировать в соответствии с требованиями. Окончательная проверка качества и возможности подключения имеет важное значение для обеспечения качественных результатов FEA.
Некоторые качества ожидаются от хорошей сетки:
из 1D сетки
из 2D / 3D сетки
из всей сетки
Однако все эти параметры качества могут различаться в зависимости от типа анализа, требуемой точности, руководящих принципов компании и вычислительных затрат.
Почему эти вещи не автоматизированы:
Анализ методом конечных элементов требует правильной сетки для получения правильных результатов. Эту правильность нельзя определить с помощью нескольких параметров, и даже тогда они будут противоречивыми.
Опять же для разных типов анализа, определение качества сетки может быть различным.
Материальная, геометрическая и контактная нелинейность еще больше усложняют требования при определении хорошей сетки.
Одним из первых препятствий, которое я заметил при использовании функции автоматической сетки, является неправильное представление геометрии для поддержания качества сетки в других аспектах. Оба они важны. Кроме того, представление геометрии может быть упрощено с хорошими инженерными решениями, которые трудно автоматизировать, поскольку это варьируется от случая к случаю.
Например, Hypermesh является очень популярным коммерческим пакетом создания сетки от Altair Engineering, в котором есть приложение Batchmesher, которое выполняет создание сетки для вас. Тем не менее, он не в состоянии поддерживать правильные геометрические отклонения и связи между элементами для сложных деталей.
ТЛ; др:
Вот как меширование делается профессионально
PS: я новичок в этом форуме, и это один из моих первых нескольких ответов, которые я приложил много усилий. Я был бы очень признателен, если бы я получил некоторые отзывы. У меня есть несколько ответов Quora по Mesh и FEA, где эти моменты объясняются более подробно с помощью графики. [Практический анализ методом конечных элементов]
источник
(1) Это частично автоматически?
Да, это так. И это может быть полностью автоматическим.
(2) Должны ли вы в некоторых случаях определять точки и соединения вручную?
Нет, кроме домашней работы в классе. Кстати, это называется узел и элемент.
(3) Каковы наиболее часто используемые критерии для обеспечения соответствия сетки ожиданиям клиента?
Это может быть книга.
(4) Каковы тенденции: следует ли ожидать, что он будет полностью автоматическим в ближайшие годы?
Да, это уже автоматически, но все еще нуждается в улучшении.
источник
Сетка тела с 2D-треугольниками или 3D-тэтами может быть выполнена автоматически, но эти элементы не дают наилучших результатов: квадраты и кубики, как правило, лучше. Тем не менее, объединение тела целиком с квадратами / кирпичами не может быть выполнено автоматически, и вы должны вручную разбить его на блоки, которые могут быть автоматически объединены. Это не тривиально.
Кроме того, сетка, хорошо подходящая для термического анализа, обычно не подходит, например, для анализа вибрации.
Сказав это, выполнение анализа с огромным количеством крошечных элементов не является проблемой, с которой он когда-то был, и поэтому адаптация сетки к типу анализа менее важна, чем когда-то. Кроме того, элемент tet, разработанный Бертоном и Клеггом ( Тетраэдрические элементы для явного моделирования баллистики ), кажется, работает так же хорошо, как кирпич, поэтому мой первый пункт может быть менее важным, чем был.
Короче говоря, автоматическая сетка прошла долгий путь, но все еще является предметом многих исследований. Будет ли это когда-нибудь полностью автоматическим? Я склонен сомневаться в этом. Я думаю, что даже при автоматическом переопределении областей с высокими градиентами поля будет полезен хороший начальный выбор сетки.
источник
Да, есть программы для создания сетки, позволяющие полностью автоматически создавать сетки. Если вас интересует сетка плоских или изогнутых поверхностей, есть несколько продуктов, которые обеспечивают полностью автоматическую сетку, обеспечивая 100% четырехугольную сетку на поверхностях любой степени сложности. Я бы посоветовал вам посетить следующую веб-страницу и выбрать одну из программ, которая максимально соответствует вашим потребностям (некоторые из этих программ лучше всего подходят для структурно-инженерных приложений, другие - для моделирования печатных плат и т. Д.) Http: / /members.ozemail.com.au/~comecau/products.htm
источник