Python energized FDS-ABAQUS non-uniform temperature field bridging method
Through the Python-enabled FDS to ABAQUS non-uniform temperature field bridge method, the problem of incompatibility between FDS and ABAQUS is solved, and high-precision analysis of complex structures under fire conditions is realized, which improves computing efficiency and flexibility.
Patent Information
- Application Number
- CN202411415589.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-11
- Publication Date
- 2025-03-04
- Estimated Expiration
- 2044-10-11
AI Technical Summary
In the prior art, it is difficult to form an efficient compatibility mechanism between the two software FDS and ABAQUS, which leads to difficulties in comprehensive analysis of fire dynamics and structural mechanical responses, especially in mechanical response analysis under complex structures and non-uniform temperature fields.
Through Python empowerment, a non-uniform temperature field bridge method from FDS to ABAQUS is developed, including using CAD/SolidWorks to assist model conversion, Python automated extraction and preprocessing of temperature data, and flexibly adjusting the size and density of the temperature-assigned area in ABAQUS.
It realizes the compatibility of data formats between FDS and ABAQUS, efficiently imports non-uniform temperature field data, and is suitable for fire response analysis of complex structures, improving calculation accuracy and efficiency.
Smart Images

Figure CN119558035A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the cross-technical field of fire dynamics and structural response analysis, and in particular to a Python-enabled FDS to ABAQUS non-uniform temperature field bridging method. Background Art
[0002] Fire dynamics and structural mechanical response belong to different disciplines. FDS and ABAQUS are designed and developed based on the needs of these two disciplines. In the early development of the discipline, there was little cross-integration between the two disciplines, which resulted in the failure of the two softwares to form a mature and efficient compatibility mechanism to comprehensively explore the temperature field distribution formed in the structure when a fire occurs and the mechanical response of the structure under the action of this complex temperature field. The current situation that the two softwares are difficult to effectively link and coordinate analysis has seriously restricted the deep cross-integration and integration between disciplines such as fire science, fire engineering and structural engineering, and further restricted the in-depth exploration of the mechanism and evolution law of the overall mechanical response of the structure under fire conditions. Therefore, it is necessary to develop a non-uniform temperature field mapping method that can bridge FDS and ABAQUS, so as to fully consider the non-uniform temperature field of the space where each part of the structure is located in the fire, accurately simulate the deformation, fire resistance limit and mechanical property degradation of the structure under the non-uniform temperature field of the fire, and then accurately evaluate the behavior of the structure in a real fire environment. The development of the FDS to ABAQUS non-uniform temperature field bridging method mainly has the following problems:
[0003] 1. FDS and ABAQUS use different data formats for storage and import, which leads to the prominent incompatibility of data formats between the two software. In addition, FDS can only output the temperature curve that changes with time, and the table lacks geometric spatial position information. Therefore, the data directly exported by FDS cannot be accurately located point by point in space and mapped point by point in temperature in the ABAQUS model, which in turn affects the accuracy of the model calculation results.
[0004] 2. Currently, the use of FDS and ABAQUS for structural fire response analysis is limited to simple geometric structures, such as a single steel plate or steel column. Specifically, the temperature field results calculated by FDS are averaged to generate one or several temperature field curves, and then these curves are manually input into the model in the predefined field of ABAQUS. However, for structures with large-scale spaces and complex geometric structures, when a fire occurs, it often spreads around the ignition point to form an uneven temperature field. In this case, it is obviously impossible to accurately reproduce the mechanical response of the structure under real fire conditions by simply taking the average of the temperature rise curve in the space and manually inputting a limited number of temperature amplitudes. It is easy to draw wrong scientific conclusions due to rough analysis, misleading the focus and direction of research. In addition, the manual input method is inefficient and cannot efficiently map and transmit the hundreds or thousands of temperature curves that constitute the non-uniform temperature field.
[0005] 3. FDS mainly focuses on fire dynamics simulation, and the accuracy requirements are relatively low. Therefore, the model in FDS only supports square grid configuration, and the grid size is relatively large. ABAQUS focuses on the in-depth analysis of structural mechanical response, and the quality of the grid determines the convergence of the model. For structures with simple geometric structures (such as single steel plates or steel columns), the mesh shape and size of the model in FDS and ABAQUS software are relatively easy to keep consistent. The high consistency of spatial resolution makes it easier to export temperature curve data from FDS and input it into ABAQUS. However, for complex and irregular structures with varied shapes, it is difficult to meet the accuracy and convergence requirements of mechanical analysis using only square grids when performing thermal-mechanical coupling analysis. Therefore, the mesh division and node distribution of complex and irregular structural models in the two software cannot be coordinated and consistent, which seriously limits the joint analysis and application of these two software in the field of complex structural fire resistance design for structural responses under real fire environments. Summary of the invention
[0006] In view of the above-mentioned technical deficiencies, the purpose of the present invention is to provide a Python-enabled FDS to ABAQUS non-uniform temperature field bridging method, which can not only solve the incompatibility problem of data formats between FDS and ABAQUS, but also efficiently import the non-uniform temperature field under fire calculated by FDS into ABAQUS, while not being restricted by the consistency of the meshes in the two softwares, and is groundbreakingly applicable to the structural response analysis of various complex structures under fire.
[0007] In order to solve the above technical problems, the present invention adopts the following technical solutions:
[0008] The present invention provides a Python-enabled FDS to ABAQUS non-uniform temperature field bridging method, comprising the following steps:
[0009] Step 1: Use CAD / SolidWorks to bridge ABAQUS and FDS, convert the model format, successfully import the model from ABAQUS to FDS, and achieve accurate modeling and high-precision simulation of complex structural fire dynamics in FDS;
[0010] Step 2: Use the functions in Python to automatically and batch extract the key information necessary for mapping the non-uniform temperature field to ABAQUS from the fire scene temperature distribution cloud map results calculated by FDS, including the temperature variation amplitude of the node over time and its corresponding precise three-dimensional spatial coordinates; pre-process the extracted data and store it in a data format that can be directly read and processed by ABAQUS;
[0011] Step 3: Automatically identify and import the pre-processed temperature data results into the corresponding spatial coordinate position of the model in ABAQUS software;
[0012] By changing the pre-defined variable assignment, the corresponding assembly name, model name and application analysis step of the model to be imported are locked; the coordinate point (x, y, z) of the fire source position is given by the position function, and the spatial position of the boundary instrument and the searcher is adjusted by associating the regionToolset.Region function;
[0013] By inputting appropriate xMin, xMax, yMin, yMax, zMin, and zMax into the regionToolset.Region function, the size of the defined spatial area of the "boundary meter" and "catcher" can be adjusted; ultimately, the purpose of flexibly adjusting the size and density of the heating area in ABAQUS and improving the calculation accuracy and efficiency can be achieved.
[0014] Preferably, in step 1, the model is imported from ABAQUS into FDS to perform fire dynamics simulation, which specifically includes the following steps:
[0015] Step 1.1: Export the refined structural model partitions established in ABAQUS into .step format;
[0016] Step 1.2: Import the .step model into Solidwork software and export it to .sat format below version 6.0;
[0017] Step 1.3: Import the .sat format model below version 6.0 into the CAD software and export the model to .dwg format;
[0018] Step 1.4: Import each part of the .dwg model into the FDS software and assemble the entire model in FDS;
[0019] Step 1.5: Set the fire source power, heat release rate, grid size and boundary conditions in FDS, and arrange thermocouple measurement points and 3D / 2D slices as required.
[0020] Preferably, in step 2, the process of realizing automatic, batch extraction and preprocessing of key information of non-uniform temperature field specifically includes the following steps:
[0021] Step 2.1: Call the fds2asciia program that comes with FDS to automatically extract and store the temperature of each node;
[0022] Step 2.1.1: Set base_path to the storage directory path of FDS simulation results;
[0023] Step 2.1.2: Set folder_name to the folder name where the FDS simulation results will be extracted;
[0024] Step 2.1.3: Use the os.chdir function to switch the working directory to base_path for subsequent calling and execution of the fds2ascii program;
[0025] Step 2.1.4: Define the time interval and total time duration to limit the time interval and time range for extracting data;
[0026] Step 2.1.5: Use the range function to loop through the time periods from 0 to duration, increasing the time period by interval seconds each time; for each time period, calculate the end time end_time and set it to start_time + interval time;
[0027] Step 2.1.6: Create a list fds2ascii_command containing the path to the fds2ascii executable file and the required parameters, including: Job ID, SLCF file type, sampling factor, domain size limit, start and end time of averaging time, number of variables to read, selected variable index, and output file name;
[0028] Step 2.1.7: Call the subprocess.run method to execute commands in fds2ascii one by one. After the cycle is completed, the time-temperature data of all time periods are exported.
[0029] Step 2.2: Extract node space coordinate information from the FDS model command stream;
[0030] Step 2.2.1: Use the extract_data function to define the path of the input text file, txt_file_path, and the path of the output CSV file, csv_file_path.
[0031] Step 2.2.2: Define a regular expression pattern to match the specific format in the FDS model command stream .txt file, including DEVC ID and XYZ coordinates;
[0032] Step 2.2.3: Use the open function to open the text file corresponding to the model command stream in read mode and UTF-8 encoding, and iterate over each line in the file;
[0033] Step 2.2.4: Use pattern.search to find content that matches the regular expression, extract the four values of devc_id, x, y, and z, and add them as a list to the data list;
[0034] Step 2.2.5: Use the open function to open the specified CSV file in write mode and set newline="" to avoid blank lines;
[0035] Step 2.2.6: Create a CSV writer object writer and use writer.writerow to write the table header ['DEVC ID', 'X', 'Y', 'Z'];
[0036] Step 2.2.7: Traverse the data list and use the writer.writerow method to write the data line by line;
[0037] Step 2.2.8: Save the data to the specified CSV file path;
[0038] Step 2.3: Preprocess the extracted ambient temperature data and node spatial coordinate information, match each node temperature with its corresponding spatial coordinate, process it into time-varying temperature data with geometric spatial position labels, and store it in a .csv file; see Figure 3 .
[0039] Preferably, in step 3, the extracted non-uniform temperature field data results are automatically identified and imported into the ABAQUS model, which specifically includes the following steps:
[0040] Step 3.1: Create mesh components for the entire model in the mesh tool of the meshing module of ABAQUS to form a new mesh type component;
[0041] Step 3.2: Delete the original assembly in the assembly module and reassemble and load the mesh component formed in step 3.1;
[0042] Step 3.3: Move the .csv file of the temperature data with geometric space position labels preprocessed in step 2 to the path where the .cae file of the ABAQUS model to be heated is located;
[0043] Step 3.4: Import the extracted non-uniform temperature field data results into the ABAQUS model;
[0044] Step 3.4.1: In the Temp function, call the extract_csv_to_numpy_no_pandas function to read the coordinate and temperature data according to the format of the CSV file and convert the read data into a NumPy array;
[0045] Step 3.4.2: In the Temp function, obtain the Abaqus model object, assembly, and instance in turn through mdb.models;
[0046] Step 3.4.3: Traverse the table data, and select elements and nodes in order by partition and density using the bounding device and searcher set by getByBoundingBox according to the size and position information in the table, and create a collection name for the selected elements and nodes;
[0047] Step 3.4.4: Call the remove_common_elements function to remove common elements between adjacent sets to ensure that the elements in each set are unique;
[0048] Step 3.4.5: Use the sequenceFromLabels method to create a new set of elements based on the labels of the elements or nodes, name the new set, and store it in a list;
[0049] Step 3.4.6: Use the bounding box and complement set by getByBoundingBox to further filter the elements and nodes in the collection to ensure that they are within the specified radius;
[0050] Step 3.4.7: Create a region and create an amplitude based on the temperature data and time step, call Temperature in Abaqus to set the temperature, specify the distribution type, cross-sectional distribution, and amplitude;
[0051] Step 3.4.8: Use the counter variable count to count the number of points where the temperature is successfully set, print it out, and display the prompt "Task Completed";
[0052] Step 3.5: Set the analysis steps, boundary conditions, and loads in ABAQUS, create a new job, submit the model calculation, and obtain the corresponding analysis results of the structure under the refined non-uniform temperature field.
[0053] Preferably, in step 3, the boundary instrument is implemented through Table parameters and regionToolset.Region function, which is a rectangular area with the fire source as the center and radially increasing in sequence, used to define the partitions in the model. Each boundary instrument cooperates with the corresponding search and complement device to search for spatial coordinates to realize the functions of partitioning and density temperature assignment;
[0054] The searcher loops through the table, uses the getByBoundingBox method to define a sub-space region in each defined bounding instrument space, uses the selE and selN lists to traverse and store all the cells and nodes in the region, and assigns the temperature of the same spatial coordinates captured in the table to the corresponding cell or node;
[0055] The fire source position is the coordinate position of the center of the flame where the fire initially occurs in the structural space.
[0056] The beneficial effects of the present invention are as follows: the present invention does not need to ensure the consistency of the grids in the two softwares FDS and ABAQUS, which improves the calculation flexibility and model applicability; the size and density of the temperature-assigned area can be flexibly adjusted in ABAQUS, which optimizes the calculation accuracy and convergence; it is applicable to various irregularly shaped or curved special-shaped structures, and meets the needs of numerical model fire scenes and damage analysis for diversified building structure designs. In summary, the present invention provides a more efficient and accurate analysis method for fire simulation and thermal coupling simulation of complex special-shaped structures such as long-span bridges. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0058] Figure 1 It is the temperature assignment process from FDS to ABAQUS and the geometric diagram provided by the present invention;
[0059] Figure 2 It is a schematic diagram of the temperature assignment flow chart from FDS to ABAQUS provided by the present invention;
[0060] Figure 3 It is a schematic diagram of the content and form of the pre-processed temperature field data in the temperature assignment process from FDS to ABAQUS provided by the present invention. DETAILED DESCRIPTION
[0061] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0062] See also Figure 1-Figure 2 , this embodiment provides a Python-enabled FDS to ABAQUS non-uniform temperature field bridging method, including the following steps:
[0063] Step 1: Use CAD / SolidWorks to bridge ABAQUS and FDS, convert the model format, successfully import the model from ABAQUS to FDS, and achieve accurate modeling and high-precision simulation of complex structural fire dynamics in FDS;
[0064] The specific method is: import the model from ABAQUS into FDS for fire dynamics simulation, which includes the following steps:
[0065] Step 1.1: Export the refined structural model partitions established in ABAQUS into .step format;
[0066] Step 1.2: Import the .step format model into Solidwork software and export it to .sat format below version 6.0;
[0067] Step 1.3: Import the .sat format model below version 6.0 into the CAD software and export the model to .dwg format;
[0068] Step 1.4: Import each part of the .dwg model into the FDS software and assemble the entire model in FDS;
[0069] Step 1.5: Set the fire source power, heat release rate, grid size and boundary conditions in FDS, and arrange thermocouple measurement points and 3D / 2D slices as required.
[0070] Step 2: Use functions such as os.chdir(path), range(start, stop, step), subprocess.run(command, input = input, text = text, check = check), csv.writer(csvfile), and df.T in Python to automatically and batch extract the key information necessary to map the non-uniform temperature field to ABAQUS from the fire scene temperature distribution cloud map results calculated by FDS, including the temperature variation amplitude of the node over time and its corresponding precise three-dimensional spatial coordinates; pre-process the extracted data and store it in a data format that can be directly read and processed by ABAQUS;
[0071] The specific steps include:
[0072] Step 2.1: Call the fds2asciia program that comes with FDS to automatically extract and store the temperature of each node;
[0073] Step 2.1.1: Set base_path to the storage directory path of FDS simulation results;
[0074] Step 2.1.2: Set folder_name to the folder name where the FDS simulation results will be extracted;
[0075] Step 2.1.3: Use the os.chdir(base_path) function to switch the working directory to base_path for subsequent calling and execution of the fds2ascii program;
[0076] Step 2.1.4: Define the time interval and total time duration to limit the time interval and time range for extracting data;
[0077] Step 2.1.5: Use the range(0,duration,interval) function to loop through the time periods from 0 to duration, increasing the time period by interval seconds each time; for each time period, calculate the end time end_time and set it to start_time + interval time;
[0078] Step 2.1.6: Create a list fds2ascii_command containing the path to the fds2ascii executable file and the required parameters, including: Job ID, SLCF file type, sampling factor, domain size limit, start and end time of averaging time, number of variables to read, selected variable index, and output file name;
[0079] Step 2.1.7: Call the subprocess.run method to execute commands in fds2ascii one by one. After the cycle is completed, the time-temperature data of all time periods are exported.
[0080] Step 2.2: Extract node space coordinate information from the FDS model command stream;
[0081] Step 2.2.1: Define txt_file_path (the path of the input text file) and csv_file_path (the path of the output CSV file) through the extract_data function;
[0082] Step 2.2.2: Define a regular expression pattern to match the specific format in the FDS model command stream .txt file, including DEVC ID and XYZ coordinates;
[0083] Step 2.2.3: Use the open function to open the text file corresponding to the model command stream in read mode ('r') and UTF-8 encoding, and iterate over each line in the file;
[0084] Step 2.2.4: Use pattern.search(line) to find content that matches the regular expression, extract the four values of devc_id, x, y, and z, and add them as a list to the data list;
[0085] Step 2.2.5: Use the open function to open the specified CSV file in write mode ('w') and set newline="" to avoid blank lines;
[0086] Step 2.2.6: Create a CSV writer object writer and use writer.writerow to write the table header ['DEVC ID', 'X', 'Y', 'Z'];
[0087] Step 2.2.7: Traverse the data list and use the writer.writerow method to write the data line by line;
[0088] Step 2.2.8: Save the data to the specified CSV file path;
[0089] Step 2.3: Preprocess the extracted ambient temperature data and node spatial coordinate information, match each node temperature with its corresponding spatial coordinate, process it into time-varying temperature data with geometric spatial position labels, and store it in a .csv format file.
[0090] Step 3: Automatically identify and import the pre-processed temperature data results into the corresponding spatial coordinate position of the model in ABAQUS software;
[0091] By changing the pre-defined variable assignment, the corresponding assembly name, model name and application analysis step of the model to be imported are locked; the coordinate point (x, y, z) of the fire source position is given by the position function, and the spatial position of the boundary instrument and the searcher is adjusted by associating the regionToolset.Region function;
[0092] By inputting appropriate xMin, xMax, yMin, yMax, zMin, and zMax into the regionToolset.Region function, the size of the defined spatial area of the "boundary meter" and "catcher" can be adjusted; ultimately, the purpose of flexibly adjusting the size and density of the heating area in ABAQUS and improving the calculation accuracy and efficiency can be achieved.
[0093] Specifically, the extracted non-uniform temperature field data results are automatically identified and imported into the ABAQUS model, which specifically includes the following steps:
[0094] Step 3.1: Create mesh components for the entire model in the mesh tool of the meshing module of ABAQUS to form a new mesh type component;
[0095] Step 3.2: Delete the original assembly in the assembly module, and reassemble and load the mesh component formed in step 3.1;
[0096] Step 3.3: Move the .csv file of the temperature data with geometric space position labels preprocessed in step 2 to the path where the .cae file of the ABAQUS model to be heated is located;
[0097] Step 3.4: Import the extracted non-uniform temperature field data results into the ABAQUS model;
[0098] Step 3.4.1: In the Temp function, call the extract_csv_to_numpy_no_pandas function to read the coordinate and temperature data according to the format of the CSV file (determined by the csv_ways parameter), and convert the read data into a NumPy array;
[0099] Step 3.4.2: In the Temp function, obtain the Abaqus model object, assembly, and instance in turn through mdb.models[modelname];
[0100] Step 3.4.3: Traverse the table data, and select elements and nodes in order by partition and density using the bounding device and searcher set by getByBoundingBox according to the size and position information in the table, and create a collection name for the selected elements and nodes;
[0101] Step 3.4.4: Call the remove_common_elements function to remove common elements between adjacent sets to ensure that the elements in each set are unique;
[0102] Step 3.4.5: Use the sequenceFromLabels method to create a new set of elements based on the labels of the elements or nodes, name the new set, and store it in a list;
[0103] Step 3.4.6: Use the bounding box and complement set by getByBoundingBox to further filter the elements and nodes in the collection to ensure that they are within the specified radius;
[0104] Step 3.4.7: Create a region and create an amplitude based on the temperature data and time step. Call Temperature in Abaqus to set the temperature and specify the distribution type, cross-sectional distribution, and amplitude.
[0105] Step 3.4.8: Use the counter variable count to count the number of points where the temperature is successfully set, print it out, and display the prompt "Task Completed";
[0106] Step 3.5: Set the analysis steps, boundary conditions, and loads in ABAQUS, create a new job, submit the model calculation, and obtain the corresponding analysis results of the structure under the refined non-uniform temperature field.
[0107] In step 3, the boundary instrument is implemented through the Table parameter and the regionToolset.Region function. It is a rectangular area with the fire source as the center and radially increasing in sequence, which is used to define the partitions in the model. Each boundary instrument cooperates with the corresponding search and complement device to search for spatial coordinates to realize the functions of partitioning and density temperature assignment;
[0108] The searcher loops through the table, uses the getByBoundingBox method to define a sub-space region in each defined bounding instrument space, uses the selE and selN lists to traverse and store all the cells and nodes in the region, and assigns the temperature of the same spatial coordinates captured in the table to the corresponding cell or node;
[0109] The fire source position is the coordinate position of the center of the flame where the fire initially occurs in the structural space.
[0110] This method integrates the FDS fire dynamics simulation module, the temperature data preprocessing module and the FDS to ABAQUS non-uniform temperature field mapping module, realizing the intelligent processing of the whole process from fire scene establishment to non-uniform temperature field assignment of complex special-shaped structures.
[0111] The FDS fire dynamics simulation module accurately simulates fire scenes and extracts key temperature data. The temperature data preprocessing module converts the extracted raw data into temperature rise curve data with geometric spatial position labels that change over time, providing an accurate data basis for subsequent non-uniform temperature field mapping.
[0112] The ABAQUS non-uniform temperature field mapping module adjusts the temperature area and density through the "boundary meter" and "catcher", and accurately maps the temperature data to the model in ABAQUS in batches, realizing efficient and intelligent partitioning of the temperature field.
[0113] Compared with the prior art, the present invention does not need to ensure the consistency of the grids in FDS and ABAQUS, which improves the calculation flexibility and model applicability; the size and density of the temperature-assigned area can be flexibly adjusted in ABAQUS, which optimizes the calculation accuracy and convergence; it is suitable for various irregularly shaped or curved special-shaped structures, meeting the needs of numerical model fire scenes and damage analysis for diversified building structure designs. In summary, the present invention provides a more efficient and accurate analysis method for fire simulation and thermal coupling simulation of complex special-shaped structures such as long-span bridges.
[0114] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include these modifications and variations.
Claims
1. Python-enabled FDS to ABAQUS non-uniform temperature field bridging method, characterized by: The following steps are involved: Step 1: Use CAD / SolidWorks to bridge ABAQUS and FDS, convert the model format, successfully import the model from ABAQUS to FDS, and achieve accurate modeling and high-precision simulation of complex structural fire dynamics in FDS; Step 2: Use the functions in Python to automatically and batch extract the key information necessary for mapping the non-uniform temperature field to ABAQUS from the fire scene temperature distribution cloud map results calculated by FDS, including the temperature variation amplitude of the node over time and its corresponding precise three-dimensional spatial coordinates; pre-process the extracted data and store it in a data format that can be directly read and processed by ABAQUS; Step 3: Automatically identify and import the pre-processed temperature data results into the corresponding spatial coordinate position of the model in ABAQUS software; By changing the pre-defined variable assignment, the corresponding assembly name, model name and application analysis step of the model to be imported are locked; the coordinate point (x, y, z) of the fire source position is given by the position function, and the spatial position of the boundary instrument and the searcher is adjusted by associating the regionToolset.Region function; By inputting appropriate xMin, xMax, yMin, yMax, zMin, and zMax into the regionToolset.Region function, the size of the defined "boundary meter" and "catcher" spatial area can be adjusted; ultimately, the purpose of flexibly adjusting the size and density of the heating area in ABAQUS and improving the calculation accuracy and efficiency can be achieved.
2. The method according to claim 1, characterized in that In step 1, the model is imported from ABAQUS into FDS for fire dynamics simulation, which includes the following steps: Step 1.1: Export the refined structural model partitions established in ABAQUS into .step format; Step 1.2: Import the .step format model into Solidwork software and export it to .sat format below version 6.0; Step 1.3: Import the .sat format model below version 6.0 into the CAD software and export the model to .dwg format; Step 1.4: Import each part of the .dwg model into the FDS software and assemble the entire model in FDS; Step 1.5: Set the fire source power, heat release rate, grid size and boundary conditions in FDS, and arrange thermocouple measurement points and 3D / 2D slices as required.
3. The method according to claim 2, characterized in that In step 2, the process of realizing automatic, batch extraction and preprocessing of key information of non-uniform temperature field is specifically comprised of the following steps: Step 2.1: Call the fds2asciia program that comes with FDS to automatically extract and store the temperature of each node; Step 2.1.1: Set base_path to the storage directory path of FDS simulation results; Step 2.1.2: Set folder_name to the folder name where the FDS simulation results will be extracted; Step 2.1.3: Use the os.chdir function to switch the working directory to base_path for subsequent calling and execution of the fds2ascii program; Step 2.1.4: Define the time interval and total time duration to limit the time interval and time range for extracting data; Step 2.1.5: Use the range function to loop through the time periods from 0 to duration, increasing the time period by interval seconds each time; for each time period, calculate the end time end_time and set it to start_time + interval time; Step 2.1.6: Create a list fds2ascii_command containing the path to the fds2ascii executable file and the required parameters, including: Job ID, SLCF file type, sampling factor, domain size limit, start and end time of averaging time, number of variables to read, selected variable index, and output file name; Step 2.1.7: Call the subprocess.run method to execute commands in fds2ascii one by one. After the cycle is completed, the time-temperature data of all time periods are exported. Step 2.2: Extract node space coordinate information from the FDS model command stream; Step 2.2.1: Use the extract_data function to define the path of the input text file, txt_file_path, and the path of the output CSV file, csv_file_path. Step 2.2.2: Define a regular expression pattern to match the specific format in the FDS model command stream .txt file, including DEVC ID and XYZ coordinates; Step 2.2.3: Use the open function to open the text file corresponding to the model command stream in read mode and UTF-8 encoding, and iterate over each line in the file; Step 2.2.4: Use pattern.search to find content that matches the regular expression, extract the four values of devc_id, x, y, and z, and add them as a list to the data list; Step 2.2.5: Use the open function to open the specified CSV file in write mode and set newline="" to avoid blank lines; Step 2.2.6: Create a CSV writer object writer and use writer.writerow to write the table header ['DEVCID', 'X', 'Y', 'Z']; Step 2.2.7: Traverse the data list and use the writer.writerow method to write the data line by line; Step 2.2.8: Save the data to the specified CSV file path; Step 2.3: Preprocess the extracted ambient temperature data and node spatial coordinate information, match each node temperature with its corresponding spatial coordinate, process it into time-varying temperature data with geometric spatial position labels, and store it in a .csv format file.
4. The method according to claim 3, characterized in that In step 3, the extracted non-uniform temperature field data results are automatically identified and imported into the ABAQUS model, which specifically includes the following steps: Step 3.1: Create mesh components for the entire model in the mesh tool of the meshing module of ABAQUS to form a new mesh type component; Step 3.2: Delete the original assembly in the assembly module and reassemble and load the mesh component formed in step 3.1; Step 3.3: Move the .csv file of the temperature data with geometric space position labels preprocessed in step 2 to the path where the .cae file of the ABAQUS model to be heated is located; Step 3.4: Import the extracted non-uniform temperature field data results into the ABAQUS model; Step 3.4.1: In the Temp function, call the extract_csv_to_numpy_no_pandas function to read the coordinate and temperature data according to the format of the CSV file and convert the read data into a NumPy array; Step 3.4.2: In the Temp function, obtain the Abaqus model object, assembly, and instance in turn through mdb.models; Step 3.4.3: Traverse the table data, and select elements and nodes in order by partition and density using the bounding device and searcher set by getByBoundingBox according to the size and position information in the table, and create a collection name for the selected elements and nodes; Step 3.4.4: Call the remove_common_elements function to remove common elements between adjacent sets to ensure that the elements in each set are unique; Step 3.4.5: Use the sequenceFromLabels method to create a new set of elements based on the labels of the elements or nodes, name the new set, and store it in a list; Step 3.4.6: Use the bounding box and complement set by getByBoundingBox to further filter the elements and nodes in the collection to ensure that they are within the specified radius; Step 3.4.7: Create a region and create an amplitude based on the temperature data and time step, call Temperature in Abaqus to set the temperature, specify the distribution type, cross-sectional distribution, and amplitude; Step 3.4.8: Use the counter variable count to count the number of points where the temperature is successfully set, print it out, and display the prompt "Task Completed"; Step 3.5: Set the analysis steps, boundary conditions, and loads in ABAQUS, create a new job, submit the model calculation, and obtain the corresponding analysis results of the structure under the refined non-uniform temperature field.
5. The method according to claim 1, characterized in that In step 3, the boundary instrument is implemented through the Table parameter and the regionToolset.Region function. It is a rectangular area with the fire source as the center and radially increasing in sequence, which is used to define the partitions in the model. Each boundary instrument cooperates with the corresponding search and complement device to search for spatial coordinates to realize the functions of partitioning and density temperature assignment; The searcher loops through the table, uses the getByBoundingBox method to define a sub-space region in each defined bounding instrument space, uses the selE and selN lists to traverse and store all the cells and nodes in the region, and assigns the temperature of the same spatial coordinates captured in the table to the corresponding cell or node; The fire source position is the coordinate position of the center of the flame where the fire initially occurs in the structural space.
Citation Information
Patent Citations
Method for converting data of temperature field in building fire based on multi-field coupling
CN106815398A
Image-text analysis method based on multi-modal dynamic interaction mechanism
CN113065012A
Bridge stress monitoring method based on digital twinning
CN118246288A
Method and System for Automated Improvement of Parallelism in Program Compilation
US20140019949A1
Cited By
Real-time judgment method for roof collapse caused by fire between oil storage tanks of nuclear power station
CN119862742A