主要内容

线性化

线性化结构或热模型

描述

例子

sys=线性化(模型提取一个稀疏线性模型,用于控制系统工具箱™。对于结构分析模型,线性化提取一个mechss(控制系统工具箱)模型。对于热分析模型,它提取了一个桅杆(控制系统工具箱)模型。对于瞬态模型,线性化使用时间0。

使用linearizeInput指定线性模型的输入对应于外部强迫,如负载或内部热源。工具箱将每个选定的约束、负载或源的值视为常数,该值成为线性化模型中的一个输入通道。为了线性化,其余的边界条件设为零,不管它们在结构或热模型中的值是多少。确保标记所有非零边界条件,并将它们作为使用的输入传递linearizeInput

使用linearizeOutput以几何区域(如单元格(仅用于3-D几何)、面、边或顶点)来指定线性模型的输出。这包括指定区域中的所有自由度(dof)作为输出值。对于结构模型,您还可以指定xy,z包括作为输出的自由度。

使用sys。InputName而且sys。OutputGroup定位…的输入和输出sys对应于特定边界条件或选定区域。

例子

mx=线性化(模型“OutputType”,“矩阵”)返回有限元矩阵一个BCDEKBF用于构造mechss而且桅杆在前面的语法中建模。

例子

全部折叠

线性化热分析模型并返回有限元矩阵。

创建瞬态热模型。

Thermalmodel = createpde(“热”“瞬态”);

控件将块几何图形添加到热模型中geometryFromEdges函数。这个问题的几何描述文件被调用crackg.m

geometryFromEdges (thermalmodel @crackg);

用边缘标签绘制几何图形。

pdegplot (thermalmodel“EdgeLabels”“上”) ylim([-1,1])轴平等的

图中包含一个轴对象。axis对象包含9个类型为line, text的对象。

生成一个网格。

generateMesh (thermalmodel);

指定材料的热导率、质量密度和比热。

thermalProperties (thermalmodel“ThermalConductivity”, 1...“MassDensity”, 1...“SpecificHeat”1);

将左边缘上的温度指定为One hundred.,并恒定的热量通过右边缘流向外部-10.为每个边界条件添加唯一的标签。

thermalBC (thermalmodel“边缘”6“温度”, 100,“标签”“TempBC”);thermalBC (thermalmodel“边缘”, 1“HeatFlux”, -10,“标签”“FluxBC”);

指定整个几何图形产生热量,并为此分配添加唯一的标签。

internalHeatSource (thermalmodel, 25岁,“标签”“HeatSource”);

设置温度的初始值为0。

thermalIC (thermalmodel 0);

方法指定线性化模型的输入linearizeInput函数与前面定义的边界条件和内热源的标签。为每个函数调用添加一个标签。

linearizeInput (thermalmodel“HeatSource”);linearizeInput (thermalmodel“TempBC”);linearizeInput (thermalmodel“FluxBC”);

方法指定线性化模型的输出linearizeOutput函数设置感兴趣的测量温度的区域。为每个函数调用指定一个区域。例如,指定输出为边缘2上所有节点的温度值。

linearizeOutput (thermalmodel“边缘”2);

测量边缘2的温度。

线性化(热模型)
具有27个输出,3个输入和1363个状态的稀疏连续时间状态空间模型。使用“spy”和“showStateInfo”检查模型结构。输入“properties('sparss')”获取模型属性列表。输入“help sparssOptions”来查看此模型的可用解算器选项。

在线性化模型中,使用sys。InputName要检查输入到sys是热源,边6上的温度,边1上的热流。

sys。InputName
ans =3 x1细胞{'热源'}{'TempBC'} {'FluxBC'}

在线性化模型中,使用sys。OutputGroup以定位与每个坐标相关联的部分。

sys。OutputGroup
ans =带字段的结构:Edge2:[1 23 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23…]

如果您没有控制系统工具箱™,您可以访问有限元矩阵一个BC,E如下。

Mx =线性化(热模型,“OutputType”“矩阵”
mx =带字段的结构:A: [1363x1363 double] B: [1363x1363 double] C: [27x1363 double] E: [1363x1363 double]

线性化结构模型并返回有限元矩阵。

创建结构暂态分析模型。

Structuralmodel = createpde(“结构性”“transient-solid”);

导入并绘制音叉几何图形。

importGeometry (structuralmodel“TuningFork.stl”);pdegplot (structuralmodel)

图中包含一个轴对象。坐标轴对象包含颤动、贴片、线条类型的3个对象。

生成一个网格。

generateMesh (structuralmodel“Hmax”, 0.005);

指定杨氏模量、泊松比和质量密度来模拟线弹性材料的行为。以一致的单位指定所有物理属性。

structuralProperties (structuralmodel“YoungsModulus”210 e9,...“PoissonsRatio”, 0.3,...“MassDensity”, 8000);

通过绘制带有面标签的几何图形来识别用于应用边界约束和负载的面。

图(“单位”“归一化”“outerposition”,[0 0 1 1]) pdegplot(结构模型,“FaceLabels”“上”) view(-50,15)“面标几何”

图中包含一个轴对象。标题为Geometry with Face Labels的axis对象包含三个对象,类型为颤动、贴片、线条。

施加足够的边界约束以防止刚体在外加载荷下的运动。通常,你用手拿着音叉,或者把它放在桌子上。这个边界条件的简化近似是在尖和手柄(面21和22)的交点附近固定一个区域。

structuralBC (structuralmodel“面子”(21、22),“约束”“固定”);

指定齿上的压力加载为短的矩形压力脉冲。

structuralBoundaryLoad (structuralmodel“面子”11“压力”5 e6,...“EndTime”1 e - 3,“标签”“压力”);

指定由重力引起的加速度作为身体负载。

structuralBodyLoad (structuralmodel“GravitationalAcceleration”,[0 0 -1],...“标签”“重力”);

创建输入重力和音叉上的压力脉冲。

linearizeInput (structuralmodel“重力”);linearizeInput (structuralmodel“压力”);

测量y -12和面位移x-面位移

linearizeOutput (structuralmodel“面子”12“组件”“y”);linearizeOutput (structuralmodel“面子”6“组件”“x”);

获得一个mechss音叉的型号。

线性化(结构模型)
稀疏连续时间二阶模型,26个输出,4个输入,3240个自由度。使用“spy”和“showStateInfo”检查模型结构。输入“properties('mechss')”获取模型属性列表。键入“help mechssOptions”以获得此模型的可用求解器选项。

在线性化模型中,使用sys。InputName要检查输入到sys是在一个时间点上的重力、体载荷和压力脉冲。重力体负载产生三个输入,因为它有x-,y- - - - - -,z制造。

sys。InputName
ans =4 x1细胞{' Gravity_x}{‘Gravity_y}{‘Gravity_z}{‘压力’}

在线性化模型中,使用sys。OutputGroup以定位与每个坐标相关联的部分。

sys。OutputGroup
ans =带字段的结构:Face12_y: [1 23 4 5 6 7 8 9 10 11 12 13] Face6_x: [14 15 16 17 18 19 20 21 22 23 24 25 26]

如果您没有控制系统工具箱™,您可以访问有限元矩阵KB,F如下。

Mx =线性化(结构模型,“OutputType”“矩阵”
mx =带字段的结构:M: [3240x3240 double] K: [3240x3240 double] B: [3240x4 double] F: [26x3240 double]

输入参数

全部折叠

结构或热模型,指定为StructuralModel对象或ThermalModel对象。的线性化函数不支持非线性热分析。金宝app

例子:Thermalmodel = createpde("thermal","steadystate")

例子:Structuralmodel = createpde("structural","static-solid")

输出参数

全部折叠

用于“控制系统工具箱”的稀疏线性模型,返回为mechss桅杆模型对象。

有限元矩阵一个BCD,EKB,F,作为结构数组返回。

版本历史

R2021b中引入