StationaryResults

Независимое от времени решение УЧП и производные величины

Описание

A StationaryResults объект содержит решение УЧП и его градиентов в форме, удобной для графического изображения и постобработки.

  • A StationaryResults объект содержит решение и его градиент, вычисленный в узлах треугольного или тетраэдрического mesh, сгенерированный generateMesh.

  • Значения решения в узлах появляются в NodalSolution свойство.

  • Три компонента градиента значений решения в узлах появляются в XGradients, YGradients, и ZGradients свойства.

  • Область измерений массива NodalSolution, XGradients, YGradients, и ZGradients позволяет вам извлечь решение и градиентные значения для заданных индексов уравнений в системе PDE.

Чтобы интерполировать решение или его градиент в пользовательскую сетку (для примера, заданную как meshgrid), использование interpolateSolution или evaluateGradient.

Создание

Существует несколько способов создать StationaryResults объект:

  • Решите независимую от времени задачу, используя solvepde функция. Эта функция возвращает решение УЧП как StationaryResults объект. Это рекомендуемый подход.

  • Решите независимую от времени задачу, используя assempde или pdenonlin функция. Затем используйте createPDEResults функция для получения StationaryResults объект из PDE решения, возвращенный assempde или pdenonlin. Обратите внимание, что assempde и pdenonlin являются устаревшими функциями. Они не рекомендованы для решения задач УЧП.

Свойства

расширить все

Конечный элемент mesh, возвращенный как объект Свойств FEMesh.

Значения решения в узлах, возвращенные как вектор или массив. Для получения дополнительной информации о размерностях NodalSolution, см. Размерности решений, градиентов и потоков.

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

x -компонент градиента в узлах, возвращенный как вектор или массив. Для получения дополнительной информации о размерностях XGradients, см. Размерности решений, градиентов и потоков.

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

y -компонент градиента в узлах, возвращенный как вектор или массив. Для получения дополнительной информации о размерностях YGradients, см. Размерности решений, градиентов и потоков.

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

z -компонент градиента в узлах, возвращенный как вектор или массив. Для получения дополнительной информации о размерностях ZGradients, см. Размерности решений, градиентов и потоков.

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

Функции объекта

evaluateCGradientОцените поток решения PDE
evaluateGradientОценивайте градиентов решений УЧП в произвольных точках
interpolateSolutionИнтерполяция решения УЧП в произвольные точки

Примеры

свернуть все

Создайте модель УЧП для системы трех уравнений. Импортируйте геометрию скобки и постройте график меток граней.

model = createpde(3);
importGeometry(model,'BracketWithHole.stl');

figure
pdegplot(model,'FaceLabels','on')
view(30,30)
title('Bracket with Face Labels')

Figure contains an axes. The axes with title Bracket with Face Labels contains 3 objects of type quiver, patch, line.

figure
pdegplot(model,'FaceLabels','on')
view(-134,-32)
title('Bracket with Face Labels, Rear View')

Figure contains an axes. The axes with title Bracket with Face Labels, Rear View contains 3 objects of type quiver, patch, line.

Установите граничные условия таким образом, чтобы грань 4 была неподвижной, а грань 8 имела силу в отрицательном z направление.

applyBoundaryCondition(model,'dirichlet','Face',4,'u',[0,0,0]);
applyBoundaryCondition(model,'neumann','Face',8,'g',[0,0,-1e4]);

Установите коэффициенты, которые представляют уравнения линейной упругости. См. Линейные уравнения упругости.

E = 200e9;
nu = 0.3;
specifyCoefficients(model,'m',0,...
                          'd',0,...
                          'c',elasticityC3D(E,nu),...
                          'a',0,...
                          'f',[0;0;0]);

Создайте mesh.

generateMesh(model,'Hmax',1e-2);

Решить УЧП.

results = solvepde(model)
results = 
  StationaryResults with properties:

    NodalSolution: [14002x3 double]
       XGradients: [14002x3 double]
       YGradients: [14002x3 double]
       ZGradients: [14002x3 double]
             Mesh: [1x1 FEMesh]

Доступ к решению в узловых местоположениях.

u = results.NodalSolution;

Постройте график решения для z-компонент, который является компонентом 3.

pdeplot3D(model,'ColorMapData',u(:,3))

Получите StationaryResults объект от устаревшего решателя вместе с createPDEResults.

Создайте модель УЧП для системы трех уравнений. Импортируйте геометрию скобки и постройте график меток граней.

model = createpde(3);
importGeometry(model,'BracketWithHole.stl');

figure
pdegplot(model,'FaceLabels','on')
view(30,30)
title('Bracket with Face Labels')

Figure contains an axes. The axes with title Bracket with Face Labels contains 3 objects of type quiver, patch, line.

figure
pdegplot(model,'FaceLabels','on')
view(-134,-32)
title('Bracket with Face Labels, Rear View')

Figure contains an axes. The axes with title Bracket with Face Labels, Rear View contains 3 objects of type quiver, patch, line.

Установите граничные условия так, чтобы F4 является неподвижным, и F8 имеет силу в отрицательном z направление.

applyBoundaryCondition(model,'dirichlet','Face',4,'u',[0,0,0]);
applyBoundaryCondition(model,'neumann','Face',8,'g',[0,0,-1e4]);

Установите коэффициенты для устаревшего решателя, которые представляют уравнения линейной упругости. См. Линейные уравнения упругости.

E = 200e9;
nu = 0.3;
c = elasticityC3D(E,nu);
a = 0;
f = [0;0;0];

Создайте mesh.

generateMesh(model,'Hmax',1e-2);

Решите задачу с помощью устаревшего решателя.

u = assempde(model,c,a,f);

Создайте StationaryResults объект из решения.

results = createPDEResults(model,u)
results = 
  StationaryResults with properties:

    NodalSolution: [14002x3 double]
       XGradients: [14002x3 double]
       YGradients: [14002x3 double]
       ZGradients: [14002x3 double]
             Mesh: [1x1 FEMesh]

Доступ к решению в узловых местоположениях.

u = results.NodalSolution;

Постройте график решения для z-компонент, который является компонентом 3.

pdeplot3D(model,'ColorMapData',u(:,3))

Введенный в R2016a