主要内容

structuralBC

为结构模型指定边界条件

描述

标准边界约束与位移

例子

structuralBC (structuralmodelRegionTypeRegionID“约束”,Cval指定标准结构边界约束之一。在这里,Cval可以“固定”“免费”“滚”,或“对称”.默认值为“免费”

避免使用“对称”对于瞬态和模态分析,由于对称约束可以防止一些结构模态的参与。

例子

structuralBC (structuralmodelRegionTypeRegionID“位移”,Dval强制类型边界上的位移RegionTypeRegionIDID数字。

例子

structuralBC (structuralmodelRegionTypeRegionID“XDisplacement”,XDval“YDisplacement”,YDval“ZDisplacement”,ZDval指定强制位移的x、y和z分量。

structuralBC不需要指定所有三个组件。根据您的结构分析问题,您可以通过选择相应的参数并省略其他参数来指定一个或多个组件。

例子

structuralBC (structuralmodelRegionTypeRegionID“RDisplacement”,RDval“ZDisplacement”,ZDval指定轴对称模型的强制位移的r和z分量。径向分量(r分量)在旋转轴上必须为零。

structuralBC不需要指定两个组件。

谐波,矩形,三角形和梯形位移脉冲

例子

structuralBC (structuralmodelRegionTypeRegionID“XDisplacement”,XDval名称,值指定强制位移的x分量的时变值的形式和持续时间。您还可以指定位移的其他组件的形式和持续时间,如下所示:

  • structuralBC(…,“YDisplacement”,YDval名称,值对于y分量。

  • structuralBC(…,“ZDisplacement”,ZDval名称,值对于z分量。将此语法用于3-D或轴对称模型。

  • structuralBC(…,“RDisplacement”,RDval名称,值对于轴对称模型中的径向分量。

多点约束

例子

structuralBC (structuralmodelRegionTypeRegionID“约束”,“多点”属性指定的几何区域组合上使用所有自由度设置多点约束RegionType而且RegionID.约束的参考位置是所有指定几何区域组合上所有节点的几何中心。

方法中使用模型序约简技术获得的结果,则需要此语法Simscape™多体™降阶柔性固体块。Simscape模型期望所有节点上的连接都有六个自由度,而偏微分方程工具箱™在每个节点上使用两个或三个自由度。设置多点约束可以确保指定几何区域的所有节点和所有自由度都具有以所有指定几何区域的几何中心为参考点的刚性约束。参考位置有六个自由度。

为了获得更好的性能,请使用最少数量的节点指定几何区域。例如,使用一组边而不是面,使用一组顶点而不是边。

structuralBC (___“引用”,坐标指定多点约束的参考点,而不是使用所有指定区域的几何中心作为参考点。

将此语法与前一语法中的输入参数一起使用。

structuralBC (___“引用”,坐标“半径”,R将多点约束的区域限制在半径为圆(对于二维几何)或球面(对于三维几何)的节点上R围绕参考点。

稀疏线性模型用于控制系统工具箱

structuralBC (___“标签”,labeltext控件使用的结构边界条件添加标签linearizeInput函数。函数允许您将边界条件传递给线性化功能,提取稀疏线性模型与控制系统工具箱™使用。

函数句柄的向量化计算

structuralBC (___矢量化”,“上”)在将函数句柄作为参数传递时,使用向量化函数求值。如果函数句柄以向量化的方式计算,则使用此参数可节省时间。看到向量化.有关此评估的详细信息,请参见非常数边界条件

将此语法与以前语法中的任何输入参数一起使用。

结构边界条件对象

公元前= structuralBC (___使用以前语法中的任何输入参数返回结构边界条件对象。

例子

全部折叠

在双金属电缆两端进行固定边界和牵引。

创建一个结构模型。

structuralModel = createpde(“结构”“static-solid”);

创建嵌套圆柱以模拟双金属电缆。

Gm =多缸([0.01,0.015],0.05);

将几何图形分配给结构模型并绘制几何图形。

structuralModel。几何= gm;pdegplot (structuralModel“CellLabels”“上”...“FaceLabels”“上”...“FaceAlpha”, 0.4)

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

对于每种金属,指定杨氏模量和泊松比。

structuralProperties (structuralModel“细胞”, 1“YoungsModulus”110 e9,...“PoissonsRatio”, 0.28);structuralProperties (structuralModel“细胞”2,“YoungsModulus”210 e9,...“PoissonsRatio”, 0.3);

指定面1和面4为固定边界。

structuralBC (structuralModel“脸”(1、4),“约束”“固定”
ans = StructuralBC with properties: RegionType: 'Face' RegionID: [1 4] Vectorized: 'off'边界约束和强制位移位移:[]XDisplacement: [] YDisplacement: [] ZDisplacement:[]约束:"fixed"半径:[]参考:[]标签:[]边界载荷力:[]SurfaceTraction:[]压力:[]translational刚度:[]标签:[]

指定面2和面5的表面牵引。

structuralBoundaryLoad (structuralModel...“脸”(2、5),...“SurfaceTraction”(0, 0, 100))
ans = StructuralBC with properties: RegionType: 'Face' RegionID: [2 5] Vectorized: 'off'边界约束和强制位移位移:[]XDisplacement: [] YDisplacement: [] ZDisplacement:[]约束:[]半径:[]参考:[]标签:[]边界载荷力:[]SurfaceTraction: [3x1 double]压力:[]translational刚度:[]标签:[]

创建一个结构模型。

structuralModel = createpde(“结构”“static-solid”);

创建一个块几何图形。

Gm = multicuboid(0.2,0.1,0.05);

将几何图形分配给结构模型并绘制几何图形。

structuralModel。几何= gm;pdegplot (structuralModel“FaceLabels”“上”“FaceAlpha”, 0.5)

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

指定杨氏模量,泊松比和质量密度。

structuralProperties (structuralModel“YoungsModulus”74 e9,...“PoissonsRatio”, 0.42,...“MassDensity”19.29 e3);

指定梁上的重力荷载。

structuralBodyLoad (structuralModel...“GravitationalAcceleration”[0, 0, -9.8]);

指定面5为固定边界。

structuralBC (structuralModel“脸”5,“约束”“固定”);

指定z-模型面3的位移。通过离开x- - -y-位移未指定,你启用面3移动到x- - -y的方向。

structuralBC (structuralModel“脸”3,“ZDisplacement”, 0.0001);

生成网格并求解模型。

generateMesh (structuralModel);R = solve(structuralModel);

绘制变形的形状x-正应力的组成部分。

pdeplot3D (structuralModel“ColorMapData”R.Stress.sxx,...“变形”R.Displacement)

现在在同一面上指定所有三个位移。在这里,z-displacement是相同的,但是x- - -y-位移都是零。脸3不能移动x- - -y的方向。

structuralBC (structuralModel“脸”3,...“位移”[0, 0, 0.0001]);R = solve(structuralModel);pdeplot3D (structuralModel“ColorMapData”R.Stress.sxx,...“变形”R.Displacement)

因此,指定“位移”,(0,0,0.0001)等价于指定“XDisplacement”0“YDisplacement”,0,ZDisplacement, 0.0001

structuralBC (structuralModel“脸”3,“XDisplacement”0,...“YDisplacement”0,...“ZDisplacement”, 0.0001);R = solve(structuralModel);pdeplot3D (structuralModel“ColorMapData”R.Stress.sxx,...“变形”R.Displacement)

分析由于压合而在轮毂处产生径向压缩的旋转圆盘。圆盘的内半径为0.05,外半径为0.2。圆盘厚度为0.05,过盈配合为50E-6。为了进行分析,将三维轴对称模型简化为二维模型。

为求解轴对称问题建立一个静力结构分析模型。

Structuralmodel = createpde(“结构”“static-axisymmetric”);

二维模型是一个矩形条带x-dimension从轮毂延伸到外表面,而whosey-dimension扩展到磁盘的高度。通过指定条带的四个角的坐标来创建几何图形。对于轴对称模型,工具箱假设旋转轴是通过的垂直轴r= 0,等于x= 0。

G = decsg([3 4 0.05 0.2 0.2 0.05 -0.025 -0.025 0.025 0.025]');

在模型中包含几何图形。

geometryFromEdges (structuralmodel g);

用边和顶点标签绘制几何图形。

图pdegplot (structuralmodel,“EdgeLabels”“上”“VertexLabels”“上”xlim([0 .0 3])

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

指定杨氏模量,泊松比和质量密度。

structuralProperties (structuralmodel“YoungsModulus”210 e9,...“PoissonsRatio”, 0.28,...“MassDensity”, 7700);

由于圆盘旋转而施加离心负荷。假设磁盘以104.7 rad/s的速度旋转。

structuralBodyLoad (structuralmodel“AngularVelocity”, 1047);

将圆盘轮毂处的径向位移应用于模型压合。

structuralBC (structuralmodel“边缘”4“RDisplacement”, 50 e-6);

固定轮毂上一点的轴向位移,以防止刚体运动。

structuralBC (structuralmodel“顶点”, 1“ZDisplacement”, 0);

生成一个网格。

generateMesh (structuralmodel);

求解模型。

结构结果= solve(结构模型);

画出圆盘的径向位移。

图pdeplot (structuralmodel,...“XYData”structuralresults.Displacement.ur,...“ColorMap”“喷气机”)轴平等的Xlim ([0 0.3]) ylim([-0.05 0.05])

图中包含一个轴对象。axis对象包含一个patch类型的对象。

画周向(环向)应力。

图pdeplot (structuralmodel,...“XYData”structuralresults.Stress.sh,...“ColorMap”“喷气机”)轴平等的Xlim ([0 0.3]) ylim([-0.05 0.05])

图中包含一个轴对象。axis对象包含一个patch类型的对象。

使用函数句柄指定光束中谐波变化的激励。

为一个三维问题创建一个瞬态动态模型。

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

创建一个几何图形并将其包含在模型中。画出几何图形。

Gm = multicuboid(0.06,0.005,0.01);structuralmodel。几何= gm;pdegplot (structuralmodel“FaceLabels”“上”“FaceAlpha”, 0.5)视图(50、20)

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

指定材料的杨氏模量、泊松比和质量密度。

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

固定梁的一端。

structuralBC (structuralmodel“脸”5,“约束”“固定”);

施加正弦位移沿y-方向与横梁固定端相对。

yDisplacementFunc =...@(位置、状态)的(大小(location.y)) * 1 *的军医罪(50 * state.time);structuralBC (structuralmodel“脸”3,...“YDisplacement”, yDisplacementFunc);

通过指定谐波激励的频率来指定谐波激励。

为一个三维问题创建一个瞬态动态模型。

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

创建一个几何图形并将其包含在模型中。画出几何图形。

Gm = multicuboid(0.06,0.005,0.01);structuralmodel。几何= gm;pdegplot (structuralmodel“FaceLabels”“上”“FaceAlpha”, 0.5)视图(50、20)

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

指定材料的杨氏模量、泊松比和质量密度。

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

固定梁的一端。

structuralBC (structuralmodel“脸”5,“约束”“固定”);

施加正弦位移沿y-方向与横梁固定端相对。

structuralBC (structuralmodel“脸”3,...“YDisplacement”1的军医,...“频率”, 50);

固定矩形板的一角,抑制模型的所有刚体运动。

创建用于平面静力分析的结构模型。

模型= createpde(“结构”“static-planestress”);

创建几何图形并将其包含在结构模型中。

长度= 1;宽度= 0.5;半径= 0.1;R1 = [3 4 -length length length -length ....-width -width width width]';C1 =[1 0 0半径0 0 0 0 0 0 0]';gdm = [R1 C1];Ns = char(R1的“C1”);G = decsg(gdm,“R1 - C1”, ns);geometryFromEdges(模型中,g);

绘制几何图形,显示边缘标签。

图pdegplot(模型,“EdgeLabels”“上”);轴长度([-1.2 * 1.2 *长度...1.2 * -1.2 *宽度宽度)

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

绘制几何图形,显示顶点标签。

图pdegplot(模型,“VertexLabels”“上”);轴长度([-1.2 * 1.2 *长度...1.2 * -1.2 *宽度宽度)

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

指定材料的杨氏模量和泊松比。

structuralProperties(模型,“YoungsModulus”210 e9,“PoissonsRatio”, 0.3);

设置x-板左边缘的位移分量为零,以抵抗施加的载荷。

structuralBC(模型,“边缘”3,“XDisplacement”, 0);

应用非零的表面牵引x-组件在板的右边缘。

structuralBoundaryLoad(模型,“边缘”, 1“SurfaceTraction”, 100000年[0]);

设置y-左下角(顶点3)位移分量为零,以约束刚体运动。

structuralBC(模型,“顶点”3,“YDisplacement”, 0);

生成网格,使用Hmax控制网孔大小。精细的网格可以让你准确地捕捉到溶液中的渐变。

generateMesh(模型,“Hmax”、半径/ 6);

解决问题。

R = solve(模型);

画出x正态应力分布的-分量。

pdeplot(模型,“XYData”, R.Stress.sxx);轴平等的colormap飞机标题x方向的法向应力

图中包含一个轴对象。标题为“沿x方向法向应力”的axis对象包含一个patch类型的对象。

在梁的两端设置多点约束。

为一个三维问题创建一个瞬态结构模型。

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

创建一个几何图形并将其包含在模型中。画出几何图形。

Gm = multicuboid(0.1,0.01,0.01);structuralmodel。几何= gm;pdegplot (structuralmodel“EdgeLabels”“上”“FaceAlpha”, 0.5)

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

指定材料的杨氏模量、泊松比和质量密度。

structuralProperties (structuralmodel“YoungsModulus”70 e9,...“PoissonsRatio”, 0.3,...“MassDensity”, 2700);

生成一个网格。

generateMesh (structuralmodel);

在梁的右侧设置多点约束。为了获得更好的性能,将约束设置在约束梁右侧的边集上,而不是将其设置在整个面上。

structuralBC (structuralmodel“边缘”,(4、6、9、10)...“约束”“多点”
ans = StructuralBC with properties: RegionType: 'Edge' RegionID: [4 6 9 10] Vectorized: 'off'边界约束和强制位移位移:[]XDisplacement: [] YDisplacement: [] ZDisplacement:[]约束:“多点”半径:[]参考:[]标签:[]边界载荷力:[]SurfaceTraction:[]压力:[]translational刚度:[]标签:[]力、压力或强制位移的时间变化开始时间:[]结束时间:[]RiseTime: [] FallTime:[]力、压力或强制位移的正弦变化频率:[]相位:[]

使用相同的方法,在梁的左侧设置多点约束。

structuralBC (structuralmodel“边缘”,(2、8、11、12),...“约束”“多点”
ans = StructuralBC with properties: RegionType: 'Edge' RegionID: [2 8 11 12] Vectorized: 'off'边界约束和强制位移位移:[]XDisplacement: [] YDisplacement: [] ZDisplacement:[]约束:“多点”半径:[]参考:[]标签:[]边界载荷力:[]SurfaceTraction:[]压力:[]translational刚度:[]标签:[]力、压力或强制位移的时间变化开始时间:[]结束时间:[]RiseTime: [] FallTime:[]力、压力或强制位移的正弦变化频率:[]相位:[]

将模型降为频率范围内的所有模态(负无穷,500000)界面自由度。

R = reduce(结构模型,“FrequencyRange”,负无穷,500000);

输入参数

全部折叠

结构模型,指定为StructuralModel对象。该模型包含几何、网格、材料的结构特性、体载荷、边界载荷和边界条件。

例子:Structuralmodel = createpde('structural','transient-solid')

几何区域类型,指定为“顶点”“边缘”或者,对于3d模型,“脸”

属性,则不能使用以下几何区域类型“滚”“对称”值为边界约束Cval

  • “边缘”三维模型

  • “顶点”2-D或3-D模型

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.1)

数据类型:字符|字符串

几何区域ID,指定为正整数向量。使用查找区域idpdegplot

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01)

数据类型:

位移

强制位移,指定为数值矢量或函数句柄。对于2-D模型(包括轴对称模型),数值向量必须包含两个元素,对于3-D模型则必须包含三个元素。对于二维模型,函数必须返回一个两行矩阵;对于三维模型,函数必须返回一个三行矩阵。矩阵的每一列必须对应于求解器提供的边界坐标上的强制位移向量。在瞬态或频响分析中,Dval也可以分别是时间或频率的函数。详细信息请参见更多关于

在指定时请注意Dval对于轴对称模型,旋转轴上的径向位移必须始终为零。

例子:structuralBC (structuralmodel‘脸’,(2、5),“位移”,[0,0,0.01])

数据类型:|function_handle

强制位移的x分量,用数字或函数句柄表示。函数必须返回一个行向量。该向量的每个元素对应于求解器提供的边界坐标上强制位移的x分量值。在瞬态或频响分析中,XDval也可以分别是时间或频率的函数。详细信息请参见更多关于

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01)

数据类型:|function_handle

强制位移的y分量,用数字或函数句柄表示。函数必须返回一个行向量。该向量的每个元素都对应于求解器提供的边界坐标上强制位移的y分量值。在瞬态或频响分析中,YDval也可以分别是时间或频率的函数。详细信息请参见更多关于

例子:structuralBC (structuralmodel‘脸’,(2、5),“YDisplacement”,0.01)

数据类型:|function_handle

强制位移的z分量,用数字或函数句柄表示。函数必须返回一个行向量。该向量的每个元素对应于求解器提供的边界坐标上强制位移的z分量值。对于瞬态或频响分析,ZDval也可以分别是时间或频率的函数。详细信息请参见更多关于

你可以指定ZDval三维或轴对称模型。

例子:structuralBC (structuralmodel‘脸’,(2、5),“ZDisplacement”,0.01)

数据类型:|function_handle

强制位移的r分量,用数字或函数句柄表示。函数必须返回一个行向量。该向量的每个元素对应于求解器提供的边界坐标上强制位移的r分量值。对于瞬态或频响分析,RDval也可以分别是时间或频率的函数。详细信息请参见更多关于

你可以指定RDval只适用于轴对称模型。RDval在旋转轴上必须为零。

例子:structuralBC (structuralmodel‘脸’,(2、5),“RDisplacement”,0.01)

数据类型:|function_handle

标准结构边界约束,指定为“免费”“固定”“滚”“对称”,或“多点”

您不能使用“滚”而且“对称”具有以下几何区域类型的值:

  • “边缘”三维模型

  • “顶点”2-D或3-D模型

例子:structuralBC (structuralmodel‘脸’,(2、5),“约束”,“固定”)

数据类型:字符|字符串

多点约束的参考点位置,指定为2 × 1(用于2-D几何图形)或3 × 1(用于3-D几何图形)数值向量。

例子:structuralBC (structuralmodel“顶点”,(1,3,5:10),“约束”,“多点”,“参考”,[0,0,1])

数据类型:

围绕多点约束的参考点位置的圆(对于2-D几何图形)或球(对于3-D几何图形)的半径,指定为正数。

例子:structuralBC (structuralmodel“顶点”,(1,3,5:10),“约束”,“多点”,“参考”,[0,0,1],“半径”,0.2)

数据类型:

结构边界条件的标签,指定为字符向量或字符串。

数据类型:字符|字符串

名称-值参数

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,上升时间,0.5,“FallTime”,0.5,“EndTime”,3)

使用一个或多个名称-值对参数指定位移组件时变值的形式和持续时间。使用以下参数之一指定位移值:XDvalYDvalZDval,或RDval.不能使用这些名称-值对参数指定多个时变组件或指定Dval价值。

您可以为矩形、三角形和梯形位移脉冲建模。如果开始时间为0,则不需要指定。

  • 对于矩形脉冲,指定开始和结束时间。

  • 对于三角形脉冲,指定开始时间和以下时间中的任意两个:上升时间、下降时间和结束时间。您也可以指定所有三个时间,但它们必须一致。

  • 对于梯形脉冲,指定所有四次。

梯形脉冲显示开始,上升,下降和结束的时间

你可以通过指定谐波位移的频率和初始相位来模拟谐波位移。如果初始相位为0,则不需要指定初始相位。

谐波位移显示频率和初始相位

矩形、三角形或梯形脉冲

全部折叠

位移分量的开始时间,指定为0或正数。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,“开始时间”,1,“EndTime”,3)

数据类型:

位移分量的结束时间,指定为等于或大于开始时间值的正数。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,“开始时间”,1,“EndTime”,3)

数据类型:

位移分量的上升时间,指定为正数。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,上升时间,0.5,“FallTime”,0.5,“EndTime”,3)

数据类型:

位移分量的下落时间,指定为正数。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,上升时间,0.5,“FallTime”,0.5,“EndTime”,3)

数据类型:

谐波位移

全部折叠

正弦位移分量值的频率,以每单位时间的弧度为单位的正数表示。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,‘XDisplacement’,0.01,“频率”,25)

数据类型:

正弦位移分量值的相位,用正数表示,单位为弧度。仅为瞬态结构模型指定此参数。

例子:structuralBC (structuralmodel‘脸’,(2、5),“XDisplacement”,0.01,“频率”,25岁的“阶段”,π/ 6)

数据类型:

输出参数

全部折叠

边界条件的句柄,返回为StructuralBC对象。看到StructuralBC属性

更多关于

全部折叠

自由度(dfs)

在偏微分方程工具箱中,二维或三维几何的每个节点分别具有两个或三个自由度(dof)。自由度对应于平动位移。如果模型中的网格点数为NumNodes,则工具箱将id分配给自由度,如下所示:

  • 数字从1到NumNodes对应于x-每个节点的位移。

  • 数据从NumNodes + 12 * NumNodes对应于y-每个节点的位移。

  • 数据从2 * NumNodes + 13 * NumNodes对应于z-三维几何中每个节点的位移。

确定结构模型的非常数参数

使用函数句柄指定以下结构参数时,它们取决于空间,取决于结构分析的类型(时间或频率):

  • 边界上的表面牵引

  • 垂直于边界的压强

  • 集中的力在顶点

  • 分布弹簧刚度为每个平动方向用于建模弹性地基

  • 强迫位移及其组成部分

  • 初始位移和速度(只取决于空间)

例如,使用函数句柄来指定压力负载,x-强迫位移分量,以及该模型的初始位移。

structuralBoundaryLoad(模型,“脸”12...“压力”@myfunPressure) structuralBC(模型,“脸”2,...“XDisplacement”@myfunBC) structuralIC(模型,“脸”12...“位移”@myfunIC)

对于除初始位移和速度外的所有参数,函数必须为:

函数structuralVal = myfun(位置,状态)

对于初始位移和速度,函数必须为:

函数structuralVal = myfun(location)

中的数据进行计算和填充位置而且状态构造数组并将此数据传递给函数。您可以定义函数,使其输出依赖于此数据。你可以用任何名字来代替位置而且状态,但函数必须恰好有两个参数(如果函数指定初始位移或初始速度,则只有一个参数)。要在函数中使用附加参数,请将(接受附加参数的)函数包装为仅接受位置而且状态参数。例如:

structuralVal =...@(位置、状态)myfunWithAdditionalArgs(位置、状态、__arg1最长...structuralBC(模型,“脸”2,“XDisplacement”,structuralVal) =...@(位置)myfunWithAdditionalArgs(位置、__arg1最长...structuralIC(模型,“脸”2,“位移”structuralVal)
  • 位置-包含这些字段的结构:

    • location.x- - -x点的-坐标

    • location.y- - -y点的-坐标

    • location.z-对于三维或轴对称几何,使用z点的-坐标

    • location.r-对于轴对称几何,为r点的-坐标

    此外,对于边界条件,求解器将这些数据传递到位置结构:

    • location.nx- - - - - -x-法向量在评价点的分量

    • location.ny- - - - - -y-法向量在评价点的分量

    • location.nz-对于三维或轴对称几何,z-法向量在评价点的分量

    • location.nz-对于轴对称几何,z-法向量在评价点的分量

  • 状态包含这些动态结构问题字段的结构:

    • state.time包含评估点的时间。

    • state.frequency包含评估点的频率。

    state.time而且state.frequency是标量。

边界约束和负载从求解器获得这些数据:

  • location.xlocation.ylocation.zlocation.r

  • location.nxlocation.nylocation.nzlocation.nr

  • state.timestate.frequency(取决于结构分析的类型)

初始条件从解算器获得以下数据:

  • location.xlocation.ylocation.zlocation.r

  • 子域ID

如果一个参数表示一个矢量值,例如表面牵引力、弹簧刚度、力或位移,则函数必须为2-D模型返回一个两行矩阵,为3-D模型返回一个三行矩阵。矩阵的每一列都对应于求解器提供的边界坐标上的参数值(一个向量)。

如果一个参数表示一个标量值,例如压力或位移分量,则函数必须返回一个行向量,其中每个元素对应于求解器提供的边界坐标上的参数值(一个标量)。

如果边界条件依赖于state.timestate.frequency,确保你的函数返回一个矩阵大小正确的时候state.frequencystate.time.求解器通过传递来检查问题是否非线性或时间相关状态值和查找返回值值。

提示

  • 通过指定尽可能多的边界条件来约束所有刚体运动。如果你不限制所有刚体运动,整个几何可以自由旋转或移动。由此得到的线性方程组是奇异的。系统可能需要很长时间才能收敛,也可能根本不收敛。如果系统收敛,除变形外,解还包括较大的刚体运动。

在R2017b中引入