exponenta event banner

assema

(Не рекомендуемый) вклады интеграла области Assemble

assema не рекомендуется. Используйте assembleFEMatrices вместо этого.

Синтаксис

[K,M,F] = assema(model,c,a,f)
[K,M,F] = assema(p,t,c,a,f)

Описание

пример

[K,M,F] = assema(model,c,a,f) собирает матрицу жесткости K, большая матрица M и вектор загрузки F с помощью mesh, содержавшейся в model и коэффициентах УЧП c, a и f.

пример

[K,M,F] = assema(p,t,c,a,f) собирает матрицы от данных о mesh в p и t.

Примеры

свернуть все

Соберите матрицы конечного элемента для эллиптической проблемы на сложной геометрии.

УЧП является уравнением Пуассона,

-u=1.

Partial Differential Equation Toolbox™ решает уравнения формы

-(cu)+au=f.

Так, представляйте уравнение Пуассона в синтаксисе тулбокса установкой c = 1, a = 0, и f = 1.

c = 1;
a = 0;
f = 1;

Создайте контейнер модели PDE. Импортируйте файл ForearmLink.stl в модель и исследуйте геометрию.

model = createpde;
importGeometry(model,'ForearmLink.stl');
pdegplot(model,'FaceAlpha',0.5)

Создайте mesh для модели.

generateMesh(model);

Создайте матрицы конечного элемента из mesh и коэффициентов.

[K,M,F] = assema(model,c,a,f);

Возвращенный матричный K довольно разрежен. M не имеет никаких ненулевых записей.

disp(['Fraction of nonzero entries in K is ',num2str(nnz(K)/numel(K))])
Fraction of nonzero entries in K is 0.001094
disp(['Number of nonzero entries in M is ',num2str(nnz(M))])
Number of nonzero entries in M is 0

Соберите матрицы конечного элемента для 2D L-образной области, с помощью [p, e, t] представление mesh.

Задайте геометрию с помощью функции lshapeg, включал программное обеспечение.

g = @lshapeg;

Используйте коэффициенты c = 1, a = 0 и f = 1.

c = 1;
a = 0;
f = 1;

Создайте mesh и соберите матрицы конечного элемента.

[p,e,t] = initmesh(g);
[K,M,F] = assema(p,t,c,a,f);

Возвращенный матричный M имеет все нули. Матрица K довольно разреженна.

disp(['Fraction of nonzero entries in K is ',num2str(nnz(K)/numel(K))])
Fraction of nonzero entries in K is 0.042844
disp(['Number of nonzero entries in M is ',num2str(nnz(M))])
Number of nonzero entries in M is 0

Входные параметры

свернуть все

Модель PDE, заданная как объект PDEModel.

Пример: model = createpde

Коэффициент УЧП, заданный как скаляр, матрица, вектор символов, символьный массив, представляет в виде строки скаляр, вектор строки или коэффициентную функцию. c представляет коэффициент c в скалярном УЧП

(cu)+au=f

или в системе УЧП

(cu)+au=f

Вы можете specifyc в различных способах, детализированных в c Коэффициенте для Систем. См. также Задают Скалярные Коэффициенты УЧП в символьной Форме, Задают 2D Скалярные Коэффициенты в Функциональной Форме и Задают 3-D Коэффициенты УЧП в Функциональной Форме.

Пример: 'cosh(x+y.^2)'

Типы данных: double | char | string | function_handle
Поддержка комплексного числа: Да

Коэффициент УЧП, заданный как скаляр, матрица, вектор символов, символьный массив, представляет в виде строки скаляр, вектор строки или коэффициентную функцию. a представляет коэффициент a в скалярном УЧП

(cu)+au=f

или в системе УЧП

(cu)+au=f

Вы можете specifya в различных способах, детализированных в a или d Коэффициенте для Систем. См. также Задают Скалярные Коэффициенты УЧП в символьной Форме, Задают 2D Скалярные Коэффициенты в Функциональной Форме и Задают 3-D Коэффициенты УЧП в Функциональной Форме.

Пример: 2*eye(3)

Типы данных: double | char | string | function_handle
Поддержка комплексного числа: Да

Коэффициент УЧП, заданный как скаляр, матрица, вектор символов, символьный массив, представляет в виде строки скаляр, вектор строки или коэффициентную функцию. f представляет коэффициент f в скалярном УЧП

(cu)+au=f

или в системе УЧП

(cu)+au=f

Вы можете specifyf в различных способах, детализированных в f Коэффициенте для Систем. См. также Задают Скалярные Коэффициенты УЧП в символьной Форме, Задают 2D Скалярные Коэффициенты в Функциональной Форме и Задают 3-D Коэффициенты УЧП в Функциональной Форме.

Пример: char('sin(x)';'cos(y)';'tan(z)')

Типы данных: double | char | string | function_handle
Поддержка комплексного числа: Да

Поймайте в сети точки, заданные как 2 Np матрицей точек, где Np является числом точек в mesh. Для описания (p, e, t) матрицы, смотрите Данные о Mesh.

Как правило, вы используете p, e и данные t, экспортированные из приложения PDE Modeler или сгенерированные initmesh или refinemesh.

Пример: [p,e,t] = initmesh(gd)

Типы данных: double

Поймайте в сети треугольники, заданные как 4-by-Nt матрица треугольников, где Nt является количеством треугольников в mesh. Для описания (p, e, t) матрицы, смотрите Данные о Mesh.

Как правило, вы используете p, e и данные t, экспортированные из приложения PDE Modeler или сгенерированные initmesh или refinemesh.

Пример: [p,e,t] = initmesh(gd)

Типы данных: double

Выходные аргументы

свернуть все

Матрица жесткости, возвращенная как разреженная матрица. Смотрите Эллиптические уравнения.

Как правило, вы используете K в последующем вызове assempde.

Большая матрица. возвращенный как разреженная матрица. Смотрите Эллиптические уравнения.

Как правило, вы используете M в последующем вызове решателя, такого как assempde или hyperbolic.

Вектор загрузки, возвращенный как вектор. Смотрите Эллиптические уравнения.

Как правило, вы используете F в последующем вызове assempde.

Смотрите также

Представлено до R2006a