| Разобрался, сделал суммирование по каждой строке СЛАУ и поместил сумму в диагональный элемент. Подход обоснован с физической точки зрения для матриц масс, когда в интеграле стоят только произведения базисных функций (без производных). Для всех остальных случаев такой подход не применим. Получается, что мы укрупняем массу элемента и помещаем ее в конкретный узел.Нет разницы, как делать такое суммирование - можно собрать глобальную матрицу и потом просуммировать, можно сразу в локальной суммировать, а потом размещать в глобальной. Если, конечно, необходимо экономить оперативную память, то лучше суммирование делать в локальной матрице масс.
 
 Провел тест на движении уединенной волны по ровному дну, когда СЛАУ решается методом сопряженных градиентов и при помощи диагонализации. Решения немного отличаются, но в целом законы сохранения выполняются также.
 Зенкевич говорит, что диагонализация приводит к некоторому сглаживанию, в результате чего решение стабилизируется. Пока как это оценить - не знаю.
 
 |