exponenta event banner

TransientStructuralResults

Переходное структурное решение и его выведенные количества

Описание

Объект TransientStructuralResults содержит смещение, скорость и ускорение в форме, удобной для графического вывода и постобработки.

О смещении, скорости и ускорении сообщают для узлов треугольной или четырехгранной mesh, сгенерированной generateMesh. Смещение, скорость и ускоряющие значения в узлах появляются как массивы структур в Displacement, Velocity и свойствах Acceleration. Поля массивов структур содержат компоненты смещения, скорости и ускорения в узловых местоположениях.

Чтобы оценить напряжение, деформацию, напряжение фон Мизеса, главное напряжение и основная деформация в узловых местоположениях, используют evaluateStress, evaluateStrain, evaluateVonMisesStress, evaluatePrincipalStress и evaluatePrincipalStrain, соответственно.

Чтобы оценить силы реакции на заданном контуре, используйте evaluateReaction.

Чтобы интерполировать смещение, скорость, ускорение, напряжение, деформация, и напряжение фон Мизеса к пользовательской сетке, такой как та, заданная meshgrid, использует interpolateDisplacement, interpolateVelocity, interpolateAcceleration, interpolateStress, interpolateStrain и interpolateVonMisesStress, соответственно.

Создание

Решите динамическую линейную проблему эластичности при помощи функции solve. Эта функция возвращает переходное структурное решение как объект TransientStructuralResults.

Свойства

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

Значения смещения в узлах, возвращенных как массив структур. Поля массива структур содержат компоненты смещения в узловых местоположениях.

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

Скоростные значения в узлах, возвращенных как массив структур. Поля массива структур содержат компоненты скорости в узловых местоположениях.

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

Ускоряющие значения в узлах, возвращенных как массив структур. Поля массива структур содержат компоненты ускорения в узловых местоположениях.

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

Времена решения, возвращенные как вектор действительных чисел. SolutionTimes совпадает с входом tlist к solve.

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

Mesh конечного элемента, возвращенная как объект FEMesh. Для получения дополнительной информации смотрите FEMesh Properties.

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

evaluateStressОцените напряжение для динамической проблемы структурного анализа
evaluateStrainОцените деформацию для динамической проблемы структурного анализа
evaluateVonMisesStressОцените напряжение фон Мизеса для динамической проблемы структурного анализа
evaluateReactionОцените силы реакции на контуре
evaluatePrincipalStressОцените главное напряжение в узловых местоположениях
evaluatePrincipalStrainОцените основную деформацию в узловых местоположениях
interpolateDisplacementИнтерполируйте смещение в произвольных пространственных местоположениях
interpolateVelocityИнтерполируйте скорость в произвольных пространственных местоположениях, навсегда продвигается для переходной структурной модели
interpolateAccelerationИнтерполируйте ускорение в произвольных пространственных местоположениях, навсегда продвигается для переходной структурной модели
interpolateStressИнтерполируйте напряжение в произвольных пространственных местоположениях
interpolateStrainИнтерполируйте деформацию в произвольных пространственных местоположениях
interpolateVonMisesStressИнтерполируйте напряжение фон Мизеса в произвольных пространственных местоположениях

Примеры

свернуть все

Решите для переходного ответа тонкой 3-D пластины при гармонической загрузке в центре.

Создайте переходную динамическую модель для 3-D проблемы.

structuralmodel = createpde('structural','transient-solid');

Создайте геометрию и включайте ее в модель. Постройте геометрию.

gm = multicuboid([5,0.05],[5,0.05],0.01);
structuralmodel.Geometry=gm;
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.5)

Увеличьте масштаб, чтобы видеть метки поверхности на маленькой пластине в центре.

figure
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.25)
axis([-0.2 0.2 -0.2 0.2 -0.1 0.1])

Задайте модуль Молодежи, отношение Пуассона и массовую плотность материала.

structuralProperties(structuralmodel,'YoungsModulus',210E9,...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Укажите, что все поверхности на периферии тонкой 3-D пластины являются зафиксированными контурами.

structuralBC(structuralmodel,'Constraint','fixed','Face',5:8);

Примените синусоидальную нагрузку давления на маленькую поверхность в центре пластины.

structuralBoundaryLoad(structuralmodel,'Face',12,'Pressure',5E7,'Frequency',25);

Сгенерируйте mesh с линейными элементами.

generateMesh(structuralmodel,'GeometricOrder','linear','Hmax',0.2);

Задайте нулевое начальное смещение и скорость.

structuralIC(structuralmodel,'Displacement',[0;0;0],'Velocity',[0;0;0]);

Решите модель.

tlist = linspace(0,1,300);
structuralresults = solve(structuralmodel,tlist)
structuralresults = 
  TransientStructuralResults with properties:

     Displacement: [1x1 struct]
         Velocity: [1x1 struct]
     Acceleration: [1x1 struct]
    SolutionTimes: [1x300 double]
             Mesh: [1x1 FEMesh]

Решатель находит значения смещения, скорости и ускорения в узловых местоположениях. Чтобы получить доступ к этим значениям, используйте structuralresults.Displacement, structuralresults.Velocity, и так далее. Смещение, скорость и ускорение являются массивами структур с полями, представляющими их компоненты.

structuralresults.Displacement
ans = struct with fields:
           ux: [1873x300 double]
           uy: [1873x300 double]
           uz: [1873x300 double]
    Magnitude: [1873x300 double]

structuralresults.Velocity
ans = struct with fields:
           vx: [1873x300 double]
           vy: [1873x300 double]
           vz: [1873x300 double]
    Magnitude: [1873x300 double]

structuralresults.Acceleration
ans = struct with fields:
           ax: [1873x300 double]
           ay: [1873x300 double]
           az: [1873x300 double]
    Magnitude: [1873x300 double]

Введенный в R2018a