Keywords

1 Instructions

Concrete-filled steel tube (CFST) column is a hot topic in a structure design [1,2,3]. ABAQUS pre-processing and post-processing developed by Python language reduce the repeated work of modification and resubmission by modifying model parameters, submitting jobs and reanalyzing [3, 4].

In view of the wide application of CFST and the need for repeated modeling, calculation and post-processing in the calculation process, which increases a lot of unnecessary workload, we hope to reduce the amount of work and improve work efficiency through redevelopment.

At present, few literatures introduce this content, so this paper introduces the application of Python for secondary development, which can realize the functions of parametric calculation and data analysis, and play a reference role for engineering applications.

2 Introduction of ABAQUS and Python

2.1 The Template File

ABAQUS can simulate the linear and nonlinear properties of materials, so it should be widely used in engineering design. ABAQUS/CAE module is a human–computer interface. ABAQUS provides many library functions for users in Python. You can call library functions through the calling interface. The Python language can be transmitted into kernel of Abaqus through forms shown in Fig. 1 [5].

Fig. 1
A flow chart has 4 steps A B A Q U S, input files, A B A Q U S forward slash standard, and output database. The first step has five components linked to the python interpreter.

Abaqus scripting interface commands and Abaqus/CAE

The following functions can be achieved: (1) Create or modify model parameters (2) Create or modify ABAQUS analysis tasks (3) Operation field output and historical output data. (4) View the analysis results (5) Realize parametric analysis.

The script interface is an object-oriented library. ABAQUS provides an interface to implement the pre-processing and post-processing of the model. The relationship of the model is very complex, as shown in Fig. 2. It is divided into three forms: session object for defining views, model database and ODB object for analysis results [6,7,8]. ABAQUS secondary development can be realized by four methods: (1) User subroutines; (2) Abaqus environment files; (3) Abaqus scripting interface; and (4) Abaqus GUI Toolkit Fig. 3.

Fig. 2
Three flow charts. The session splits into view ports and field report options. Mbd splits into jobs and models. Odb splits into root assembly, parts, section categories, and steps.

Structure of the Abaqus object model

Fig. 3
A flow chart splits into branches. It starts with odb and then splits into root assembly, parts, section categories, and steps. It ends with history points and history outputs.

Odb object model

3 Application

See Fig. 4.

Fig. 4
A flow chart has 9 steps. It starts with the name of the model and ends with the visualization. Component splits into three branches concrete, plate and steel pipe.

Relationship of the main parts

This paper studies CFST column using Abaqus secondary development. By using secondary development, CFST column are modified individually. CFST column can be obtained at different concrete, plate and steel pipe. Modifying models, submitting tasks, restarting analysis, etc., can be implemented through software developed in python, thus improving the computing power of finite elements. For study of CFST column, first, some representative components are created, as shown in Fig. 3. Simultaneously, part of the codes of the function is given as follows:

GroupBox_1 = FXGroupBox(p = self, text = ‘Create various components’, opts = FRAME_GROOVE|LAYOUT_FILL_X)

           HFrame_1 = FXHorizontalFrame(p = GroupBox_1, opts = 0, x = 0, y = 0, w = 0, h = 0, pl = 0, pr = 0, pt = 0, pb = 0)

           GroupBox_2 = FXGroupBox(p = HFrame_1, text = ‘Concrete’, opts = FRAME_GROOVE)

           AFXTextField(p = GroupBox_2, ncols = 6, labelText = ‘Concrete diameter(mm):’, tgt = self.form.diameterKw, sel = 0, opts = AFXTEXTFIELD_FLOAT)

     AFXTextField(p = GroupBox_2, ncols = 6, labelText = ‘Concrete length(mm):’, tgt = self.form.lengthKw, sel = 0, opts = AFXTEXTFIELD_FLOAT)

     GroupBox_3 = FXGroupBox(p = HFrame_1, text = ‘Plate’, opts = FRAME_GROOVE)

           self.ComboBox_1 = AFXComboBox(p = GroupBox_3, ncols = 10, nvis = 2, text = ‘Type of Plate:’, tgt = self, sel = self.ID_CBOX1)

           self.ComboBox_1.appendItem(text = ‘Rigid surface’)

           self.ComboBox_1.appendItem(text = ‘Elastomer’)

           self.ComboBox_1.setCurrentItem(1)

           self.form.RigidTypeKw.setValue(2)

         self.RigidDepthTF = AFXTextField(p = GroupBox_3, ncols = 6, labelText = ‘Plate thickness(mm):’, tgt = self.form.RigidDepthKw, sel = 0, opts = AFXTEXTFIELD_FLOAT)

           GroupBox_4 = FXGroupBox(p = HFrame_1, text = ‘Steel Pipe’, opts = FRAME_GROOVE)

    AFXTextField(p = GroupBox_4, ncols = 6, labelText = ‘Pipe wall thickness(mm):’, tgt = self.form.thicknessKw, sel = 0, opts = AFXTEXTFIELD_FLOAT)

           FXButton(p = GroupBox_4, text = ‘Creating components’, ic = None, tgt = self.form, sel = self.form.ID_DBBUTTON1, opts = BUTTON_NORMAL, x = 0, y = 0, w = 0, h = 0, pl = DEFAULT_PAD, pr = DEFAULT_PAD, pt = DEFAULT_PAD, pb = DEFAULT_PAD)

The results are as follows from Fig. 5

Fig. 5
A screenshot of the dialog box titled A B A Q U S forward slash C A E has fields. Some of the fields are the name of the model, project name, and create material.

Interface and models

4 Verification

The numerical results compared with the testing which verifies the correctness of the programming. The experimental data are quoted in the published journals of the author. See Yang et al. [9], Yang et al. [10] and Yang et al. [11].

Figure 6 shows a typical FE model in which three-dimensional 8-node solid elements (C3D8) were adopted. Figure 7 shows the results of typical FE model. Figure 8 was the steel pipes after test.

Fig. 6
A three-dimensional cylindrical tube is enclosed by cuboidal surfaces from both ends.

Typical FE model adopted in numerical modeling

Fig. 7
A three-dimensional cylindrical structure enclosed by cuboidal surfaces from both ends has regions marked with colours.

Results of typical FE model

Fig. 8
Five vertical cylindrical steel pipes are arranged in a row. One of the pipes behind these pipes contains a stone structure.

The steel pipes after test

By comparing the numerical results with the tests, the accuracy of the finite element model and the proposed stress–strain model of CFST column are verified. The relationship between the maximum compression load, and the deformation shape of the CFST column is studied. The maximum difference observed between the experimental and numerical results is not exceed 5%.

5 Conclusions

The following conclusions can be drawn.

Through Python script, the parametric model of a CFST column is established. Through customized parametric simulation modeling, the second development interface can be used to modify the parameters of concrete-filled steel tubular columns. The analysis and experimental results show that the obtained results are in good agreement with the experimental results, and the prediction accuracy is within an acceptable range.