reconstructSolution
恢复一个完整的模型瞬态解从降维模型(ROM)
语法
描述
例子
从罗结果重建结构的解决方案
了解解决方案的界面自由度(自由度)和模态自由度,重建完整的结构瞬态模型的解决方案。
创建一个结构模型进行瞬态分析。
modelT = createpde (“结构性”,“transient-solid”);
创建一个方形截面梁几何和包括在模型中。
通用= multicuboid (0.05, 0.003, 0.003);modelT。几何=通用;
画出几何图形,显示的脸,边标签。
图pdegplot (modelT,“FaceLabels”,“上”,“FaceAlpha”,0.5)视图(71 [4])
图pdegplot (modelT,“EdgeLabels”,“上”,“FaceAlpha”,0.5)视图(71 [4])
指定杨氏模量、泊松比和材料的质量密度。
structuralProperties (modelT“YoungsModulus”210 e9,…“PoissonsRatio”,0.3,…“MassDensity”,7800);
固定梁的一端。
structuralBC (modelT“边缘”8 11 12 [2],“约束”,“固定”);
添加一个顶点的中心面临3。
loadedVertex = addVertex(通用、“坐标”[0.025 0.0 0.0015]);
生成一个网格。
generateMesh (modelT);
应用一个正弦集中力量z方向上新的顶点。
structuralBoundaryLoad (modelT“顶点”loadedVertex,…“力”(0,0,10),“频率”,6000);
指定零初始条件。
structuralIC (modelT“速度”(0 0 0),“位移”,0 0 0);
定义超单元接口使用固定和装载的界限。在这种情况下,降维模型保留固定脸上的自由度和加载顶点而冷凝所有其他自由度模态自由度。获得更好的性能,使用边缘的边界面5而不是使用整个脸。
structuralSEInterface (modelT“边缘”,8 11 12 [2]);structuralSEInterface (modelT“顶点”,loadedVertex);
减少结构,保留所有固定接口模式5 e5
。
罗=减少(modelT,“FrequencyRange”,-0.1,5 e5);
接下来,使用降维模型来模拟瞬态动力学。使用ode15s
函数直接将降低系统的颂歌。使用简化模型需要索引减少系统矩阵rom.K
和rom.M
。首先,构建指标的映射K
和米
使用数据加载和固定的自由度罗
。
自由度对应平动位移。如果模型中网格点的数量神经网络
然后工具箱分配id,自由度如下:第一1
来神经网络
是x位移,神经网络+ 1
来2 *神经网络
是y位移,2神经网络+ 1
来3 *神经网络
是z位移。减少模型对象罗
包含这些保留自由度的idrom.RetainedDoF
。
创建一个函数,它返回景深IDs给定节点id和节点的数量。
getDoF = @ (x, numNodes) [x (:);x (:) + numNodes;x (:) + 2 * numNodes];
知道景深给定节点id, id使用相交
找到所需的指数函数。
numNodes =大小(rom.Mesh.Nodes, 2);loadedNode = findNodes (rom.Mesh,“地区”,“顶点”,loadedVertex);loadDoFs = getDoF (loadedNode numNodes);[loadNodeROMIds, ~ ~] =相交(rom.RetainedDoF loadDoFs);
在减少矩阵rom.K
和rom.M
,广义模态自由度出现后保留自由度。
fixedIntModeIds =(元素个数(rom.RetainedDoF) + 1:尺寸(rom.K, 1)) ';
因为固定端自由度不是ODE体系的一部分,ODE自由度的指数降低矩阵如下。
odeDoFs = [loadNodeROMIds; fixedIntModeIds];
相关的组件rom.K
和rom.M
时间集成:
Kconstrained = rom.K (odeDoFs odeDoFs);Mconstrained = rom.M (odeDoFs odeDoFs);numODE =元素个数(odeDoFs);
现在你有一个二阶常微分方程的系统。使用ode15s
,把它转换成系统的一阶常微分方程,应用线性化。这样一个一阶系统二阶系统的两倍大。
模式=[眼睛(numODE numODE) 0 (numODE numODE);…0 (numODE numODE) Mconstrained];Kode = [0 (numODE numODE),黑眼圈(numODE numODE);…Kconstrained 0 (numODE numODE)];飘流= 0 (2 * numODE, 1);
指定的集中力加载在完整的系统z方向,这是第三景深ODE体系。占线性化得到一阶系统可以加载颂歌景深。
loadODEDoF = numODE + 3;
指定质量矩阵和雅可比矩阵的ODE求解器进行求解。
odeoptions = odeset;odeoptions = odeset (odeoptions,“雅可比矩阵”,-Kode);odeoptions = odeset (odeoptions,“质量”模式);
指定零初始条件。
情况= 0 (2 * numODE, 1);
解决系统减少了使用ode15s和helper函数CMSODEf
,这是定义在这个例子。
tlist = 0:0.00005:3E-3;索尔= ode15s (@ (t, y) CMSODEf (t y Kode飘流,loadODEDoF),…情况,tlist odeoptions);
计算ODE变量的值和衍生品。
[displ,韦尔]=德瓦尔(sol tlist);
了解解决方案的界面自由度模和模态自由度,可以重建完整的解决方案模型。的reconstructSolution
函数需要的位移、速度和加速度的自由度罗
。向量构造完整的解决方案,包括零值在固定的自由度。
u = 0(大小(rom.K, 1),元素个数(tlist));ut = 0(大小(rom.K, 1),元素个数(tlist));utt = 0(大小(rom.K, 1),元素个数(tlist));u (odeDoFs:) = displ (1: numODE,:);ut (odeDoFs:) =韦尔(1:numODE,:);utt (odeDoFs:) =韦尔(numODE + 1:2 * numODE:);
使用此解决方案构建一个瞬态的结果对象。
RTrom = reconstructSolution (rom, u, ut、utt tlist);
计算位移在内陆的中心梁使用重构解决方案。
coordCenter = (0, 0, 0);iDispRTrom = interpolateDisplacement (RTrom coordCenter);图绘制(tlist iDispRTrom.uz)标题(“Z-Displacement几何中心”)
ODE Helper函数
函数f = CMSODEf (t, u, Kode飘流,loadedVertex)飘流(loadedVertex) = 10 * sin (6000 * t);f = -Kode * u +飘流;结束
从罗结果重建热解决方案
重构的解决方案一个完整的热瞬态模型降维模型。
创建一个瞬态热模型。
thermalmodel = createpde (“热”,“瞬态”);
创建一个单位平方几何,包括在模型中。
geometryFromEdges (thermalmodel @squareg);
画出几何图形,显示标签边缘。
pdegplot (thermalmodel“EdgeLabels”,“上”)xlim ([-1.1 - 1.1]) ylim ([-1.1 - 1.1])
指定导热系数、质量密度和比热的材料。
thermalProperties (thermalmodel“ThermalConductivity”,400,…“MassDensity”,1300,…“SpecificHeat”,600);
设置温度的右边缘One hundred.
。
thermalBC (thermalmodel“边缘”2,“温度”,100);
设置一个初始值为50
的温度。
thermalIC (thermalmodel, 50);
生成一个网格。
generateMesh (thermalmodel);
解决三种不同值的热源模型和收集快照。
tlist = 0:10:600;snapShotIDs = [1:10 59 60 61];Tmatrix = [];heatVariation = (10000 15000 20000);为q = heatVariation internalHeatSource (thermalmodel q);结果=解决(thermalmodel tlist);Tmatrix = [Tmatrix results.Temperature (:, snapShotIDs)];结束
开关模态的热模型分析类型。
thermalmodel。AnalysisType =“模态”;
计算圆荚体模式。
RModal =解决(thermalmodel,“快照”,Tmatrix);
减少热模型。
Rtherm =减少(thermalmodel,“ModalResults”RModal)
Rtherm = ReducedThermalModel属性:凯西:[6 x6双)M: [6 x6双)F: x1双[6]InitialConditions: x1双[6]网:[1 x1 FEMesh] ModeShapes: [1541 x5双]SnapshotsAverage: [1541 x1双)
接下来,使用降维模型来模拟瞬态动力学。使用ode15s
函数直接将降低系统的颂歌。指定质量矩阵和雅可比矩阵的ODE求解器进行求解。
odeoptions = odeset;odeoptions = odeset (odeoptions,“质量”,Rtherm.M);odeoptions = odeset (odeoptions,“JConstant”,“上”);f = @ -Rtherm (t, u)。K * u + Rtherm.F;df = -Rtherm.K;odeoptions = odeset (odeoptions,“雅可比矩阵”df);
解决系统减少了使用ode15s
。
索尔= ode15s (f tlist Rtherm.InitialConditions odeoptions);
计算ODE变量的值。
u =德瓦尔(sol tlist);
重构的解决方案完整的模型。
R = reconstructSolution (Rtherm, u, tlist);
画出温度分布在最后时间步。
pdeplot (thermalmodel“XYData”结束,R.Temperature (:,)
输入参数
Rcb
- - - - - -结构性结果使用Craig-Bampton还原法
ReducedStructuralModel
对象
结构使用Craig-Bampton顺序还原法结果,指定为一个ReducedStructuralModel
对象。
u
- - - - - -位移
矩阵
位移,指定为一个矩阵。矩阵的行数必须相等数量的总和的界面自由度和模式的数量。的x在保留自由度位移必须出现第一,然后y三维几何位移,,z位移,紧随其后的是广义模态的自由度。列数必须等于元素的数量tlist
。
数据类型:双
ut
- - - - - -速度
矩阵
速度,指定为一个矩阵。矩阵的行数必须相等数量的总和的界面自由度和模式的数量。的x速度在保留自由度必须出现第一,然后y速度,3 d几何,z速度,其次是广义模态的自由度。列数必须等于元素的数量tlist
。
数据类型:双
utt
- - - - - -加速度
矩阵
加速度,指定为一个矩阵。矩阵的行数必须相等数量的总和的界面自由度和模式的数量。的x在保留自由度加速度必须出现第一,然后y加速度,3 d几何,z加速度,紧随其后的是广义模态的自由度。列数必须等于元素的数量tlist
。
数据类型:双
tlist
- - - - - -解决方案时间降维模型
真正的向量
解决方案时间降维模型,指定为一个真正的向量。
数据类型:双
Rtherm
- - - - - -降维热模型
ReducedThermalModel
对象
降维热模型,指定为一个ReducedThermalModel
对象。
u_therm
- - - - - -温度在模态坐标
矩阵
温度在模态坐标,指定为一个矩阵。矩阵的行数必须等于模式的数量。列数必须等于元素的数量tlist
。
数据类型:双
输出参数
structuralresults
——瞬态结构分析的结果
TransientStructuralResults
对象
瞬态结构分析结果,作为一个返回TransientStructuralResults
对象。对象包含位移、速度和加速度值的节点生成的三角形或四面体网格generateMesh
。
thermalresults
——瞬态热分析的结果
TransientThermalResults
对象
瞬态热分析的结果,作为一个返回TransientThermalResults
对象。对象包含温度和梯度值的节点生成的三角形或四面体网格generateMesh
。
版本历史
介绍了R2019bR2022a:罗对热分金宝app析的支持
reconstructSolution
现在还可以瞬态热解决方案。金宝搏官方网站
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。