Установите начальные условия для переходной структурной модели
structuralIC(
смещение начальной буквы наборов и скорость для целой геометрии.structuralmodel
,'Displacement',u0
,'Velocity',v0
)
structuralIC(___
смещение начальной буквы наборов и скорость для конкретной области геометрии с помощью аргументов от предыдущего синтаксиса.RegionType
,RegionID
)
structuralIC(
смещение начальной буквы наборов и скорость с помощью решения structuralmodel
,Sresults
)Sresults
от предыдущего структурного анализа той же геометрии. Если Sresults
получен путем решения переходной структурной задачи, затем structuralIC
использует решение Sresults
в течение прошлого такта.
structuralIC(
использует решение structuralmodel
,Sresults
,iT
)Sresults
в течение такта iT
от предыдущего структурного анализа той же геометрии.
возвращает указатель на структурный объект начальных условий.struct_ic
= structuralIC(___)
Задайте начальные скоростные значения для целой геометрии и для конкретной поверхности.
Создайте переходную динамическую модель для 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)
Задайте нулевую начальную скорость на целой геометрии. Когда вы задаете только начальную скорость или начальное смещение, structuralIC
принимает, что не использованный параметр является нулем. Например, здесь начальное смещение является также нулем.
structuralIC(structuralmodel,'Velocity',[0;0;0])
ans = GeometricStructuralICs with properties: RegionType: 'Cell' RegionID: 1 InitialDisplacement: [] InitialVelocity: [3x1 double]
Обновите начальную скорость на поверхности 2, чтобы смоделировать импульсивное возбуждение.
structuralIC(structuralmodel,'Face',2,'Velocity',[0;60;0])
ans = GeometricStructuralICs with properties: RegionType: 'Face' RegionID: 2 InitialDisplacement: [] InitialVelocity: [3x1 double]
Задайте начальное z-смещение, чтобы зависеть от X и Y координат.
Создайте переходную динамическую модель для 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)
Определите нулевое начальное перемещение на целой геометрии.
structuralIC(structuralmodel,'Displacement',[0;0;0])
ans = GeometricStructuralICs with properties: RegionType: 'Cell' RegionID: 1 InitialDisplacement: [3x1 double] InitialVelocity: []
Теперь измените начальное смещение в z-направлении на поверхности 2 к функции X и Y координат:
Запишите следующий файл функции. Сохраните его в местоположение на вашем пути MATLAB®.
function uinit = initdisp(location)
M = length(location.x);
uinit = zeros(3,M);
uinit(3,:) = location.x.^2 + location.y.^2;
Передайте начальное смещение своей структурной модели.
structuralIC(structuralmodel,'Face',2,'Displacement',@initdisp)
ans = GeometricStructuralICs with properties: RegionType: 'Face' RegionID: 2 InitialDisplacement: @initdisp InitialVelocity: []
Используйте статическое решение в качестве начального условия для динамической структурной модели.
Создайте статическую модель.
staticmodel = createpde('structural','static-solid');
Создайте геометрию и включайте ее в модель. Постройте геометрию.
gm = multicuboid(0.06,0.005,0.01); staticmodel.Geometry = gm; pdegplot(staticmodel,'FaceLabels','on','FaceAlpha',0.5) view(50,20)
Задайте модуль Молодежи, отношение Пуассона и массовую плотность.
structuralProperties(staticmodel,'YoungsModulus',210E9, ... 'PoissonsRatio',0.3,... 'MassDensity',7800);
Примените граничное условие и статическую загрузку.
structuralBC(staticmodel,'Face',5,'Constraint','fixed'); structuralBoundaryLoad(staticmodel,'Face',3,'SurfaceTraction',[0;1E6;0]);
Сгенерируйте mesh и решите модель.
generateMesh(staticmodel,'Hmax',0.02);
Rstatic = solve(staticmodel);
Создайте динамическую модель и присвойте геометрию.
dynamicmodel = createpde('structural','transient-solid'); gm = multicuboid(0.06,0.005,0.01); dynamicmodel.Geometry = gm;
Примените граничное условие.
structuralBC(dynamicmodel,'Face',5,'Constraint','fixed');
Сгенерируйте mesh.
generateMesh(dynamicmodel,'Hmax',0.02);
Задайте начальное условие с помощью статического решения.
structuralIC(dynamicmodel,Rstatic)
ans = NodalStructuralICs with properties: InitialDisplacement: [113x3 double] InitialVelocity: [113x3 double]
structuralmodel
— Переходная структурная модельStructuralModel
объектПереходная структурная модель в виде StructuralModel
объект. Модель содержит геометрию, mesh, структурные свойства материала, загрузок тела, граничных загрузок, граничных условий и начальных условий.
Пример: structuralmodel = createpde('structural','transient-solid')
u0
— Начальное смещениеНачальное смещение в виде числового вектора или указателя на функцию. Числовой вектор должен содержать два элемента для 2D модели и три элемента для 3-D модели. Элементы представляют компоненты начального смещения.
Функция должна возвратить матрицу 2D строки для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец матрицы соответствует начальному смещению в координатах, обеспеченных решателем. Для получения дополнительной информации смотрите Больше О.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01])
Типы данных: double |
function_handle
v0
— Начальная скоростьНачальная скорость в виде числового вектора или указателя на функцию. Числовой вектор должен содержать два элемента для 2D модели и три элемента для 3-D модели. Элементы представляют компоненты начальной скорости.
Функция должна возвратить матрицу 2D строки для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец матрицы соответствует начальной скорости в координатах, обеспеченных решателем. Для получения дополнительной информации смотрите Больше О.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01],'Velocity',[0;60;0])
Типы данных: double |
function_handle
RegionType
— Геометрический тип области'Face'
| 'Edge'
| 'Vertex'
| 'Cell'
Геометрический тип области в виде 'Face'
, 'Edge'
, 'Vertex'
, или 'Cell'
.
Когда вы применяете несколько начальных присвоений условия, решатель использует эти правила приоритета для определения начального условия.
Для нескольких присвоений на ту же геометрическую область решатель использует последнюю прикладную установку.
Для отдельных присвоений на геометрическую область и контуры той области, решатель использует заданное присвоение на области и выбирает присвоение на контуре можно следующим образом. Решатель дает 'Edge'
приоритет присвоения по 'Face'
присвоение, даже если вы задаете 'Face'
присвоение после 'Edge'
“()” Присвоение. Уровнями приоритета является 'Vertex
(наивысший приоритет), 'Edge'
, 'Face'
ячейка
(самый низкий приоритет).
Для присвоения, сделанного с results
объект, решатель использует то присвоение вместо всех предыдущих присвоений.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01],'Velocity',[0;60;0])
Типы данных: char
RegionID
— Геометрический ID областиГеометрический ID области в виде вектора из положительных целых чисел. Найдите идентификаторы области при помощи pdegplot
.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01],'Velocity',[0;60;0])
Типы данных: double
Sresults
— Структурное решение моделиStaticStructuralResults
возразите | TransientStructuralResults
объектСтруктурное решение модели в виде StaticStructuralResults
или TransientStructuralResults
объект. Создайте Sresults
при помощи solve
.
iT
— Индекс времениИндекс времени в виде положительного целого числа.
Пример: structuralIC(structuralmodel,Sresults,21)
Типы данных: double
struct_ic
— Обработайте к начальным условиямGeometricStructuralICs
возразите | NodalStructuralICs
объектОбработайте к начальным условиям, возвращенным как GeometricStructuralICs
или NodalStructuralICs
объект. Смотрите Свойства GeometricStructuralICs и Свойства NodalStructuralICs.
structuralIC
сопоставляет структурное начальное условие с геометрической областью в случае геометрического присвоения или узлами в случае основанного на результатах присвоения.
Используйте указатель на функцию, чтобы задать следующие структурные параметры, когда они будут зависеть от пробела и, в зависимости от типа структурного анализа, или время или частота:
Поверхностная тяга на контуре
Давление, нормальное к контуру
Сконцентрированная сила в вершине
Распределенная пружинная жесткость для каждого поступательного направления раньше моделировала эластичную основу
Вынужденное смещение и его компоненты
Начальное смещение и скорость
Например, используйте указатели на функцию, чтобы задать загрузку давления, 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-компонент вектора нормали в точке оценки или точках
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 строки для 2D модели и матрицу с тремя строками для 3-D модели. Каждый столбец матрицы соответствует значению параметров (вектор) за пределами координирует обеспеченный решателем.
Если параметр представляет скалярное значение, такое как давление или компонент смещения, ваша функция должна возвратить вектор-строку, где каждый элемент соответствует значению параметров (скаляр) за пределами координирует обеспеченный решателем.
Если граничные условия зависят от state.time
или state.frequency
, гарантируйте, что ваша функция возвращает матрицу NaN
из правильного размера, когда state.frequency
или state.time
NaN
. Решатели проверяют, является ли проблема нелинейной или зависящей от времени путем передачи NaN
значения состояния и поиск возвращенного NaN
значения.
findStructuralIC
| Свойства GeometricStructuralICs | Свойства NodalStructuralICs | reduce
| solve
| structuralBC
| structuralBodyLoad
| structuralBoundaryLoad
| structuralDamping
| StructuralModel
| structuralProperties
| structuralSEInterface
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.