evaluateReaction

Оцените силы реакции на контуре

Описание

пример

F = evaluateReaction(structuralresults,RegionType,RegionID) оценивает силы реакции на контуре, заданном RegionType и RegionID. Функция использует глобальную Декартову систему координат. Для переходного процесса и частотной характеристики структурные модели, evaluateReaction оценивает силы реакции навсегда и шаги частоты, соответственно.

Примеры

свернуть все

Создайте статическую структурную модель.

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

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

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

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

Задайте модуль Молодежи и отношение Пуассона.

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

Зафиксируйте один конец панели и подайте давление к противоположному концу.

structuralBC(structuralmodel,'Face',1,'Constraint','fixed')
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 1
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: "fixed"
                    Radius: []
                 Reference: []
                     Label: []

   Boundary Loads
                     Force: []
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: []
                     Label: []

structuralBoundaryLoad(structuralmodel,'Face',2,'Pressure',100)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 2
                Vectorized: 'off'

   Boundary Constraints and Enforced Displacements
              Displacement: []
             XDisplacement: []
             YDisplacement: []
             ZDisplacement: []
                Constraint: []
                    Radius: []
                 Reference: []
                     Label: []

   Boundary Loads
                     Force: []
           SurfaceTraction: []
                  Pressure: 100
    TranslationalStiffness: []
                     Label: []

Сгенерируйте mesh и решите задачу.

generateMesh(structuralmodel,'Hmax',0.003);
structuralresults = solve(structuralmodel);

Вычислите силы реакции на фиксированном конце.

reaction = evaluateReaction(structuralresults,'Face',1)
reaction = struct with fields:
    Fx: -1.3620e-06
    Fy: 2.2303e-06
    Fz: 0.0103

Оцените силы реакции в фиксированном конце луча, удовлетворяющего гармоническому возбуждению.

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

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

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

gm = multicuboid(0.06,0.005,0.01);
structuralmodel.Geometry = gm;
pdegplot(structuralmodel,'FaceLabels','on','FaceAlpha',0.5)
view(50,20)

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

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

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

Зафиксируйте один конец луча.

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

Примените синусоидальное смещение вдоль направления Y на конце напротив фиксированного конца луча.

structuralBC(structuralmodel,'Face',3, ...
                             'YDisplacement',1E-4, ...
                             'Frequency',50);

Сгенерируйте mesh.

generateMesh(structuralmodel,'Hmax',0.01);

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

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

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

tlist = 0:0.002:0.2;
structuralresults = solve(structuralmodel,tlist);

Вычислите силы реакции на фиксированном конце.

reaction = evaluateReaction(structuralresults,'Face',5)
reaction = struct with fields:
    Fx: [101x1 double]
    Fy: [101x1 double]
    Fz: [101x1 double]

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

свернуть все

Решение проблемы структурного анализа в виде StaticStructuralResults, TransientStructuralResults, или FrequencyStructuralResults объект. Создайте structuralresults при помощи solve функция.

Пример: structuralresults = solve(structuralmodel)

Геометрический тип области в виде 'Edge' для 2D модели или 'Face' для 3-D модели.

Пример: evaluateReaction(structuralresults,'Face',2)

Типы данных: char | string

Геометрический ID области в виде вектора из положительных целых чисел. Найдите идентификаторы области при помощи pdegplot.

Пример: evaluateReaction(structuralresults,'Face',2)

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

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

свернуть все

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

Введенный в R2017b