Multi-software combined special-shaped superconducting coil structure design method
Through the multi-software combined structure design method of superconducting coils, SolidWorks, Abaqus and Opera-3d are combined using the Python platform to solve the problem of low modeling efficiency of complex superconducting magnet coils, and efficient geometric modeling and electromagnetic analysis are achieved.
Patent Information
- Application Number
- CN202411416582.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-04-15
AI Technical Summary
When using the electromagnetic analysis software Opera-3d for large and complex superconducting magnet analysis, the modeling efficiency is low and it consumes a lot of manpower and time due to the complex geometry of the coil.
Using a multi-software combined superconducting coil structure design method, SolidWorks, Abaqus and Opera-3d are combined through the Python platform to realize geometric modeling and electromagnetic analysis. The specific steps include building a coil model in SolidWorks, importing Abaqus for parameterized modeling and dividing units, sorting out the node coordinates into Opera-3d identifiable formats, and calling Opera-3d through Python for electromagnetic analysis.
It improves the engineering analysis efficiency of large and complex superconducting magnets, fills the gap in Opera-3d that coils cannot be directly modeled by importing mechanical design geometric files, and realizes efficient complex coil modeling and analysis.
Smart Images

Figure CN119830460A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of coil structure design, and in particular relates to a multi-software combined special-shaped superconducting coil structure design method. Background Art
[0002] A particle accelerator is a device that uses artificial methods to accelerate particles to produce nuclear reactions. It is widely used in the fields of studying the internal structure of matter, simulating the operation of the universe, conducting radiotherapy, and exploring the irradiation performance of materials. These large scientific devices are equipped with many complex types of superconducting magnets. Superconducting magnets are made using the special physical properties of superconducting materials in extreme environments (extremely low temperatures, strong magnetic fields, and large currents). When superconducting materials are cooled below their critical temperature, the material resistance is completely eliminated, and the current can flow without resistance, while completely reflecting the magnetic field to produce a very strong magnetic field. These characteristics make superconducting magnets the best material for creating strong magnetic fields.
[0003] Superconducting magnets are widely used in scientific research and industrial applications, mainly in background field magnets, superconducting motors, superconducting magnetic energy storage devices, and nuclear magnetic resonance imaging, and have achieved remarkable interim results. Therefore, for large and complex superconducting magnets, the analysis of electromagnetic and structural fields is particularly important. The electromagnetic analysis software Opera-3d can perform electromagnetic analysis on large and complex coil structures well, and can greatly improve the calculation efficiency while ensuring the calculation accuracy. The coil modeling in Opera-3d includes solenoid type, runway type, and saddle type. However, due to engineering requirements, the structure of superconducting accelerator magnet coils is often large and complex. When establishing the coil model inside the software, in addition to the standard structure pre-designed by the software, it can only be manually input through the 8- and 20-node blocks that come with the software. The block splicing process consumes a lot of manpower and time, reducing the efficiency of engineering simulation. SolidWorks is a professional mechanical design software with a convenient three-dimensional modeling method. Therefore, it is urgent to develop an efficient modeling method for complex geometric structures of superconducting coils to improve the efficiency of engineering analysis of large and complex superconducting magnets. Summary of the invention
[0004] The present invention provides a multi-software joint special-shaped superconducting coil structure design method. To this end, the present invention adopts the following technical solutions: A multi-software joint special-shaped superconducting coil structure design method comprises the following steps: Step 1: According to the geometric parameters of the superconducting coil drawing, a superconducting coil model is constructed in the mechanical design software SolidWorks and exported into an engineering file format; Step 2: Based on the platform built by Python, the geometric engineering file of step 1 is imported into Abaqus for parametric modeling and unit division, and the result file is further obtained through software calculation; Step 3: Based on the Python-based platform, all unit node coordinates of the geometric model are read from the Abaqus result file in step 2, and further organized into a format that can be recognized by Opera-3d; Step 4: Use Python to call Opera-3d to read the modeling file, and then perform further electromagnetic analysis after running it.
[0005] Furthermore, the geometric parameters in step 1 include coil cross-sectional radius, coil thickness, coil length and coil sweep path line.
[0006] Furthermore, in the step 2, Python parametric modeling is used to complete components, attributes, assemblies, analysis steps, loads, grids, operations and post-processing.
[0007] Furthermore, in the step three, the Abaqus post-processing process is completed with the help of Python, and the unit numbers and their corresponding node coordinates are extracted in sequence.
[0008] Furthermore, the coordinates of the nodes of the geometric units extracted in step 3 are adjusted to the format of block splicing in Opera-3d.
[0009] Furthermore, in the step 4, the geometric structure is imported into Opera-3d through the platform built by Python, the current and boundary conditions are set synchronously, and the current density and magnetic field intensity are displayed in the post-processing module.
[0010] The beneficial effects of the present invention are: 1. Based on the finite element analysis method, the present invention builds a multi-software joint geometry modeling platform by combining Python with SolidWorks, Abaqus and Opera-3d. It can effectively solve the problem of low modeling efficiency caused by the complex coil geometry structure when using Opera-3d to analyze large and complex superconducting magnets, which is of great significance for improving the efficiency of superconducting magnet design and analysis.
[0011] 2. The method proposed in the present invention fills the gap that the coil in the electromagnetic analysis software Opera-3d cannot be directly modeled by importing mechanical design geometry files, which is of great significance for enriching the modeling method of the software and improving modeling efficiency.
[0012] 3. The method proposed in the present invention automatically imports multiple units into Opera-3d based on the Python program and splices them into coils. For the modeling and analysis of large, complex and special-shaped coils, the method proposed in the present invention is more efficient than the manual splicing method of multi-node units provided by Opera-3d, which is of great significance for improving the modeling efficiency of complex coils.
[0013] 4. Compared with the general electromagnetic analysis software Comsol, Opera-3d does not need to establish an air domain and can greatly improve the calculation efficiency while ensuring the accuracy of electromagnetic analysis. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Figure 1 This is a flow chart of modeling the geometric structure of a superconducting coil based on the multi-software combination of SolidWorks-Abaqus-Opera-3d according to an embodiment of the present invention; Figure 2 This is a schematic diagram of a process for modeling a geometric structure of a special-shaped coil using multiple software combined with Python in an embodiment of the present invention; Figure 3 The figure is a coil model diagram based on SolidWorks and Opera-3d according to an embodiment of the present invention; Figure 4 A comparison chart of the multi-software joint modeling method of the present invention and the Opera-3d preset modeling method; Figure 5 This is a diagram of a multi-software joint geometric modeling graphical user interface built based on Python in an embodiment of the present invention; Figure 6 This is a comparison diagram of the modeling of Opera-3d and Comsol of the present invention; Figure 7 The graph is a comparison of the electromagnetic field results of Opera-3d and Comsol modeling in the present invention; Figure 8 This is a comparison chart of the time consumption of Opera-3d and Comsol for calculating the same electromagnetic model. Specific implementation methods A multi-software joint special-shaped superconducting coil structure design method, the method establishes a multi-software modeling system based on the Python platform, and specifically includes the following steps: Step 1: According to the coil model drawing, build a superconducting coil model in the mechanical design software SolidWorks and output it into an engineering file format.
[0016] Step 2: Based on the platform built by Python, the engineering file of step 1 is imported into Abaqus for parametric modeling and unit division. The result file is further obtained through software calculation.
[0017] Step 3: Based on the Python-based platform, read all the unit node coordinates of the geometric model in step 2 from the Abaqus result file, and further organize them into a format recognizable by Opera-3d.
[0018] Step 4: Use Python to call Opera-3d to read the modeling file in step 3, and then perform further electromagnetic analysis after running.
[0019] In step 2, Python parametric modeling is used to complete components, attributes, assemblies, analysis steps, loads, meshes, jobs, and post-processing.
[0020] The component part is to import the geometric data file generated in SolidWorks into the model.
[0021] The properties section is to assign material properties to each component, including Young's modulus and Poisson's ratio.
[0022] The assembly part is to assemble the multi-layer coils according to their relative positions.
[0023] The analysis step part is to define the analysis type, set the initial step size, increment, maximum step size, etc., and define the output variables.
[0024] The load part is to define displacement boundary conditions to constrain the motion of the coil.
[0025] The grid part defines the unit division length, division type and method, and defines the appropriate unit sweep direction, which is conducive to the subsequent sorting of unit node data.
[0026] The job part is to set the number of cores and threads used for calculation.
[0027] In step 3, the Abaqus post-processing process is completed with the help of Python to extract the element numbers and their corresponding node coordinates in sequence.
[0028] Example 1 A multi-software joint design method for special-shaped superconducting coil structure, the specific process is as follows Figure 2 The specific modeling steps are as follows: Step 1, such as Figure 3 As shown in (a), the model is built in SolidWorks according to the actual size of the coil, the coil radius and axial length parameters are determined, and the model is completed by scanning the cross section along the predetermined path.
[0029] Step 2: Create a 1 / 8 symmetric model in Abaqus based on the model in SolidWorks, in which the coordinate systems of all components and assemblies are consistent.
[0030] Step 3: Parameterize the components, attributes, assembly and other processes with Python. Use static general analysis steps in the analysis step part, set the initial step size, incremental step size, and maximum step size. In the load part, set symmetric boundary conditions on the symmetry plane. In the mesh part, pay attention to giving the appropriate unit length and sweep direction. In the operation part, set the appropriate number of cores and threads according to the computer hardware.
[0031] Specifically, the above steps are written as follows with the help of Python program, including but not limited to the following information: (1) Import module: At the beginning of the parameterized program, you need to import the statements required by the Python script interface.
[0032] # -*- coding: mbcs -*- from abaqus import * from abaqusConstants import * session.viewports['Viewport: 1'].makeCurrent() session.viewports['Viewport: 1'].maximize() from caeModules import * from driverUtils import executeOnCaeStartup executeOnCaeStartup() (2) Components: Import the 1 / 8 coil model created in SolidWorks, which has 19 layers in total and the relationship between layers is discrete.
[0033] step = mdb.openStep('SolidWorks_name.STEP', scaleFromFile=OFF) mdb.models['Model-1'].PartFromGeometryFile(name='Part-1',geometryFile=step, combine=False, dimensionality=THREE_D, type=DEFORMABLE_BODY) (3) Attributes: Establish attributes, set parameters such as Young's modulus and Poisson's ratio, etc. Establish cross-sectional attributes, and assign attributes to each layer of coils.
[0034] mdb.models['Model-1'].Material(name='Material-1') mdb.models['Model-1'].materials['Material-1'].Elastic(table=((E,QUOTE ),)) mdb.models['Model-1'].HomogeneousSolidSection(name='Section-1',material='Material-1', thickness=None) (4) Assembly: Assemble the coil entities of each layer into the same coordinate system according to the corresponding relationship. In addition, set a collection for each layer of coils to facilitate post-processing and extracting the data of the corresponding coil layer.
[0035] a = mdb.models['Model-1'].rootAssembly a.DatumCsysByDefault(CARTESIAN) p = mdb.models['Model-1'].parts['Part-1'] a.Instance(name='Part-1-1', part=p, dependent=OFF) (5) Analysis step: Establish a static general analysis step and give parameters such as the initial step size and maximum number of iterations.
[0036] mdb.models['Model-1'].StaticStep(name='Step-1',previous='Initial',maxNumInc=1000, initialInc=0.1) (6) Load: Set symmetric boundary conditions on the symmetry plane.
[0037] mdb.models['Model-1'].EncastreBC(name='BC-1',createStepName='Step-1',region=region, localCsys=None) (7) Mesh: Set the unit length and unit type. Use swept units and specify the sweep direction to simplify the unit node data sorting process and improve the efficiency of subsequent data sorting. The unit order is set to second order (20-node unit). Pay attention to the number of nodes in the unit. For example, 8- and 20-node units are available in Abaqus and Opera-3d. The 8-node unit has a small amount of data, but more units are required to form the arc segments of the geometric structure; the 20-node unit has a large amount of data, but only a small number of units are required to form the arc segments of the geometric structure.
[0038] a.seedPartInstance(regions=partInstances, size=10.0, deviationFactor=0.1, minSizeFactor=0.1) a.setMeshControls(regions=pickedRegions, technique=SWEEP,algorithm=ADVANCING_FRONT) a.generateMesh(regions=partInstances) (8) Job: Create a job, set the number of cores and threads, and submit the job.
[0039] mdb.Job(name='Job-1', model='Model-1', 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=12, numDomains=12, numGPUs=0) mdb.models['Model-1'].keywordBlock.synchVersions (storeNodesAndElements=False) mdb.jobs['Job-1'].submit(consistencyChecking=OFF) (9) Post-processing: Open the result file, extract the node coordinates of each layer of coil in sequence, organize them into the coil modeling format in Opera-3d, and generate the coil modeling file.
[0040] filename = open(filepath, 'w') odb = openOdb(ABAQUS_odb) elementSet = odb.rootAssembly.elementSets[Assembly_name] filename.write("CONDUCTOR ACTION=DEFINE TYPE=BR20," + " filename.close() (10) Opera-3d runs the coil modeling file, such as Figure 3 (b) The program is extensible. When the geometric structure is imported into Opera-3d through the platform built by Python, the current and boundary conditions can be set synchronously, and the current density, magnetic field intensity, etc. can be output in the post-processing module, which can further form a large-scale complex magnet structure modeling and multi-field coupling analysis system.
[0041] Figure 4 The efficient automatic modeling method of the present invention is compared ( Figure 4 (a)) and Opera-3d( Figure 4(b)) Preset manual modeling method. The present invention is based on Python program and uses Abaqus to automatically divide the grid. The software will automatically optimize the grid quality according to the user-defined length during division. The result data is further automatically output to form an Opera-3d modeling file. The whole process is automatic, efficient and high-quality, which greatly improves the modeling efficiency of large-scale special-shaped complex magnet structures. Opera-3d ( Figure 4 (b) shows the preset block splicing process, which requires manual input of block node coordinate values. 60 data are required to build one block, which is extremely inefficient. In addition, users locate block node coordinates based on experience, which can easily divide blocks with large length-to-width ratios, which may have an adverse effect on the calculation accuracy of complex coil structure results.
[0042] The method of the present invention is based on Python program operation, so a graphical user interface is designed to facilitate user use, thereby improving the efficiency of the entire geometric modeling process ( Figure 5 ).
[0043] Example 2 This example is a control group, which is a design method for a special-shaped superconducting coil structure based on the general electromagnetic analysis software Comsol, which specifically includes the following steps: Step 1: SolidWorks coil modeling. Model the coil in SolidWorks according to its actual size, determine the coil radius and axial length parameters, and complete the modeling by scanning the cross section along the predetermined path.
[0044] Step 2: Import the coil model into Comsol geometry module. Import the SolidWorks model into Comsol and create a 1 / 2 symmetric model to improve calculation efficiency ( Figure 6 (a)), where the coordinate systems of the components and assemblies are consistent and the dimensional units are consistent.
[0045] Step 3: Create an air domain in the Comsol geometry module. Create a work plane in Comsol and create an air domain with a size of 5 times the maximum diameter of the coil. Use the rotation command to form a half sphere. Further, combine the air domain and the coil into a joint body.
[0046] Step 4: Comsol material module: Assign the corresponding built-in materials to the air domain and coil respectively.
[0047] Step 5, Comsol magnetic field module. Coil geometry analysis, the corresponding equation is as follows: (1) Where B and H are the magnetic induction intensity and magnetic field intensity, J is the current density, A is the magnetic vector potential, E is the electric field intensity, and σ is the conductivity.
[0048] The outer boundary of the air domain is set to magnetic insulation (n×A=0), the initial value of the magnetic vector potential is 0, and the symmetric boundary of the air domain is set to an ideal magnetic conductor (n×H=0). In the coil setting in the magnetic field module, the corresponding coil current value is set for each layer of coils, and the current value is consistent with the embodiment based on Opera-3d.
[0049] Step 6, Comsol mesh module. Free tetrahedral mesh is used for both coil and air domain. Set the maximum unit size of the coil to 5mm. Set the unit size of the air domain to a predefined finer size. The software will automatically divide the mesh from far to near and from sparse to dense according to the distance from the coil to ensure calculation efficiency and accuracy.
[0050] Step 7, Comsol research module. Coil geometry analysis is used, and the solver configuration is default. The calculation takes 24.5 minutes.
[0051] Step 8, Comsol result module. Create a 3D cross section from (-200,0,0) to (200,0,0) in the data set, use a 1D plot group to plot the magnetic flux density norm on the cross section, and export it for use with the Opera-3d model ( Figure 6 (b)) results comparison.
[0052] Figure 7 The electromagnetic field results of the experimental group (Opera-3d) and the control group (Comsol) are compared. As can be seen from the figure, the magnetic field results are highly consistent, with the maximum deviation being only 1.3%, indicating that the accuracy of the two is consistent.
[0053] Figure 8 Comparison of the time taken to calculate the same electromagnetic model for the experimental group (Opera-3d) and the control group (Comsol). Opera-3d takes 11.47 minutes to calculate the same model, while Comsol takes 24.5 minutes, which means that Opera-3d's calculation efficiency is more than doubled while ensuring the calculation accuracy.
Claims
1. A multi-software joint special-shaped superconducting coil structure design method, characterized in that: The steps include: Step 1: According to the geometric parameters of the superconducting coil drawing, a superconducting coil model is constructed in the mechanical design software SolidWorks and exported into an engineering file format; Step 2: Based on the platform built by Python, the geometric engineering file of step 1 is imported into Abaqus for parametric modeling and unit division, and the result file is further obtained through software calculation; Step 3: Based on the Python-based platform, all unit node coordinates of the geometric model are read from the Abaqus result file in step 2, and further organized into a format that can be recognized by Opera-3d; Step 4: Use Python to call Opera-3d to read the modeling file, and then perform further electromagnetic analysis after running it.
2. The multi-software joint special-shaped superconducting coil structure design method according to claim 1 is characterized in that: The geometric parameters in step 1 include coil cross-sectional radius, coil thickness, coil length and coil sweep path line.
3. The multi-software joint special-shaped superconducting coil structure design method according to claim 1 is characterized in that: In the step 2, Python parametric modeling is used to complete the components, attributes, assembly, analysis steps, loads, grids, operations and post-processing.
4. The multi-software joint special-shaped superconducting coil structure design method according to claim 1 is characterized in that: In the step three, the Abaqus post-processing process is completed with the help of Python, and the unit numbers and their corresponding node coordinates are extracted in sequence.
5. The multi-software joint special-shaped superconducting coil structure design method according to claim 1 is characterized in that: In the step 3, the coordinates of the geometric unit nodes are extracted and adjusted to the block splicing format in Opera-3d.
6. The multi-software joint special-shaped superconducting coil structure design method according to claim 1 is characterized in that: In the step 4, the geometric structure is imported into Opera-3d through the platform built by Python, the current and boundary conditions are set synchronously, and the current density and magnetic field intensity are displayed in the post-processing module.
Citation Information
Cited By
Analysis method for box girder bridge explosion damage assessment based on multi-software co-simulation
CN122366000A