主要内容

线性化

线性化结构或热模型

描述

例子

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

利用linearizeInput指定与外部强制对应的线性模型的输入,例如负载或内部热源。工具箱将每个所选约束,加载或源的值视为常量,并且该值成为线性化模型中的一个输入通道。无论结构或热模型中的值如何,剩余的边界条件都被设置为零以用于线性化目的。确保您标记所有非零边界条件并将其传递为使用linearizeInput

利用linearizeOutput以几何图形区域(例如单元)(仅适用于3-D几何形状),面部,边缘或顶点来指定线性模型的输出。这包括指定区域中的所有自由度(DOF)作为输出值。对于结构模型,您还可以指定哪个xy, 和z自由度包括产出。

利用sys.inputname.sys。OutputGroup找到输入和输出sys它对应于一个特定的边界条件或一个选定的区域。

例子

MX.=线性化(模型“OutputType”,“矩阵”)返回有限元矩阵一个BCDE或者KBF用于构造mechss桅杆前面语法中的模型。

例子

全部折叠

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

创建瞬态热模型。

ThermalModel = Createpde(“热”瞬态的);

通过使用通过使用块几何到热模型geometryFromEdges函数。这个问题的几何描述文件被调用崩溃

geometryFromEdges (thermalmodel @crackg);

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

Pdegplot(ThermalModel,'Edgelabels'“上”) ylim([1])轴平等的

Figure包含一个轴对象。axis对象包含9个类型为line、text的对象。

生成网格。

Generatemesh(ThermalModel);

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

ThermalProperties(ThermalModel,“ThermalConductivity”,1,...“MassDensity”,1,...'细分',1);

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

thermalBC (thermalmodel“边缘”,6,“温度”, 100,“标签”“TempBC”);thermalBC (thermalmodel“边缘”,1,'eachflux', -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的温度。

sys =线性化(thermalmodel)
具有27个输出,3个输入和1363个状态的稀疏连续时间状态空间模型。使用“spy”和“showStateInfo”来检查模型结构。为模型属性列表键入“属性('spars')。为此模型的可用求解器选项键入“帮助sparssoptions”。

在线性化模型中,使用sys.inputname.检查输入的输入sys是热源,6号边的温度,1号边的热流。

sys.inputname.
ans =3x1细胞{'HeatSource'} {'TempBC'} {'FluxBC'}

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

sys。OutputGroup
ans =结构体字段:边2:[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 =线性化(ThermalModel,“OutputType”“矩阵”
mx =结构体字段:A: [1363x1363 double] B: [1363x3 double] C: [27x1363 double] E: [1363x1363 double]

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

建立结构瞬态分析模型。

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

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

importeometry(结构模型,“TuningFork.stl”);pdegplot (structuralmodel)

Figure包含一个轴对象。轴类对象包含3个类型的对象:颤动型、补丁型、直线型。

生成网格。

generateMesh (structuralmodel'hmax', 0.005);

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

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

识别用于通过用面标签绘制几何形状来施加边界约束和负载的面。

图('单位'“归一化”'ulththosition',[0 0 1 1])pdegplot(结构模型,“FaceLabels”“上”)查看(-50,15)标题“人脸标签的几何图形”

Figure包含一个轴对象。带有面部标签的标题几何形状的轴对象包含3型QUIVIVE,PATCH,LINE的对象。

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

StructuralBC(结构模型,“脸”,[21,22],“约束”“固定”);

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

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

指定由于重力为身体负载的加速度。

结构BABLODLOAD(结构模型,'ravitationalacceleration'(0 0 1),...“标签”“重力”);

在调谐叉上创建重力和压力脉冲的输入。

LineArizeInput(结构模型,“重力”);LineArizeInput(结构模型,“压力”);

衡量y -面部12的位移和x- 6面的位移。

linearizeOutput (structuralmodel“脸”12“组件”“y”);linearizeOutput (structuralmodel“脸”,6,“组件”“x”);

获得A.mechss调谐叉的模型。

sys =线性化(结构模型)
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 =结构体字段: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对象或A.ThermalModel对象。的线性化函数不支持非线性热分析。金宝app

例子:ThermalModel = Createpde('热','stignedstate')

例子:StructuralModel = Createpde('结构','static-solid')

输出参数

全部折叠

稀疏线性模型与控制系统工具箱一起使用,返回为mechss或者桅杆模型对象。

有限元矩阵一个BCD, 和E或者KB, 和F,作为结构数组返回。

介绍了R2021b