A containment prestressed steel strand parameterized modeling method based on B-spline interpolation

Through B-spline interpolation and secondary development of ABAQUS, parametric modeling of prestressed steel strands in containment structures was realized, solving the problems of low efficiency and high error rate of traditional modeling and providing a fast and accurate modeling method.

CN119378177BActive Publication Date: 2026-02-06CNNC NUCLEAR POWER OPERATION MANAGEMENT CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310914082.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-25
Publication Date
2026-02-06
Estimated Expiration
2043-07-25

AI Technical Summary

Technical Problem

Traditional structural modeling methods are inefficient, especially prone to errors when dealing with complex structures or design changes, and are difficult to implement parametric design.

Method used

A B-spline interpolation-based method, combined with secondary development of Python and ABAQUS, was adopted to realize parametric modeling of prestressed steel strands in the containment structure. Coordinate interpolation was calculated using B-spline basis functions, and Python scripts were written for automated modeling.

Benefits of technology

It improves modeling efficiency, reduces error rate, and enables rapid and accurate modeling of prestressed steel strands in containment structures, making it suitable for performance calculations of containment structures and analysis of prestress loss in steel strands.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119378177B_ABST
    Figure CN119378177B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of data processing and parameterized modeling, and particularly relates to a containment prestressed steel strand parameterized modeling method based on B-spline interpolation, comprising: determining position information and shape parameters of each steel strand on the development drawing according to design drawings of the containment prestressed steel strand; calculating nodes of complex prestressed steel strands near the device gate and the hole; calculating B-spline base functions based on the nodes of the complex prestressed steel strands; realizing coordinate interpolation of vertical curve segment parts in the complex prestressed steel strands by using the B-spline base functions, calculating spatial coordinates, and generating a three-dimensional spatial coordinate point set of the prestressed steel strand; and realizing parameterized modeling and automatic numbering of the prestressed steel strand by writing a Python script based on secondary development functions of ABAQUS, so as to establish a three-dimensional model of the prestressed steel strand. The method realizes coordinate interpolation of the prestressed steel strand by using B-spline interpolation functions, and realizes secondary development of ABAQUS and parameterized modeling of the prestressed steel strand based on Python.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of data processing and parameterized modeling, and particularly relates to a B-spline interpolation-based parameterized modeling method for a containment prestressed steel tendon. BACKGROUND

[0002] Traditional modeling methods have certain limitations. In the traditional structural design and modeling process, structural engineers need to manually model according to the structural design scheme. For some complex structures or structures with more repetitive work in the modeling process, the manual modeling method is low in efficiency. If the structural scheme changes during the design process, the workload of modifying the model will be large, the design cycle will be long, and errors are likely to occur.

[0003] Python-based secondary development of ABAQUS has advantages in modeling efficiency. ABAQUS / CAE is a finite element processing application program of ABAQUS, which not only provides a graphical modeling and analysis platform, but also enables users to create scripts and graphical interfaces through Python-based secondary development, so as to realize automation of the pre-processing and post-processing of finite element analysis and operation process. ABAQUS / CAE can convert the operations of users in the graphical interface into internal commands for execution, and write the operations that need to be repeatedly executed as program scripts. Users can realize automatic processing of the program by executing the scripts and setting and adjusting parameters.

[0004] The containment prestressed steel tendon needs parameterized modeling. The parameterized design and modeling method can regard all design elements as function variables, correlate different variables through an algorithm, and automatically establish a structural model after inputting parameters and debugging. Compared with the traditional modeling method, the parameterized modeling method can significantly improve the modeling efficiency and is convenient for modifying and adjusting the model. SUMMARY

[0005] The application aims to provide a B-spline interpolation-based parameterized modeling method for a containment prestressed steel tendon, which realizes coordinate interpolation of the prestressed steel tendon by using a B-spline interpolation function and realizes secondary development of ABAQUS and parameterized modeling of the prestressed steel tendon based on Python.

[0006] The technical scheme for achieving the application comprises the following steps:

[0007] A B-spline interpolation-based parameterized modeling method for a containment prestressed steel tendon, which comprises the following steps:

[0008] Step 1: Determine the position information and shape parameters of each steel tendon on the development drawing according to the design drawing of the containment prestressed steel tendon.

[0009] Step (2) calculates the nodes of the complex prestressed steel beam near the device gate and the hole;

[0010] Step (3) calculates the B-spline basis function based on the nodes of the complex prestressed steel beam;

[0011] Step (4) uses the B-spline basis function to realize the coordinate interpolation of the vertical curve segment part in the complex prestressed steel beam, calculates the spatial coordinates, and generates the three-dimensional spatial coordinate point set of the prestressed steel beam;

[0012] Step (5) based on the secondary development function of ABAQUS, writes a Python script to realize the parametric modeling and automatic numbering of the prestressed steel beam, thereby establishing the three-dimensional model of the prestressed steel beam.

[0013] In the step (1), the position information and the shape parameter are specifically: for each prestressed steel beam, the elevation h and the angle θ of the two end points of the steel beam are determined; for the complex prestressed steel beam, the bending radius r and the arc length l are determined, and then the central angle α corresponding to the arc length is calculated.

[0014] The calculation formula of the central angle α is:

[0015]

[0016] In the step (2), the calculation method of the node is as follows: according to the development drawing, the starting node coordinates, the intermediate node coordinates and the terminal node coordinates of the complex prestressed steel beam are determined; according to the steel beam development radius R, the radius r of each arc and the central angle α, the angle difference Δθ and the elevation difference Δh of adjacent nodes are calculated, and then the coordinates of the intermediate node are calculated.

[0017] The calculation formula of the angle difference of adjacent nodes is:

[0018]

[0019] The calculation formula of the elevation difference of adjacent nodes is:

[0020] Δh=r×(1-cosα).

[0021] In the step (3), the calculation formula of the B-spline basis function is:

[0022]

[0023]

[0024]

[0025] Wherein, S(x) is a single variable spline under B-spline basis, B i,0(x) represents the i-th B-spline basis function of degree 0, B i,k (x) represents the i-th B-spline basis function of degree k, c j represents the i-th node, t represents the node, t i represents the i-th node, t i+k represents the i+k-th node.

[0026] The step (4) is specifically as follows: using B-spline basis functions, after setting a reasonable k parameter value, a node vector is calculated; for a complex prestressed steel strand on the expansion diagram, coordinate points are selected on the curve within the range from the starting node to the ending node at a certain interval, a point array of a smooth spline line is calculated based on the B-spline basis function, coordinate interpolation of the curve is realized, and the spatial coordinates (Rcosθ, Rsinθ, h) of all nodes and inserted points are calculated, and a three-dimensional spatial coordinate point set of the prestressed steel strand is created.

[0027] In the step (5), parameterized modeling and automatic numbering of the prestressed steel strand are realized, and the specific implementation steps are as follows:

[0028] Step (5.1) imports ABAQUS related packages and libraries in the Python script;

[0029] Step (5.2) creates a model, a viewport and an assembly in the database, and sets necessary parameters;

[0030] Step (5.3) analyzes the characteristics of the steel strand, and classifies the steel strand;

[0031] Step (5.4) records the information such as the steel strand number, endpoint coordinates and elevation in an Excel table, and exports a csv format file;

[0032] Step (5.5) imports the csv format file in the script, and creates a sketch and a part;

[0033] Step (5.6) creates an arc and a straight line on the corresponding sketch according to the endpoint coordinates of each steel strand;

[0034] Step (5.7) selects the corresponding sketch to perform a translation operation according to the elevation information of each steel strand, so as to create an instance;

[0035] Step (5.8) combines all instances into a part and an instance, and creates a vertical curve segment part of the complex prestressed steel strand;

[0036] Step (5.9) combines all instances into one instance, and deletes all instances except the combined instance and sketches and parts that are no longer needed in subsequent modeling processes.

[0037] The beneficial technical effects of the present application are that:

[0038] 1. The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application realizes rapid and accurate modeling of prestressed steel bundles of the same type of containment according to the development drawing of the prestressed steel bundle, which is of great significance for the calculation of the structural performance of the containment, the analysis of the prestress loss of the steel bundle, etc.

[0039] 2. The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application realizes parameterized modeling and automatic numbering of prestressed steel bundles based on the secondary development function of ABAQUS to write Python scripts, significantly reduces the probability of modeling errors, and improves the modeling quality.

[0040] 3. The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application verifies the feasibility, calculation performance and accuracy of the method through the design of numerical simulation tests, and proves that the method has good application value in actual engineering. BRIEF DESCRIPTION OF DRAWINGS

[0041] Figure 1 The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application is a flowchart;

[0042] Figure 2 The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application is a flowchart;

[0043] Figure 3 The B-spline curve diagram of the vertical curve segment in the complex prestressed steel bundle in the prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application.

[0044] Figure 4 The prestressed steel bundle parameterized modeling method based on B-spline interpolation provided by the present application is a flowchart; DETAILED DESCRIPTION

[0045] The present application will be further described in detail below in combination with the drawings and examples.

[0046] The application provides a containment prestressed steel strand parameterized modeling method based on B-spline interpolation, which can be applied to rapid generation of a group of horizontal prestressed steel strands. In the horizontal prestressed steel strands, the steel strands composed of circular arcs and straight lines located at the same elevation are included, and the complex steel strands with vertical curve segments and points not at the same elevation are also included. Each steel strand is composed of an anchoring straight line segment in a buttress column and a circular arc segment in a cylinder, and the complex prestressed steel strand further includes a curve segment. In order to facilitate parameter setting during creation of the steel strand, a point at the center of the containment cylinder and with an elevation of 0 is set as an origin O of a spatial coordinate system, and a clockwise direction (as viewed from top to bottom) is set as a positive direction to establish a column coordinate system. A steel strand plane unfolding radius is denoted as R.

[0047] As shown in Figure 1 , the containment prestressed steel strand parameterized modeling method based on B-spline interpolation of the application includes the following steps:

[0048] Step (1) determining position information and shape parameters of each steel strand on an unfolding drawing according to design drawings of the containment prestressed steel strand

[0049] In step (1), the position information and shape parameters to be determined mainly include an elevation h of each prestressed steel strand, a starting point angle θ start , an ending point angle θ end , as shown in Figure 2 . For a complex prestressed steel strand, as shown in Figure 3 , the end point coordinates of the circular arc segment and the straight line segment are calculated first, and then the bending circle radius r and the arc length l of each vertical curve segment are determined, and the central angle α of each curve is calculated from the following formula.

[0050]

[0051] Step (2) calculating nodes of the complex prestressed steel strand near the device gate and the hole

[0052] In step (2), the calculation method of the nodes is as follows: in order to calculate the node coordinates of the vertical curve segment in the complex prestressed steel strand, the starting point node (tangent point) coordinates (θ1, h1), the intermediate node (i.e. the lowest point) coordinates (θ4, h4) and the ending point node (tangent point) coordinates (θ7, h7) are determined according to the unfolding drawing. Then, the angle difference Δθ and the elevation difference Δh of adjacent nodes are calculated according to the steel strand unfolding radius R, the circle radius r and the central angle α of each arc, and then the coordinates (θ2, h2); (θ3, h3); (θ5, h5); (θ6, h6) of the intermediate nodes are calculated according to the following formula, as shown in Figure 3 .

[0053] The calculation formula of the angle difference of adjacent nodes is:

[0054]

[0055] The calculation formula of the elevation difference of adjacent nodes is:

[0056] Δh = r x (1 - cos a).

[0057] Step (3) Calculation of B-spline basis function based on complex prestressed steel tendon

[0058] In step (3), the B-spline basis function is calculated by the following formula:

[0059]

[0060]

[0061]

[0062] where S(x) is a single variable spline under the B-spline basis, B i,0 (x) represents the i-th 0-th B-spline basis function, B i,k (x) represents the i-th k-th B-spline basis function, c j represents the i-th node, t represents the node, t i represents the i-th node, t i+k represents the i+k-th node.

[0063] Step (4) Coordinate interpolation of the vertical curve segment part in the complex prestressed steel tendon is realized by using the B-spline basis function, and the spatial coordinates are calculated to generate the three-dimensional spatial coordinate point set of the prestressed steel tendon

[0064] In step (4), the specific steps of realizing coordinate interpolation of the vertical curve segment part in the complex prestressed steel tendon by using the B-spline basis function and calculating the spatial coordinates to generate the three-dimensional spatial coordinate point set of the prestressed steel tendon are as follows: for a given node, after setting a reasonable k parameter value, the basis function is calculated. Where k represents the degree of spline fitting, a larger k value can obtain a relatively smoother curve. The size of k can be adjusted according to actual needs. For the complex prestressed steel tendon on the development drawing, coordinate points are selected on the curve within the range from the starting node to the ending node at a certain interval, to serve as the nodes of the B-spline basis function, and the smooth spline line of the steel tendon is calculated based on the B-spline basis function. In order to facilitate subsequent modeling, coordinate interpolation is realized based on the B-spline curve to obtain the inserted point set on the curve. For all nodes and inserted points, their spatial coordinates (Rcosθ, Rsinθ, h) are calculated, and then the three-dimensional spatial coordinate point set of the prestressed steel tendon is created.

[0065] Step (5) Based on the secondary development function of ABAQUS, a Python script is written to realize the parametric modeling and automatic numbering of the prestressed steel tendon, thereby establishing the three-dimensional model of the prestressed steel tendon

[0066] In step (5), the parametric modeling and automatic numbering of the prestressed steel tendon are realized, and the specific implementation steps are as follows:

[0067] Step (5.1) imports the ABAQUS related packages and libraries in the Python script.

[0068] Step (5.2) creates a new model, viewport and assembly in the database and sets the necessary parameters: a new model is created by the mdb.Model(name) method, and name defines the name of the model; a new viewport is created using the session.Viewport(name, origin) method, and name and origin define the name and origin point of the Viewport, respectively, which is (0, 0) here; an assembly is created through myModel.rootAssembly.

[0069] Step (5.3) analyzes the characteristics of the steel tendon and classifies the steel tendon: in this step, the steel tendon can be divided into two parts according to whether there is a vertical curve segment in the steel tendon—ordinary prestressed steel tendon and complex prestressed steel tendon, the former is at the same elevation, and the latter has a part of the curve segment, and the points are located at different elevations. For ordinary prestressed steel tendon, they can be classified according to their projection on the horizontal plane, and the shape parameters of the same class of steel tendon are the same and the elevations are different, so different instances can be created based on the same sketch. For complex prestressed steel tendon, the circular arc segment and straight line segment part can be created in the sketch, and the complex curve segment part can be realized by coordinate interpolation based on B-spline basis function, and then the spline is created.

[0070] Step (5.4) records the information of steel tendon numbering, endpoint coordinates and elevation in the Excel table, and exports the csv format file. In this step, the steel tendon is disassembled into different segments and recorded in different Excel sub-tables:

[0071] a. Arcs sub-table: records the sketch name of the steel tendon and the node horizontal coordinates of the circular arc segment;

[0072] b. Lines sub-table: records the sketch name of the steel tendon and the node horizontal coordinates of the straight line segment;

[0073] c. Instances sub-table: records the instance name of the steel tendon (i.e. steel tendon number), sketch name and elevation information;

[0074] d. Splines sub-table: records the instance name of steel strand (i.e. steel strand number) and the three-dimensional spatial coordinates of complex prestressed steel strand.

[0075] Step (5.5) Import the csv format file in the script, and create sketch and part according to the recorded steel strand sketch name: based on the created model, the sketch can be created using the ConstrainedSketch(name, sheetSize) method, where name and sheetSize are used to define the name and size of the sketch, respectively; the part can be created using the Part(name, dimensionality, type) method, where name, dimensionality and type are used to define the name, dimension and type of the part, respectively. It is worth noting that for ordinary prestressed steel strands, the same type of steel strand can create different instances based on the same sketch and part.

[0076] Step (5.6) Create arcs and straight lines on the corresponding sketch according to the node horizontal coordinates of each steel strand: since the projections of all arcs on the plane have the same center, the ArcByCenterEnds(center, point1, point2) method can be used to create an arc, where center is the (0, 0) point, and point1 and point2 are the two end points (node horizontal coordinates) of the arc. The Line(point1, point2) method can be used to create a straight line, where point1 and point2 are the two end points (node horizontal coordinates) of the straight line. After creating the arcs and straight lines, the BaseWire(sketch) method is used on the part in the database to create a planar wire through the given ConstrainedSketch object.

[0077] Step (5.7) According to the elevation information of each steel strand, select the corresponding sketch to perform a translation operation to create an instance: in this step, a new instance is created based on the assembly using Instance(name, part), where name and part are used to define the name and the part referenced when creating the instance, respectively. The translate(instanceList, vector) method is used to translate the created instance, where instanceList and vector define the instance name list to be operated and the translation vector, respectively.

[0078] Step (5.8) combines all instances into one part and instance, and creates the vertical curve segment part of the complex prestressed steel beam based on the merged part using the WireSpline(points) method, where points is the three-dimensional coordinate point set of the vertical curve segment.

[0079] Step (5.9) combines all instances into one instance, and deletes all instances except the merged instance and sketches and parts that are no longer needed in subsequent modeling processes. The InstanceFromBooleanMerge(name, instances) method is used to merge instances, where name and instances respectively define the name of the merged instance and the instances used for merging.

[0080] The B-spline interpolation-based containment prestressed steel beam parameterization modeling method provided by the present application has realized program automation, and the result of quickly generating a horizontal prestressed steel beam part model is as shown in Figure 4 .

[0081] The present application has been described in detail above in combination with the drawings and examples, but the present application is not limited to the above examples, and various changes can be made within the knowledge possessed by those of ordinary skill in the art without departing from the gist of the present application. The contents not described in detail in the present application can be adopted using existing technology.

Claims

1. A B-spline interpolation-based containment prestressed tendon parameterized modeling method, characterized in that, The method includes: Step (1) Determine the position information and shape parameters of each steel strand on the unfolded drawing based on the design drawings of the prestressed steel strands of the containment; Step (2) Calculate the nodes of the complex prestressed steel strands near the equipment gate and opening; Step (3) Calculate the B-spline basis functions based on the nodes of complex prestressed steel strands; Step (4) Use B-spline basis functions to perform coordinate interpolation on the vertical curved section of the complex prestressed steel strand, calculate the spatial coordinates, and generate a three-dimensional spatial coordinate point set of the prestressed steel strand; Step (5) Based on the secondary development function of ABAQUS, write a Python script to realize the parametric modeling and automatic numbering of prestressed steel strands, thereby establishing a three-dimensional model of prestressed steel strands; In step (1), the position information and shape parameters are as follows: for each prestressed steel strand, determine its elevation h and the angle θ at the two ends of the steel strand; for complex prestressed steel strands, determine its bending circle radius r and arc length l, and then calculate the central angle α corresponding to the arc length. In step (2), the calculation method of the nodes is as follows: determine the coordinates of the starting node, intermediate node and ending node of the complex prestressed steel strand according to the unfolded diagram; calculate the angle difference Δθ and elevation difference Δh between adjacent nodes according to the unfolded radius R of the steel strand, the radius r of each arc and the central angle α, and then calculate the coordinates of the intermediate node.

2. The B-spline interpolation-based containment prestressed tendon parameterized modeling method according to claim 1, characterized in that, The formula for calculating the central angle α is:

3. The B-spline interpolation-based containment prestressed tendon parameterized modeling method according to claim 1, characterized in that, The formula for calculating the angle difference between adjacent nodes is:

4. The B-spline interpolation-based containment prestressed tendon parameterized modeling method according to claim 1, characterized in that, The formula for calculating the elevation difference between adjacent nodes is: Δh=r×(1-cosα).

5. The B-spline interpolation-based containment prestressed tendon parameterized modeling method according to claim 1, characterized in that, In step (3), the formula for calculating the B-spline basis function is: where S(x) is a univariate spline under the B-spline basis B i,0 (x) represents the i-th 0-th order B-spline basis function, B i,k (x) represents the i-th k-th order B-spline basis function, c j represents the j-th control point, t represents a knot, t i represents the i-th knot, t i+k represents the i+k-th knot.

6. The B-spline interpolation-based containment pre-stressed tendon parameterized modeling method according to claim 1, characterized in that, The specific steps (4) are as follows: using the B-spline basis function, after setting a reasonable k parameter value, the node vector is calculated; for complex prestressed steel strands on the unfolded diagram, coordinate points are selected at certain intervals on the curve within the range from the starting node to the ending node, and a point array of smooth spline lines is calculated based on the B-spline basis function to realize the coordinate interpolation of the curve; for all nodes and insertion points, their spatial coordinates (Rcosθ,Rsinθ,h) are calculated, and then a three-dimensional spatial coordinate point set of the prestressed steel strand is created.

7. The B-spline interpolation-based containment pre-stressed tendon parameterized modeling method according to claim 1, characterized in that, In step (5), parametric modeling and automatic numbering of prestressed steel strands are achieved. The specific implementation steps are as follows: Step (5.1) Import the relevant ABAQUS packages and libraries into the Python script; Step (5.2) Create a new model, viewport, and assembly in the database and set the necessary parameters; Step (5.3) analyzes the characteristics of the steel strands and classifies them; Step (5.4) Record the steel strand number, endpoint coordinates, and elevation information in an Excel spreadsheet and export it as a CSV file; In step (5.5), import the CSV file into the script and create the sketch and part; Step (5.6) Create arcs and straight lines on the corresponding sketch based on the endpoint coordinates of each steel strand; Step (5.7) Based on the elevation information of each steel strand, select the corresponding sketch and perform a translation operation to create an instance; Step (5.8) combines all instances into one part and instance, and creates the vertical curved segment part of the complex prestressed tendon; Step (5.9) combines all instances into one instance, and deletes all instances except the combined instance and sketches and parts that are no longer needed in the subsequent modeling process.