StationaryResults

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

Описание

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

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

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

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

  • Измерения массива NodalSolution, XGradients, YGradients, и ZGradients позвольте вам извлечь решение и значения градиента для заданных индексов уравнения в системе УЧП.

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

Создание

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

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

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

Свойства

развернуть все

Mesh конечного элемента, возвращенная как объект FEMesh Properties.

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

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

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

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

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

Граница множества обусловливает таким образом, которые стоят 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.

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

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

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

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

Граница множества обусловливает таким образом что 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