Установите начальные условия для переходной несущей модели
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
объект. Модель содержит геометрию, сетку, структурные свойства материала, нагрузки на тело, краевые нагрузки, граничные условия и начальные условия.
Пример: structuralmodel = createpde('structural','transient-solid')
u0
- Начальное перемещениеНачальное перемещение, заданное как числовой вектор или указатель на функцию. Числовой вектор должен содержать два элемента для модели 2-D и три элемента для модели 3-D. Элементы представляют компоненты начального перемещения.
Функция должна вернуть матрицу с двумя строками для модели 2-D и матрицу с тремя строками для модели с 3-D. Каждый столбец матрицы соответствует начальному перемещению в координатах, предоставленных решателем. Для получения дополнительной информации смотрите Дополнительные сведения.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01])
Типы данных: double
| function_handle
v0
- Начальная скоростьНачальная скорость, заданная как числовой вектор или указатель на функцию. Числовой вектор должен содержать два элемента для модели 2-D и три элемента для модели 3-D. Элементы представляют компоненты начальной скорости.
Функция должна вернуть матрицу с двумя строками для модели 2-D и матрицу с тремя строками для модели с 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'
, 'Cell'
(наименьший приоритет).
Для задания, сделанного с results
объект, решатель использует это назначение вместо всех предыдущих назначений.
Пример: structuralIC(structuralmodel,'Face',[2,5],'Displacement',[0;0;0.01],'Velocity',[0;60;0])
Типы данных: char
RegionID
- Идентификатор геометрической областиИдентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов областей при помощи 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
объект. См. Свойства Geometric Structural IC s и Свойств Nodal Structural IC s.
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-компонент вектора 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
значения.
findStructuralIC
| Свойства Geometric Structural IC s | Свойства NodalStructuralIC | reduce
| solve
| structuralBC
| structuralBodyLoad
| structuralBoundaryLoad
| structuralDamping
| StructuralModel
| structuralProperties
| structuralSEInterface
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.