exponenta event banner

assema

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

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

Описание

пример

[K,M,F] = assema(model,c,a,f) собирает матрицу жесткости K, большая матрица M, и вектор загрузки F использование mesh содержится в model, и коэффициенты УЧП cA, и 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)

Figure contains an axes object. The axes object contains 3 objects of type quiver, patch, line.

Создайте 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

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

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

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

(cu)+au=f

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

(cu)+au=f

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

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

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

(cu)+au=f

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

(cu)+au=f

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

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

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

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

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

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

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