Задайте граничные загрузки для структурной модели
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',
позволяет вам задать форму и длительность непостоянного импульса давления и гармонического возбуждения для переходной структурной модели, не создавая указатель на функцию. При использовании этого синтаксиса необходимо задать модель, тип области и ID области и давление. Поверхностная тяга и поступательная жесткость являются дополнительными аргументами. Этот синтаксис не работает на статический, модальный анализ и модели частотной характеристики.Pval
,Name,Value
)
structuralBoundaryLoad(
позволяет вам задать форму и длительность непостоянной сконцентрированной силы и гармонического возбуждения для переходной структурной модели, не создавая указатель на функцию.structuralmodel
,'Vertex',VertexID
,'Force',Fval
,Name,Value
)
structuralBoundaryLoad(___,'Label',
добавляет метка для структурной граничной загрузки, которая будет использоваться labeltext
)linearizeInput
функция. Эта функция позволяет вам передать граничные загрузки в linearize
функция, которая извлекает разреженные линейные модели для использования с Control System Toolbox™.
возвращает граничный объект загрузки.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)
Для каждого металла задайте модуль Молодежи и отношение Пуассона.
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: [] TranslationalStiffness: [] Label: []
Задайте поверхностную тягу для поверхностей 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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [3x1 double] Pressure: [] TranslationalStiffness: [] Label: []
Создайте структурную модель.
structuralModel = createpde('structural','static-solid');
Создайте геометрию блока.
gm = multicuboid(20,10,5);
Присвойте геометрию структурной модели и постройте геометрию.
structuralModel.Geometry = gm; pdegplot(structuralModel,'FaceLabels','on','FaceAlpha',0.5)
Задайте модуль Молодежи и отношение Пуассона.
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: [] TranslationalStiffness: [3x1 double] Label: []
Задайте значение силы в вершине геометрии.
Создайте структурную модель для статического анализа твердой (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 pdegplot(model,'VertexLabels','on','FaceAlpha',0.5) xlim([-0.01 0.1]) zlim([-0.01 0.02]) view([60 5])
Задайте модуль Молодежи, отношение Пуассона и массовую плотность материала.
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: [] Label: [] Boundary Loads Force: [3x1 double] SurfaceTraction: [] Pressure: [] TranslationalStiffness: [] Label: []
Используйте указатель на функцию, чтобы задать зависимое частотой давление для модели частотной характеристики.
Создайте модель частотной характеристики для 3-D проблемы.
fmodel = createpde('structural','frequency-solid');
Импортируйте и постройте геометрию.
importGeometry(fmodel,'TuningFork.stl'); figure pdegplot(fmodel,'FaceLabels','on')
Задайте загрузку давления на зубец (столкнитесь 11) как короткий прямоугольный импульс давления. В частотном диапазоне этот импульс давления является модульной загрузкой, равномерно распределенной через все частоты.
structuralBoundaryLoad(fmodel,'Face',11,'Pressure',1);
Теперь задайте зависимую частотой загрузку давления, например, .
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 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);
Примените гармонично различную нагрузку давления на маленькую поверхность в центре пластины.
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: @(location,state)5E7.*sin(25.*state.time) TranslationalStiffness: [] Label: [] 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 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)
ans = StructuralBC with properties: RegionType: 'Face' RegionID: 12 Vectorized: 'off' Boundary Constraints and Enforced Displacements Displacement: [] XDisplacement: [] YDisplacement: [] ZDisplacement: [] Constraint: [] Radius: [] Reference: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: 50000000 TranslationalStiffness: [] Label: [] 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)
Задайте модуль Молодежи и отношение Пуассона.
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: [] Label: [] Boundary Loads Force: [] SurfaceTraction: [] Pressure: 100000 TranslationalStiffness: [] Label: [] 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: [] Label: [] Boundary Loads Force: [3×1 double] SurfaceTraction: [] Pressure: [] TranslationalStiffness: [] Label: [] 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]
Сгенерируйте мелкую сетку.
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
объектСтруктурная модель в виде StructuralModel
объект. Модель содержит геометрию, mesh, структурные свойства материала, загрузок тела, граничных загрузок и граничных условий.
Пример: structuralmodel = createpde('structural','transient-solid')
RegionType
— Геометрический тип области'Edge'
для 2D модели | 'Face'
для 3-D моделиГеометрический тип области в виде 'Edge'
для 2D модели или 'Face'
для 3-D модели.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])
Типы данных: char |
string
RegionID
— Геометрический ID областиГеометрический ID области в виде положительного целого числа или вектора из положительных целых чисел. Найдите идентификаторы области при помощи pdegplot
.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0,0,100])
Типы данных: double
VertexID
ID вершиныID вершины в виде положительного целого числа или вектора из положительных целых чисел. Найдите использование идентификаторов вершины pdegplot
.
Пример: structuralBoundaryLoad(structuralmodel,'Vertex',6,'Force',[0;10^4;0])
Типы данных: double
STval
— Распределенные нормальные и тангенциальные силы на контуреРаспределенные нормальные и тангенциальные силы на контуре, разрешенном вдоль глобальной Декартовой системы координат в виде числового вектора или указателя на функцию. Числовой вектор должен содержать два элемента для 2D модели и три элемента для 3-D модели.
Функция должна возвратить двухстрочную матрицу для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец матрицы должен соответствовать поверхностному вектору тяги, за пределами координирует обеспеченный решателем. В случае переходного процесса или анализа частотной характеристики, STval
также может быть функция времени или частоты, соответственно. Для получения дополнительной информации смотрите Больше О.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'SurfaceTraction',[0;0;100])
Типы данных: double |
function_handle
Pval
— Давление, нормальное к контуруДавление, нормальное к контуру в виде номера или указателя на функцию. Давление положительного значения действует в контур (например, сжатие), в то время как давление отрицательной величины действует далеко от контура (например, всасывание).
Если вы задаете Pval
как указатель на функцию, функция должна возвратить вектор-строку, где каждый столбец соответствует значению давления, за пределами координирует обеспеченный решателем. В случае переходной структурной модели, Pval
также может быть функция времени. В случае частотной характеристики структурная модель, Pval
может быть функция частоты (когда определенный функцией указатель) или постоянное давление с той же величиной для широкого спектра частоты. Для получения дополнительной информации смотрите Больше О.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5)
Типы данных: double |
function_handle
TSval
— Распределенная пружинная жесткостьРаспределенная пружинная жесткость для каждого поступательного направления раньше моделировала эластичную основу в виде числового вектора или указателя на функцию. Числовой вектор должен содержать два элемента для 2D модели и три элемента для 3-D модели. Пользовательская функция должна возвратить двухстрочную матрицу для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец этой матрицы соответствует вектору жесткости, за пределами координирует обеспеченный решателем. В случае переходного процесса или анализа частотной характеристики, TSval
также может быть функция времени или частоты, соответственно. Для получения дополнительной информации смотрите Больше О.
Пример: structuralBoundaryLoad(structuralmodel,'Edge',[2,5],'TranslationalStiffness',[0;5500])
Типы данных: double |
function_handle
Fval
— Сконцентрированная силаСконцентрированная сила в вершине в виде числового вектора или указателя на функцию. Используйте указатель на функцию, чтобы задать сконцентрированную силу, которая зависит время или частота. Для получения дополнительной информации смотрите Больше О.
Пример: structuralBoundaryLoad(structuralmodel,'Vertex',5,'Force',[0;0;10])
Типы данных: double |
function_handle
labeltext
— Пометьте для структурной граничной загрузкиПометьте для структурной граничной загрузки в виде вектора символов или строки.
Типы данных: char |
string
structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)
Используйте один или несколько аргументов пары "имя-значение", чтобы задать форму и длительность давления или сконцентрированного импульса силы и гармонического возбуждения для переходной структурной модели только. Задайте давление или обеспечьте значение с помощью Pval
или Fval
аргумент, соответственно.
Можно смоделировать прямоугольное, треугольное, и трапециевидное давление или сконцентрированные импульсы силы. Если время начала 0, можно не использовать определение его.
Для меандра задайте времена начала и конца.
Для треугольного импульса задайте время начала и любые два из следующих раз: время нарастания, время спада, и время окончания. Также можно задать все три раза, но они должны быть сопоставимыми.
Для трапециевидного импульса задайте все четыре раза.
Можно смоделировать гармоническое давление или сконцентрированную загрузку силы путем определения ее частоты и начальной фазы. Если начальная фаза 0, можно не использовать определение ее.
StartTime
— Время начала при давлении или сконцентрированной загрузке силыВремя начала при давлении или сконцентрированной силе загружает в виде неотрицательного номера. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)
Типы данных: double
EndTime
— Время окончания при давлении или сконцентрированной загрузке силыВремя окончания при давлении или сконцентрированной силе загружает в виде неотрицательного номера, равного или больше, чем значение времени начала. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'StartTime',1,'EndTime',3)
Типы данных: double
RiseTime
— Время нарастания при давлении или сконцентрированной загрузке силыВремя нарастания при давлении или сконцентрированной силе загружает в виде неотрицательного номера. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)
Типы данных: double
FallTime
— Время спада при давлении или сконцентрированной загрузке силыВремя спада при давлении или сконцентрированной силе загружает в виде неотрицательного номера. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'RiseTime',0.5,'FallTime',0.5,'EndTime',3)
Типы данных: double
Frequency
— Частота синусоидального давления или сконцентрированной силыЧастота синусоидального давления или сконцентрированной силы в виде положительного числа, в радианах на модуль времени. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25)
Типы данных: double
Phase
— Фаза синусоидального давления или сконцентрированной силыФаза синусоидального давления или сконцентрированной силы в виде неотрицательного номера, в радианах. Задайте этот аргумент только для переходных структурных моделей.
Пример: structuralBoundaryLoad(structuralmodel,'Face',[2,5],'Pressure',10^5,'Frequency',25,'Phase',pi/6)
Типы данных: double
boundaryLoad
— Обработайте к граничной загрузкеStructuralBC
объектОбработайте к граничной загрузке, возвращенной как StructuralBC
объект. Смотрите Свойства StructuralBC.
Используйте указатель на функцию, чтобы задать следующие структурные параметры, когда они будут зависеть от пробела и, в зависимости от типа структурного анализа, или время или частота:
Поверхностная тяга на контуре
Давление, нормальное к контуру
Сконцентрированная сила в вершине
Распределенная пружинная жесткость для каждого поступательного направления раньше моделировала эластичную основу
Вынужденное смещение и его компоненты
Начальное смещение и скорость (может зависеть только от пробела),
Например, используйте указатели на функцию, чтобы задать загрузку давления, x - компонент вынужденного смещения и начального смещения для этой модели.
structuralBoundaryLoad(model,'Face',12, ... 'Pressure',@myfunPressure) structuralBC(model,'Face',2, ... 'XDisplacement',@myfunBC) structuralIC(model,'Face',12, ... 'Displacement',@myfunIC)
Для всех параметров, кроме начального смещения и скорости, функция должна иметь форму:
function structuralVal = myfun(location,state)
Для начального смещения и скорости функция должна иметь форму:
function structuralVal = myfun(location)
Решатель вычисляет и заполняет данные в location
и state
массивы структур и передачи эти данные к вашей функции. Можно задать функцию так, чтобы ее выход зависел от этих данных. Можно использовать любые имена вместо location
и state
, но функция должна иметь точно два аргумента (или один аргумент, если функция определяет начальное перемещение или начальную скорость). Чтобы использовать дополнительные аргументы в вашей функции, перенесите свою функцию (который берет дополнительные аргументы) с анонимной функцией, которая берет только location
и state
аргументы. Например:
structuralVal = ... @(location,state) myfunWithAdditionalArgs(location,state,arg1,arg2...) structuralBC(model,'Face',2,'XDisplacement',structuralVal) structuralVal = ... @(location) myfunWithAdditionalArgs(location,arg1,arg2...) structuralIC(model,'Face',2,'Displacement',structuralVal)
location
— Структура, содержащая эти поля:
location.x
— X-координата точки или точек
location.y
— Y-координата точки или точек
location.z
— Для 3-D или осесимметричной геометрии, z-координаты точки или точек
location.r
— Для осесимметричной геометрии, r-координаты точки или точек
Кроме того, для граничных условий, решатель передает эти данные в location
структура:
location.nx
— x-компонент вектора нормали в точке оценки или точках
location.ny
— y-компонент вектора нормали в точке оценки или точках
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
ID субдомена
Если параметр представляет векторное значение, такое как поверхностная тяга, пружинная жесткость, сила или смещение, ваша функция должна возвратить двухстрочную матрицу для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец матрицы соответствует значению параметров (вектор) за пределами координирует обеспеченный решателем.
Если параметр представляет скалярное значение, такое как давление или компонент смещения, ваша функция должна возвратить вектор-строку, где каждый элемент соответствует значению параметров (скаляр) за пределами координирует обеспеченный решателем.
Если граничные условия зависят от state.time
или state.frequency
, гарантируйте, что ваша функция возвращает матрицу NaN
из правильного размера, когда state.frequency
или state.time
NaN
. Решатели проверяют, является ли проблема нелинейной или зависящей от времени путем передачи NaN
значения состояния и поиск возвращенного NaN
значения.
StructuralModel
| structuralProperties
| structuralDamping
| structuralBodyLoad
| structuralBC
| Свойства StructuralBC
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.