structuralBoundaryLoad

Задайте краевые нагрузки для несущей модели

Описание

пример

structuralBoundaryLoad(structuralmodel,RegionType,RegionID,'SurfaceTraction',STval,'Pressure',Pval,'TranslationalStiffness',TSval) задает поверхностную тягу, давление и поступательную жесткость на контуре типа RegionType с RegionID Идентификационные номера.

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

  • Давление должно быть задано в направлении, перпендикулярном контуру. В контур действует положительное значение давления (для примера, сжатия). Значение отрицательного давления действует от контура (для примера, всасывания).

  • Поступательная жесткость является распределенной жесткостью пружины для каждого поступательного направления. Поступательная жесткость используется для моделирования упругого фундамента.

structuralBoundaryLoad не требует, чтобы вы задавали все три граничные нагрузки. В зависимости от задачи структурного анализа можно задать одну или несколько граничных нагрузок, выбрав соответствующие аргументы и опуская другие. Можно задать поступательную жесткость для любой несущей модели. Чтобы задать давление или поверхностную тягу, structuralmodel должна быть статической, переходной или частотная характеристика моделью. Структурные модели для модального анализа не могут иметь давление или поверхностную тягу.

Граничная нагрузка по умолчанию является граничным условием без напряжения.

пример

structuralBoundaryLoad(structuralmodel,'Vertex',VertexID,'Force',Fval) задает концентрированную силу в вершине с VertexID номер. Задать силу можно только в том случае, если structuralmodel является статической, переходной или частотная характеристика моделью. Структурные модели для модального анализа не могут иметь концентрированную силу.

structuralBoundaryLoad(___,'Vectorized','on') использует векторизованное вычисление функции, когда вы передаете указатель на функцию в качестве аргумента. Если указатель на функцию вычисляется векторизированным образом, то использование этого аргумента экономит время. См. Векторизация. Для получения дополнительной информации об этой оценке см. «Неконстантные граничные условия».

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

пример

structuralBoundaryLoad(___,'Pressure',Pval,Name,Value) позволяет вам задать форму и длительность неконстантного импульса давления и гармонического возбуждения для переходной структурной модели, не создавая указателя на функцию. При использовании этого синтаксиса необходимо задать модель, тип области и идентификатор области и давление. Поверхностная тяга и поступательная жесткость являются необязательными аргументами. Этот синтаксис не работает для статических, модального анализа и моделей частотной характеристики.

пример

structuralBoundaryLoad(structuralmodel,'Vertex',VertexID,'Force',Fval,Name,Value) позволяет вам задать форму и длительность неконстантной концентрированной силы и гармонического возбуждения для переходной структурной модели, не создавая указателя на функцию.

boundaryLoad = structuralBoundaryLoad(___) возвращает объект краевой нагрузки.

Примеры

свернуть все

Применить фиксированные контуры и тягу на двух концах биметаллического кабеля.

Создайте несущую модель.

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

Создайте вложенные цилиндры, чтобы смоделировать биметаллический кабель.

gm = multicylinder([0.01,0.015],0.05);

Присвойте геометрию несущей модели и постройте график геометрии.

structuralModel.Geometry = gm;
pdegplot(structuralModel,'CellLabels','on','FaceLabels','on','FaceAlpha',0.4)

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

Для каждого металла задайте модуль Юнга и отношение Пуассона.

structuralProperties(structuralModel,'Cell',1,'YoungsModulus',110E9, ...
                                              'PoissonsRatio',0.28);
structuralProperties(structuralModel,'Cell',2,'YoungsModulus',210E9, ...
                                              'PoissonsRatio',0.3);

Задайте, что грани 1 и 4 являются фиксированными контурами.

structuralBC(structuralModel,'Face',[1,4],'Constraint','fixed')
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: [1 4]
                Vectorized: 'off'

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

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

Задайте поверхностную тягу для граней 2 и 5.

structuralBoundaryLoad(structuralModel,'Face',[2,5],'SurfaceTraction',[0;0;100])
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: [2 5]
                Vectorized: 'off'

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

   Boundary Loads
                     Force: []
           SurfaceTraction: [3x1 double]
                  Pressure: []
    TranslationalStiffness: []

Создайте несущую модель.

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

Создайте блок геометрию.

gm = multicuboid(20,10,5);

Присвойте геометрию несущей модели и постройте график геометрии.

structuralModel.Geometry = gm;
pdegplot(structuralModel,'FaceLabels','on','FaceAlpha',0.5)

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

Задайте модуль Юнга и коэффициент Пуассона.

structuralProperties(structuralModel,'YoungsModulus',30, ...
                                     'PoissonsRatio',0.3);

Нижняя грань блока опирается на упругий фундамент (пружину). Чтобы смоделировать это основание, задайте поступательную жесткость.

structuralBoundaryLoad(structuralModel,'Face',1,'TranslationalStiffness',[0;0;30])
ans = 
  StructuralBC with properties:

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

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

   Boundary Loads
                     Force: []
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: [3x1 double]

Задайте значение силы в вершине геометрии.

Создайте несущую модель для статического анализа твердотельной (3-D) задачи.

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

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

gm = multicuboid(0.2,0.01,[0.01 0.01],'Zoffset',[0 0.01]);

Включите геометрию в несущую модель.

model.Geometry = gm;

Постройте график геометрии и отобразите метки граней. Поверните геометрию так, чтобы вы могли видеть метки граней с левой стороны.

figure 
pdegplot(model,'FaceLabels','on');
view([-67 5])

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

Постройте график геометрии и отобразите метки вершин. Поверните геометрию так, чтобы вы могли видеть метки вершин с правой стороны.

figure 
pdegplot(model,'VertexLabels','on','FaceAlpha',0.5)
xlim([-0.01 0.1])
zlim([-0.01 0.02])
view([60 5])

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

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

structuralProperties(model,'YoungsModulus',201E9,'PoissonsRatio',0.3);

Задайте, что грани 5 и 10 являются фиксированными контурами.

structuralBC(model,'Face',[5 10],'Constraint','fixed');

Задайте концентрированную силу в вершине 6.

structuralBoundaryLoad(model,'Vertex',6,'Force',[0;10^4;0])
ans = 
  StructuralBC with properties:

                RegionType: 'Vertex'
                  RegionID: 6
                Vectorized: 'off'

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

   Boundary Loads
                     Force: [3x1 double]
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: []

Используйте указатель на функцию, чтобы задать частотно-зависимое давление для модели частотной характеристики.

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

fmodel = createpde('structural','frequency-solid');

Импортируйте и постройте график геометрии.

importGeometry(fmodel,'TuningFork.stl');
figure
pdegplot(fmodel,'FaceLabels','on')

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

Задайте загрузку давлением на стойку (грань 11) как короткий прямоугольный импульс давления. В частотный диапазон этот импульс давления является модулем нагрузкой, равномерно распределенной по всем частотам.

structuralBoundaryLoad(fmodel,'Face',11,'Pressure',1);

Теперь задайте частотно-зависимую нагрузку давления, например, p=e-(ω-1000)2/100000.

pLoad = @(location,state) exp(-(state.frequency-1E3).^2/1E5);
structuralBoundaryLoad(fmodel,'Face',12,'Pressure',pLoad);

Используйте указатель на функцию, чтобы задать гармонически изменяющееся давление в центре тонкого 3-D диска.

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

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

Создайте геометрию, состоящую из тонкой 3-D пластины с небольшой пластиной в центре. Включите геометрию в модель и постройте график.

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

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

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

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

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

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

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

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

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

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

plungerLoad = @(location,state)5E7.*sin(25.*state.time);
structuralBoundaryLoad(structuralmodel,'Face',12,'Pressure',plungerLoad)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 12
                Vectorized: 'off'

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

   Boundary Loads
                     Force: []
           SurfaceTraction: []
                  Pressure: @(location,state)5E7.*sin(25.*state.time)
    TranslationalStiffness: []

   Time Variation of Force, Pressure, or Enforced Displacement
                 StartTime: []
                   EndTime: []
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Force, Pressure, or Enforced Displacement
                 Frequency: []
                     Phase: []

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

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

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

Создайте геометрию, состоящую из тонкой 3-D пластины с небольшой пластиной в центре. Включите геометрию в модель и постройте график.

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

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

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

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

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

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

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)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 12
                Vectorized: 'off'

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

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

   Time Variation of Force, Pressure, or Enforced Displacement
                 StartTime: []
                   EndTime: []
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Force, Pressure, or Enforced Displacement
                 Frequency: 25
                     Phase: []

Создайте переходную несущую модель.

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

Импортируйте и постройте график геометрии.

importGeometry(structuralModel,'BracketWithHole.stl');
pdegplot(structuralModel,'FaceLabels','on')
view(-20,10)

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

Задайте модуль Юнга и коэффициент Пуассона.

structuralProperties(structuralModel,'YoungsModulus',200e9, ...
                                     'PoissonsRatio',0.3,...
                                     'MassDensity',7800);

Задайте, что грань 4 является фиксированным контуром.

structuralBC(structuralModel,'Face',4,'Constraint','fixed');

Приложите прямоугольный импульс давления к грани 7 в направлении, нормальном к грани.

structuralBoundaryLoad(structuralModel,'Face',7,'Pressure',10^5,...
                                       'StartTime',0.1,'EndTime',0.5)
ans = 
  StructuralBC with properties:

                RegionType: 'Face'
                  RegionID: 7
                Vectorized: 'off'

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

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

   Time Variation of Force, Pressure, or Enforced Displacement
                 StartTime: 0.1000
                   EndTime: 0.5000
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Force, Pressure, or Enforced Displacement
                 Frequency: []
                     Phase: []

Задайте короткий импульс концентрированной силы в вершине геометрии.

Создайте несущую модель для статического анализа твердотельной (3-D) задачи.

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

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

gm = multicuboid(0.2,0.01,[0.01 0.01],'Zoffset',[0 0.01]);

Включите геометрию в несущую модель.

structuralmodel.Geometry = gm;

Постройте график геометрии и отобразите метки граней. Поверните геометрию так, чтобы вы могли видеть метки граней с левой стороны.

figure 
pdegplot(structuralmodel,'FaceLabels','on');
view([-67 5])

Постройте график геометрии и отобразите метки вершин. Поверните геометрию так, чтобы вы могли видеть метки вершин с правой стороны.

figure 
pdegplot(structuralmodel,'VertexLabels','on','FaceAlpha',0.5)
xlim([-0.01 0.1])
zlim([-0.01 0.02])
view([60 5])

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

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

Задайте, что грани 5 и 10 являются фиксированными контурами.

structuralBC(structuralmodel,'Face',[5 10],'Constraint','fixed');

Задайте короткий импульс концентрированной силы в вершине 6.

structuralBoundaryLoad(structuralmodel,'Vertex',6,'Force',[0;1000;0], ...
                             'StartTime',1,'EndTime',1.05)
ans = 
  StructuralBC with properties:

                RegionType: 'Vertex'
                  RegionID: 6
                Vectorized: 'off'

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

   Boundary Loads
                     Force: [3×1 double]
           SurfaceTraction: []
                  Pressure: []
    TranslationalStiffness: []

   Time Variation of Force, Pressure, or Enforced Displacement
                 StartTime: 1
                   EndTime: 1.0500
                  RiseTime: []
                  FallTime: []

   Sinusoidal Variation of Force, Pressure, or Enforced Displacement
                 Frequency: []
                     Phase: []

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

structuralIC(structuralmodel,'Displacement',[0;0;0],'Velocity',[0;0;0]) 
ans = 
  GeometricStructuralICs with properties:

             RegionType: 'Cell'
               RegionID: [1 2]
    InitialDisplacement: [3×1 double]
        InitialVelocity: [3×1 double]

Сгенерируйте мелкий mesh.

generateMesh(structuralmodel,'Hmax',0.02);

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

structuralresults1 = solve(structuralmodel,0:1E-2:1); 

Используйте второй временной интервал, чтобы найти решение во время и после импульса силы.

structuralIC(structuralmodel,structuralresults1)
ans = 
  NodalStructuralICs with properties:

    InitialDisplacement: [511×3 double]
        InitialVelocity: [511×3 double]

structuralresults2 = solve(structuralmodel,[1.001:0.001:1.01 1.02:1E-2:2]);

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

loadedNd = findNodes(structuralmodel.Mesh,'region','Vertex',6); 
plot(structuralresults2.SolutionTimes,structuralresults2.Displacement.uy(loadedNd,:))

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

свернуть все

Структурная модель, заданная как StructuralModel объект. Модель содержит геометрию, сетку, структурные свойства материала, нагрузки на тело, краевые нагрузки и граничные условия.

Пример: structuralmodel = createpde('structural','transient-solid')

Тип геометрической области, заданный как 'Edge' для модели 2-D или 'Face' для модели 3-D.

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])

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

Идентификатор геометрической области, заданный как положительное целое число или вектор положительных целых чисел. Поиск идентификаторов областей при помощи pdegplot.

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])

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

Идентификатор вершины, заданный как положительное целое число или вектор положительных целых чисел. Найдите идентификаторы вершин, используя pdegplot.

Пример: structuralBoundaryLoad(structuralmodel,'Vertex',6,'Force',[0;10^4;0])

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

Распределенные нормальные и тангенциальные силы на контуре, разрешенные по глобальной Декартовой системе координат, заданные как числовой вектор или указатель на функцию. Числовой вектор должен содержать два элемента для модели 2-D и три элемента для модели 3-D.

Функция должна вернуть матрицу с двумя строками для модели 2-D и матрицу с тремя строками для модели с 3-D. Каждый столбец матрицы должен соответствовать вектору поверхностной тяги в граничных координатах, предоставленных решателем. В случае переходного процесса или частотной характеристики, STval также может быть функцией времени или частоты, соответственно. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0;0;100])

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

Давление, нормальное к контуру, задается как число или указатель на функцию. В контур действует положительное давление (для примера, сжатия), в то время как отрицательное давление отходит от контура (для примера, всасывания).

Если вы задаете Pval в качестве указателя на функцию функция должна вернуть вектор-строку, где каждый столбец соответствует значению давления в координатах контуров, предоставляемых решателем. В случае переходной структурной модели Pval также может быть функцией времени. В случае структурной модели частотной характеристики, Pval может быть функцией частоты (когда задан как указатель на функцию) или постоянным давлением с той же величиной для широкого частотного спектра. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5)

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

Распределенная жесткость пружины для каждого поступательного направления, используемого для моделирования упругого фундамента, заданная как числовой вектор или указатель на функцию. Числовой вектор должен содержать два элемента для модели 2-D и три элемента для модели 3-D. Пользовательская функция должна вернуть матрицу с двумя строками для модели 2-D и матрицу с тремя строками для модели с 3-D. Каждый столбец этой матрицы соответствует вектору жесткости в граничных координатах, предоставленных решателем. В случае переходного процесса или частотной характеристики, TSval также может быть функцией времени или частоты, соответственно. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: structuralBoundaryLoad(structuralmodel,'Edge',[2,5],'TranslationalStiffness',[0;5500])

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

Концентрированная сила в вершине, заданная как числовой вектор или указатель на функцию. Используйте указатель на функцию, чтобы задать концентрированную силу, которая зависит от времени или частоты. Для получения дополнительной информации смотрите Дополнительные сведения.

Пример: structuralBoundaryLoad(structuralmodel,'Vertex',5,'Force',[0;0;10])

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

Аргументы в виде пар имя-значение

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

Используйте один или несколько аргументы пары "имя-значение", чтобы задать форму и длительность импульса давления или концентрированной силы и гармонического возбуждения только для переходной структурной модели. Задайте давление или значение силы, используя Pval или Fval аргумент, соответственно.

Можно смоделировать прямоугольный, треугольный и трапеций давления или импульсов концентрированной силы. Если время запуска 0, можно опустить указание на него.

  • Для прямоугольного импульса задайте время начала и конца.

  • Для треугольного импульса задайте время начала и любое два из следующих раз: время нарастания, время спада и время окончания. Можно также задать все три раза, но они должны быть последовательными.

  • Для трапециевидного импульса задайте все четыре раза.

Можно смоделировать гармоническое давление или концентрированную силовую нагрузку путем определения ее частоты и начальной фазы. Если начальная фаза равна 0, можно опустить указание на нее.

Прямоугольный, треугольный или трапециевидный импульс

свернуть все

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)

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

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)

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

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

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

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)

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

Гармоническое давление или сила

свернуть все

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25)

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

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

Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25,'Phase',pi/6)

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

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

свернуть все

Указатель на краевую нагрузку, возвращаемый как StructuralBC объект. См. StructuralBC Свойств.

Подробнее о

свернуть все

Определение неконстантных параметров несущей модели

Используйте указатель на функцию, чтобы задать следующие структурные параметры, когда они зависят от пространства и, в зависимости от типа структурного анализа, время или частота:

  • Поверхностная тяга на контуре

  • Давление, нормальное к контуру

  • Концентрированная сила в вершине

  • Распределенная жесткость пружины для каждого поступательного направления, используемого для моделирования упругого фундамента

  • Принудительное перемещение и его компоненты

  • Начальное перемещение и скорость

Например, используйте указатели на функцию, чтобы задать нагрузку на давление, x -компонент принудительного перемещения и начальное перемещение для этой модели.

structuralBoundaryLoad(model,'Face',12,'Pressure',@myfun)
structuralBC(model,'Face',2,'XDisplacement',@myfun)
structuralIC(model,'Face',12,'Displacement',@myfun)

Функция должна иметь форму:

function structuralVal = myfun(location,state)

Решатель передает location и state данные для вашей функции.

  • location - Структура, содержащая следующие поля:

    • location.x - X-координата точки или точки

    • location.y - Y-координата точки или точки

    • location.z - Для 3-D или осесимметричной геометрии координата Z точки или точки

    • location.r - Для осесимметричной геометрии r-координата точки или точки

    Кроме того, для граничных условий решатель передает эти данные в location структура:

    • location.nx - x-компонент вектора normal в точке вычисления или точках

    • location.ny - y-компонент вектора normal в точке оценки или точках

    • location.nz - Для 3-D или осесимметричной геометрии z-компонент вектора нормали в точке вычисления или точках

    • location.nz - Для осесимметричной геометрии z-компонент вектора нормали в точке вычисления или точках

  • state - Структура, содержащая эти поля для динамических структурных проблем:

    • state.time содержит время в точках оценки.

    • state.frequency содержит частоту в точках оценки.

    state.time и state.frequency являются скалярами.

Граничные ограничения и нагрузки получают эти данные от решателя:

  • location.x, location.y, location.z, location.r

  • location.nx, location.ny, location.nz, location.nr

  • state.time или state.frequency (в зависимости от типа структурного анализа)

Начальные условия получают эти данные от решателя:

  • location.x, location.y, location.z, location.r

  • Идентификатор поддомена

Если параметр представляет значение вектора, такое как поверхностная тяга, жесткость пружины, сила или перемещение, ваша функция должна вернуть матрицу с двумя строками для модели 2-D и матрицу с тремя строками для модели 3-D. Каждый столбец матрицы соответствует значению параметров (вектору) в граничных координатах, предоставленных решателем.

Если параметр представляет скалярное значение, такое как давление или компонент перемещения, ваша функция должна вернуть вектор-строку, где каждый элемент соответствует значению параметров (скалярному) в координатах контуру, заданных решателем.

Если граничные условия зависят от state.time или state.frequency, убедитесь, что ваша функция возвращает матрицу NaN правильного размера при state.frequency или state.time являются NaN. Решатели проверяют, является ли задача нелинейной или зависящей от времени передачей NaN значения состояния и поиск возвращенных NaN значения.

Введенный в R2017b