发明名称 固体火箭发动机装药设计方法
摘要 本发明提供一种固体火箭发动机装药设计方法,以代理模型为基础,直接对推力曲线进行近似,通过构造推力曲线而不是推力曲线与设计指标之间的最小二乘偏差的代理模型,有效刻画出推力随时间的变化规律,从而明显减少了高精度燃面与内弹道仿真的次数。代理模型能够更好地刻画推力曲线的变化规律,在后续的设计中更有效指导后续搜索,能显著提高固体火箭发动机装药设计效率。
申请公布号 CN105956281A 申请公布日期 2016.09.21
申请号 CN201610293080.3 申请日期 2016.05.05
申请人 中国人民解放军国防科学技术大学 发明人 王东辉;武泽平;张为华;胡凡;江振宇
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京中济纬天专利代理有限公司 11429 代理人 陈立新
主权项 一种固体火箭发动机装药设计方法,其特征在于,包括以下步骤:1)给定发动机装药几何构型设计指标要求的推力需求曲线F<sub>0</sub>(t);2)建立发动机装药几何构型的参数化模型,根据所处理装药几何构型的类型确定所需处理的设计变量X及其范围;3)根据设计变量X的个数m及其范围建立设计空间,在设计空间内采用最优拉丁超立方采样法采集2m个采样点,在每个采样点处建立性能仿真模型,并运行性能仿真模型,得到每个采样点对应的2m条推力曲线,所得设计变量X在第i个采样点处的值X<sub>i</sub>和与不同采样点对应的仿真推力曲线f<sub>i</sub>(t)之间的对应关系,如式(1)所示;<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>X</mi><mn>1</mn></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>X</mi><mn>2</mn></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><msub><mi>X</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982170040000011.GIF" wi="598" he="311" /></maths>其中,X<sub>i</sub>为设计变量X在第i个采样点处的推力值,f<sub>i</sub>(t)为对不同采样点处各设计变量分别进行设计仿真得到的仿真推力曲线,将2m条仿真推力曲线在每个工作时间点t上分别均匀地离散为N个点,得到如式(2)所示的样本集,该样本集表示各离散时刻t<sub>i</sub>的推力值f<sub>2m</sub>(t<sub>N</sub>)与设计变量X<sub>i</sub>之间的对应关系:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>X</mi><mn>1</mn></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msub><mi>f</mi><mn>1</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>N</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>X</mi><mn>2</mn></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msub><mi>f</mi><mn>2</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>N</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr><mtr><mtd><mrow></mrow></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><msub><mi>X</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><msub><mi>f</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>1</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msub><mi>f</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mn>2</mn></msub><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msub><mi>f</mi><mrow><mn>2</mn><mi>m</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>N</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982170040000012.GIF" wi="1150" he="303" /></maths>4)根据式(2)构造每个离散时刻推力的代理模型s<sub>i</sub>(X),得到N个代理模型,同时s<sub>i</sub>(X)满足式(3):F(t<sub>i</sub>)=s<sub>i</sub>(X)     (3)其中,F(t<sub>i</sub>)为离散时刻t<sub>i</sub>对应的推力,其中t<sub>i</sub>中的i满足1&lt;i&lt;N;s<sub>i</sub>(X)为根据样本数据[X<sub>j</sub>,f<sub>j</sub>(t<sub>i</sub>)]其中j=1,2,…,2m+k,在每个离散点上构造得到的推力代理模型;5)根据所得N个推力代理模型,求解公式(4)所示的优化问题,得到该优化问题对应的最优解为设计变量最优解X<sub>k+2m</sub>;<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>m</mi><mi>i</mi><mi>n</mi><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>&lsqb;</mo><msub><mi>s</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>X</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>F</mi><mn>0</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982170040000021.GIF" wi="774" he="127" /></maths>在所得设计变量最优解X<sub>k+2m</sub>处运行性能仿真模型,得到对应的最优推力曲线,并将最优推力曲线在每个工作时间点上离散为N个点,添加到矩阵(2)中,则公式(2)中的样本点个数从N个变为2m+k个;6)收敛判定:迭代初始时,令迭代次数k=0,指定搜索精度eps和最大搜索步数K<sub>max</sub>,按照公式(5)进行迭代计算得到任意两不同的离散时刻分别对应推力曲线的均方偏差:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>e</mi><mi>r</mi><mi>r</mi><mi>o</mi><mi>r</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msqrt><mrow><mfrac><mn>1</mn><mi>N</mi></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>&lsqb;</mo><mfrac><mrow><msub><mi>F</mi><mrow><mn>2</mn><mi>m</mi><mo>+</mo><mi>k</mi><mo>-</mo><mn>1</mn></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>F</mi><mrow><mn>2</mn><mi>m</mi><mo>+</mo><mi>k</mi></mrow></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mi>F</mi><mn>0</mn></msub><mrow><mo>(</mo><msub><mi>t</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mfrac><mo>&rsqb;</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000982170040000022.GIF" wi="1669" he="167" /></maths>其中,F<sub>2m+k‑1</sub>(t<sub>i</sub>)为第2m+k‑1个离散点处的推力曲线,F<sub>2m+k</sub>(t<sub>i</sub>)为第2m+k个离散点处的推力曲线,F<sub>0</sub>(t<sub>i</sub>)为设计指标要求的推力曲线,N为离散点个数;若error(k)&lt;eps或k=K<sub>max</sub>,则停止搜索,输出设计变量最优解X<sub>k+2m</sub>及其对应的最优推力曲线f<sub>2m+k</sub>(t),[X<sub>2m+k</sub>,f<sub>2m+k</sub>(t)],否则,转步骤4)直至满足该条件时迭代停止。
地址 410073 湖南省长沙市开福区德雅路109号