CN112784458B - 一种弹炮耦合有限元参数化建模方法 - Google Patents

一种弹炮耦合有限元参数化建模方法 Download PDF

Info

Publication number
CN112784458B
CN112784458B CN202110090133.2A CN202110090133A CN112784458B CN 112784458 B CN112784458 B CN 112784458B CN 202110090133 A CN202110090133 A CN 202110090133A CN 112784458 B CN112784458 B CN 112784458B
Authority
CN
China
Prior art keywords
barrel
finite element
model
bullet
rifling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110090133.2A
Other languages
English (en)
Other versions
CN112784458A (zh
Inventor
张鑫
周成
于存贵
邹利波
魏甫全
侯晓明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN202110090133.2A priority Critical patent/CN112784458B/zh
Publication of CN112784458A publication Critical patent/CN112784458A/zh
Application granted granted Critical
Publication of CN112784458B publication Critical patent/CN112784458B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Hall/Mr Elements (AREA)

Abstract

本发明提出了一种弹炮耦合有限元参数化建模方法,涉及机械结构参数化建模技术领域,将线膛身管弹炮耦合有限元建模过程通过Python语言进行描述,使用脚本建立弹炮耦合有限元模型,使得建立弹炮耦合有限元模型更加方便、快捷;主要包括:首先建立身管及弹丸二维草图,将二维草图实现全约束并定义参数化变量,根据二维草图自动生成三维模型,并根据缠角变化规律采用Python语言对身管节点进行偏移,采用Python描述建立弹丸与身管之间的耦合关系。本发明采用编程技术实现了弹炮耦合有限元模型的自动更改与数值模型的自动更新,从而提高了弹炮耦合有限元模型的建模速度,缩短了设计周期,极大提高了工作效率。

Description

一种弹炮耦合有限元参数化建模方法
技术领域
本发明属于结构参数化建模技术领域,特别是一种弹炮耦合有限元参数化建模技术领域。
背景技术
弹丸发射是一个极其复杂的动力学过程。弹丸在膛内运动期间与炮膛之间相互作用,弹带材料在高温高压下发生高度非线性的力学行为,为了研究弹丸膛内时期的动力学规律,需要建立弹丸与身管相互作用的耦合模型。采用有限元法建立弹炮耦合模型对火炮进行发射动力学仿真分析是研究火炮系统射击过程内在规律的一种重要手段。传统建模方法非常耗时,且建模精度较低,为了能够深入研究弹炮相互作用的力学规律,往往需要建立大量的仿真模型进行动力学仿真分析。目前的建模方法难以保证快速建立出较高精度的弹炮耦合有限元模型,研究建立具有较高精度的参数化有限元模型对火炮发射动力学仿真具有重要意义。
由于线膛身管内膛参数众多,弹丸与身管耦合作用极其复杂,加之弹丸与身管之间复杂的力学行为容易导致模型计算不收敛,这使得建立出具有较高精度的弹炮耦合有限元模型变得十分困难。现有技术解决弹炮耦合有限元建模的手段大多都是先在三维建模软件中分别建立身管及弹丸三维实体模型,然后将模型导入网格前处理软件中进行网格的划分,最后将划分好的身管网格模型导入有限元软件中,最后进行弹丸与身管的耦合关系的施加,从而建立出弹炮耦合有限元模型。采用以上建模方法存在的缺点在于:1)由于软件兼容性问题,三维实体模型导入网格划分软件后会经常发生精度问题,导致有限元网格划分失败。2)由于弹丸与身管模型耦合关系需要进行手动逐步操作,导致建模过程操作步骤繁琐、耗时。3)对于不同结构参数的弹炮耦合有限元模型,每当结构参数改变时,都需重新进行所有建模步骤的操作,导致建模过程自动化程度极低。
建立线膛身管的精确有限元模型是研究弹炮耦合问题的关键。现有技术中,能够较好地解决复杂空间曲线特征有限元建模的方法为节点偏移法,如以公布的发明专利CN107679341A一种身管结构有限元参数化建模方法即采用节点偏移法对线膛身管进行参数化建模,但该方法只能建立身管的有限元参数化模型,未能解决弹丸与身管耦合的参数化建模问题。
发明内容
本发明的目的在于提供一种弹炮耦合有限元参数化建模方法,以解决传统弹炮耦合有限元建模效率低的问题。通过有限元软件二次开发可以实现弹炮耦合有限元复杂模型的自动、快速、高效建立,无需借助第三方软件,只需在ABAQUS软件中运行脚本程序,即可实现弹炮耦合有限元模型的自动化建立。
实现本发明目的的技术解决方案为:
步骤1,根据身管实际结构尺寸,确定结构参数变量,利用Python语言定义结构参数化变量,编写有限元软件建模初始化程序;
步骤2,根据弹丸及身管实际结构,在有限元软件中建立直膛线身管及弹丸二维草图,进而建立三维实体模型,从建模过程中软件后台自动生成的rpy文件中提取出相应程序段,得到身管及弹丸三维实体建模程序;
步骤3,使用Python语言控制直膛线身管及弹丸的有限元单元网格的自动化划分;
步骤4,导出直膛线身管有限元inp文件,利用Python语言读取身管单元节点并进行单元节点偏移,生成具有螺旋膛线的身管有限元模型inp文件;
步骤5,利用Python语言读取步骤4生成的inp文件并将模型导入到有限元软件;
步骤6,通过在有限元软件ABAQUS中对身管及弹丸模型进行材料属性定义、装配定义、分析步定义、接触约束定义、载荷及边界条件加载操作,将操作过程中软件后台自动生成的rpy文件中的程序语句提取出来,得到身管和弹丸耦合关系施加的Python程序语句;
步骤7,在第6步装配体模型的基础上,编写静态与动态分析作业自动创建程序语句;
步骤8,将建模过程程序进行集成整合,建立弹炮耦合有限元模型脚本,通过脚本运行指令,建立弹炮耦合有限元模型。
本发明与现有技术相比,其显著优点是:
(1)本发明极大提高了弹炮耦合有限元的建模的效率,将弹丸与身管有限元耦合建模过程采用程序语言编写出来,相关人员在建立弹炮耦合有限元模型时,只需将程序化脚本在有限元软件ABAQUS中运行后,即可快速建立出有限元模型,极大简化了建模过程,使得模型生成速度非常快速。
本发明实现了身管内膛结构参数的参数化设置,对于不同结构参数的建模,只需更改参数化变量值,即可快速建立出有限元模型,同时与手动逐步操作建模过程相比较,由于建模过程使用程序化操作流程,从而降低了有限元模型出错的概率。
(2)本发明提高了弹炮耦合有限元模型的精度,建模过程由于避免了不同软件之间的交互转换,从而使得有限元模型的精度大大提高。
(3)本发明建立模型的种类广泛,该方法不仅适用于混合膛线身管弹炮耦合建模,对于渐速膛线和等齐膛线身管弹炮耦合建模同样适用。
附图说明
图1是本发明的参数化建模方法具体实施操作流程。
图2为身管内膛结构示意图(单位:mm)。
图3为身管外形结构示意图(单位:mm)。
图4为膛线横剖面结构示意图(单位:mm)。
图5为膛线展开曲线示意图。
图6为膛线截面二维草图(单位:mm)。
图7为直筒圆柱身管有限元模型示意图。
图8为弹丸结构示意图。
图9是弹丸有限元网格模型示意图。
图10为身管节点偏移程序逻辑图。
图11是节点偏移后的线膛身管有限元模型示意图。
图12为膛线部分有限元网格模型示意图。
图13为有限元软件ABAQUS初始化界面。
图14为有限元软件ABAQUS脚本运行界面。
图15为弹丸与身管耦合的有限元模型示意图。
具体实施方式
下面结合说明书附图对本发明做进一步的介绍。
结合图1至图15对本发明内容进行具体介绍,运用该参数化建模方法建立弹炮耦合有限元模型,具体操作步骤如下:
步骤1,Python语言定义参数化变量
首先对建模初始化程序进行定义,语句如下:
from abaqus import*
from abaqusConstants import*
from caeModules import*
executeOnCaeStartup()
from abaqus import为定义软件为ABAQUS的语句,from abaqusConstantsimport语句含义为导入ABAQUS中的常量,from caeModules import语句含义为导入ABAQUS的建模模块,executeOnCaeStartup语句含义为对建模模块进行初始化运行。
身管内膛结构如图2所示,其中,d为身管口径,Ls为身管总长;d1为阴线直径,l1为坡膛长度;d2为药室圆柱部直径,l2为药室圆柱部长度;d3为药室连接锥大端直径,l3为药室连接锥长度;d4为药室底部直径,l4为药室本体长度;h为阴线起点与药室底端面之间的距离;K为坡膛锥度。此外将膛线条数记为n。
身管外形结构如图3所示,其中,d5为身管炮口外圆直径,d6炮口制退器安装台阶外圆直径,d7为身管中部外圆直径,d8为身管尾部前端直径,d9为身管尾部外圆直径,L5为药室底部端面与炮口制退器安装台阶端面之间的距离,L6为药室底部端面与身管中部外圆端面之间的距离,L7为身管尾部长度,Ls为身管总长。
身管膛线横剖面图如图4所示,其中,a为阳线宽,b为阴线宽,t为膛线深。
K=(d2-d)/l1
Figure BDA0002912148930000041
身管膛线曲线展开曲线如图5所示,混合膛线曲线由渐速段
Figure BDA0002912148930000042
和等齐段
Figure BDA0002912148930000043
组成,渐速段曲线方程为二次抛物线方程。
Figure BDA0002912148930000044
其中,y1(x)为渐速段曲线方程,y2(x)为等齐段曲线方程,x为膛线上某一点与阴线起始点之间的距离,膛线初始缠角为α0,炮口缠角为α1,膛线总长为L,渐速段长度为l。
将α0,α1,l,t,a定义为结构参数化变量,并赋予初值。(α0、α1单位为:度。l、t、a单位为:mm)
α0=2.901,α1=7.778,l=4518,t=2.3,a=3.8
将身管内膛尺寸参数中的d、d2、d3、d4、l1、l2、l3、l4、n和身管外形尺寸参数d5、d6、d7、d8、d9、L5、L6、L7、Ls均设置为结构参数常量。
阴线宽度b和阴线直径d1与结构参数化变量及结构参数常量之间存在以下关系:
阴线宽度:
Figure BDA0002912148930000045
b/2初值为3.17,膛线条数n=48,阳线半径为d/2=77.47;
阴线直径:d1=2t+d,d1/2初值为79.77。
步骤2,建立身管及弹丸三维实体模型。
根据身管实际结构在ABAQUS软件中按照图2和图3建立直筒身管三维实体模型。如图6所示,按照图4在建立的身管直筒模型炮口端面绘制膛线截面草图,膛线条数为48条,膛线分界线之间通过角度进行约束,角度值为7.5度;对阳线和阴线通过半径尺寸进行约束,阴线半径初始值为79.77,阳线半径为77.47;炮口端面草图绘制完成后,采用拉伸切除命令得到身管直膛线轮廓。将身管建模过程中生成的rpy中相应的程序段提取出,并将程序段中的数值采用上述定义的五个参数化变量表示,得到直膛线身管实体建模脚本程序。
弹丸结构示意图如图8所示,弹丸为底凹弹,弹丸由弹体、炸药、引信组成。根据弹丸的实际尺寸建立实体模型,提取出建模过程中rpy文件中相应的程序段,将程序段中的相关数值采用上述五个参数化变量表示,得到弹丸实体建模脚本程序。
步骤3,自动划分实体模型网格
采用结构化网格划分方法对直膛线身管实体模型进行网格离散,建立的直膛线身管网格模型如图7所示。弹丸有限元网格模型如图9所示。其中身管网格自动划分程序如下所示:
设置身管网格种子大小
p=mdb.models['Model-1'].parts['SG']
p.seedPart(size=5,deviationFactor=0.1,minSizeFactor=0.1)
设置网格单元类型为C3D8R
elemType=mesh.ElemType(elemCode=C3D8R,elemLibrary=STANDARD,kinematicSplit=AVERAGE_STRAIN,secondOrderAccuracy=OFF,hourglassControl=DEFAULT,distortionControl=DEFAULT)
c=p.cells
pickedRegions=(cells,)
p.setElementType(regions=pickedRegions,elemTypes=(elemType,))
步骤4,导出身管有限元模型inp文件,Python语言读取单元节点并按照膛线缠角变化规律进行偏移。
规定炮尾指向炮口方向为x正方向,竖直向上为y正方向,z轴正向由右手法则确定。
4.1)定义身管装配体,在装配体模块定义身管装配体模型。
a=mdb.models['Model-1'].rootAssembly##定义装配体模块
a.DatumCsysByDefault(CARTESIAN)##定义身管坐标系为全局坐标系
p=mdb.models['Model-1'].parts['SG']##定义身管装配体模型为Model-1
a.Instance(name='SG-1',part=p,dependent=ON)
4.2)导出直膛线身管inp文件,将身管装配体模型Model-1的Job-SG.inp文件导出。
mdb.Job(name='Job-SG',model='Model-1',description=″,type=ANALYSIS,)
mdb.jobs['Job-SG'].writeInput(consistencyChecking=OFF)
4.3)计算身管膛线缠角沿炮膛轴线的变化规律,渐速段缠角正切值变化规律为y′1(x),等齐段缠角正切值变化规律为y′2(x):
Figure BDA0002912148930000061
身管网格单元某一节点绕炮膛转过的角度θ(x)与节点距阴线起始点之间的距离x存在如下关系:
Figure BDA0002912148930000062
其中,α为身管轴线方向某一单元处的膛线缠角,η为膛线的缠度。
单元节点绕炮膛轴线偏移的角度:
Figure BDA0002912148930000063
其中,x为身管单元节点与阴线起始点之间的距离,θ1(x)为渐速段身管节点偏移规律,θ2(x)为等齐段身管节点偏移规律。
原节点坐标偏移一定角度后的新节点坐标:
渐速段身管节点坐标(y,z)偏移θ1角度后的节点坐标(y′,z′):
Figure BDA0002912148930000064
其中,θ1为身管某一节点在渐速段偏移的角度。
等齐段身管节点坐标(y,z)偏移θ2角度后的节点坐标(y″,z″):
Figure BDA0002912148930000065
其中,θ2为身管某一节点在等齐段偏移的角度。
4.4)按照缠角变化规律进行身管节点偏移
如图10所示,线膛身管有限元单元节点偏移过程为:Python程序首先从炮尾中心点开始读取身管单元层坐标和节点坐标值,当坐标值x0小于阴线起点与药室底端面之间的距离h时,单元节点坐标不变,当单元层x0坐标值大于h且小于h+l时,根据膛线缠角变化规律可得到身管渐速段单元节点偏移后的坐标(x0,y′,z′),同理,当单元层x0坐标值大于h+l时,进行等齐段身管节点的偏移,得到等齐段节点偏移后的坐标(x0,y″,z″),随着单元识别层编号i的增加,单元节点按照缠角变化规律沿着身管轴线方向依次进行偏移,直到单元层x0坐标值大于身管长度Ls时,身管单元节点偏移结束,得到节点偏移后的混合膛线身管有限元模型Job-SG_NEW.inp文件,其中Job-SG_NEW.inp文件中的新模型为Job-SG_NEW。
进一步地,作为一种实施方式,当l=L时,可以进行渐速膛线身管的有限元建模。
进一步地,作为另外一种实施方式,当l=0时,可以进行等齐膛线身管的有限元建模。
步骤5,将单元节点偏移后的身管Job-SG_NEW.inp文件通过Python语言读取并导入到ABAQUS中,即得到螺旋膛线身管有限元网格模型。
5.1)导入节点偏移后的身管网格模型,相应的导入程序语句如下所示:
mdb.ModelFromInputFile(name='Job-SG_NEW',inputFileName='Job-SG_NEW.inp')
mdb.ModelFromInputFile目的在于读取模型Job-SG_NEW
5.2)导入部件及装配体属性
import part##导入部件属性
import assembly##导入装配体属性
##将模型Job-SG_NEW中的螺旋身管部件PART-SG导入到模型Model-1中
mdb.models['Model-1'].Part('PART-SG',mdb.models['Job-SG_NEW'].parts['PART-SG'])
##定义身管装配体部件PART-SG-1
a=mdb.models['Model-1'].rootAssembly
mdb.models['Model-1'].Instance('PART-SG-1',mdb.models['Job-SG_NEW'].rootAssembly.instances['PART-SG-1'])
节点偏移后的身管有限元模型如图11所示,膛线结构如图12所示。
步骤6,定义弹丸及身管的耦合关系。通过在有限元软件ABAQUS中对身管及弹丸模型进行材料属性定义、装配定义、分析步定义、接触约束定义、载荷及边界条件加载操作。引信、炸药、弹带分别与弹丸本体绑定约束。定义接触属性,弹带、前定心部与身管内膛之间设置接触属性,切向摩擦系数取0.1,接触属性采用罚函数法描述。模型采用0号装药,弹底施加由内弹道方程组解算出的压力曲线。边界条件为身管尾部全约束。将操作过程中软件后台自动生成的rpy文件中程序语句提取出来,得到身管、弹丸耦合关系施加的Python程序语句。
其中创建有限元显式动态分析步的相应程序段如下所示:
mdb.models['Model-1'].ExplicitDynamicsStep(name='Step-1',previous='Initial',timePeriod=0.016,improvedDtMethod=ON)
步骤7,创建静态、动态分析作业。
复制模型并创建静态分析步
mdb.Model(name='Model-2',objectToCopy=mdb.models['Model-1'])
mdb.models['Model-2'].StaticStep(name='Step-1',previous='Initial',maintainAttributes=True,nlgeom=ON)
其中,Model-1为动态分析模型,Model-2为静态分析模型。
7.1)创建静态分析作业
mdb.Job(name='Job-2',model='Model-2',description=″,type=ANALYSIS,atTime=None,waitMinutes=0,waitHours=0,queue=None,memory=90,memoryUnits=PERCENTAGE,getMemoryFromAnalysis=True,explicitPrecision=SINGLE,nodalOutputPrecision=SINGLE,echoPrint=OFF,modelPrint=OFF,contactPrint=OFF,historyPrint=OFF,userSubroutine=″,scratch=″,resultsFormat=ODB,multiprocessingMode=DEFAULT,numCpus=4,numDomains=4,numGPUs=0)
7.2)创建动态分析作业
mdb.jobs['Job-2'].waitForCompletion()暂停当前脚本执行,直到当前计算任务终止
mdb.Job(name='Job-1',model='Model-1',description=″,type=ANALYSIS,atTime=None,waitMinutes=0,waitHours=0,queue=None,memory=90,memoryUnits=PERCENTAGE,explicitPrecision=DOUBLE_PLUS_PACK,nodalOutputPrecision=FULL,echoPrint=OFF,modelPrint=OFF,contactPrint=OFF,historyPrint=OFF,userSubroutine=″,scratch=″,resultsFormat=ODB,parallelizationMethodExplicit=DOMAIN,numDomains=4,activateLoadBalancing=False,multiprocessingMode=DEFAULT,numCpus=4)
7.3)进行重启动设置,设置预定义场,实现静态分析作业与动态分析作业信息的交互。利用隐式求解器计算重力场作用下的初始发射状态,设置重启动分析,将重力场计算结果作为初始条件施加在动态显式分析步中。
静态和动态分析步之间设置预定义场,相关程序段如下所示:
mdb.models['Model-1'].InitialState(updateReferenceConfiguration=ON,fileName='Model-1',endStep=LAST_STEP,endIncrement=STEP_END,name='Predefined Field-1',createStepName='Initial',instances=instances)
其中,endStep=LAST_STEP含义为将静态分析步的最后一个分析步计算出的信息导入到动态分析步中,预定义场被命名为Predefined Field-1,分析步命名为Initial。
7.4)保存模型
mdb.saveAs(pathName='1')
步骤8,将步骤1-步骤7中的Python脚本程序进行整合后,得到弹炮耦合参数化脚本程序。采用ABAQUS二次开发技术,将弹炮耦合有限元建模过程通过Python脚本程序编写出来,实现弹炮耦合有限元模型的快速建立。建立以初始缠角α0、炮口缠角α1、渐速段长度l、膛线深t和阳线宽a为变量参数的弹炮耦合有限元模型时,如图13所示,首先设置好变量的初始值,然后打开ABAQUS初始化界面,点开RunScript脚本运行指令,如图14所示,选中弹炮耦合参数化脚本程序py并点击运行,ABAQUS软件将按照程序代码,依次完成建立实体模型、划分网格、定义并赋予材料属性、设置接触与约束关系、施加载荷与边界条件。整个建模过程全部交由脚本程序一键完成。建立的弹炮耦合有限元模型如图15所示。
以某大口径火炮身管内膛实际结构参数建立的弹炮耦合有限元模型,本次建模过程所花费时间不到一分钟,与传统建模方法相比,运用该参数化脚本程序建立弹炮耦合模型的效率会极大提高。

Claims (6)

1.一种弹炮耦合有限元参数化建模方法,包括以下步骤:
步骤1,根据身管实际结构尺寸,确定结构参数变量,利用Python语言定义结构参数化变量,编写有限元软件建模初始化程序;
步骤2,根据弹丸及身管实际结构,在有限元软件中建立直膛线身管及弹丸二维草图,进而建立三维实体模型,从建模过程中软件后台自动生成的rpy文件中提取出相应程序段,得到身管及弹丸三维实体建模程序;
步骤3,使用Python语言控制直膛线身管及弹丸的有限元单元网格的自动化划分;
步骤4,导出直膛线身管有限元inp文件,利用Python语言读取身管单元节点并进行单元节点偏移,生成具有螺旋膛线的身管有限元模型inp文件;具体包括以下步骤:
4.1)定义身管装配体,在装配体模块定义身管装配体模型;
4.2)导出直膛线身管inp文件,将身管装配体模型的Job-SG.inp文件导出;
4.3)计算身管膛线缠角沿炮膛轴线的变化规律,渐速段缠角正切值变化规律为y1′(x),等齐段缠角正切值变化规律为y2′(x):
Figure FDA0004056652860000011
其中,x为膛线上某一点与阴线起始点之间的距离,膛线初始缠角为α0,炮口缠角为α1,膛线总长为L,渐速段长度为l;
4.4)按照缠角变化规律进行身管节点偏移:
Python程序首先从炮尾中心点开始读取身管单元层坐标和节点坐标值,当坐标值x0小于阴线起点与药室底端面之间的距离h时,单元节点坐标不变,当单元层x0坐标值大于h且小于h+l时,根据缠角变化规律公式得到身管渐速段单元节点偏移后的坐标(x0,y′,z′);当单元层x0坐标值大于h+l时,进行等齐段身管节点的偏移,得到等齐段身管单元节点偏移后的坐标(x0,y″,z″),随着单元识别层编号i的增加,单元节点按照缠角变化规律沿着身管轴线方向依次进行偏移,直到单元层x0坐标值大于身管长度Ls时,身管单元节点偏移结束,得到节点偏移后的混合膛线身管有限元模型Job-SG_NEW.inp文件
步骤5,利用Python语言读取步骤4生成的inp文件并将模型导入到有限元软件;
步骤6,通过在有限元软件ABAQUS中对身管及弹丸模型进行材料属性定义、装配定义、分析步定义、接触约束定义、载荷及边界条件加载操作,将操作过程中软件后台自动生成的rpy文件中的程序语句提取出来,得到身管和弹丸耦合关系施加的Python程序语句;
步骤7,在第6步以及装配体模型的基础上,编写静态与动态分析作业自动创建程序语句;
步骤8,将建模过程程序进行集成整合,建立弹炮耦合有限元模型脚本,通过脚本运行指令,建立弹炮耦合有限元模型。
2.根据权利要求1所述的弹炮耦合有限元参数化建模方法,其特征在于,所述步骤2中的直膛线身管炮口端面膛线草图采用全约束,且膛线边界线之间通过角度进行约束。
3.根据权利要求1所述的弹炮耦合有限元参数化建模方法,其特征在于,步骤8建立弹炮耦合有限元模型,具体过程为:首先设置好变量的初始值,然后打开ABAQUS初始化界面,点开RunScript脚本运行指令,选中弹炮耦合参数化脚本程序py并点击运行,ABAQUS软件将按照程序代码,依次完成建立实体模型、划分网格、定义并赋予材料属性、设置接触与约束关系、施加载荷与边界条件。
4.根据权利要求1所述的弹炮耦合有限元参数化建模方法,其特征在于,所述装配后的弹丸与身管之间设置接触属性,接触行为采用罚函数法进行描述。
5.根据权利要求1所述的弹炮耦合有限元参数化建模方法,其特征在于,所述身管有限元单元节点根据膛线缠角变化规律进行偏移。
6.根据权利要求1所述的弹炮耦合有限元参数化建模方法,其特征在于,所述静态与动态分析作业之间通过预定义场进行联系与信息导入。
CN202110090133.2A 2021-01-22 2021-01-22 一种弹炮耦合有限元参数化建模方法 Active CN112784458B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110090133.2A CN112784458B (zh) 2021-01-22 2021-01-22 一种弹炮耦合有限元参数化建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110090133.2A CN112784458B (zh) 2021-01-22 2021-01-22 一种弹炮耦合有限元参数化建模方法

Publications (2)

Publication Number Publication Date
CN112784458A CN112784458A (zh) 2021-05-11
CN112784458B true CN112784458B (zh) 2023-05-16

Family

ID=75758665

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110090133.2A Active CN112784458B (zh) 2021-01-22 2021-01-22 一种弹炮耦合有限元参数化建模方法

Country Status (1)

Country Link
CN (1) CN112784458B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114528736B (zh) * 2022-02-21 2023-04-07 合肥工业大学 一种固体火箭发动机喷管结构参数的优化设计方法
CN117951967B (zh) * 2024-03-26 2024-07-12 成都飞机工业(集团)有限责任公司 一种喷丸成形仿真模拟方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794745A (zh) * 2014-01-20 2015-07-22 南京理工大学 膛线身管三维等几何混合单元建模方法
CN107702589A (zh) * 2017-10-18 2018-02-16 中国人民解放军装甲兵工程学院 一种基于复合材料的轻量化火炮身管
CN110781625A (zh) * 2019-10-29 2020-02-11 北京空间技术研制试验中心 一种基于abaqus软件的参数化建模仿真分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794745A (zh) * 2014-01-20 2015-07-22 南京理工大学 膛线身管三维等几何混合单元建模方法
CN107702589A (zh) * 2017-10-18 2018-02-16 中国人民解放军装甲兵工程学院 一种基于复合材料的轻量化火炮身管
CN110781625A (zh) * 2019-10-29 2020-02-11 北京空间技术研制试验中心 一种基于abaqus软件的参数化建模仿真分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
某大口径火炮身管膛线结构优化设计;张鑫等;《火炮发射与控制学报》;20201110;第42卷(第2期);第62-67页 *

Also Published As

Publication number Publication date
CN112784458A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112784458B (zh) 一种弹炮耦合有限元参数化建模方法
CN107679341B (zh) 一种身管结构有限元参数化建模方法
CN112528441B (zh) 喉栓式变推力发动机总体参数设计方法、装置和设备
CN109446601B (zh) 一种弹丸起始扰动的不确定优化方法
CN105956281B (zh) 固体火箭发动机装药设计方法
CN113297686B (zh) 固体火箭发动机数据融合设计方法、装置、设备及介质
CN109697309B (zh) 一种弹丸高速冲击挤进阻力快速获取方法
CN112149228A (zh) 一种固体火箭发动机性能渐进匹配设计方法
CN112182933A (zh) 一种变刚度复合材料圆柱壳体的建模及优化设计方法
CN107256304B (zh) 一种枪弹弹头发射强度可靠性评估方法
CN109325288B (zh) 一种基于不确定性优化的固体运载器总体参数确定方法及系统
CN107273569A (zh) 基于网格变形技术的气动外形减阻优化方法
CN112597600B (zh) 固体火箭发动机装药构型设定方法、装置和设备
CN113919059A (zh) 炮口冲击波作用下的车身分析方法、终端设备及介质
CN107194111B (zh) 一种基于isight软件的弹丸全弹道优化设计方法
CN110276142A (zh) 高压状态下等离子体密度生成规律数学模型的仿真方法
CN111931404A (zh) 基于自优化cnn的内膛复杂表面接触碰撞响应预测方法
CN115619930A (zh) 一种基于参数化体积布尔运算的燃面估计方法
CN112307654B (zh) 基于混合可靠性模型与神经网络响应面的pma可靠性优化方法
CN110162897B (zh) 一种大口径弯管加热导磁体优化方法
Wang et al. Firing process modeling of a soft recoil gun based on interval uncertainty parameter identification
CN118211318A (zh) 一种参数化建模与遗传算法寻优的内弹道曲线优化方法
Johannsson Optimization of Solid Rocket Grain Geometries
CN118153393A (zh) 一种线膛身管火炮发射膛内运动参数化建模方法
He et al. Study on Interval Optimization of Interior Ballistic of Large-Caliber Artillery

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant