发明名称 一种基于内力路径几何形态的承载结构低碳节材设计方法
摘要 本发明公开了一种基于内力路径几何形态的承载结构低碳节材设计方法,该方法将承载结构的材料模量(如弹性模量)作为以低碳节材为导向的设计变量,并利用数值方法求解得到的内力路径几何形态(包括疏密度与弯曲度)对单元弹性模量进行惩罚,通过循环迭代获得承载结构的最佳传力路径,并以此为依据定义结构的基本承载架构与空间要求。该方法将内力路径的相关理论应用到结构拓扑优化设计中,为重大装备承载结构的低碳节材设计提供了一种新的思路。
申请公布号 CN103065015B 申请公布日期 2015.12.09
申请号 CN201310002831.8 申请日期 2013.01.04
申请人 西安交通大学 发明人 李宝童;洪军;邱志惠;赵静;王哲琳;甄宜超;闫素娜
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 汪人和
主权项 一种基于内力路径几何形态的承载结构低碳节材设计方法,其特征在于,具体按下列步骤进行:1)设定一种弹性模量可变的单元并将单元的弹性模量作为设计变量,预先设定弹性模量的变化范围;2)建立承载结构的有限元模型,为有限元模型中各单元设定弹性模量初始值,然后施加边界条件并求解;3)经过步骤2)后,从有限元分析结果中提取单元节点应力值,通过插值得到各单元质心处应力值,根据各单元质心处应力值得出各单元质心处的内力传递矢量,模值最大的内力传递矢量代表内力路径在单元质心处的疏密程度,以此为基础求解内力路径在单元质心处的曲率,曲率值代表了内力路径在单元质心处的弯曲程度;4)利用步骤3)中得到的各个单元质心处内力路径的几何形态指标量对单元当前的弹性模量值进行惩罚,并获得新的单元弹性模量值,几何形态指标量包括疏密程度与弯曲程度;5)对步骤4)中得到的各单元弹性模量值进行光滑平均化处理;6)返回步骤2)将步骤5)中得到的单元弹性模量值赋给有限元模型中相应的各个单元,并进行循环迭代计算,直至单元的平均弹性模量达到预先设定的数值,这样便可得到承载结构的最佳传力路径,也即材料在设计空间中的最佳分布形式;步骤3)中利用有限元软件计算承载结构在设定边界条件下的应力分布状态,提取承载结构各单元质心处的应力状态(σ<sub>xx</sub>,σ<sub>xy</sub>,σ<sub>xz</sub>,σ<sub>yx</sub>,σ<sub>yy</sub>,σ<sub>yz</sub>,σ<sub>zx</sub>,σ<sub>zy</sub>,σ<sub>zz</sub>),并计算各单元质心处的内力传递矢量(P<sub>x</sub>,P<sub>y</sub>,P<sub>z</sub>),如式1所示,式(1)中i,j,k分别表示x,y,z三个坐标轴方向的单位向量,ξ=x,y,z:P<sub>ξ</sub>=σ<sub>xξ</sub>·i+σ<sub>yξ</sub>·j+σ<sub>zξ</sub>·k          (1)所述对单元当前的弹性模量值进行惩罚,包括以下步骤:a)根据模值最大的内力传递矢量对承载结构中所有单元进行降序排列,获得单元列表,从列表的顶层单元开始,对单元体积求和直至所得体积达到总体积的预期保留比例为止,将此时对应单元的模值最大的内力传递矢量定义为截止矢量;b)根据式2对承载结构中各个单元的弹性模量进行惩罚更新,直至单元平均弹性模量达到β·E<sub>max</sub>时程序结束,β表示材料保留率,E<sub>max</sub>表示弹性模量的最大值,P<sub>i</sub>表示单元主传递矢量,C<sub>i</sub>表示单元质心处的曲率;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msubsup><mi>E</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>E</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>&CenterDot;</mo><mi>F</mi><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>,</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>=</mo><msubsup><mi>E</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>&CenterDot;</mo><msub><mi>F</mi><mn>1</mn></msub><msup><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mrow><msub><mi>F</mi><mn>2</mn></msub><mrow><mo>(</mo><msup><msub><mi>C</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow></mrow></msup></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000741960220000021.GIF" wi="952" he="235" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>F</mi><mn>1</mn></msub><mrow><mo>(</mo><msubsup><mi>P</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><mrow><mo>(</mo><mfrac><mrow><mo>|</mo><msubsup><mi>P</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>|</mo></mrow><mrow><mo>|</mo><msubsup><mi>P</mi><mrow><mi>c</mi><mi>u</mi><mi>t</mi></mrow><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>|</mo></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000741960220000022.GIF" wi="911" he="194" /></maths><maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>F</mi><mn>2</mn></msub><mrow><mo>(</mo><msubsup><mi>C</mi><mi>i</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>)</mo></mrow><mo>=</mo><msup><mi>&lambda;</mi><mfrac><mrow><msup><msub><mi>c</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup></mrow><mrow><msup><msub><mi>c</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>+</mo><mn>1</mn></mrow></mfrac></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000741960220000023.GIF" wi="900" he="179" /></maths>k表示迭代步数,λ表示优化系数,1<λ<10,P<sub>cut</sub>表示截止矢量,E<sub>i</sub><sup>(k)</sup>是惩罚更新后单元的弹性模量计算值,E<sub>i</sub><sup>(k‑1)</sup>是惩罚更新前单元的弹性模量计算值,当E<sub>i</sub><sup>(k)</sup>&gt;E<sub>max</sub>时,取E<sub>i</sub><sup>(k)</sup>=E<sub>max</sub>;当E<sub>i</sub><sup>(k)</sup>&lt;E<sub>min</sub>时,取E<sub>i</sub><sup>(k)</sup>=E<sub>min</sub>,E<sub>min</sub>表示弹性模量的最小值。
地址 710049 陕西省西安市咸宁西路28号