Karamba3D v1.3.3
Chinese 中文
Chinese 中文
  • 欢迎来到Karamba3D
  • 1: 绪论
    • 1.1: 安装
    • 1.2: 使用授权许可
      • 1.2.1: 独立使用授权许可
      • 1.2.2: 网络使用授权许可
      • 1.2.3: 临时使用授权许可
      • 1.2.4: 云端使用授权许可
  • 2: 入门
    • 2: 入门
      • 2.1: Karamba3D实体
      • 2.2: 建立结构分析
        • 2.2.1: 定义模型元素
        • 2.2.2: 模型显示
        • 2.2.3: 添加支撑件
        • 2.2.4: 定义荷载
        • 2.2.5: 算法选择
        • 2.2.6: 提供断面 – 或使用默认值
        • 2.2.7: 定义材料
        • 2.2.8: 检索结果
      • 2.3: 物理单位
      • 2.4: 运算器速览
  • 3: 运算器详解
    • 3.1: 模型 (Model)
      • 3.1.1: 模型构建 (Assemble)
      • 3.1.2: 分解模型 (Disassemble Model)
      • 3.1.3: 编辑模型 (Modify Model)
      • 3.1.4: 连接构件 (Connected Parts)
      • 3.1.5: 激活元素 (Activate Element)
      • 3.1.6: 由线到梁 Line To Beam
      • 3.1.7: 与梁的连接 (Connectivity to Beam)
      • 3.1.8: 由索引到梁 (Index to Beam)
      • 3.1.9: 由网格面到壳体 (Mesh to Shell)
      • 3.1.10: 编辑元素 (Modify Element)
      • 3.1.11: 点-质量 (Point-Mass)
      • 3.1.12: 分解元素 (Disassemble Element)
      • 3.1.13: 创建梁的集合 (Make Beam-Set) 🔷
      • 3.1.14: 定位元素 (Orientate Element)
      • 3.1.15: 选择梁 (Select Element)
      • 3.1.16: 支撑件 (Support)
    • 3.2: 荷载 (Load)
      • 3.2.1: 荷载 (Loads)
      • 3.2.2: 分解网格荷载 (Disassemble Mesh Load)
      • 3.2.3: 规定位移 (Prescribed displacements)
    • 3.3: 断面 (Cross Section)
      • 3.3.1: 梁的断面 (Beam Cross Sections)
      • 3.3.2: 壳体断面 (Shell Cross Sections)
      • 3.3.3: 弹性元件断面 (Spring Cross Sections)
      • 3.3.4: 分解断面 (Disassemble Cross Section) 🔷
      • 3.3.5: 梁-连接件 (Beam-Joint Agent) 🔷
      • 3.3.6: 梁-铰链 (Beam-Joints) 🔷
      • 3.3.7: 梁上偏心率、断面偏心率 (Eccentricity on Beam and Cross Section) 🔷
      • 3.3.8: 编辑断面 (Modify Cross Section) 🔷
      • 3.3.9: 断面范围选择器 (Cross Section Range Selector)
      • 3.3.10: 断面选择器 (Cross Section Selector)
      • 3.3.11: 断面匹配器 (Cross Section Matcher)
      • 3.3.12: 生成断面信息表格 (Generate Cross Section Table)
      • 3.3.13: 从文件中读取断面信息表格(Read Cross Section Table from File)
    • 3.4: 材料 (Material)
      • 3.4.1: 材料属性 (Material Properties)
      • 3.4.2: 选择材料 (Material Selection)
      • 3.4.3: 从文件中读取材料列表 (Read Material Table from File)
      • 3.4.4: 分解材料 (Disassemble Material) 🔷
    • 3.5: 算法 (Algorithms)
      • 3.5.1: 分析 (Analyze)
      • 3.5.2: 分析原理II (AnalyzeThII) 🔷
      • 3.5.3: 分析非线性WIP (Analyze Nonlinear WIP)
      • 3.5.4: 大变形分析 (Large Deformation Analysis)
      • 3.5.5: 屈曲模式 (Buckling Modes) 🔷
      • 3.5.6: 本征模 (Eigen Modes)
      • 3.5.7: 自然振动 (Natural Vibrations)
      • 3.5.8: 优化横截面 (Optimize Cross Section) 🔷
      • 3.5.9: 梁的双向渐进结构优化 (BESO for Beams)
      • 3.5.10: 壳体的双向渐进结构优化 (BESO for Shells)
      • 3.5.11: 优化补强加固 (Optimize Reinforcement) 🔷
      • 3.5.12: 张力/压力消除器 (Tension/Compression Eliminator) 🔷
    • 3.6: 结果
      • 3.6.1: 模型视图 (ModelView)
      • 3.6.2: 变形能量 (Deformation-Energy)
      • 3.6.3: 节点位移 (Nodal Displacements)
      • 3.6.4: 主应变近似值 (Principal Strains Approximation)
      • 3.6.5: 反作用力 (Reaction Forces) 🔷
      • 3.6.6: 元件利用率 (Utilization of Elements) 🔷
      • 3.6.7: 梁视图 (BeamView)
      • 3.6.8: 梁的位移 (Beam Displacements) 🔷
      • 3.6.9: 梁的作用力 (Beam Forces)
      • 3.6.10: 合成截面力 (Resultant Section Forces)
      • 3.6.11: 壳体视图 (ShellView)
      • 3.6.12: 壳体上的线结果 (Line Results on Shells)
      • 3.6.13: 壳体上的结果向量 (Result Vectors on Shells)
      • 3.6.14: 壳体作用力 (Shell Forces)
    • 3.7: 输出 (Export) 🔷
      • 3.7.1: 输出模型至DStV (Export Model to DStV) 🔷
    • 3.8 实用程序 (Utilities)
      • 3.8.1: 网格边界表示 (Mesh Breps)
      • 3.8.2: 最近点 (Closest Points)
      • 3.8.3: 多维最近点 (Closest Points Multi-dimensional)
      • 3.8.4: 剔除曲线 (Cull Curves)
      • 3.8.5: 碰撞检测 (Detect Collisions)
      • 3.8.6: 从线中获取单元格 (Get Cells from Lines)
      • 3.8.7: 线-线相交 (Line-Line Intersection)
      • 3.8.8: 主要状态转型 (Principal States Transformation) 🔷
      • 3.8.9: 重复线删除 (Remove Duplicate Lines)
      • 3.8.10: 重复点删除 (Remove Duplicate Points)
      • 3.8.11: 简化模型 (Simplify Model)
      • 3.8.12: 元素毡化 (Element Felting) 🔷
      • 3.8.13: 映射器 (Mapper) 🔷
      • 3.8.14: 插值形状 (Interpolate Shape) 🔷
      • 3.8.15: 借助缝合连接梁 (Connecting Beams with Stitches) 🔷
      • 3.8.16: 用户等参线和流线 (User Iso-Lines and Stream-Lines)
  • 疑难解答
    • 4.1: 其他问题
      • 4.1.1: 安装问题
      • 4.1.2: 购买程序
      • 4.1.3: 获取使用授权许可
      • 4.1.4: 运行错误
      • 4.1.5: 定义与运算器
      • 4.1.6: 默认程序设置
    • 4.2: 技术支持
  • 附件
    • A.1: 发行说明
    • A.2: 背景资料
      • A.2.1: 材料的基本性能
      • A.2.2: 有关荷载的附加信息
      • A.2.3: 设计静态可行性结构的技巧
      • A.2.4: 减少运算时间的技巧
      • A.2.5: 自然振动、本征模和屈曲
      • A.2.6: 用于断面优化的方法
    • A.3: 参考书目
Powered by GitBook
On this page
  • 动态松弛 (Dynamic Relaxation)
  • 牛顿-拉夫逊方法(亦称牛顿迭代法)(Newton-Raphson Method)
  • 弧长方法 (Arc-Length Method)

Was this helpful?

  1. 3: 运算器详解
  2. 3.5: 算法 (Algorithms)

3.5.3: 分析非线性WIP (Analyze Nonlinear WIP)

Previous3.5.2: 分析原理II (AnalyzeThII) 🔷Next3.5.4: 大变形分析 (Large Deformation Analysis)

Last updated 4 years ago

Was this helpful?

线性结构行为意味着如果改变外部载荷一个因子fff,则物理响应量(位移、横截面力、应力等)也会因该因子而改变。令人满意的结果是可叠加不同荷载的影响。因此,没有必要为每种可能的外部荷载组合而重新计算模型。对于实际结构而言,线性行为的假设是一个近似值(在多数情况下都是一个很好的假设)。共有两种主要的非线性来源:

  • 物理非线性:当材料超出线性弹性范围时起作用(例如,开裂的混凝土、折弯的钢材等)。

  • 几何非线性:在以下情况下生效

    • 横向位移过大,以至于不能再忽略它们对轴向变形(例如,梁)或平面变形(如壳体的情况)的影响;

    • 节点旋转α\alphaα达到一定值,会使得α\alphaα和tan⁡(α)\tan(\alpha)tan(α)之间的差异变得重要。

“Analyze Nonlinear WIP(分析非线性WIP)”运算器可以处理几何非线性。它处于运行中状态。这意味着,对于某些结构,特别是对于壳体,算法可能无法在可接受的时间内完成。但是,如果有结果反馈,则应该是正确的结果。

借助“Analyze Nonlinear WIP(分析非线性WIP)”运算器,用户可以从三种迭代解决方案算法中进行选择。所有算法均有不同的收益和职能,我们将在下面分别进行解释。上述算法是基于小应变的假设,但考虑了任意的大位移。上述三种算法的目标都是找到一个外力和内力处于平衡的位移状态。从已知初始位移状态作为起始,用户必须推测结构在给定荷载下如何变形。通常在内力和外力不相匹配的情况下,这种推测会导致第二种位移状态,剩余的不平衡则构成了关于位移变化等下一个预测的基础。当残余力或位移变化降至给定阈值以下时,可达到平衡。“Analyze Nonlinear WIP(分析非线性WIP)”运算器提供的三种算法在预测位移增量值的方式上略有不同。

动态松弛 (Dynamic Relaxation)

图3.5.3.1显示了一个在其尖端处弯矩载荷围绕局部y轴的悬臂梁。它由20个梁元件组成。为了计算其响应,使用了“DynamicRelaxation(动态松弛 )”选项。该算法根据作用在每个节点上残余力的方向来预测结构的下一步运动。这是一个可靠的过程,可以相当可靠地收敛至平衡,但有时需要进行大量迭代。该运算器提供以下输入端口:

"Model(模型)"

需要被分析的结构。

"nLoadSteps"

充当阶跃荷载的荷载工况数。默认值为1。从图2的设置可以看出,该算法从寻找荷载工况0的平衡开始。此后,保持荷载工况0的荷载不变,添加荷载工况1的荷载以达到最终阶段。这种做法允许对加载历史进行建模。剩余工况将在假设位移很小的情况下分别添加,直至最后阶段。在主动弯曲结构的情况下,第一荷载工况为引起结构变形的荷载工况,而其余荷载工况则构成了对结构变形产生影响的附加作用,例如,风荷载或活荷载。在仅作用于荷载的“ModelView(模型视图)”运算器的子菜单“Display Scales(显示比例)”中,位移的比例因子仅作用于假定位移较小的阶跃荷载。总位移中较大的变形份额不会缩放,以实际大小显示。

"nLoadIncs"

每个荷载工况的增量数值(默认值为5)。外部荷载分为几个步骤。如果结构行为接近线性,则可将增量的数量设置为较小的值。对于高度非线性的问题,较大的值则可能更为有利。荷载增量越小,算法就越容易找到平衡。迭代次数通常随着加载步骤的增加而减少(从而减小步长)不过,如果将荷载步数设置为对于给定类型的结构行为而言过高的数值,则可能会降低其总体性能。

"maxEquiIter"

设置每个荷载增量的最大平衡迭代次数,从而对计算时间的设置有所限制,其默认值为200。

"EquiTol"

"maxLimitIter"

可以借助Karamba3D中动态松弛(DR)算法解决问题的范围仅限于稳定的结构。如果出现诸如屈曲或突弹跳变的现象,则可能存在超出初始不稳定点的平衡状态。不过,由于它们通常与最近已知稳定配置之间的距离较大,因此很难到达。在这种情况下,DR算法不会在最大平衡迭代次数内收敛至平衡状态。此后,它将通过荷载增量减半尝试在假定的不稳定性点上关闭,并将导致差异。通过这种运行方式,可以以任意精度计算确定所谓的极限荷载。默认情况下,“maxLimitIter”将极限荷载迭代次数的上限设置为200。遗憾的是,算法中的数值问题也同样会导致差异。因此,由“Analyze Nonlinear WIP(分析非线性WIP)”运算器所确定的极限荷载因子仅构成下限预估。

"LimitTol"

设置用于计算极限荷载的最小荷载增量。

"StepSizeFac"

用于缩放DR算法预测位移增量的因子。

在非线性计算期间可能会发生许多问题。为了了解为什么会出现问题和具体哪里出现了问题,“DynamicRelaxation(动态松弛)”选项的DR变体会生成以下输出:

"Model(模型)"

具有计算的位移、应力和内力的结构。

"Disp(显示)"

最大位移以厘米为单位。

"Energy(能量)"

"Info(信息)"

有关解决方案过程的详细信息。共输出五列文本:

  • “Factor(系数)”: 当前阶跃荷载的荷载系数。

  • “Step(步骤)”: 当前的阶跃荷载

  • “Iter”: 计算当前荷载增量的迭代次数。

  • “Disp.Err”: 输出当前荷载增量中节点位移的迭代变化总和与第一次迭代位移变化的比率。

  • “Force.Err”: 输出残余力的迭代变化总和与当前荷载增量的比率。

"Lambdas"

告知相关可以达到平衡的荷载系数的信息。

牛顿-拉夫逊方法(亦称牛顿迭代法)(Newton-Raphson Method)

图3.5.3.2显示了与以前相同的悬臂梁,这次使用“NewtonRaphson(牛顿-拉夫逊)”选项进行了分析。“Analyze Nonlinear WIP(分析非线性WIP)”运算器的Newton-Rahpson(牛顿-拉夫逊)类型有着与DR版本几乎相同的输入端口和输出端口。唯一的区别是缺少“StepSizeFac(步长系数)”输入。由于Newton-Raphson(牛顿-拉夫逊)过程在不稳定结构方面与DR方法有着相同的局限性,因此,像以前一样,采用了将对极限点封闭间隔减半的策略。

弧长方法 (Arc-Length Method)

对于许多结构而言,达到不稳定的第一点还远远没有结束。考虑到其屈曲后的行为,特别是薄板和壳体结构,会显示出大量的荷载储备能力。弧长方法可用于此类情况。图3.5.3.3显示了桁架结构从不稳定状态过渡到稳定的后屈曲状态的计算结果。

“Arclength(弧长)”运算器的前两个输入与以前的含义相同。这里描述了其余的输入端口如何控制解决方案的过程:

"IniLoadFac"

外部荷载下结构的位移乘以“IniLoadFac”,作为目标变形增量的第一估算值。

"MaxEquiIter"

每个荷载增量的最大迭代次数。

"TargetEquiIter"

设置每个增量中要使用的增量数。用于按比例缩放荷载增量。

"EquiTol"

不平衡力和位移的公差从一次迭代到下一次迭代都会发生变化。

"MaxLoadInc"

最大加载迭代次数。

残余力和位移相对于其在当前阶跃荷载中增量变化的迭代变化公差。默认值为。

存储在结构中的变形能,其单位为 。

在实践中,动态松弛(DR)程序用于计算高度非线性问题,例如:汽车碰撞测试数值、螺栓射入墙面,其原因是,采用非线性效果作为DR代码相对容易。这种易于实施的代价是需要大量运算工作:必须通过多次迭代才能达到可接受的精度,最终达到平衡。解决的办法是投入更多的精力以期更好地预测位移增量。在DR方法中,节点处的残余力构成了预测节点下一个位置的基础。诸如Newton-Raphson-method(牛顿-拉夫逊方法)或Arc-Length-method(弧长法)之类的方法使用刚度矩阵来生成位移预测。在这些方法中,每次迭代的运算成本较高,但与DR方法相比,迭代次数可以减少很多。通过一致的刚度矩阵,可以在最优条件下实现平方收敛。这意味着对于迭代位移和力误差,小数点分隔符之后的零在每次迭代中都会倍增。对于“Analyze Nonlinear WIP (分析非线性WIP)”运算器来说,情况并非如此,这也是“work in progress(进行中)”标签的原因之一。有关牛顿-拉夫逊方法或是弧长方法的详细信息,请参见第102页的及第214页其后。

1E−71E-71E−7
kNmkN mkNm
[6]
Fig. 3.5.3.1:使用“分析非线性WIP”运算器的动态松弛方法选项计算在其尖端有弯矩荷载的悬臂梁的大位移。
图3.5.3.2:使用“Analyze Nonlinear WIP(分析非线性WIP)”运算器中的Newton-Raphson方法选项。
图3.5.3.3:使用“Analyze Nonlinear WIP(分析非线性WIP)”运算器的“Arc-Length(弧长)”方法选项