CalculiX

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Описание[править | править вики-текст]

CalculiX
Lav.png
Тип

Метод конечных элементов

Разработчик

Гидо Донт, Клаус Виттиг

Написана на

Си

Операционная система

Linux, Windows

Последняя версия

2.8 (2015)

Лицензия

GPL

Сайт

calculix.de

CalculiX — открытый, свободный программный пакет, предназначенный для решения линейных и нелинейных трёхмерных задач механики твёрдого деформируемого тела с помощью метода конечных элементов. Распространяется под лицензией GNU General Public License. Авторы программы Guido Dhondt (модуль CCX — решатель) и Klaus Wittig (модуль CGX — пре-, постпроцессор) работают в холдинге MTU Aero Engines, производящем двигатели для самолётов. Изначально создавался для Linux, в настоящее время существуют сборки для Windows и MacOS. CalculiX входит в состав дистрибутива CAELinux.

CalculiX является мощным инструментом анализа, который предоставляет пользователю возможность ПОЛНОГО КОНТРОЛЯ над процессом анализа благодаря гибкости настройки конфигурации. Свыше 18 разновидностей решаемых задач, покрывающих большинство областей МКЭ, возможность изменять любые внутренние переменные по желанию пользователя.

Препроцессор генеририрует данные как для CCX, так и CFD-данные для duns, ISAAC, OpenFOAM, а также входные input-файлы для коммерческих решателей Nastran, Ansys, Abaqus, некоммерческого решателя code-aster. Препроцессор в состоянии генерировать сетку из файлов STL и др.

Существует отдельная сборка с патчем, задействующим CUDA и пост/препроцессор ParaView.[1][2][3] С дистрибутивом CAELinux поставляется пакет Calculix Wizard для переброски проекта из Salome в формат CCX. В Salome подготавливается необходимая геометрия и сетка, при необходимости устанавливают граничные условия и контактные ограничения.[3] Близкими возможностями обладает пакет CalculiXForWin. Отдельно есть возможность скомпилировать ССХ для Android или настроить удалённый сервер на Debian.[4]

Документация поставляется непосредственно с исходниками, вместе с пакетом bConverged для Windows, и с пакетом CalculiXForWin (http://www.calculixforwin.com/). На видеохостинге YouTube лежат обучающие видеоролики.[5][6][7] На форуме dwg.ru есть документация и статьи с обучающими примерами на русском. Техподдержка по возникающим вопросам проводится непосредственно разработчиками и активным сообществом на официальном канале https://groups.yahoo.com/neo/groups/CALCULIX/info Верификация результатов термального анализа: http://angliaruskin.openrepository.com/arro/handle/10540/337179 Верификация контактных задач: https://aaltodoc.aalto.fi/bitstream/handle/123456789/12665/master_Hokkanen_Jaro_2014.pdf Сверка результатов прочностного анализа присутствует в статьях на форуме dwg.ru, а также в файлах справки CalculiXForWin.

Виды анализа:

   * Статический
   * Частотный
   * Потеря устойчивости
   * Модальный
   * Стационарный динамический
   * Динамический прямым интегрированием
   * Теплоперенос
   * Акустика
   * Shallow water motion
   * Гидродинамическая смазка
   * Irrotational incompressible inviscid flow
   * Электростатика
   * Stationary groundwater flow
   * Диффузионный массоперенос
   * Aerodynamic Networks
   * Hydraulic Networks
   * Турбулентное течение в открытом канале

Бегло взглянуть на возможности CalculiX позволяет фрагмент модели турбореактивного двигателя в карточке программы. Модель построили в начале 90-х гг. Andreas Funke и Klaus Wittig. КЭ-модель позволила определить скорость зажигания и верхнюю частоту вращения, соответствующую низкой усталости и ползучести. Дополнительно был проведён анализ на собственные частоты для оценки возможного резонанса лопаток. Модель, созданная циклическим вращением, посечена 20-узловыми квадратными редуцированными элементами. Материал компрессора — литьевой алюминиевый сплав AlSi — C355, турбина выполнена из термопрочного сплава Inco 713C. Оба нагружены центростремительными силами.

Интерфейс CalculiX GraphiX: CGX[править | править вики-текст]

Программа использует библиотеку openGL для визуализации и библиотеку glut для управления окном и обработки событий.

Пользовательский интерфейс CalculiX позволяет создавать геометрическую модель, строить сетку, задавать ограничения и нагрузки, а также проводить постобработку. Хотя он включает область графического дисплея с возможностью выполнения действий с КЭ-моделью при помощи мышки, большинство работы предпочтительно выполнять при помощи ввода команд с клавиатуры. Поэтому следует знать названия и синтаксис каждой команды, или по меньшей мере штудировать справку. Несмотря на обилие документации работа с помощью клавиатурных команд не сложна, а управляемость позволяет создавать пользователям свои собственные функции, например для манипуляции данными полученных результатов или для перезаписи их в определённый пользователем формат.

CGX позволяет вводить данные о геометрии либо в пакетном виде (из файла исходных данных), либо в интерактивном режиме.

Геометрия задается с помощью следующих основных команд:

  • PNT (Point, точка),
  • LINE, QLIN (Line, линия, соединяющая две или более точек),
  • SURF, GSUR, QSUR (Surface, поверхность, ограниченная линиями, общее число линий может варьироваться от 3 до 5),
  • BODY, GBOD, QBOD (Body, тело, объём, ограниченный от 2 до 7 поверхностями),
  • SETA (Set, множество элементов, например, поверхностей или точек).

Таким образом, создание расчетной области в терминах CalculiX GraphiX содержит следующие этапы:

  1. Задание множества точек, определяющих геометрию расчетной области: в это множество входят как точки, принадлежащие расчетной области, так и те, что используются в вспомогательных целях (например, для построения дуги необходимо иметь три точки — две для обозначения начала и конца дуги и одна — для обозначения центра).
  2. Задание контуров, ограничивающих расчетную область и блоки, из которых она состоит.
  3. Построение ограничивающих поверхностей.
  4. Определение объёмов расчетной области.
  5. Определение одного или более множеств внешних поверхностей, для которых будут поставлены граничные условия.

После того, как получена геометрия, определены внешние поверхности, производится дискретизация пространства (создание сетки), результаты которой сохраняются в файл.

После решения задачи в CCX результаты могут быть визуализированы вызовом CGX. Наиболее частые команды в постпроцессоре представлены в выпадающем меню: НДС, создание анимации статического нагружения и динамической задачи, история нагружения, облако точек, построение сечения, увеличение и вращение модели и т. д.

File Formats[править | править вики-текст]

The following file-formats are available to write(w) and/or read(r) geometric entities[править | править вики-текст]

• fbd-format(r/w), this format consists of a collection of commands explained in the section «Commands» and it is mainly used to store geometrical information like points, lines, surfaces and bodies. But it can also be used to define a batch job which uses the available commands. • step-format(r), reverse engineered based on some cad files. Only points and certain types of lines are supported currently. • stl-format(r/w), this format describes a shape using only triangles (see the read command to handle edges generated by NETGEN).dges generated by NETGEN).

The following file-formats are available to write a mesh and certain boundary conditions:[править | править вики-текст]

• Abaqus, which is also used by the CalculiX solver ccx. • Ansys, most boundary conditions available. • Code Aster, mesh and sets of nodes and elements are available. • Samcef, mesh and sets of nodes and elements are available. • dolfyn, a free cfd-code. • duns, a free cfd-code. • isaac, a free cfd-code. • OpenFOAM, a free cfd-code, only 8-noded brick-elements are supported. • Nastran, most boundary conditions available. • tochnog, a free fem-code, only 8-noded brick-elements are supported.

The following solver-input-file-formats can be read to check the mesh, sets and certain boundary conditions:[править | править вики-текст]

• Abaqus, this is also used by the CalculiX solver ccx. • Netgen, read Netgen native format (.vol)

The following file-formats are available to read solver results:[править | править вики-текст]

• frd-format, files of this format are used to read results of previous calculations like displacements and stresses. This format is described in section «Result Format.» It is also used by ccx. • duns, a free cfd-code, • isaac, a free cfd-code, • OpenFOAM, a free cfd-code.

CalculiX CrunchiX: CCX[править | править вики-текст]

Применение МКЭ к задачам реальной жизни не всегда приводит к достоверным результатам. В особенности не просто добиться сходимости нелинейных задач (большие деформации, нелинейное поведение материала, контактов). Тем не менее, строгое соблюдение ряда простых правил сделает работу значительно эффективнее.

1. Проверяйте качество сетки в CalculiX GraphiX или в ином хорошем препроцессоре.

2. Работая с нелинейной задачей ВНАЧАЛЕ ЗАПУСТИТЕ ЛИНЕАРИЗОВАННУЮ ВЕРСИЮ: отключите большие деформации (закомментируйте NLGEOM), используйте линейно-эластичный материал и отключите все оставшиеся нелинейности (контакты). В случае если линеаризованная версия не запустится на решение, то не будет работать и нелинейная. То есть линеаризованная задача позволяет легко проверить корректность граничных условий (no unrestrained rigid body modes), нагрузок и т. д. Кроме того, Вы примерно будете знать, как выглядит решение.

3. ИСПОЛЬЗУЙТЕ КВАДРАТИЧНЫЕ ЭЛЕМЕНТЫ (C3D10, C3D15, C3D20(R), S8, CPE8, CPS8, CAX8, B32). The standard shape functions for quadratic elements are very good. Most finite element programs use these standard functions. For linear elements this is not the case: linear elements exhibit all kind of weird behavior such as shear locking and volumetric locking. Therefore, most finite element programs modify the standard shape functions for linear elements to alleviate these problems. However, there is no standard way of doing this, so each vendor has created his own modifications without necessarily publishing them. This leads to a larger variation in the results if you use linear elements. Since CalculiX uses the standard shape functions for linear elements too, the results must be considered with care.

4. If you are using shell elements, beam elements or plane stress elements, use the option OUTPUT=3D on the *NODE FILE card in CalculiX. That way you get the expanded form of these elements in the .frd file. You can easily verify whether the thicknesses you specified are correct. Furthermore, you get the 3D stress distribution. It is the basis for the 1D/2D stress distribution and the internal beam forces. If the former is incorrect, so will the latter be.

5. If you include contact in your calculations and you are using quadratic elements, first avoid to include middle nodes in the slave surface. In CalculiX, slave middle nodes in contact formulations are internally connected to their neighboring vertex nodes by means of multiple point constraints. This makes the contact area stiffer. It may lead to undesirable results if a lot of bending is involved.

6. if you do not have enough space to run a problem, check the numbering. The memory needed to run a problem depends on the largest node and element numbers (the computational time, though, does not). So if you notice large gaps in the numbering, get rid of them and you will need less memory. In some problems you can save memory by choosing an iterative solution method. The iterative scaling method (cf. *STATIC) needs less memory than the iterative Cholesky method, the latter needs less memory than SPOOLES or PARDISO.

Возможности версии 2.8[8][править | править вики-текст]

Виды анализа[править | править вики-текст]

  • статический
  • линейный
  • нелинейный
    • геометрическая нелинейность
    • нелинейные свойства материала
  • линеаризованный анализ собственных частот
  • динамика
    • линейный
      • нестационарный (transient modal dynamics)
      • стационарный (steady state dynamics)
        • гармонический (harmonic periodic loading)
        • негармонический периодический (non-harmonic periodic loading)
  • нелинейный
    • неявный
    • явный
  • устойчивость
  • теплопередача
    • стационар
    • нестационар
  • связанный термомеханический
    • стационар
    • нестационар
  • steady-state networks
    • aerodynamic networks
    • hydraulic pipe systems
    • turbulent flow in open channels
  • аналоги задач Лапласа и Гельмгольца
    • электростатика
    • Seepage flow [фильтрационных потоков]
    • Inviscid incompressible irrotional flow
    • Lubrication [смазывание]
    • линейная акустика
    • Shallow water waves
    • диффузионный массоперенос в стационарной среде
  • Гидродинамика (нестационар)
    • ламинарный несжимаемый поток (жидкости)
    • ламинарный сжимаемый поток (газы)
  • Электромагнетизм
    • магнитостатика
    • индуктивный нагрев

Материалы[править | править вики-текст]

  • линейный эластичный (изотропный, ортотропный или полностью анизотропный)
  • изотропный гиперэластичный (compressible as well as nearly incompressible)
  • deformation plasticity (Ramberg-Osgood)
  • large deformation incremental isotropic (visco)plasticity with isotropic and kinematic hardening)
  • large deformation creep for isotropic materials
  • fiber reinforced anisotropic hyperelastic materials (e.g. arteries) [армированные анизотропные гиперупругие материалы (например, артерии)]
  • small deformation isotropic viscoplastic theory for elastically isotropic materials
  • small deformation isotropic viscoplastic theory for elastically anisotropic materials
  • small deformation anisotropic viscoplastic theory for single crystals
  • материалы, заданные пользователем

Конечные элементы[править | править вики-текст]

  • 8-node brick element (full or reduced integration)
  • 20-node brick element (full or reduced integration)
  • 20-node incompressible element
  • 4-node tetrahedral element
  • 10-node tetrahedral element
  • 6-node wedge element
  • 15-node wedge element
  • 6-node plane strain element
  • 6-node plane stress element
  • 6-node axisymmetric element
  • 6-node shell element
  • 8-node plane strain element (full or reduced integration)
  • 8-node plane stress element (full or reduced integration)
  • 8-node axisymmetric element (full or reduced integration)
  • 8-node shell element (full or reduced integration)
  • 3-node beam element (full or reduced integration)
  • 3-node fluid element (for forced convection)
  • 4-node, 5-node, 7-node and 9-node contact spring elements
  • 2-node gap element
  • 2-node linear and nonlinear springs
  • 2-node linear dashpots
  • composite constructs consisting of beam and shell elements

Нагрузки[править | править вики-текст]

  • сосредоточенные силы
  • распределённое давление
  • центробежное нагружение
  • гравитация по известному вектору
  • обобщенная сила тяжести
  • объемная нагрузка
  • температурная нагрузка
  • остаточные напряжения
  • сосредоточенный поток (concentrated flux)
  • распределённый поток (distributed flux)
  • prescribed convection conditions and forced convection (конвекция)
  • prescribed radiation conditions and cavity radiation (излучение)

Граничные условия[править | править вики-текст]

  • single point constraints
  • linear multiple point constraints
  • cyclic symmetry conditions
  • tied contact
  • penalty contact (small and large sliding) for static, dynamic and modal dynamic calculations

Kinematic behavior[править | править вики-текст]

  • Rigid body motion
  • Nodes on a straight line defined by movable nodes
  • Nodes in a plane defined by movable nodes
  • Application of a mean rotation to a set of nodes
  • Maximum distance MPC
  • Pre-tension [Преднапряжение]

Координатные системы[править | править вики-текст]

  • глобальная картезианская
  • локальная картезианская
  • локальная цилиндрическая

Решатели линейный уравнений[править | править вики-текст]

  • interface for the direct sparse matrix solver SPOOLES
  • interface for the direct sparse matrix solver TAUCS
  • interface for the direct sparse matrix solver of the SGI scientific library
  • interface for the direct sparse matrix solver PARDISO
  • iterative solver (with diagonal scaling or Cholesky preconditioning)

Output options[править | править вики-текст]

  • Displacements [Перемещения]
  • Velocity [Скорость]
  • Stress [Напряжение]
  • Section forces for beams
  • Strain [Деформация]
  • Forces (including sum over sets) [Силы, включая сумму по группе]
  • Temperature (static) [Температура]
  • Equivalent plastic strain [Пластические деформации]
  • Energy density (including sum over sets) [Плотность энергии]
  • Internal variables [Внутренние переменны]
  • Heat flux [Поток]
  • Heat sources
  • Volume (including sum over sets)
  • Static pressure (for CFD and liquid networks) [Статическое давление]
  • Total pressure (for CFD and gas networks)
  • Mass flow (for networks)
  • Total temperature (for CFD and networks)
  • Pressure coefficient (for CFD)
  • Mach number (for CFD) [Число Маха]
  • Fluid depth (for fluid channels)
  • Critical depth (for fluid channels)
  • Electric potential and electric current density (for electromagneticcalculations)
  • Electric and magnetic field (for electromagnetic calculations

Литература[править | править вики-текст]

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]