Сдал сопромат — можно жениться!
Введение
Метод конечных элементов (МКЭ или FEM, у них за рубежом) прочно вошел в практику инженерных расчетов при проектировании сложных систем. В значительной степени это касается прочностных расчетов механики. Применения этого метода, реализуемого соответствующим программным обеспечением существенно сокращает цикл разработки конечного устройства, позволяя исключить массу экспериментальных проверок, необходимых при использования классических расчетов на основе методов сопромата и строительной механики. На текущий момент разработана масса прикладного ПО, реализующего МКЭ. Во главе угла стоит мощный ANSYS, по бокам от него и в почетном удалении — CAD-системы со встроенным FEM-модулем (SolidWorks, Siemens NX, Creo Parametric, Компас 3D).
CalculiX силен, но труден и непонятен. Исправим это?
Естественно, МКЭ проник и в сферу образования — чтобы использовать его в реальных задачах, нужна подготовка соответствующих специалистов. В столицах, в крупных технических вузах обстановка в этой области более-менее нормальная, да и у нас в регионе тот же ANSYS применяется, например, на кафедре теории упругости ЮФУ. Но по периферии, в узко специализированных и не богатых университетах ситуация плачевна. И всё просто — ANSYS стоит порядка 2 млн. рублей за одно рабочее место, а место требуется не одно. К сожалению не все вузы могут позволить себе выложить 30-40 миллионов на организацию компьютерного класса для обучения применению МКЭ.
Одной из альтернатив может служить применение в учебном процессе свободного ПО. К счастью таковое ПО имеется. Однако, русскоязычных материалов по его использованию практически не существует. Исправляя эту ситуацию, данную статью я собираюсь посвятить в введению в CalculiX — открытый, свободный программный пакет, предназначенный для решения линейных и нелинейных трёхмерных задач механики твёрдого деформируемого тела и механики жидкости и газа с помощью метода конечных элементов.
1. Что такое CalculiX и где его взять. Установка в Windows
Пакет CalculiX представляет собой набор консольных утилит, включающих препроцессор для подготовки исходных данных, МКЭ-решатель и постпроцессор для обработки результатов. CalculiX используется как самостоятельно, так и в составе других продуктов, среди которых особенно выделяется набирающий обороты FreeCAD. Другой вопрос, что CalculiX пока что мало известен у нас в стране, о чем прямо говорится единственной статье о нем на этом ресурсе.
Я специально буду излагать весть нижеследующий материал применительно к работе в ОС Windows, как самой распространенной и применяемой в том числе и учебных заведениях. При этом использование многих свободных программ в ней представляет собой откровенную боль.
Если брать пакет для Windows с официального сайта CalculiX, то становится совершенно непонятно, что с ним делать дальше. В совокупности с англоязычной документацией это, для многих ставит крест на данном продукте, а потом выливается в ядовитые комментарии по поводу невозможности его использования. И отчасти это справедливо — порог вхождения действительно высок. Но всё же мы попытаемся.
Существует ряд неофициальных относительно дружественных к новичку сборок сего чуда под Windows, среди них bConverged CalculiX for Windows. Качаем дистрибутив отсюда, распаковываем, и устанавливаем его стандартным методом «далее, далее...». Установка, таким образом, не представляет собой особого таинства и вполне доступна неискушенному пользователю. В качестве основной рабочей среды в данном пакете используется текстовый редактор SciTE, в который интегрированы вызовы компонентов CalculiX, а также представляется возможность интерактивного ввода команд и выглядит оно примерно так (кликабельно).
2. Задача об изгибе балки и её аналитическое решение методами сопромата
Возьмем простую студенческую задачку — изгиб стальной балки, один конец которой защемлен, а к другому прикладывается вертикальная сила F.
Параметры задачи таковы: F = 10 кН; l = 1 м — длина балки; h = 0,1 м и b = 0,05 м — размеры поперечного сечения. Для простоты не будем учитывать собственный вес балки, так как он, при массе балки 39 кг существенно меньше чем приложенная нагрузка. Найдем максимальное нормальное напряжение в сечении балки а так же вычислим прогиб балки в следствии деформации изгиба.
Любой студент, не прогуливавший сопромат с легкостью решит такую задачку. Дабы не смущать благородных донов, все подробности решения я заверну в спойлер
Без лишних трудов находим реакции связей из уравнений статики
Откуда и . Эпюра изгибающих моментов и единичная эпюра изгибающих моментов (необходима для применения интеграла Мора) строятся тривиально и показаны на рисунке. Максимальное нормальное напряжение пи изгибе балки равно
где м — максимальное расстояние от крайних точек сечения до продольной оси балки; — геометрический момент инерции относительно оси изгиба, равный
Путем несложных вычислений для конкретных данных получаем, что максимальное нормальное напряжение будет МПа
Максимальный прогиб балки при изгибе вычислим, используя интеграл Мора
где E = 200 ГПа — модуль Юнга для стали. Вычисления для конкретных значений дают , м.
Для тех кому лень смотреть под спойлер, зразу приведу ответ задачи: максимальное нормальное напряжение в сечении балки МПа, а максимальный прогиб составляет 3,97 миллиметра. Эти цифры приводятся для последующего сравнения с тем, что даст нам процедура решения этой задачки в CalculiX.
3. Подготовка геометрии и расчетной сетки
Прежде всего необходимо ввести в CalculiX геометрические данные о рассматриваемой детали. Да, тут возможен экспорт геометрии из CAD-ов, как это делается в том же ANSYS, но мы поёдем путем мучений и введем геометрию вручную. Открываем редактор SciTE из комплекта bConverged и набираем там следующий текст
pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0
Сохраняем файл с именем beam.fbd и жмем F10 для запуска препроцессинга. Мы увидим примерно следующее
Команда pnt создает точку в пространстве с заданными координатами и синтаксис её таков
pnt [имя точки] [x] [y] [z]
Теперь соединим эти точки линиями, добавив в файл следующий текст
line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25
получив после нажатия F10 следующую картинку
Команда
line [имя линии] [точка 1] [точка 2] [число сегментов линии]
создает линию, соединяющую указанные в ней точки, добавляя промежуточные точки, разбивающие линию на указанное число сегментов (в нашем случае 25 для каждой линии). Это пригодится потом для генерации сетки. Теперь делаем финт ушами
seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10
Первая команда
seta [имя набора] [объект 1] ... [объект N]
объединяет несколько объектов в набор с заданным именем. По сути это аналог группировки объектов. Следующая команда
swep [имя объекта или набора объектов] [имя нового набора объектов] [вид перемещения] [вектор, задающий перемещение] [параметр]
выполняет перемещение выбранного набора объектов с образованием нового набора. Перемещаемые объекты копируются. При этом движение точек образует линии, движение линий — поверхности, движение поверхностей — сплошные объемы. В нашем случае мы смещаем набор линий lines на вдоль оси Z на 0.1 метра, при этом, образующиеся линии делятся на 10 сегментов. Жмем F10… э, а что это?
Гхм, пустой экран… Исправляется это легко, достаточно добавить в конец скрипта строчки
plot pa all
plus la all
Эти команды указывают рисовать все точки (pa) и добавить к отображению все линии (la), после чего мы получаем такой результат
Теперь создадим поверхности, на базе созданного нами набора линий
seta surfaces s A001 A002 A003 A004
добавив в самый конец скрипта отображение этих поверхностей
plus sa all
Теперь выполним ещё один сдвиг, теперь уже вдоль оси Y на 0,05 метров, развивая все образующиеся при смещении линии на 5 сегментов.
swep surfaces swepsurface tra 0.0 0.05 0.0 5
Получим что-то в духе
Полученное изображение можно повертеть, зажав левую кнопку мыши, и убрав отображение точек и линий, мы увидим нечто вразумительное
Дааа… CalculiX далек от привычных массовому пользователю визуальных концепций, но тем не менее мы построили геометрию нашей балки.
Геометрия, геометрией, но для генерации сетки сделаем следующий ход — уберем все команды plot и plus и обернем код генерации геометрии в команды seto и setc, вот так
seto beam
pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0
line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25
seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10
seta surfaces s A001 A002 A003 A004
swep surfaces swepsurface tra 0 0.05 0 5
setc beam
Эта пара команд объединяет всю созданную геометрию в некий блок геометрии с именем beam. Теперь эту геометрическую группу можно пропустить через генерацию сетки, указав после всего вышеупомянутого кода команды
elty beam he8
mesh beam
— генерирует сетку, состоящую из параллелепипедов (he8) на основе геометрии с именем beam. Теперь выводим сгенерированную сетку в файл
send beam abq
— вывод сетки в файл с именем beam.msh в формате FEM-пакета ABAQUS (есть и такой проприетарный пакет МКЭ-вычислений и CalculiX его формат понимает)
Таким образом сетка сгенерирована, можно глянуть в файл beam.msh и увидеть там что-то подобное этому
*NODE, NSET=Nbeam
1,0.000000000000e+000,0.000000000000e+000,1.000000000000e-001
2,0.000000000000e+000,0.000000000000e+000,9.000000000000e-002
3,0.000000000000e+000,1.000000000000e-002,9.000000000000e-002
4,0.000000000000e+000,1.000000000000e-002,1.000000000000e-001
5,1.000000000000e-002,0.000000000000e+000,1.000000000000e-001
6,1.000000000000e-002,0.000000000000e+000,9.000000000000e-002
7,1.000000000000e-002,1.000000000000e-002,9.000000000000e-002
8,1.000000000000e-002,1.000000000000e-002,1.000000000000e-001
9,0.000000000000e+000,2.000000000000e-002,9.000000000000e-002
10,0.000000000000e+000,2.000000000000e-002,1.000000000000e-001
11,1.000000000000e-002,2.000000000000e-002,9.000000000000e-002
.
.
.
.
*ELEMENT, TYPE=C3D8, ELSET=Ebeam
1, 1, 2, 3, 4, 5, 6, 7, 8
2, 4, 3, 9, 10, 8, 7, 11, 12
3, 10, 9, 13, 14, 12, 11, 15, 16
4, 14, 13, 17, 18, 16, 15, 19, 20
5, 18, 17, 21, 22, 20, 19, 23, 24
6, 5, 6, 7, 8, 25, 26, 27, 28
7, 8, 7, 11, 12, 28, 27, 29, 30
8, 12, 11, 15, 16, 30, 29, 31, 32
9, 16, 15, 19, 20, 32, 31, 33, 34
По-видимому это список вершин элементов сетки с их координатами, за которым следует список граней. Чтобы всё это дело выглядело более красиво, воспользуемся интерактивным режимом CalculiX. Для этого, оставляя активным графическое окно, вводим последовательно следующие команды
plot f beam
— отображаем все грани геометрии
view edge off
— отключаем отображение ребер
view elem
— включаем отображение элементов сетки. Ввод каждой команды завершаем нажатием Enter, введенные команды отображаются в окне SciTE справа внизу, вот так
Да, нельзя назвать это суперудобным, но тем не менее мы получим изображение сгенерированной сетки.
Замечу, что все промежуточные точки, что были созданы при создании геометрии стали узлами сетки. Таким образом мы получили гексагональную сетку размером 100 х 10 х 5 узлов, с размером ребра элемента в 10 мм. Созданный нами файл beam.fbd описывает геометрию задачи и процесс создания сетки.
seto beam
pnt p1 0 0 0
pnt p2 0.25 0 0
pnt p3 0.5 0 0
pnt p4 0.75 0 0
pnt p5 1.0 0 0
line l1 p1 p2 25
line l2 p2 p3 25
line l3 p3 p4 25
line l4 p4 p5 25
seta lines l l1 l2 l3 l4
swep lines sweeplines tra 0 0 0.1 10
seta surfaces s A001 A002 A003 A004
swep surfaces swepsurface tra 0 0.05 0 5
setc beam
elty beam he8
mesh beam
send beam abq
4. Задание ограничений
Важным этапом применения МКЭ является задание ограничений перемещения точек конструкции, то есть учет наложенных на неё связей. В нашем случае один из концов балки защемлен, а значить можно считать, что один из её торцов полностью неподвижен. Нам нужно сообщить решателю, какие узлы КЭ-сетки являются неподвижными. Жмем F10 при открытом файле beam.fbd, дожидаемся появления окна с изображением балки
В интерактивном режиме вводим команды
rot -y
plot n beam
Первая команда разворачивает модель так, чтобы ось Y смотрела от нас, вторая — включает отрисовку узлов (n) КЭ-сетки. Двигая модель (зажав правую кнопку мыши) и масштабируя изображение (зажав колесо мыши) добиваемся такой картинки
Теперь надо выбрать все узлы, которые мы хотим определить как неподвижные. Для этого опять используем интерактивный режим ввода данных. Набираем команду
qadd fixed
что начинает создание набора узлов с именем fixed. Курсор на графическом окне переключается в режим выбора элементов — отображается в виде стрелки с маленьким квадратиком. Ставим курсор так
и жмем клавишу r. А затем ставим курсор так
и снова жмем r. Таким образом, мы сформировали область выбора прямоугольной формы, диагональ которой задается отмеченными нажатием r положениями курсора. Выделяем этим прямоугольником нужные нам узлы, лежащие на торце балки
жмем a а затем жмем n, выделяя отмеченные узлы. В консольном окне появится портянка со списком выделенных узлов (картинка кликабельна)
Вводим q для выхода из режима выбора и команду
plus n fixed g
для отображения узлов группы fixed зеленым цветом (g). Теперь мы можем увидеть, какие узлы у нас будут входить в условие закрепления
Теперь мы должны выгрузить эти узлы в качестве файла ограничений, подаваемого в дальнейшем на вход решателя. Для этого набираем команду
send fixed abq spc 123
— выгрузить группу узлов fixed в виде файла ограничений в формате ABAQUS (abq), ограничив перемещение всех узлов группы по всем трем степеням свободы (1 — ось X, 2 — ось Y, 3 — ось Z). В итоге образуется файл fixed_123.bou, следующего содержания
** BOUNDARY based on fixed
1, 1, ,
2, 1, ,
3, 1, ,
4, 1, ,
9, 1, ,
10, 1, ,
13, 1, ,
14, 1, ,
17, 1, ,
.
.
.
— по сути, это перечисление всех узлов и номера степени свободы, по которой ограничивается перемещение данного узла.
5. Задание нагрузок
После того, как мы закрепили нашу балку, попробуем её нагрузить. Снова включим режим отображения граней и элементов
plot f beam
view edge off
view elem
Ориентируем изображение так, чтобы нам была видна верхняя часть незакрепленного конца балки
Перейдем в режим выделения объектов
qadd load
Наводим курсор на нужную грань и жмем f
Грань подсвечивается фиолетовым, а в консольном окне появляется описание того, что она добавлена в набор load
qadd load
2541 e:3873 s:6 n= 5298 5310 5312 5300
Жмем a для окончания формирования набора, жмем q для выхода из режима выбора. К выделенной грани приложим давление, дающее равнодействующую силу величиной 10000 Н. Нетрудно посчитать, что площадь выделенной грани равна 1 см2, а значит искомое давление равно 108 Па. Задаем эту нагрузку командой
send load abq pres 1e8
— выводит нагрузку в файл load.dlo в формате ABAQUS. Файл выглядит так
** Pressure based on load
3873, P6, 100000000.000000
Указан номер элемента сетки, его грань и величина давления на эту грань. Таким образом, подготовку исходных данных можно считать завершенной.
6. Описание входных данных и запуск решателя
Все те данные — сетка, ограничения и нагрузки, следует теперь запулить на вход решателя МКЭ, для чего мы формируем входной файл такого вида
beam.inp
*HEADING
Model: CalculiX Beam Input File for Habrahabr article
*INCLUDE,INPUT=beam.msh
*BOUNDARY
*INCLUDE,INPUT=fixed_123.bou
*MATERIAL,NAME=EL
*ELASTIC
2e11,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL
*STEP
*STATIC
*DLOAD
*INCLUDE,INPUT=load.dlo
*NODE FILE
U
*EL FILE
S
*END STEP
Поясню подробнее, что тут к чему. Первая секция файла
*HEADING
Model: CalculiX Beam Input File for Habrahabr article
*INCLUDE,INPUT=beam.msh
задает описание задачи и включает файл с КЭ-сеткой beam.msh. Следующая секция формирует граничные условия — те связи, что мы определили в файле fixed_123.bou
*BOUNDARY
*INCLUDE,INPUT=fixed_123.bou
Не следует забывать и о материале, который мы задаем упругим, определяя его модуль Юнга и коэффициент Пуассона. Значения берем средние для конструкционных сталей
*MATERIAL,NAME=EL
*ELASTIC
2e11,0.3
*SOLID SECTION,ELSET=Ebeam,MATERIAL=EL
Последняя секция задает тип задачи — расчет статического нагружения и те нагрузки, из файла load.dlo который при этом действуют
*STEP
*STATIC
*DLOAD
*INCLUDE,INPUT=load.dlo
*NODE FILE
U
*EL FILE
S
*END STEP
Проверив, что мы имеем в SciTE открытой вкладку с файлом beam.inp жмем Ctrl + F10, запуская тем самым решатель. Получаем выхлоп, говорящий нам о том, что CalculiX что-то там для нас посчитал. Выхлоб, дабы не загромождать текст привожу под спойлером
CalculiX Version 2.10, Copyright© 1998-2015 Guido Dhondt
CalculiX comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome to redistribute it under
certain conditions, see gpl.htm
************************************************************
You are using an executable made on Mon May 23 13:24:06 2016
The numbers below are estimated upper bounds
number of:
nodes: 6666
elements: 5000
one-dimensional elements: 0
two-dimensional elements: 0
integration points per element: 8
degrees of freedom per node: 3
layers per element: 1
distributed facial loads: 1
distributed volumetric loads: 0
concentrated loads: 0
single point constraints: 198
multiple point constraints: 1
terms in all multiple point constraints: 1
tie constraints: 0
dependent nodes tied by cyclic constraints: 0
dependent nodes in pre-tension constraints: 0
sets: 2
terms in all sets: 18332
materials: 1
constants per material and temperature: 2
temperature points per material: 1
plastic data points per material: 0
orientations: 0
amplitudes: 2
data points in all amplitudes: 2
print requests: 0
transformations: 0
property cards: 0
STEP 1
Static analysis was selected
Decascading the MPC's
Determining the structure of the matrix:
number of equations
19800
number of nonzero lower triangular matrix elements
655236
Using up to 1 cpu(s) for the stress calculation.
Using up to 1 cpu(s) for the symmetric stiffness/mass contributions.
Factoring the system of equations using the symmetric spooles solver
Using up to 1 cpu(s) for spooles.
Using up to 1 cpu(s) for the stress calculation.
Job finished
7. Постпроцессинг и анализ решения
Полученные решателем результаты требует обработки постпроцессором. Для его вызова жмем Shift + F10 и получаем графическое окно с изображением балки. Кликаем в левой части этого окна, за рамкой с изображением балки и получаем меню
Что нас интересует? Напряжения в сечениях балки — выбираем Datasets -> STRESS. Меню исчезнет, но мы снова вызываем его и выбираем Datasets -> Entities -> Mises. В итоге включается режим отображения эквивалентных напряжений по фон Мизесу
Итак — момент истины! Максимальное эквивалентное напряжение в сечении балки равно 117 МПа, что немного расходится с результатом из сопромата. Но! Решая задачу сопромата, мы не учитывали касательные напряжения при изгибе и сдвиге, а посчитали только нормальное напряжения от изгиба. Что будет с прогибом? Идем в меню: Datasets -> DISP и Datasets -> Entities -> D3
Наблюдаем, что максимальное перемещение соответствует нагруженному концу балки и равно оно 3,96 миллиметра! Великолепно и соотносится с нашим расчетом с использованием интеграла Мора.
Путем несложных манипуляций, о которых можно прочитать тут, генерируется и анимация деформаций балки
Делаем выводы
«Э-э-э, чувак, постой, а что же дальше?!». Хм, чувак не может вместить в одну статью всего того многообразия вопросов, что поднимаются при упоминании МКЭ в общем, и CalculiX в частности. Статья и так вышла объемистой и довольно занудной. И цель её — доходчивым языком объяснить две вещи:
- Open Source не прошел мимо ПО для МКЭ анализа
- Изучить и использовать данное ПО не так сложно, как может показаться на первый взгляд
Достаточно для обзорной статьи? Думаю да. При подготовке статьи использованы следующие источники:
- Calculix FEA Beam — послужило основой всего изложенного материала. Так как здесь добавлен опыт, полученный автором и весь код написан им в процессе написания статьи — это не перевод а именно тьюториал на русском языке
- Официальный мануал по CalculiX
Код примера доступен на Gitlab.
В заключении отмечу — я не прочнист, у меня не было сопромата в университете. Чуть позже, познать его самые основы меня заставила жизнь (и любовь!). Так что ляпы, возможно, присутствуют в тексте, о чем жду злобных комментов и даю обещание учесть все замечания.
Благодарю за внимание!
Комментарии (55)
radonit
16.09.2018 09:48Code aster и salome meca более популярны и удобнее
Kazancev
16.09.2018 10:31Нет, видимо Вы или прошаренный профи, или не знаете всю глубину заблуждения, в которое Вас ввели. Докажите обратное? Я даже знаю, что модальный анализ сходу не запустится. Недели через две блуждание по форумам — может быть.
Code_Aster хорош, но не для начинающих однозначно. По этому поводу можете поискать мои и не только мои комментарии по C_A на форумах cccp3d.ru и dwg.ru (никнейм AlexKaz). Если коротко, C_A больше научный софт, чем коммерческий. А вот CalculiX инженерней некуда.radonit
16.09.2018 10:54yandex.ru/clck/jsredir?bu=lb0u&from=yandex.ru%3Bsearch%2Fpad%2F%3Bweb%3B%3B&text=&etext=1911.B9k-wMO_6ovRbppibDNiUt75fczvzYTKg0-FDc7I7vI.585d1a30bb7d7414346f496c954acdaf40a47f21&uuid=&state=PEtFfuTeVD5kpHnK9lio9dFa2ePbDzX7kPpTCH_rtQkH2bBEi5M--bO-cYhaTVRUybkq5bCQtn6JVk60aPrx4khDLPAEn9-o&&cst=AiuY0DBWFJ5fN_r-AEszkx8Gf_oStqYJ86gDB0gOBiSgHzPJUIXWnJgpnd9GlULFPMKAr1m6A-gJdDasjLncdA6nhetdGx863qnS0AygNyr4I-V8a9ZF9tsc5sEA96cwI9mYizBUbgMf1oaBgeHwrTcte6nOtnhM4YkL7SKccmsqqa5XepDi_II1kOfvoXfbYKywOO06-phNJEz1lBykQiryniQyASfcxsKiIVIz8SNq03iw66i0XWUfuM7jAZNUZt41WcXvDpa0s-dzrkpeJpjV2aw1NNEufklRdSYLpRCnSLw1JugqJirX3IDL0B9lenDPAPHPbJveh04gfO_Y7X_IEU_AUU5t_S2ARjjVr2euHk2Cl8jr9I0MvpdQa_oWjViyuMtvboosmrSZMv5O29o443I-jTB-Z9zPK9ELzU9E6_IxjYX61MLUjXpOEtsAopC5ayewWoCtGpxRpr-qAIH05bhmmWRekdYC6wAGjMqTQBe9t-TqXEvRhwq6JjCYsNT8C1pzKYM,&data=UlNrNmk5WktYejY4cHFySjRXSWhXS0E1enVxcVZEOG5NNml5TDRpQTFfbEM4MjFjU2IxaThuMzZua2pWSXMyTmF3eHpBd0l6TjljR0VSR0EzSTBVTWZqTjQ2MWdSRFF2VkZjb3ZuMEdiSkVkTS0tYlpvejRUc0tTcHBXcV9XZ2Z0WnFMYnJCLXdnckdFLVB6VzdoMVZGbW1jbmwwWWdnTA,,&sign=678280311be5d8e2c01c24e5bd16a333&keyno=0&b64e=2&ref=orjY4mGPRjk5boDnW0uvlrrd71vZw9kpU65c48i6EvA,&l10n=ru&cts=1537084197264&hdtime=7329.6
Wow.feaforall.com
И т.д. Никакого кода всё в графическом интерфейсе, много информации (на английском) сертифицирована атомной промышленностью францииKazancev
16.09.2018 10:56Да я знаю, что есть графика. Но Вы ошибаетесь, если думаете, что графика в нём решает. Графика в нём почти не требуется, а появилась она недавно, всего то год как. С этим знанием потыкайте модальный анализ самостоятельно? Например, такой же балочки как в статье. Мануалы, кстати, в C_A мало отличаются от ANSYS (по объёму), а местами подробнее в разы.
radonit
16.09.2018 11:09Откровенно модельный не делал, попробую, хотя вот что нашёл сходу
yandex.ru/clck/jsredir?bu=7l6u&from=yandex.ru%3Bsearch%2Fpad%2F%3Bweb%3B%3B&text=&etext=1911.gb82oWrVLdczF_grMxfdXXuDlr_gXj5n3ajEmnREtYxuqxOjGbQD0NqCVyuoxHCwv3QgCKISYiiWoX_JVdRnxw.6882a78f85a015cf6b3648e3c54672b81c05aa53&uuid=&state=PEtFfuTeVD5kpHnK9lio9T6U0-imFY5Ibl_FxS8ahbetb9q-Ws8tqQaT6YcO5ES21Z8MjTOpq-vDjL0sP3R-fWjd8FaFSqsPHzZ2hZ7oHgLE0iDfULnnpGFrhfcm3AVZQMB7W6xZKhU,&&cst=AiuY0DBWFJ5fN_r-AEszkx8Gf_oStqYJ86gDB0gOBiSgHzPJUIXWnJgpnd9GlULFPMKAr1m6A-gJdDasjLncdA6nhetdGx863qnS0AygNyr4I-V8a9ZF9tsc5sEA96cwI9mYizBUbgMf1oaBgeHwrTcte6nOtnhM4YkL7SKccmsqqa5XepDi_II1kOfvoXfbYKywOO06-phNJEz1lBykQiryniQyASfcxsKiIVIz8SNq03iw66i0XWUfuM7jAZNUZt41WcXvDpa0s-dzrkpeJpjV2aw1NNEufklRdSYLpRCnSLw1JugqJirX3IDL0B9lenDPAPHPbJveh04gfO_Y7X_IEU_AUU5t_S2ARjjVr2euHk2Cl8jr9I0MvpdQa_oWjViyuMtvboosmrSZMv5O29o443I-jTB-Z9zPK9ELzU9E6_IxjYX61MLUjXpOEtsAdyJEmVpiaedkihaMAQ_h4_xnnC5WaIy283CXXmGC8QfQZna-FOSDEFt9vnBIHDIzth7Z0H66lGI,&data=UlNrNmk5WktYejR0eWJFYk1LdmtxamVnNEJRWnJseWxFZzNhWkNmT2NkRG5nd0kwbi0xMXpyVmE4NlJCajZ6S3k4MTNoR2d5d1RuWGJsWGtITVdlVTZPU2pEeEszZzV0OGl3ZUl3VzRNaWREeURJWnRJMzV1NlBHMGdYblprR2N3VTQtWWcyeHdjZkVsSksybkJBRWlSVWY1WkJKNmpaR255RmlwU2xsSENzUjVBUkZudkVzSlJRS2ZQcGtwdGlIUG8tQjl2VzNJNUIzcld6Sm90Sjk4UFRBbThPS2xVdnNYeTU1dk9wWVNhMUIzRXRmMVBmdEwxa0gydXVYd0pjbVRVRzRVLVgtSjZHanhuVmIzLXhqLU1YQm5EMDcwanQ5N2lNLWhtbDJSd2ktc2RsRFk3TWtFN2hBNmhmLXFVOGlmVGt5UGd4MDMtNlJ5NkxVQm42WWFyU0FCUlRmeVpnNmtYeU1pSVp3SmdPUzcwcXBOSWVZOU43cWUyWWdJa0NycGJMdnR4dXZ4cDZjNW5STEhKT3dZSDlDVEJSd1hQYXpGdEdpbHAyNVFuSF8xTUR6aHNGUHIydThlUUR1OFM3T1MzTXRQNnZMNU8ybkNjc25lUFlmYk9zb1pORUNpTURIbk9VV0Z5VXRtY1RYblJzZHdSd1A3TW9rbWhudzZtRU4wajVxRmZJR1p6MCw,&sign=10efec9a07da2e2eb8ac10751b1f459a&keyno=0&b64e=2&ref=orjY4mGPRjk5boDnW0uvlrrd71vZw9kpU65c48i6EvA,&l10n=ru&cts=1537084748014&hdtime=7338.8
youtu.be/RzIL9fGu2mA
Туториалы и видео есть
Kazancev
16.09.2018 10:40Приятно видеть сопромат на Хабре! Вы ссылаетесь на мою статью на Хабре годовой давности, это тоже приятно. Будучи студентом я как-то прорешал часть сопроматовских задач из Сопротивления материалов Писаренко, ссылка на них есть на форуме, или прямая ссылка.
Kazancev
16.09.2018 10:48Кстати, чуть не забыл. Скриптовый язык CGX позволяет писать макросы где-нибудь на стороне. К примеру, в своём магистерском дипломе я параметризовал 2d-сетку для задачки с автомобильным полотном. Суть в том, что надо было варьировать толщины слоёв дорожной одежды (до 9 метров толщиной, 6 слоёв) и готовить соответствующую сетку, которую закидывать в свой решатель. В Scilab формировал cgx-скрипт, кидал в inp-файл, скармливал CGX, сетка сохранялась в файлы, файлы считывал в Scilab. Так и работал. Ну, были бы бабки на классический ANSYS, не заморачивался бы.
1Fedor
16.09.2018 11:25А эта метода аттестована?
Если построю баню, а она рухнет, к кому идти?radonit
16.09.2018 11:35Берите лиру, она аттестована и какая то из версий ансис тоже.
Если рухнет идти к тому кто подписал документ.Kazancev
16.09.2018 11:37Перед этим лицуху у Лиры почитайте. Я сильно сомневаюсь, что разработчики несут ответственность за действия или бездействия юзера. В ANSYS аналогично — софт за людей не в ответе, хоть обложитесь сертификатами.
radonit
16.09.2018 12:11Конечно не несут, несёт исполнитель, который подписался под отчётом.
Но и программы тоже аттестовывают для работы в определённых отраслях.
ptica_filin
16.09.2018 17:15Главное, чтобы юзер был «аттестован». Чтобы понимал, что задаёт в задаче и что примерно должно получиться на выходе. А не «я не виноват, это программа посчитала!»
Даже если сама метода будет сто раз аттестована, от некорректных входных данных это не спасёт.
1Fedor
16.09.2018 14:11Всем спасибо за ответы, упустил самое важное в тексте — назначение метода «Одной из альтернатив может служить применение в учебном процессе свободного ПО»
Отличный материал, автору респект.Kazancev
16.09.2018 14:36Не только обучать. Я выполнял и коммерческие заказы. Тут всё зависит от опыта и наличия заработанных шишек в расчётах вообще (а не только МКЭ).
Если у Вас стоит задачка преподавать строителям МКЭ, стоит взглянуть на достойный бесплатный WolsinkFramework http://members.ziggo.nl/wolsink/
Gryphon88
16.09.2018 19:29Извините, а как умные люди комбинируют CAD и CalculiX, чтобы одновременно не упухнуть с рисовики и задания ограничений. Вот, допустим, мы считаем лодочный винт, как убедиться, что его не разорвет центробежной силой и не погнёт о воду? Или под это другой инструмент стоит взять?
maisvendoo Автор
16.09.2018 19:54Извините, а как умные люди комбинируют CAD и CalculiX
FreeCAD единственный известный мне пример подобной интеграции.
Надо сказать я пытался использовать FEM-модуль и в SolidWorks, и в Компасе, и в Siemens NX, но везде этот функционал своего рода сбоку припека, то есть он как бы есть, но как бы не дает всех возможностей, требуемых конкретной задачей.
Когда кое-какая фирма меня просили посчитать кое-какие узлы, я брал связку SolidWorks + ANSYS. В ANSYS есть шикарный импорт из всех популярных там у них кадов. Ибо кад это кад, а фем это фем и гармонично интегрировать одно в другое задача не из легких. Но сами понимаете, что ANSYS + Solid брался, скажем так помягче, в «демо-версии»…
Собственно а в чем проблема — берем чертим винт в любом каде, экспортируем в ASCII STL. Есть инструменты генерации сетки по STL модели, тот же Netgen и вуаля, используем CalculiX для решения задач прочностиGryphon88
16.09.2018 20:09А взаимодействие со средой или множественное воздействие типа расчета нагрева от удара/или трения в CalculiX считается?
maisvendoo Автор
16.09.2018 20:21Отвечу цитатой из википедии
Бегло взглянуть на возможности CalculiX позволяет фрагмент модели турбореактивного двигателя в карточке программы. Модель построили в начале 90-х гг. Andreas Funke и Klaus Wittig. КЭ-модель позволила определить скорость зажигания и верхнюю частоту вращения, соответствующую низкой усталости и ползучести. Дополнительно был проведён анализ на собственные частоты для оценки возможного резонанса лопаток. Модель, созданная циклическим вращением, посечена 20-узловыми квадратными редуцированными элементами. Материал компрессора — литьевой алюминиевый сплав AlSi — C355, турбина выполнена из термопрочного сплава Inco 713C. Оба нагружены центростремительными силами.
Собственно там же и перечень возможностей приведен. Сам я всё это не пробовалGryphon88
16.09.2018 20:28Спасибо. Ну и самый главный вопрос: требуется ли профильное техническое образование, чтобы им полноценно пользоваться, или хватит школьных знаний физики и навыков пользования CAD?
maisvendoo Автор
16.09.2018 20:53Нет, школьных знаний физики не хватит. Нужно базовое образование уровня вуза: теормех + сопромат. Любой инструмент, подобный FEM-решателю облегчает жизнь, но не снимает необходимости знать основы предметной области.
Вот сопромата у меня в вузе не было (ввели в программу моей специальности на год позже моего поступления). Я всегда очень об этом жалею, ибо эту науку изучал сам, помогая будущей женеrPman
16.09.2018 23:13Интересно, как можно сформулировать требования к аутсорсеру (фрилансеру) чтобы можно было решать не мегасложные но все же не простые задачи, сложнее балка + 1 пиксел нагрузки?
И где таких можно найти?
Наверное еще за кадром встает вопрос, сколько это может стоить, особенно если готов брать не законченного специалиста а вчерашнего/сегодняшнего студента, со всеми вытекающими от сюда 'неудобствами'?
Nidellor
16.09.2018 22:32Во главе угла стоит мощный ANSYS, по бокам от него и в почетном удалении — CAD-системы со встроенным FEM-модулем (SolidWorks, Siemens NX, Creo Parametric, Компас 3D).
Помимо Ansys в числе крупных разработчиков нужно было упомянуть еще как минимум MSC как разработчика старейшего решателя Nastran.
по бокам от него и в почетном удалении — CAD-системы со встроенным FEM-модулем (SolidWorks, Siemens NX, Creo Parametric, Компас 3D).
Здесь вы смешиваете системы разных уровней. SolidWorks и прочие средние CAD-системы имеют встроенный, в той или иной степени упрощенный CAE-модуль, предназначенный для быстрого выполнения предварительных расчетов на этапе проектирования.
Системы тяжелого уровня, коих осталось ровно 3 — Siemens NX (ex Unigraphics), Creo Parametric (ex Pro/Engineer) и Dassault CATIA, имеют два уровня CAE-модулей: мастер-процессы с возможностями, аналогичными средним CAD и полноценный препостпроцессор с возможностью подключения внешних решателей, того же ANSYS, MSC.Nastran, Abaqus и т.д. У Siemens есть даже свой решатель NX.Nastran, который разошелся с MSC.Nastran в 2004 году. К слову, препостпроцессоры тяжелых CAD практически или вообще не уступают по возможностям ANSYS и MSC.Patran, а по интерфейсу на порядок лучше.
Но по периферии, в узко специализированных и не богатых университетах ситуация плачевна. И всё просто — ANSYS стоит порядка 2 млн. рублей за одно рабочее место, а место требуется не одно. К сожалению не все вузы могут позволить себе выложить 30-40 миллионов на организацию компьютерного класса для обучения применению МКЭ.
Конкретно с ANSYS я по этому поводу не общался, но у большинства других производителей CAD/CAE есть академическая программа, по которой можно получить учебные лицензии либо бесплатно, либо за символическую сумму в несколько тысяч рублей. Именно такие лицензии стоят в ВУЗах, а совсем не коммерческие. Единственное ограничение будет заключаться в том, что эти лицензии нельзя будет использовать для коммерческой деятельности, для которой и за 2 млн. руб. нормальное рабочее место для решения междисциплинарных задач не получить, нужно скорее 5, или жестко продавливать на скидки.
Ну и наконец, мое личное мнение: введение бесплатного ПО в учебный процесс, конечно, неплохое начинание, только выпускникам оно, к сожалению, не сильно поможет в части профессионального развития и дальнейшей востребованности на рынке труда.maisvendoo Автор
16.09.2018 22:42введение бесплатного ПО в учебный процесс, конечно, неплохое начинание, только выпускникам оно, к сожалению, не сильно поможет в части профессионального развития и дальнейшей востребованности на рынке труда.
Могу возразить и возражу что реплика «А у нас в университете был ANSYS но не было Nastran» тоже не устроит работодателя, использующего Nastran.
Цель образования в том, чтобы освоить конкретный пакет или дать специалисту твердые базовые знания позволяющие освоить любой пакет? Я считаю что последнее более важно. Свободное ПО имеет все те же черты, что и «тяжелые» коммерческие системы и разобраться в них для настоящего специалиста, имеющего базовые знания не составит труда.
Беда идеологов современного отечественного образования в том, что они не понимают этого и не хотят понимать. Такое вот мое, личное мнение.
И исходя из этого мнения, я считаю, что пора прекращать поддерживать рублем проприетарные продукты. Некоторым, особенно отечественным софтверным компаниям работающим в области кадов и систем моделирования давно пора прописать пилюлю от жадностиNidellor
16.09.2018 23:28Цель образования в том, чтобы освоить конкретный пакет или дать специалисту твердые базовые знания позволяющие освоить любой пакет? Я считаю что последнее более важно. Свободное ПО имеет все те же черты, что и «тяжелые» коммерческие системы и разобраться в них для настоящего специалиста, имеющего базовые знания не составит труда.
Основная проблема большинства свободных систем в том, что они позволяют решать только базовые задачи и слабо подходят для решения даже студенческих задач по комплексным инженерным дисциплинам. Если стоит задача посчитать балку — то нет проблем. Если задача — посчитать прочность диска турбины, то с этим справится далеко не каждый коммерческий пакет (посчитать-то можно, только к действительности это иметь отношения не будет никакого). И дело здесь совсем не в идеологах от образования, просто очень многие специализированные концепции в свободном ПО отсутствуют как класс. Так-то базовые концепции можно вообще без какого-либо пакета изучить, простой FEM можно напрямую написать на любом языке программирования.
Я в рамках гражданского долга по совместительству читаю курс по одному из тяжелых CAD на своей кафедре. Пакет выбирал так, чтобы его использовало 80% потенциальных работодателей. Да, 20% выпускников придется переучиваться на другой продукт, но идеологически они очень близки. Так вот, даже в хороших коммерческих средних CAD, не говоря уже о свободном ПО, студенты просто не смогут выполнить кафедральные курсовые и дипломные проекты (как минимум, требуется расширенная работа с поверхностями и нормальная работа с большими сборками).
И исходя из этого мнения, я считаю, что пора прекращать поддерживать рублем проприетарные продукты. Некоторым, особенно отечественным софтверным компаниям работающим в области кадов и систем моделирования давно пора прописать пилюлю от жадности
В своей профессиональной деятельности я хочу уходить с того CAD, который преподаю студентам. Я с ним работаю больше 10 лет, есть лицензии на старую версию, но сейчас под новые проекты надо бы обновиться, а после 2014 года стоимость лицензий и поддержки стала выходить за рамки добра и зла. Переходить буду на отечественный продукт (не на Компас), построенный на том же ядре. При сопоставимых возможностях (для моих проектов хватает) дешевле в 5 раз (все равно миллионы, но жить им на что-то надо), единственная проблема — проектной группе придется переучиваться. Так что у отечественных компаний особой жадности не заметил. По крайней мере, у тех, с которыми работаю. У той же компании есть абсолютно бесплатная учебная версия ПО. Но студентов на эту систему переводить не буду, причину описал выше.
4apa
17.09.2018 06:51Конкретно с ANSYS я по этому поводу не общался, но у большинства других производителей CAD/CAE есть академическая программа, по которой можно получить учебные лицензии либо бесплатно, либо за символическую сумму в несколько тысяч рублей. Именно такие лицензии стоят в ВУЗах, а совсем не коммерческие.
У Ansys можноFarsenaL
18.09.2018 00:50А Вы уверены, что правильно интерпретируете то, что описано по приведенной ссылке?
Академическая версия=студенческая бесплатная версия для домашних работ и молодежных конкурсов?
P.S. Вопрос без подвоха, мне правда интересно как устроена лицензионная политика у коллег.maisvendoo Автор
18.09.2018 12:41мне правда интересно как устроена лицензионная политика у коллег
А как она устроена у вас? Я на сайте что-то и стоимости даже не нашелFarsenaL
18.09.2018 13:32Вот тут в двух словах расписана наша лицензионная политика:
www.comsol.ru/products/licensing
А вот в SLA тут полностью:
cdn.comsol.com/documentation/5.3.1.348/COMSOL_SoftwareLicenseAgreement.pdf
Касаемо моего вопроса, мне кажется, что академическая лицензия стоит денег, а студенческая не подразумевает процесс обучения преподавателем студентов в вузе на занятиях.
Прайсы отправляются по запросу. Если интересно, я могу прислать вам на любой контакт. Однако, наверное, эту часть общения можно увести в личку, чтобы не уходить в офф-топ.maisvendoo Автор
18.09.2018 14:07-1Да, ну не оффтоп. Мне всё понятно — очередной отечественный кот в мешке с драконовскими условиями и суперсекретным прайсом. Вся политика направлена на то, чтобы случайно не упустить вожделенную «недополученную прибыль»
FarsenaL
18.09.2018 14:12Мне всё понятно — очередной отечественный кот в мешке с драконовскими условиями и суперсекретным прайсом.
Отечественный? Драконовские условия? Кот в мешке? Вам действительно все понятно.maisvendoo Автор
18.09.2018 14:25Вам действительно все понятно
Предельно. Когда я захожу в магазин и не вижу там цены на (возможно!) интересующий меня товар — я сразу ухожу оттуда и больше не возвращаюсь. Потому как звонить или писать — это уже означает делится персональными данными, нарываясь на назойливую рекламу впоследствии, чего не хочется.
Отечественный?
Ну, по крайней мере сейчас я имею дело с русскоговорящим представителем дистрибьютора.
maisvendoo Автор
18.09.2018 14:39Собственно в чем проблема — вот вы решили попастись в комментариях к статье о свободном ПО. Запретить я этого Вам не могу, но раз вы все-таки здесь, бросили тут рекламку, то будьте последовательны. Думаю всем здесь будет интересно узнать, в преимущество вашей лицензионной политики в сравнение с политикой ansys. А то выходит рекламу сбросили, а все разговоры уводите в личку. Нехорошо
FarsenaL
18.09.2018 14:50Запретить я этого Вам не могу, но раз вы все-таки здесь, бросили тут рекламку, то будьте последовательны
Рекламу я никакую не бросал (даже название софта не писал), а задал конкретный вопрос который волнует лично меня конкретному пользователю. Не подменяйте понятия)
Думаю всем здесь будет интересно узнать, в преимущество вашей лицензионной политики в сравнение с политикой ansys.
Я не компетентен в лицензионных политиках других компаний (кстати поэтому и был вопрос). Странно при этом проводить сравнения. К сожалению я, как вы, по первому взгляду на сайт не могу делать глобальные выводы)maisvendoo Автор
18.09.2018 15:05Вот тут в двух словах расписана наша лицензионная политика:
www.comsol.ru/products/licensing
Ваше? Ссылка на сайт с логотипом, торговой маркой и наименованием продукта. Уже реклама.
Не подменяйте понятия
Я называю вещи своими именами. И одновременно замечаю, что тональность дискуссии сменилась сразу после того, как стало понятно, что я задал свой вопрос не для того чтобы купить представляемый Вами продуктFarsenaL
18.09.2018 15:11Про ссылку: Вы спросили — я ответил.
Про тональность: вам виднее. Пока я просто отвечаю на ваши вопросы и удивляюсь вашим мгновенным выводам.maisvendoo Автор
18.09.2018 15:31удивляюсь вашим мгновенным выводам
Есть определенный опыт общения с продажниками
4apa
18.09.2018 14:55Если я правильно осмыслил требования лицензии по ссылке, при использовании именно в учебном процессе проблем возникнуть не должно. Другой вопрос, что у нас в большинстве своем учебные кафедры попутно зарабатывают коммерческими НИРами. Ну и, на всякий случай, отмечу, что не в восторге от засилья иностранного софта для численного моделирования в учебных учреждениях. Мое мнение, что лучше пусть человек решит задачу в одномерной постановке, но реализует ее сам, чем составит диплом из красивых картинок, полученных на основе видеоурока.
maisvendoo Автор
18.09.2018 15:43+1что не в восторге от засилья иностранного софта для численного моделирования в учебных учреждениях
Чаще всего иностранный софт предоставляется на более демократичных условиях для учебных заведений. К сожалению, об отечественных продуктах этого не скажешь — сплошные хаспы, ограничения и прочие рогатки. Когда только время на написание основного функционала у них остается
Мое мнение, что лучше пусть человек решит задачу в одномерной постановке, но реализует ее сам
Не все хорошие инженеры хотят быть программистами. А вот открытый инструмент, пусть не такого масштаба как коммерческий аналог, для обучения может оказаться хорошим решением. ИМХО
Alex_ME
17.09.2018 23:18У нас в университете (ВолгГТУ) много лет пилится монстр-пакет для многотельной динамики, который умеет в том числе и в МКЭ: http://frund.vstu.ru.
Правда, он скорее всего еще более непонятный, чем CalculiX, имеет несколько альтернативных версий, в которых я запутался и не богат документацией.
maisvendoo Автор
18.09.2018 07:00Да ладно! Отечественный проект с открытыми исходниками? Я удивлен.
Но только — почему svn а не git?
iFrund — секта свидетелей Джобса засудит за такое
maisvendoo Автор
18.09.2018 17:47Вообще я без сарказма, действительно удивился что в Волгограде пилят опенсорцный аналог UM. Написал вопрос в ЛС
vdvvdv
18.09.2018 09:53+1А где в этом ряду COMSOL Multiphysics?
maisvendoo Автор
18.09.2018 12:37В каком ряду?
vdvvdv
18.09.2018 13:12CAD-ов и решателей. По объему выполняемых задач на каком уровне, с чем можно сравнить?
maisvendoo Автор
18.09.2018 14:01Я не ставил целью делать обзор кадов и решателей. Навскидку приведены пара наиболее известных примеров. Статья о CalculiX
vdvvdv
18.09.2018 14:06Вопрос не только к вам. В комментариях сравнивают с другими пакетами. Мне показалась, что COMSOL довольно не маленький. Может кто-то знаком с ним и может сравнить с другими.
Вам большое спасибо за статью!
Teemon
Интересно, если есть еще что-то подобное, то давайте!
ЗЫ. Тот случай, когда на бумажке посчитать было бы быстрее)))))))
Kazancev
Не парьтесь, скачайте ночную сборку FreeCAD daily с FEM-интерфейсом, она уже содержит встроенный CalculiX (если нет — то в настройках указывается путь к решателю).
Xalium
А где их брать? Самому компилить? На странице загрузки ссылки на daily-сборки чего-то не нашел.
Kazancev
https://github.com/FreeCAD/FreeCAD/releases
Для Windows см. FreeCAD_0.18.14727_x64_dev_win.7z и FreeCAD_0.18.14727_x86_dev_win.7z
Xalium
это я видел, но дата чего-то не тянет на daily-сборку.
Kazancev
Написал ниже про сопромат. Также заглядывайте на ютуб-канал c уроками по CalculiX www.youtube.com/user/calculix09