Занимаюсь реализацией метода конечных элементов для учебного архитектурного проекта.
Для этого использую метод перемещений с аппроксимирующими функциям форм. Конечные элементы - тетраэдры с четырьмя узлами. Матрица жесткости Kij = Bti*D*Bj, где: Bti - транспонированная матрица [3,6] градиентов для i-того узла, Bj - матрица [6,3] градиентов для j-того узла, D - матрица [6,6] упругих коэффициентов для трехмерных элементов.
Сборка глобальной матрицы:
1. Получаю матрицы для элементов Kij, для узлов (ii jj mm nn) и для связей.
2. Записываю Kij в глобальную матрицу соответственно глобальным узлам. В узлах суммирую, связи вычитаю. Получаю треугольную половину матрицы, т.к. Kij = Kji, и складываю с такой-же транспонированной. Определитель глобальной матрицы не равен нулю.
Редуцированная глобальная матрица:
Получаю обнулением строк и столбцов в заделанных узлах. На пересечении строк и столбцов ставлю 1.
Проблема заключается в том, что тестируемый объект (в качестве примера: консоль) - как бы заламывается





Спасибо!