Соберите матрицы конечного элемента
FEM = assembleFEMatrices(model)FEM = assembleFEMatrices(model,bcmethod)M большой матрицы является ненулевым, когда модель является зависящей от времени. При помощи этой матрицы можно решить модель с Рейли, ослабляющим. Для примера смотрите Динамику Ослабленного Консольного Луча.
Для тепловой модели m и коэффициенты a являются нулями. Теплопроводность сопоставляет с коэффициентом c. Продукт массовой плотности и удельной теплоемкости сопоставляет с коэффициентом d. Внутренний источник тепла сопоставляет с коэффициентом f.
Для структурной модели коэффициент a является нулем. Модуль Молодежи и отношение Пуассона сопоставляют с коэффициентом c. Массовая плотность сопоставляет с коэффициентом m. Загрузки тела сопоставляют с коэффициентом f. Когда вы задаете модель затухания при помощи Рейли, ослабляющего параметры Alpha и Beta, дискретизированный ослабляющий матричный C вычисляется при помощи большой матрицы M и матрица жесткости K как C = Alpha*M+Beta*K.
Полные матрицы конечного элемента и векторы следующие:
K является матрицей жесткости, интегралом коэффициента c против основных функций.
M является большой матрицей, интегралом m или коэффициента d против основных функций.
A является интегралом коэффициента a против основных функций.
F является интегралом коэффициента f против основных функций.
Q является интегралом граничного условия q против основных функций.
G является интегралом граничного условия g против основных функций.
H и матрицы R прибывают непосредственно из условий Дирихле и mesh.
Учитывая эти матрицы, метод 'nullspace' генерирует объединенные матрицы конечного элемента [Kc, Fc, B, ud] можно следующим образом. Объединенной матрицей жесткости является для уменьшаемой линейной системы Kc = K + M + Q. Соответствующим объединенным вектором загрузки является Fc = F + G. Матрица B охватывает пустой пробел столбцов H (матрица условия Дирихле представление hu = r). Вектор R представляет условия Дирихле в Hu = R. Вектор ud представляет решения для граничного условия для условий Дирихле.
Из матриц 'nullspace' можно вычислить решение u как
u = B*(Kc\Fc) + ud.
Внутренне, для независимых от времени проблем, solvepde использует метод 'nullspace' и вычисляет решения с помощью u = B*(Kc\Fc) + ud.
Метод 'stiff-spring' возвращает матричный Ks и векторный Fs, которые вместе представляют другой тип объединенных матриц конечного элемента. Приближенным решением u является u = Ks\Fs.
По сравнению с методом 'nullspace' метод 'stiff-spring' генерирует матрицы более быстро, но обычно дает менее точные решения.
PDEModel | StructuralModel | ThermalModel | solve | solvepde