вторник, 20 декабря 2011 г.

Gmsh. Новые команды

Пусть название поста вас не смущает - сегодня я хотел написать об интересных командах, которые я открыл для себя недавно. То есть речь пойдет о новых для меня командах, а не о том, что разработчики Gmsh'а предложили что-то свеженькое. Поэтому, вполне возможно, вы с такими командами уже сталкивались, а значит, они для вас совсем не новые. Чтобы не заставлять вас зазря читать весь пост целиком, приведу список этих команд прямо сейчас:

Point In Surface;
Line In Surface;

Ну а теперь, пожалуй, начнем.

среда, 14 декабря 2011 г.

Самостоятельная сборка Gmsh. Unix. Часть 1

Ранее мы рассмотрели способ сборки исполняемого файла и библиотеки Gmsh'а из исходных файлов под ОС Windows. Сегодня остановимся на особенностях этой сборки под системами из семейства Unix. Несмотря на то, что таких систем довольно много, процедура сборки для них идентична. По крайней мере, все, что будет приводится далее, проверялось мной на двух платформах: 32-битная Ubuntu 10.04 Lucid Lynx (с графикой) и 64-битная SUSE Linux Enterprise Server 11 (без графики).

вторник, 25 октября 2011 г.

Самостоятельная сборка Gmsh. Windows

Несмотря на то, что на сайте Gmsh'а можно найти исполняемые файлы, подходящие практически для любой операционной системы (Windows, Linux, Mac OS X), иногда требуется собрать его из исходников. Например, вы обладаете экзотической платформой, для которой Gmsh не имеет готовой сборки. Или вы хотите почувствовать всю мощь Gmsh-библиотеки, включив функции API в свой код. В этих случаях вам придется собрать Gmsh самому из исходных файлов. Скачать исходники, также как и исполняемые файлы, можно с сайта, причем и в том и в другом случае у вас есть возможность выбора версии, которую вы хотите иметь. По старой доброй привычке рекомендую скачивать исходники версии Gmsh 2.4.2, поскольку очередные попытки использования более современных версий (2.5.0 и 2.5.1) оказались для некоторых тестов неудачными. В то время как Gmsh 2.4.2, наш старый трудяга, все перелопатил на ура. В пользу новых версий Gmsh'а - новые опции и поддержка более современных форматов файлов. Однако для меня надежность важнее. Поэтому мы снова работаем с версией 2.4.2.

среда, 10 августа 2011 г.

Триангуляция сложных моделей

Хорошие генераторы сеток, такие как Gmsh и Netgen, не являются хорошими CAD (computer-aided design) системами. Я думаю, это очевидно. Тем более, что они и не стремятся, т.к. предназначены совсем для других вещей. Тем не менее, и Gmsh, и Netgen обладают некоторыми способностями по созданию более-менее сложных моделей. Gmsh имеет встроенный язык, довольно богатый и позволяющий задать геометрию с самого нижнего уровня (с точек), однако лишенный такого важного качества, как, например, булевы операции над фигурами. Netgen не имеет встроенного языка как такового, однако имеет собственный формат входного файла, в котором можно задать геометрию. Этот формат называется CSG (constructive solid geometry). Он позволяет задавать геометрию несложных моделей, за счет определения примитивов и некоторых булевых операций над ними. Как вы понимаете, и Gmsh, и Netgen имеют некоторые преимущества друг перед другом в части задания геометрии. Но что делать, если нужно сгенерировать сетку в области, сложнее, чем шар или куб?

суббота, 6 августа 2011 г.

Gmsh. Опции

Просмотрев некоторые из предыдущих записей, я вспомнил, что обещал сделать, например, обзор CAD программ для создания сложных геометрий и способ их переноса в Gmsh, а также обзор полезных опций Gmsh'а. Что же, настала пора сдержать свои обещания. Начнем с опций. При этом, чтобы не создавать много записей, новые интересные опции, которые обнаружатся в дальнейшем, будут отображаться только здесь.

суббота, 30 июля 2011 г.

Gmsh. Параллелепипеды, призмы

Сегодня мы рассмотрим способы создания трехмерных структурированных сеток, которые довольно часто встречаются при конечно-элементном и конечно-разностном моделировании.

среда, 27 июля 2011 г.

Gmsh. Четырехугольные, прямоугольные и регулярные треугольные сетки

По умолчанию Gmsh строит симплициальные сетки (треугольные, тетраэдральные). Однако он (я считаю, что Gmsh - это он, триангулятор, несмотря на все его CAD, Solver и Postprocessing способности) может сделать разбиение и другими элементами. Вот их список (взят из описания формата выходного файла сетки):
  • 3-узловой треугольник
  • 4-узловой четырехугольник
  • 4-узловой тетраэдр
  • 8-узловой шестигранник (гексаэдр)
  • 6-узловая призма
  • 5-узловая пирамида
  • а также элементы 2-го, 3-го, 4-го и 5-го порядков (не для всех типов элементов)
Сегодня мы рассмотрим способы построения четырехугольной (и как частный случай, прямоугольной) сетки.

понедельник, 18 июля 2011 г.

Gmsh. FAQ

Недавно я перелистывал документацию Gmsh'а и обнаружил раздел, в который редко заглядывал, но который, возможно, понятнее меня объяснит некоторые вещи. Это FAQ - часто задаваемые вопросы. Я привожу здесь свой перевод этого раздела целиком, благо он не очень большой. Исходный текст вы можете найти на сайте Gmsh'а в разделе "Документация".

четверг, 7 июля 2011 г.

Gmsh. Управление

Продолжаем изучать возможности Gmsh'а. В предыдущих записях мы рассмотрели способы определения геометрии в .geo файле на встроенном языке Gmsh. При этом мы практически не пользовались окнами Gmsh'а - вся работа велась в текстовом файле. Однако после того, как геометрия задана, сетка построена, самое время повозиться с меню, чтобы настроить виды, сделать сечения и многое-многое другое. Gmsh в плане визуализации геометрии и сетки дает пользователю очень широкие возможности. Я думаю, перечислять их все не имеет смысла. Поэтому остановимся на тех моментах, которыми я сам часто пользуюсь, и которые, как я думаю, будут полезны и вам.

среда, 22 июня 2011 г.

Gmsh. Знакомство 3D

Продолжаем знакомиться с одним из самых популярных триангуляторов современности - Gmsh'ем. В прошлый раз мы рассматривали способ задания геометрии простой двумерной модели в .geo файле с помощью встроенного языка Gmsh. Сегодня продолжим исследовать возможности этого языка на примере более сложной трехмерной геометрии.

четверг, 16 июня 2011 г.

Gmsh. Знакомство

Знакомство со Gmsh'ем я начинал с примеров. Поэтому сейчас на нескольких примерах мы и разберем самые основные и полезные особенности этой программы.

вторник, 14 июня 2011 г.

Gmsh. Введение

Что такое Gmsh?
Это программный продукт, на сайте которого написано: "Gmsh: a three-dimensional finite element mesh generator with built-in pre- and post-processing facilities". Перевод такой: "Gmsh: генератор трехмерной конечноэлементной сетки со встроенными пре- и постпроцессорными средствами". Gmsh - программа бесплатная, да еще и с открытым исходным кодом.