Simple_FEM3D -- учебная программа для расчёта задач теории упругости методом конечных элементов в трёхмерной постановке. Несмотря на простоту реализации программа позволяет расчитывать конструкции с точечным и распределённым нагружением, в которых может присутствовать несколько материалов с различными упругими свойствами.
input.inp - входной файл. Имеется возможность здания как точечного силового воздействия, так и нагружения на выбранной границе.
mesh/ - папка с входным файлом *.geo для сеткопостроителя GMSH и
файлом построенной сетки *.mesh.
results/.. - папка с результатами.
src/..
object.h - массивы классов узлов, граничных и поверхностных (ячеек) элементов.
numerical.h - численные параметры (масштабирование сетки).
src/paraview/..
out.cpp - генерация выходного файла для визуализатора Paraview.
src/reader/..
read_input_file.cpp - чтение входного файл input.inp.
construction_mesh.cpp - построение связей между элементами (узлами, элементами).
src/solver/..
boundary.cpp - установка неподвижных граничных условий.
geometry.cpp - вычисление площади элемента и элементов матрицы Коши [1].
linalg.cpp - вычисление СЛАУ Ku=F итерационным методом сопряжённых градиентов (Вабищевич) [2].
shift.cpp - определение матрицы Гука, расчёт матриц локальной и глобальной жёсткости K (Вычисления проводятся в рамках разреженной матрицы).
solver.cpp - файл поэтапного вызова главных расчётных функций.
stress_value.cpp - вычисление элементов тензора деформаций и напряжений для каждой ячейки расчётной сетки.
Литература:
Л. Сегерлинд. Применение метода конечных элементов. 1979.
О. Зенкевич. Метода конечных элементов в технике. 1975.
[1]. Павленко И.В. Метод конечных элементов в задачах сопротивления материалов и линейной теории упругости. 2006.
[2]. П.Н. Вабищевич. Численные методы. Вычислительный практикум при использовании алгоритмического языка Python. 2010.