Здесь, на structural.wordpress.com, публикуются мои (немногочисленные) материалы на русском языке.
Резюме, личные сообщения и прочая информация теперь на основном аккаунте bausk.wordpress.com. Там же я держу англоязычные сообщения (которые бывают очень редко).
Читал ДБН В.1.2-14-2009, «Принципы обеспечения надежности зданий и сооружений», типа наш отечественный аналог еврокода EN 1990:2002.
Большего позорища видеть в жизни не приходилось.
Если вы не видели, как выглядит надгробная плита на могиле технических нормативов двадцать первого века, то вот она, натурально.

А вот так выглядит ссылка на еврокод EN 1990. Девять-ноль, бляха-муха. В государственном нормативном документе. Это ад и позорище. Внимание на правописание ещё.

О наполнении можно не говорить. Нет, хорошо, конечно, когда есть куда сослаться, если тебе заявляют, что термины, которые ты используешь, непонятны. Но содрать две трети содержания из наших атомных НД и делать вид, что так и надо – это слишком.
Я пошел и посмотрел список авторов. Две трети фамилий знакомые, половина – люди, с которыми я вживую общался.
Ну, понятно, у нас все занятые стали. Написание нормативов можно отдать на растерзание секретаршам.
P.s. Ну его в баню, два доменных имени и два блога. Буду писать на bausk.wordpress.com и на английском, и на русском, буржуи потерпят как-нибудь.
Пора, пора браться за ум.
Пора наконец разморозить свой проект надстройки для AutoCAD.
Расписать, какая нужна функциональность.
Определиться с языком и архитектурой надстройки
Начать писать, наконец, сам код с нуля.
Хорошее какое дело было бы, если бы для него прорву времени найти. Пока даже не знаю, с какого конца подходить к нему. Старая моя надстройка Alto 1.6, исправно отработала четыре года у нас в лаборатории почти что без проблем – (единственный раз пришлось поднять архив сборок, припомнить, как оно вообще делалось, и исправить некоторые досадные моменты, из-за которых выскакивали неучтённые ошибки).
На рисунке: надстройка Alto 1.6 образца 2005 года.
С тех пор Автокад ушел на пять версий вперёд, обзавёлся динамическими блоками и какими-то там масштабами, появились ZwCAD и BricsCAD с условно-совместимыми интерфейсами и гораздо более привлекательной ценой (стоимость Автокада совершенно несусветна и неподъёмна). Поэтому встаёт ещё и вопрос совместимости надстройки между разными приложениями. Делать приложение совместимым с нравящимся мне BricsCAD или нет – не могу решить.
В целом желания, конечно, наполеоновские (профессиональным чертежникам должно быть знакомо состояние, когда постоянный поток идей об организации рабочего процесса начинает мешать самому процессу) – получить в одном флаконе универсальную оформительскую и администрирующую систему, позволяющую CAD-менеджеру с легкостью управлять CAD-подсистемой малой организации как единым целым, осуществлять принудительное внедрение стандарта предприятия, управлять всевозможными автоматизирующими надстройками и многое другое.
Ладно, посмотрю, что можно сделать, когда выберусь из очередного цейтнота.
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. Нагружения и сочетания нагрузок.
Как-то раз я то ли скачал, то ли ещё откуда-то у меня взялась программа Paint.NET.
«Ага», хмыкнул я, «Майкрософт» что есть сил продвигает свой .NET, вот и Paint переписал».
А сейчас, когда понадобилось поправить графику, случайно попользовался.
Это такая прелесть, что не описать.
А я-то, дубина, в XnView плагин вставлял, чтобы хоть-какая то бесплатная рисовалка была.
Всё, теперь всё время ей пользоваться буду.
Начало серии, требуемые умения смотри 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, буду для себя записывать забывающиеся моменты. Если всё пойдет хорошо, материалы будут оформлены в виде пособия (надо же когда-то и сотрудников чему-нибудь научать)
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 и некоторые соображения о пре/постпроцессоре.
Бесплатные МКЭ пакеты бывают, за редкими исключениями, такие: либо их почти невозможно использовать для инженерных расчетов из-за серьезных недоработок пользовательского интерфейса, либо они по сути являются библиотеками функций для программистов, либо их разработка закончилась (а сайты, соответственно, умерли) лет десять назад.
Но зато я знаю теперь уже два исключения – это страшноватый с точки зрения UI, добрый и полезный внутри Framework2D/3D и теперь еще одно -
Реализованы стержневые трехмерные системы с физической нелинейностью материала, частоты собственных колебаний, полужесткие шарниры и другое по мелочи.
Два варианта установки – 200MB отдельностоящая и 2MB под Matlab.
Самое интересное заключается в том, что при установке в среду Matlab под него можно писать произвольные пользовательские дополнения. Получается решатель МКЭ и библиотека функций в одном флаконе.
Программа полностью бесплатная и может быть использована для коммерческих целей.
Есть довольно приличный пользовательский интерфейс. Можно загнать в нее свою базу сечений (в дополнение к уже имеющейся американской AISC).
Первое впечатление – весьма положительное.

Отключить себе интернет, что ли.
Так, ладно. Я о чем. Почти земляк Peteris Krummis публикует ссылки на записанные на видео лекции по разным инженерным дисциплинам, в том числе по сопромату и преднапряженному железобетону.
http://freescienceonline.blogspot.com/2008/01/free-engineering-video-lectures.html
Лекции эти записаны – я уже и не удивляюсь – в Индии, в одном из ихних ВТУЗов (IIT).
Они почти по часу каждая, их там десятки и они для студентов, поэтому приличному инженеру они помогут прежде всего в деле подтягивания технического английского до непозорного уровня.
Все, последний раз.
http://www.eng2all.com/vb/sitemap.php
Это большаая такая страница типа карты сайта. На арабском.
В общем, через Ctrl+F там можно найти прорву англоязычных книг по интересующим ключевым словам.



