Установка начальных условий для переходной структурной модели
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:
+ y2]
Запишите следующий файл функций. Сохраните его в расположении на пути 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]);
Создайте сетку и решите модель.
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');
Создайте сетку.
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 объект. Посмотрите свойства 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
Идентификатор поддомена
Если параметр представляет значение вектора, например, тягу поверхности, жесткость пружины, силу или смещение, функция должна вернуть двухстрочную матрицу для 2-D модели и трехстрочную матрицу для 3-D модели. Каждый столбец матрицы соответствует значению параметра (вектору) в граничных координатах, предоставленных решателем.
Если параметр представляет скалярное значение, такое как давление или компонент смещения, функция должна возвратить вектор строки, где каждый элемент соответствует значению параметра (скаляр) в граничных координатах, предоставленных решателем.
Если граничные условия зависят от state.time или state.frequency, убедитесь, что функция возвращает матрицу NaN правильного размера при state.frequency или state.time являются NaN. Решатели проверяют, является ли проблема нелинейной или зависит от времени, проходя NaN значения состояния и поиск возвращенных NaN значения.
findStructuralIC | Свойства GeometricStructuralIc | Свойства NodalStructuralICs | reduce | solve | structuralBC | structuralBodyLoad | structuralBoundaryLoad | structuralDamping | StructuralModel | structuralProperties | structuralSEInterface
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.