Булева алгебра предоставляет средства для комбинирования наборов данных с помощью логических операций (пересечение, объединение, вычитание и т.д.) Программа ANSYS допускает использование булевых операций для построения твердотельной модели.
Булевы операции можно применить почти к любой твердотельной модели независимо от того, создана ли она по принципу “снизу-вверх” или “сверху-вниз”, за исключением случаев, когда объект построен с помощью конкатенации (см. Главу 6 “Построение сетки конечных элементов”) и если объект содержит вырождения разного рода (см. раздел “Краткие комментарии к нагрузкам твердотельной модели” далее в этой главе.)
Кроме того, все нагрузки твердотельной модели и атрибуты элементов должны быть определены после выполнения булевых операций. Если булевы операции используются для изменения существующей модели, то следует соблюдать осторожность при переопределении нагрузок и атрибутов элементов.
В последующих разделах рассматриваются многочисленные способы применения булевых операций. Следует иметь в виду, что для обращения к опциям булевых операций можно использовать любой из приведенных ниже способов:
Команда: BOPTN
Маршрут: Main Menu>Preprocessor>Operate>Settings
5.4.1. Сохранение исходного объекта
При выполнении булевой операции с двумя (или более) объектами возникает вопрос: сохранять или не сохранять исходный объект? Имеется возможность управлять ситуацией с помощью метки KEEP команды BOPTN,Lab,Value, как схематично показано на рис. 5.17.
Рис. 5.17. Действие опции KEEP
В общем случае булевы операции применимы к объектам низшего порядка, которые входят в объект более высокого порядка.
Булевы операции не могут выполняться на объектах, имеющих сеточную область. Перед выполнением булевой операции следует очистить объект от сетки конечных элементов.
5.4.2. Другие полезные установки команды BOPTN
Метка NWARN команды BOPTN позволяет управлять процессом выдачи предупреждающих сообщений. Значение “0” соответствует выдаче предупреждения в отм случае, когда булева операция не выполняется. Значение “1” подавляет все предупреждения или сообщения об ошибках, если булева операция не выполняется. Значение “- 1” разрешает выдачу сообщений об ошибках, если булева операция не выполняется. По умолчанию устанавливается значение “0”.
Метка VERSION используется для контроля за схемой нумерации объектов, созданных булевыми операциями. По умолчанию программа ANSYS будет нумеровать объекты, используя схему нумерации версии 5.2, но можно заставить программу использовать схему нумерации версии 5.1. Обычно при использовании версии 5.2 или 5.3 реализуется схема нумерации, заданная по умолчанию. Однако если считываются данные, созданные версией 5.1, то перед считыванием файла (/INPUT) следует активизировать схему нумерацию версии 5.1 (BOPTN,VERSION,RV51), чтобы ввод прошел нормально.
Замечание - ввод команд, созданных версией 5.1, может приводить к различающейся нумерации объектов при работе с версиями 5.2 и 5.3, если задана нумерация по схеме версии 5.1 (BOPTN,VERSION,RV51).
Метка DEFA возвращает все установки команды BOPTN к значениям по умолчанию. Метка STAT выдаст листинг статуса существующих установок.
5.4.3. Нумерация объектов после выполнения булевых операций
Схема нумерация предписывает номера объектам, образующимся после булевых операций, на основе информации о их топологии и геометрии. Топологическая информация для поверхности, например, содержит число относящихся к ней “петель” (т.е. наборов объектов, задающих непрерывные замкнутые границы поверхности), число образующих поверхность линий (т.е. число граничных линий поверхности), номера первоначальных линий поверхности (линий, существовавших до выполнения булевых операций), номера первоначальных ключевых точек и т.д. Геометрическая информация для поверхности содержит координаты ее центра тяжести, оконечные точки и другие “контрольные точки” в некоторой произвольной системе координат. “Контрольные точки”, определяемые опцией NURBS, используются при параметрическом описании модели. В соответствии со схемой нумерации сначала присваиваются номера (начиная со следующего доступного номера) тем выходным объектам, которые могут быть однозначно идентифицированы топологически. Оставшиеся объекты нумеруются на основе геометрической информации. К сожалению, в последнем случае номера могут оказаться несогласованными в процессе выполнения циклов оптимизации, особенно, если геометрия модели меняется от цикла к циклу. Именно поэтому при нумерации объектов на основе геометрической информации программа выдаст следующее предупреждение:
Нумерация объектов, полученных булевыми операциями, была выполнена на основе информации о геометрии объектов. Если предполагается выполнять оптимизацию (или использовать циклы ввода), не полагайтесь на номера для нагрузок и т.д. Для подавления этого предупреждения введите команду “BOPT,NWARN,0”.
Процедура пересечения задает новый набор объектов, который является общим для каждого участвующего в процедуре исходного объекта. Другими словами, пересечение представляет область перекрытия двух или более объектов. Новый набор может иметь пространственную размерность исходных объектов или более низкую. Так, например, пересечение двух линий может быть точкой (множеством точек) или линией (множеством линий). Имеются следующие булевы команды (и соответствующие маршруты) для процедуры пересечения:
пересечение линий:
Команда: LINL
Маршрут: Main Inenu>Preprocessor>Operate>Intersect>-Common-Lines
пересечение поверхностей:
Команда: AINA
Маршрут: Main Menu>Preprocessor>Operate>lntersect>-Сommon-Areas
пересечение объемов:
Команда: VINV
Маршрут: Main Menu>Preprocessor>Operate>lntersect>-Common-Volumes
пересечение линии с поверхностью:
Команда: LINA
Маршрут: Main Menu>Preprocessor>Operate>Intersect>Line with Area
пересечение поверхности с объемом:
Команда: AINV
Маршрут: Main Menu>Preprocessor>Operate>Intersect>Area with Volume
пересечение линии с объемом:
Команда: LINY
Маршрут: Main Menu>Preprocessor>Operate>lntersect Line with Volume
Иллюстрации процедур пересечения
Приведенные рисунки поясняют действие перечисленных выше команд пересечения.
Рис. 5.18. LINL (пересечение линий)
Рис. 5.19. AINA (пересечение поверхностей)
Рис. 5.20. VINV (пересечение объемов)
Рис. 5.21. LINA (пересечение линии с поверхностью)
Рис. 5.22. AINV (пересечение поверхности с объемом)
Рис. 5.23. LINV (пересечение линии с объемом)
5.4.5. Попарное пересечение
Процедура попарного пересечения определяет новые объекты, которые представляет собой набор общих областей участвующих в процедуре объектов. Другими словами, попарное пересечение представляет собой область пересечения по крайней мере двух из всех исходных объектов. Новый набор имеет ту же самую или более низкую размерность по сравнению с исходной. Так, например, попарное пересечение множества линий может быть точкой (множеством точек) или линией (множеством линий). Имеются следующие булевы команды (и соответствующие маршруты) для процедуры попарного пересечения:
попарное пересечение линий:
Команда: LINP
Маршрут: Main Menu>Preprocessor>Operate>lntersect>-Pairwise-Lines
попарное пересечение поверхностей:
Команда: AINP
Маршрут: Main Menu>Preprocessor>Operate>Intersect>-Pairwise-Areas
попарное пересечение объемов:
Команда: VINP
Маршрут: Main Menu>Preprocessor>Operate>lntersect>-Pairwise-Volumes
Иллюстрации процедур попарного пересечения
Рисунки 5.24, 5.25 и 5.26 поясняют перечисленные выше процедуры попарного пересечения:
Процедура суммирования объектов определяет новый объект, который включает все части исходных. (С математической точки зрения эта операция также известна как объединение.) Результирующий объект представляет собой единое целое, не содержащее внутренних делений. (На практике это означает, что обычно не удается построить сетку конечных элементов для “объединенных” объектов, как, впрочем, и для объектов “пересечения”.) Программа ANSYS предусматривает сложение только объемов или компланарных двумерных поверхностей. Объединенные поверхности могут содержать отверстия, т.е. внутренние петли. Существуют следующие команды и соответствующие маршруты для выполнения процедуры суммирования:
Маршрутов: Main Menu>Preprocessor>Operate>Add>Volumes
Иллюстрации операций суммирования
Следующие рисунки поясняют перечисленные выше операции суммирования.
Рис. 5.27. AADD (суммирование поверхностей)
Рис. 5.28. VADD (суммирование объемов)
5.4.7. Вычитание объектов
При вычитании одного объекта (E2) из другого (E1) может быть получено одно из двух: будет создан новый объект или несколько объектов (E1 - E2 E3), имеющий размерность E1 и не содержащий областей наложения объекта E2; если такие области имеют более низкую размерность, то объект E1 разделится на два или более объектов (E1 - E2 E3 и E4).
Если в команде вычитания поле SEPO содержит пробел (значение по умолчанию), результатом вычитание объектов могут быть линии с общей точкой, поверхности с общей границей или объемы с совместной поверхностью раздела. Если введено поле команды SEPO, результирующие объекты будут иметь не общую границу раздела, а разные, но совпадающие. Эта последняя операция не имеет места, если общая область объектов не делит один из них по крайней мере на две различные линии, поверхности или объемы. Булевы команды (и соответствующие маршруты) процедуры вычитания следующие:
вычитание линий из линий:
Команда: LSBL
Маршрут: Main Menu>Preprocessor>Operate>Subtract>Lines
Main Menu>Preprocessor>Operate>Subtracb WithOptions>Lines
Main Menu>Preprocessor>Operate>Divide>Line by Line
Main Menu>Preprocessor>Operate>Divide>With Options>
Line by Line
вычитание поверхности из поверхности:
Команда: ASBA
Маршрут: Main Menu>Preprocessor>Operate>Subtract>Areas
Main Menu>Preprocessor>Operate>Subtract With Options>
Areas
Main Menu>Preprocessor>Operate Divide>Area by Area
Main Menu>Preprocessor>Operate>Divide>With Options>
Area by Area
вычитание объемов из объемов:
Команда: VSBV
Маршрут: Main Menu>Preprocessor>Operate>Subtract Volumes
Main Menu>Preprocessor> Operate>Subtract>With Options>
Volumes
вычитание поверхностей из линий:
Команда: LSBA
Маршрут: Main Menu>Preprocessor>Operate>Divide>Line by Area
Main Menu>Preprocesson Operate>Divide>With Options>
Line by Area
вычитание объемов из линий:
Команда: LSBV
Маршрут: Main Menu>Preprocessor>Operate>Divide>Line by Volume
Main Menu>Preprocessor>Operate>Divide>With Options>
Line by Volume
вычитание объемов из поверхностей:
Команда: ASBV
Маршрут: Main Menu>Preprocessor Operate>Divide>Area by Volume
Main Menu>Preprocessor>Operate>Divide>With Options> Area by Volume
вычитание линий из поверхностей:
Команда: ASBL
Маршрут: Main Menu>Preprocessor>Operate>Divide>Area by Line
Main Menu>Preprocessor>Operate>Divide>WithOptions>
Area by Line
вычитание поверхностей из объемов:
Команда: VSBA
Маршрут: Main Inenu>Preprocessor>Operate>Divide>Volume by Area
Main Menu>PreprocessonOperate>Divide>With Options>Volume
by Area
Иллюстрации операций вычитания
Простые процедуры вычитания объектов поясняются рисунками 5.29 - 5.36. Описания команд LSBL, ASBA, VSBV, LSBA, LSBV, ASBV, ASBL и VSBA приведены в Руководстве ANSYS Commands Reference.
Рис. 5.29. Команда LSBL (вычитание линии из линии)