Архив рубрики ‘CalculiX’
CalculiX III. Колода и карты.
CalculiX III. Колода и карты: очень маленький комментарий по вводу данных в солвер Calculix.
Начало серии смотри CalculiX I.
Требуемые материалы:
[1] – Установленный CalculiX.
[2] – Русский перевод мануала Getting started with CalculiX.
[3] – Руководство пользователя к солверу Calxulix CrunchiX.
До сих пор мы, занимаясь по мануалу [2], разобрались с вводом пользовательских данных через CalculiX GraphiX – графический препроцессор для солвера CalculiX CrunchiX, и в первом приближении рассмотрели, как технически взаимодействует препроцессор с солвером.
В руководстве пользователя подробно расписан пример, в котором рассчитывается простая консольная балка.
Из руководства нам становится известно, что, как и у любого МКЭ солвера, у CalculiX есть свой простой формат, который позволяет задать расчетную модель в виде текстового файла. Такие файлы с расширением *.inp в терминологии программы называются вводными колодами (input deck) – по традиции, оставшейся от ЭВМ, принимавших ввод в виде перфокарт.
Вводные колоды набираются, в свою очередь, из карточек, разделяемых ключевыми словами с астериском:
*HEADING
Model: beam
*NODE, NSET=Nall
1, -1.49012e-08, 0.00000e+00, 0.00000e+00
2, 1.00000e+00, 0.00000e+00, 0.00000e+00
3, 5.00000e-01, 0.00000e+00, 0.00000e+00
4, 2.00000e+00, 0.00000e+00, 0.00000e+00
5, 1.50000e+00, 0.00000e+00, 0.00000e+00
*ELEMENT, TYPE=B32, ELSET=Eall
1, 1, 3, 2
2, 2, 5, 4
*BOUNDARY
1,1,6
4,1,6
*MATERIAL,NAME=EL
*ELASTIC
210000.,.3
*ELSET,ELSET=SET1
1
*ELSET,ELSET=SET2
2
*BEAM SECTION,ELSET=SET1,MATERIAL=EL,SECTION=RECT
0.05, 0.08
0.d0,1.d0,0.d0
*BEAM SECTION,ELSET=SET2,MATERIAL=EL,SECTION=CIRC,OFFSET1=0.5,OFFSET2=.5
0.05, 0.08
0.d0,0.7071d0,0.7071d0
*STEP,NLGEOM
*STATIC
*CLOAD
2,3,0.0025
*NODE PRINT,NSET=Nall
U
*EL PRINT,ELSET=Eall
S
*NODE FILE,output=3d
u
*END STEP
Карточками называются, собственно, и сами эти ключевые слова.
Система достаточно простая и, что, важно, подобный .inp-файл можно легко генерировать любыми подручными программными средствами. У меня вырисовывается такая схема работы с CalculiX через собственный препроцессор:
По всей видимости, полный, имеющий инженерный смысл расчет будет проводиться с многократной генерацией вводых колод для различных целей – учета разных загружений и сочетаний, учета начальных несовершенств, вероятностного анализа (ой, мечты, мечты отставного аспиранта!) и так далее.
Будем смотреть, насколько это окажется трудоёмким.
Тема следующего поста: возможность инженерного применения CalciliX. Нагружения и сочетания нагрузок.
CalculiX II. Маленький комментарий по вводу и выводу
Начало серии, требуемые умения смотри CalculiX I.
Требуемые материалы:
[1] – Установленный CalculiX.
[2] – Русский перевод мануала Getting started with CalculiX.
Предполагается, что по мануалу [2] мы разобрались с базовыми функциями построения модели в CalculiX.
Интерфейс препроцессора CGX, безусловно, для инженерной работы чудовищен. Его надо будет улучшать либо заменой на Gmsh (см. файлы на dwg.ru), либо, что было бы идеально, дополнить его собственными разработками, которые использовали бы самое естественное решение для моделирования расчетной схемы – имеющуюся у пользователя CAD-программу (AutoCAD или его клон).
Интереснее разобраться с тем, что из себя представляет солвер CalculiX (CCX) и препроцессор (CGX) с точки зрения ввода-вывода.
Для пользовательского вывода используется команда
save
Она позволяет сохранять расчётную модель. Она не требует имени файла в случае работы с новой моделью, поскольку это имя мы уже задавали, когда входили в препроцессор CGX в режиме построения модели:
I:\_CALCULIX\CJobs>cgx -b test.fdb CalculiX for Windows standard version: 1.8 build 002 on a WinXP machine, nodename DEVONSHIRE, release 5, version 5.1 Service Pack 2 2 600, machine 600 parameters:3 arguments:2 ERROR: The input file "test.fdb" could not be opened. GL_MAX_EVAL_ORDER:40
Препроцессор не смог найти файл test.fdb, поэтому он сохранит нашу модель в новый файл по команде save.
Разоберемся с рабочей средой CalculiX. Этот небольшой экскурс нужен, чтобы понять, как организовать передачу на выполнение данных расчетной схемы из внешних программ (например, препроцессора, который желательно написать).
Окно командной строки на заднем плане принимает все команды, направленные в проепроцессор CGX. В случае, когда мы только открыли CalxuliX по иконке “CalculiX Command”, никакой программы на самом деле не загружается. На самом деле обрабатывается командный файл %CALCULIX_ROOT%\сommon\site\cmdStartup.bat, в котором прописаны значения необходимых переменных, только и всего. Когда из окна CalculiX мы вызываем команды ccx и cgx, их на выполнение принимает оболочка ОС, как при работе с обычной консолью, выхываемой по команде cmd в Windows.
Эти команды запускают на выполнение исполняемые файлы солвера CCX и препроцессора CGX с требуемыми параметрами – все как в большинстве программ академической разработки.
Короче говоря, задача пользовательского препроцессора, если мы соберемся его создавать, крайне проста – сформировать на базе модели, построенной в CAD-программе, исполняемый файл, и передать его на выполнение исполняемому файлу CalculiX.
Ещё препроцессор должен уметь генерировать разные описания расчетной схемы и нагрузок и потом собирать результаты нескольких расчетов в удобную для обработки инженером форму. Например, это нужно для вариантного проектирования, моделирования последовательности возведения, разных расчетных сочетаний – того, чем сильны специализированные пакеты класса “Лиры”.
Не знаю еще пока, как в CalculiX решается вопрос с несколькими загружениями и особенно коэффициентами по нагрузке.
Тема следующего поста: формат текстовых файлов CalculiX и продолжение мечтаний о создании стоящего препроцессора.
CalculiX I. Настройка рабочей среды
Отмечаю начало работы с Calculix, буду для себя записывать забывающиеся моменты. Если всё пойдет хорошо, материалы будут оформлены в виде пособия (надо же когда-то и сотрудников чему-нибудь научать)
CalculiX I. Настройка рабочей среды
Требуемые начальные знания:
Умение работать в командной строке, устанавливать программы, редактировать текстовые файлы.
В файле %CALCULIX_ROOT%\сommon\site\cmdStartup.bat строчку
set HOME=D:\CCWork
можно заменить на желаемое рабочее место.
Своё рабочее место желательно иметь на флэш-накопителе, чтобы был доступ и дома и на работе. Туда же следует перебросить файлы примеров из поставки CalculiX. В cmdStartup.bat прописано:
set HOME=i:\_calculix\cjobs
Рабочее место для упражнений выглядит так:

В директории test держим исходные файлы примеров, перезаписывать или изменять их не рекомендуется.
Для начала упражнений понадобится:
[1] – Дистрибутив CalculiX.
[2] – Русский перевод мануала Getting started with CalculiX.
Замечательный перевод мануала по ссылке [2] тут пересказывать нет нужды. Пока работаем по нему, дополнения следуют.
Тема следующего поста: ввод-вывод в-из CalculiX и некоторые соображения о пре/постпроцессоре.

