A design-oriented multiphysics industrial software model integrated development system

The integrated development system for multiphysics industrial software models solves the inconvenience of operating engineering analysis programs independently in nuclear power simulation systems, achieving high-precision and high-convenience simulation calculations. Through the integration of hardware, operating environment, services, interfaces, and view layers, the system achieves efficient, unified, and synchronized operation of nuclear power simulation systems.

CN120596084BActive Publication Date: 2025-10-31CHINA NUCLEAR POWER OPERATION TECH CORP +2
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202511104965.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-07
Publication Date
2025-10-31
Estimated Expiration
2045-08-07

AI Technical Summary

Technical Problem

Using independently operating engineering analysis programs in nuclear power simulation systems presents inconveniences in terms of time synchronization, control synchronization, data exchange, and reset operation, making it difficult to balance accuracy and convenience in simulation calculations.

Method used

This paper presents a design-oriented multiphysics industrial software model integrated development system, which includes a hardware layer, a runtime environment layer, a service layer, an interface layer, a view layer, and an application layer. Through components such as high-performance computing nodes, simulation software, solvers, geometric model data preprocessing, mesh model data preprocessing, mesh data postprocessing, unified interfaces, and a 3D rendering engine, it achieves high-precision simulation and unified synchronization of different industrial cloud software.

Benefits of technology

It achieves high-precision simulation of different industrial cloud software. The platform unifies and synchronizes various software, combining high precision and high convenience, and solves the contradiction between accuracy and convenience in simulation calculation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120596084B_ABST
    Figure CN120596084B_ABST
Patent Text Reader

Abstract

This invention discloses a design-oriented multiphysics industrial software model integrated development system, comprising a hardware layer, a runtime environment layer, a service layer, an interface layer, a view layer, and an application layer. The hardware layer includes high-performance computing nodes; the runtime environment layer includes simulation software, a solver, and HPC scheduling for simulating industrial cloud software and scheduling HPC; the service layer includes geometric model data preprocessing services, mesh model data preprocessing services, mesh data post-processing services, and simulation task scheduling services for data processing before and after simulation and simulation task scheduling; the interface layer provides a unified interface; the view layer provides a 3D rendering engine for geometric model rendering, mesh model rendering, mesh boundary picking, and post-processing and rendering of the mesh; the application layer provides evaluation and analysis software for analyzing and evaluating the simulation results of the industrial cloud software. This invention realizes the integrated development and simulation of industrial cloud software.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial cloud software integration and development technology, and in particular to a design-oriented multiphysics industrial software model integration and development system. Background Technology

[0002] In nuclear power plant simulation, the simulation system itself can perform engineering analysis and calculations. However, the accuracy and depth of the analysis and calculation programs built into the simulation system are often inferior to those of independently operating engineering analysis programs. If an independently operating engineering analysis program is to be used for simulation calculations within the nuclear power plant simulation system, issues such as time synchronization, control synchronization, data exchange, and reset operation need to be coordinated. Therefore, using independently operating engineering analysis programs for simulation calculations within a nuclear power plant simulation system has many inconveniences. Summary of the Invention

[0003] In view of this, it is necessary to provide a design-oriented multiphysics industrial software model integrated development system to effectively solve the technical problem that industrial cloud software simulation calculations cannot balance accuracy and convenience.

[0004] This invention provides a design-oriented multiphysics industrial software model integrated development system, including a hardware layer, a runtime environment layer, a service layer, an interface layer, a view layer, and an application layer;

[0005] The hardware layer includes high-performance computing nodes; the runtime environment layer includes simulation software, solvers, and HPC scheduling for simulating industrial cloud software and scheduling HPC; the service layer includes geometric model data preprocessing services, mesh model data preprocessing services, mesh data post-processing services, and simulation task scheduling services for data processing before and after simulation and simulation task scheduling; the interface layer provides a unified interface; the view layer provides a 3D rendering engine for geometric model rendering, mesh model rendering, mesh boundary picking, and post-processing and rendering of meshes; the application layer provides evaluation and analysis software for analyzing and evaluating the simulation results of the industrial cloud software.

[0006] The preferred integrated development process is as follows:

[0007] After determining the simulation objectives and parameters, the geometric model is imported into the industrial cloud software; the geometric model is converted into a mesh model in the service layer; simulation conditions and solvers are set in the runtime environment layer, and CAE simulation is performed on the mesh model based on the simulation conditions and solvers; after the simulation is completed, the simulation results are analyzed in the application layer.

[0008] Preferably, the geometric model data preprocessing service is specifically used for:

[0009] Import the geometric file of the geometric model and read the geometric file through a standard interface; parse the geometric file and list the defined information groups that appear in the geometric model; decompose the geometric element data in the geometric model through data preprocessing to obtain primitive information, and package the primitive information into a data package that can be parsed by the front end for selection.

[0010] Preferably, the mesh model data preprocessing service is specifically used for:

[0011] The mesh parameters are set, and the computational region of the geometric model is divided into blocks of regular geometry. Further block subdivision is performed inside each block. The block subdivision is either uniform or non-uniform. When performing block subdivision, the mesh nodes between adjacent blocks are kept aligned with the boundaries. The block subdivision is performed recursively until the set mesh density is reached to obtain the mesh model.

[0012] Preferably, the grid data post-processing service is specifically used for:

[0013] Read simulation result data from simulation software, select the appropriate parsing method according to the format of the simulation result data, and extract the required data as the data to be processed;

[0014] The data to be processed is analyzed, features are extracted, and solutions are obtained using core data processing algorithms. These core data processing algorithms include cloud map algorithm, streamline algorithm, contour line algorithm, and curve algorithm.

[0015] The processed data is selectively exported. The selective export methods include exporting by variable, exporting by time step, exporting by spatial region, exporting by condition, exporting by data type, and exporting by user definition.

[0016] Preferably, the geometric model rendering specifically includes:

[0017] Upload the geometric model file to the backend server, parse it according to the format of the geometric model file, extract the geometric data, process the extracted geometric data, and send the processed geometric data back to the frontend.

[0018] The processed geometric data is organized into a data structure, and the geometric data is analyzed and statistically analyzed to determine the model characteristics and create the data structure of the geometric model.

[0019] The geometric data is geometrically transformed, and the three-dimensional coordinates are projected onto the screen using a projection matrix. The geometric data outside the view frustum is clipped. The color of each pixel is calculated using a lighting model, and the lighting effect is simulated using a shading model. Texture images are mapped onto the surface of the model using texture mapping. Visibility detection is performed using depth buffering and occlusion culling to determine the parts that need to be displayed. Each pixel is rendered and drawn on the screen.

[0020] Preferably, the mesh model rendering specifically includes:

[0021] Create and bind buffers, write and compile shaders, and set rendering states according to the use case.

[0022] The vertex data is subjected to model transformation, view transformation, projection transformation, clipping, and rasterization to obtain fragments;

[0023] The depth value of each pixel is stored in a depth buffer, and the fragment is displayed based on the depth value.

[0024] Preferably, the mesh boundary picking specifically involves:

[0025] Upload the mesh model file, extract the mesh data from the mesh model file, and return it to the front end;

[0026] The grid data is parsed to obtain grid information, and boundary structures are constructed based on different regions;

[0027] An off-screen rendering channel is added, in which the boundary structure is rendered; the mesh data is rendered in the main rendering channel.

[0028] Create boundary conditions, pick boundary graphics based on the boundary conditions, and return the unique identifier of the boundary graphics;

[0029] The corresponding boundary is selected and rendered based on the unique identifier, thus completing the boundary picking.

[0030] Preferably, the post-processing mesh rendering specifically includes:

[0031] The simulation results are loaded to obtain post-processed data, and the mesh data and physical quantity data in the post-processed data are separated.

[0032] Rendering is performed on different types of post-processed data, including cloud rendering, streamline rendering, and multi-frame animation rendering.

[0033] Preferably, the cloud rendering specifically involves: reassembling the post-processed data into a triangular mesh format, adjusting the position data of the triangular linked list to obtain 3D vertex data; obtaining the number of all units in the triangular linked list, traversing each unit, and saving the index of the points contained in each unit sequentially into the data in a tiling structure, referencing the 3D vertex data through the index; mapping the physical quantity data to the 3D vertex data; in the fragment colorizer, calculating the normalized threshold based on the transmitted physical quantity attributes, and converting each physical quantity in the physical quantity data into a color value by referring to the color scale; calculating the direct lighting color of a point on the triangular face using the dot product of the normal and the light source direction according to the lighting model, and obtaining the final color value;

[0034] The streamlined rendering process specifically involves: in the vertex shader, calculating the screen space coordinates, screen space tangent vector, and screen space normal vector of each vertex; generating four new vertices based on the screen space coordinates, normal vector, and width attribute of each vertex; in the fragment shader, calculating the final color and transparency based on the screen space coordinates and color attribute of each pixel; calculating a normalized threshold based on the physical attributes of the physical data, and converting each physical quantity in the post-processing data into a color value by referring to the color scale; and calculating the direct lighting color of a point on the triangular face using the dot product of the normal and the light source direction according to the lighting model to obtain the final color value.

[0035] The multi-frame animation rendering specifically refers to displaying the simulation results in the form of animation.

[0036] Compared with the prior art, the beneficial effects of the present invention are as follows: the multiphysics industrial software model integrated development system for design provided by the present invention can complete high-precision simulation of different industrial cloud software, and the platform can uniformly synchronize various software, so that the software simulation has both high precision and high convenience. Attached Figure Description

[0037] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0038] Figure 1 is an overall architecture diagram of an embodiment of a design-oriented multiphysics industrial software model integrated development system provided by the present invention.

[0039] Figure 2 yes Figure 1 The illustrated embodiment shows a development flowchart of an example of a design-oriented multiphysics industrial software model integrated development system.

[0040] Figure 3 yes Figure 1 The diagram shown is a flowchart of an embodiment of the geometric model preprocessing service.

[0041] Figure 4 yes Figure 1 The diagram shown is a flowchart of an embodiment of the mesh model preprocessing service.

[0042] Figure 5 yes Figure 1 The diagram shown is a flowchart of an embodiment of the post-mesh preprocessing service.

[0043] Figure 6 yes Figure 1 The flowchart of a geometric model rendering embodiment shown in the example is a schematic diagram.

[0044] Figure 7 yes Figure 1 The flowchart shown in the embodiment illustrates the principle of mesh model rendering.

[0045] Figure 8 yes Figure 1 The flowchart of one embodiment of mesh boundary picking is shown in the example.

[0046] Figure 9 yes Figure 1 The flowchart of a post-processing mesh rendering embodiment shown in the example is a schematic diagram. Detailed Implementation

[0047] Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, which form part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not intended to limit the scope of the present invention.

[0048] Example 1

[0049] Please see Figure 1 This embodiment presents a design-oriented multiphysics industrial software model integrated development system to effectively solve the technical problem that industrial cloud software simulation calculations are difficult to balance in terms of accuracy and convenience.

[0050] This invention provides a design-oriented multiphysics industrial software model integrated development system, including a hardware layer, a runtime environment layer, a service layer, an interface layer, a view layer, and an application layer;

[0051] The hardware layer includes high-performance computing nodes; the runtime environment layer includes simulation software, solvers, and HPC scheduling for simulating industrial cloud software and scheduling HPC; the service layer includes geometric model data preprocessing services, mesh model data preprocessing services, mesh data post-processing services, and simulation task scheduling services for data processing before and after simulation and simulation task scheduling; the interface layer provides a unified interface; the view layer provides a 3D rendering engine for geometric model rendering, mesh model rendering, mesh boundary picking, and post-processing and rendering of meshes; the application layer provides evaluation and analysis software for analyzing and evaluating the simulation results of the industrial cloud software.

[0052] The multiphysics industrial software model integrated development system for design-oriented applications provided in this embodiment, hereinafter referred to as "this platform", has the following overall architecture: Figure 1 As shown, from bottom to top, the layers are: hardware layer, mainly high-performance computing nodes; runtime environment layer, including HPC scheduling, structural finite element numerical analysis software, general computational fluid dynamics software, hydrodynamic simulation analysis software, and geometry and mesh solver software, specifically including code_aster solver, code_saturne solver, telemac solver, and geometry mesh solver; service layer, including industrial cloud-based preprocessing, post-processing, and scheduling services; interface layer, providing a unified interface; view layer, providing 3D and mesh rendering; and application layer, providing three evaluation and analysis software programs.

[0053] Specifically, the integration development process is as follows:

[0054] After determining the simulation objectives and parameters, the geometric model is imported into the industrial cloud software; the geometric model is converted into a mesh model in the service layer; simulation conditions and solvers are set in the runtime environment layer, and CAE simulation is performed on the mesh model based on the simulation conditions and solvers; after the simulation is completed, the simulation results are analyzed in the application layer.

[0055] like Figure 2 As shown, during the integrated development of this platform, the simulation objectives and parameters are first determined before CAE simulation, i.e., before structural finite element numerical analysis, the simulation objectives and parameters need to be clearly defined. If structural analysis is performed, the stress conditions, material parameters, boundary conditions, etc., need to be determined. If flow analysis is performed on a fluid, the fluid properties, flow velocity, flow direction, etc., need to be determined.

[0056] Importing the geometric model is the first step in CAE simulation, requiring the conversion of the actual product or fluid into a computer model. After importing the geometric model, it is then converted into a mesh model that the computer can process, i.e., meshing. The quality of the meshing has a significant impact on the simulation results and needs to be adjusted according to the specific circumstances.

[0057] Before performing a CAE simulation, it is necessary to set up simulation conditions and a solver. Simulation conditions include stress conditions, material parameters, boundary conditions, etc., while the solver is the software used to calculate the simulation results. Different simulation conditions and solvers will affect the simulation results and need to be selected and adjusted according to the actual situation.

[0058] After setting the simulation conditions and solver, the simulation can be performed. Simulation calculations require significant computational resources and time, and adjustments need to be made based on the actual situation. During the simulation, it is crucial to monitor the calculation process and promptly identify and resolve any issues.

[0059] After the simulation calculations are completed, the simulation results need to be analyzed. The analysis results include stress distribution, deformation, flow velocity, and pressure distribution. These results help designers understand the performance of the product or fluid and identify areas for optimization, facilitating subsequent design and improvement.

[0060] Specifically, the geometric model data preprocessing service is used for:

[0061] Import the geometric file of the geometric model and read the geometric file through a standard interface; parse the geometric file and list the defined information groups that appear in the geometric model; decompose the geometric element data in the geometric model through data preprocessing to obtain primitive information, and package the primitive information into a data package that can be parsed by the front end for selection.

[0062] CAE simulation software, or structural finite element numerical analysis software, transforms engineering problems into numerical simulation analysis models through modeling. Geometric model data preprocessing is a prerequisite for CAE simulation calculations. This service uses the high-level C / C++ programming language and provides developers with a cloud-based simulation geometric model data preprocessing module interface that they can freely call.

[0063] Figure 3 This demonstration showcases the data flow processing of geometric model files from import to front-end display. First, the geometric model is imported. Geometric model files come in various types, and differences in storage methods and data structures can cause defects such as gaps and distortions, leading to the failure of the imported geometric file generation algorithm or the loss of primitives, thus affecting the stability and accuracy of cloud-based simulation calculations. To ensure successful cloud-based simulation calculations, this service provides import functionality for currently mainstream geometric file formats to support interfaces with various CAD software. Currently, in terms of software interfaces, it achieves compatibility processing for STL and STP file formats with CAD software. Therefore, users do not need to recreate the geometric model to display different format geometric models in real time.

[0064] The geometric model supports importing various geometric files. After reading the geometric file through a standard interface, it can be displayed in real time, supporting formats such as STL, STEP, IGES, and BREP. It also parses and lists information already defined by the user in other CAD software, such as surface element groups, volume element groups, line element groups, and boundary groups. Furthermore, it extracts basic primitive information from the geometric model through data preprocessing, facilitating simplified view picking during subsequent boundary condition settings.

[0065] The supported geometry file formats are shown in Table 1:

[0066] Table 1. Supported imported geometric model formats

[0067]

[0068] Then, the geometric primitives are split. In the geometric model, basic geometric elements such as points, lines, surfaces, and volumes are very important for building an accurate simulation model and performing physical calculations. The geometric model preprocessing service splits the geometric element data in the geometric model and finally packages it into a front-end parsable data package for selection.

[0069] A point is the most basic element in a geometric model. It has no length, width, or thickness, only positional information. Points can be used to define vertices of geometric shapes, intersections of connecting lines and surfaces, etc. In cloud simulation computing, points are often used to represent the discrete positions of objects or as the basis for other geometric elements.

[0070] A line is a straight line segment between two points; it has length but no width or thickness. Lines can be used to represent the boundaries of objects, connect different points, or define the contours of geometric shapes. In cloud simulation computing, lines are often used to represent boundary conditions, paths, or constraints of structures.

[0071] A surface is a planar region consisting of three or more adjacent points and connecting lines. It has length and width but no thickness. Surfaces can be used to represent the surface, interface, or planar shape of an object. In cloud simulation computing, surfaces are commonly used to define boundary conditions, calculate surface properties, or simulate two-dimensional physical phenomena.

[0072] A volume is a three-dimensional object composed of points, lines, and surfaces in three-dimensional space, possessing length, width, and thickness. Volumes can be used to represent the complete geometry and volume of an object. In cloud-based simulation computing, volumes are commonly used to simulate three-dimensional physical phenomena, such as structural stress analysis, fluid flow, and heat conduction.

[0073] Table 2. Information on basic geometric elements that support analytic resolution

[0074]

[0075] Specifically, the grid model data preprocessing service is used for:

[0076] The mesh parameters are set, and the computational region of the geometric model is divided into blocks of regular geometry. Further block subdivision is performed inside each block. The block subdivision is either uniform or non-uniform. When performing block subdivision, the mesh nodes between adjacent blocks are kept aligned with the boundaries. The block subdivision is performed recursively until the set mesh density is reached to obtain the mesh model.

[0077] Mesh model data plays a crucial role in cloud-based simulation computation. Accurate geometric representation, reasonable physical parameter representation, high-quality numerical computation, and adaptive mesh generation all significantly impact the simulation results. The mesh model data preprocessing service utilizes the high-level C / C++ programming language, providing developers with a freely accessible interface to the cloud-based simulation mesh model data preprocessing module.

[0078] like Figure 4 As shown, the first step is mesh import, which supports importing various mesh types, such as UNV, MED, STL, and CGNS format mesh files. The characteristics of the supported mesh file formats are shown in Table 3.

[0079] Table 3. Supported imported grid formats

[0080] Then, structured mesh generation is performed. The mesh model data preprocessing service supports direct structured mesh generation from the geometric model and supports importing various geometric file formats, such as STL, STEP, and IGES. Mesh generation is then performed by setting mesh parameters, such as mesh size and mesh density.

[0081] Structured mesh generation is a method for dividing a geometric model object into a regularly structured mesh, where each mesh cell has the same shape and size. Structured mesh generation has important applications in numerical computation, fluid dynamics simulation, mesh data visualization, and finite element analysis of simple structures, providing a simple, efficient, and regular mesh generation method. In cloud simulation scenarios, it has the following main applications:

[0082] Numerical computation and the finite difference method: Structured mesh generation is widely used in numerical computation, especially when solving partial differential equations using the finite difference method. By dividing the computational domain into a regular mesh, partial differential equations can be discretized into a system of algebraic equations, which can then be solved numerically. The regularity and consistency of structured meshes make the computation process simpler and more efficient.

[0083] Fluid Dynamics Simulation: In fluid dynamics simulation, structured mesh generation is widely used to solve the equations of fluid flow. By dividing the fluid region into a regular mesh, the continuous fluid flow problem can be discretized into a system of equations at discrete mesh points, which can then be solved numerically. The regularity and orderliness of structured meshes make the calculation and analysis of the flow field more convenient.

[0084] Grid data visualization: Structured grid partitioning is also commonly used for visualizing grid data. Due to the regularity of structured grids, data on the grid can be easily sampled and interpolated, resulting in smooth visualization effects. The ordered nature of structured grids also facilitates data querying and interactive operations during the visualization process.

[0085] Finite Element Analysis: Although finite element analysis typically uses unstructured meshes, structured meshing can be applied to simple structures or problems in certain situations. For specific structures, such as rectangular plates, beams, or columns, structured meshes can be used for finite element analysis, thereby simplifying model building and computation.

[0086] Structured mesh generation algorithms are based on the principle of block partitioning. It divides the computational domain into regular blocks or regions, and then further subdivides within each block to generate a structured mesh. This method maintains the regularity and consistency of the mesh. The detailed principle of block partitioning is explained below.

[0087] The computational domain is divided into regular blocks or regions. Typically, blocks can be regular geometric shapes such as rectangles, cubes, or other shapes. These blocks are defined and selected based on the geometry of the problem and boundary conditions. Block partitioning can be based on a geometric model or a user-defined partitioning method. Within each block, further meshing is performed. The partitioning method can be regular, such as dividing each block into equal-sized sub-blocks, or it can be non-uniform partitioning based on specific requirements. Within each sub-block, simple partitioning algorithms, such as uniform partitioning or bipartite partitioning, can be used to divide the sub-block into smaller sub-blocks. This process can be performed recursively until the desired mesh density or refinement is achieved. When performing block partitioning, it is necessary to ensure that the mesh nodes and boundaries between adjacent blocks are aligned. This can be achieved by sharing nodes or boundaries between adjacent blocks. Mesh continuity and consistency can be maintained through appropriate connectivity and boundary handling.

[0088] Specifically, the grid data post-processing service is used for:

[0089] Read simulation result data from simulation software, select the appropriate parsing method according to the format of the simulation result data, and extract the required data as the data to be processed;

[0090] The data to be processed is analyzed, features are extracted, and solutions are obtained using core data processing algorithms. These core data processing algorithms include cloud map algorithm, streamline algorithm, contour line algorithm, and curve algorithm.

[0091] The processed data is selectively exported. The selective export methods include exporting by variable, exporting by time step, exporting by spatial region, exporting by condition, exporting by data type, and exporting by user definition.

[0092] Mesh data post-processing service is the process of visualizing simulation result files based on computer graphics and data processing algorithms. It transforms binary data or text files of different simulation results into perceptible graphics, symbols, colors, textures, curves, etc., allowing for the observation or description of various field data in the simulation results through images, graphics, or curves, thereby enhancing data recognition efficiency and conveying effective information.

[0093] like Figure 5 As shown, post-processing comprises three basic steps: data reading, data processing, and data export and rendering. First, the data needs to be read into the post-processing module. Next, several filters are selected based on the analysis requirements to process the data and obtain subset data features with specific characteristics. Finally, these data features are rendered in a visually appealing and intuitive graphical interface.

[0094] Data import is a core part of post-processing, responsible for transferring simulation results data from the simulation software into the post-processing system. Different simulation result files use different parsing methods, primarily depending on the file format and structure. Data import requires parsing the simulation result files to extract the necessary data. The parsing process may involve reading, decoding, analyzing, and processing the files, converting the data into a format that the post-processing service can handle.

[0095] The application of file parsing algorithms can ensure that simulation results data can be accurately and efficiently imported into the post-processing system, providing a foundation for subsequent data processing and analysis.

[0096] The core data processing algorithms, particularly the post-processing core, encompass a variety of data processing algorithms used for analyzing simulation data, extracting features, and solving problems. The following section provides an overview of the algorithms for contour plots, streamlines, isolines, and curves.

[0097] Cloud maps, or flow field post-processing, use alternating light and dark color images to represent the distribution of a flow field. They are used to observe two-dimensional slices of the flow field or the surface of objects within the flow field. Typically, a computer image model with continuously changing colors is used to simulate a physical phenomenon or scientific calculation result, transforming complex physical information into computer screen information that can be directly observed and judged by the naked eye, thus better aligning with people's cognitive habits regarding a phenomenon or result. They are commonly used to characterize the physical quantity fields of the model, such as velocity and temperature fields. As shown in the figure below, this is a cloud map for cavitation analysis of a pump-valve system and turbomachinery, where different colors indicate different velocities, providing a very intuitive observation of the distribution of physical quantities.

[0098] The design and implementation of the cloud map algorithm utilizes different colors to represent different attribute magnitudes, enabling qualitative and even quantitative display and expression of data distribution. Color mapping is a common scalar visualization technique; it's a point-to-point mapping process that maps scalar data to colors. In other words, color mapping achieves the mapping from data points to color values. A color lookup table is a crucial part of the color mapping model. The color lookup table contains a series of color values, and the lookup table corresponds to a certain range of scalar values. When an attribute data value is greater than the maximum value in the scalar range corresponding to a color, the attribute data is mapped to the largest color value; similarly, when the attribute data value is less than the minimum value in the scalar range, it is mapped to the smallest color value. Another more general form of color lookup table is the transfer function. The transfer function can map scalar data to any representation of color. As shown in the figure, the horizontal axis represents scalar values, and the vertical axis represents the intensity values ​​of the three primary colors: red, green, and blue. Any scalar value can be mapped to the intensity values ​​of red, green, and blue, and then the final color is synthesized. Furthermore, color transfer functions can also map scalar values ​​to other color components, such as transparency and grayscale values. A color lookup table is a discrete sample of the transfer function; for any transfer function, discrete points in the color lookup table can be created through sampling.

[0099] Contour lines and isosurfaces are post-processed contour lines that connect points with equal values ​​for a specific quantitative indicator of the data object being processed. They are plotted by interpolating integer points from the points marked on the map representing the quantity of the mapped object. The creation of flow field contour maps typically involves marking the relative positions of the mapped objects on a base flow field map, then connecting points with equal values ​​to form a smooth curve, outlining the spatial structure of the mapped object. Similar to isotherms in meteorological maps and contour lines in topographic maps, they represent a scalar quantity in the flow field using contour lines, allowing observation of the variable's changing trend.

[0100] In the process of generating contour lines, the first step is to determine whether the required contour points exist between two discrete points. If contour points exist, their positions between the two points are obtained through linear interpolation. This process is similar to determining whether a tangent passes through a certain edge. Once the points on the boundary of the data unit are determined, appropriate methods are needed to connect the contour points. One method is the boundary tracing method, and another contour line connection method is the moving quadrilateral algorithm.

[0101] Streamlines, in streamline plot post-processing, typically operate on velocity vectors. A streamline is a curve tangent to the velocity vector at every point in the flow field. A streamline is a curve formed by different fluid particles at the same moment, indicating the velocity direction of those particles. Based on the concept of stream functions in a flow field, the discretely defined fluid within a unit is transformed into a fluid represented by two stream functions. The streamline is the intersection of these two stream functions; a constant solution of each set of functions corresponds to a streamline. In essence, a streamline is a contour line of a stream function. The figure below shows the flow field within a pump-valve system and a turbomachinery, where streamlines express the direction and magnitude of the flow.

[0102] The streamline distribution algorithm based on feature extraction starts from the given three-dimensional flow field data and then goes through multiple operations such as critical point detection and classification, setting seed point templates, prioritizing seed points, and generating streamlines through numerical integration to obtain a family of streamlines that describe the flow characteristics of the flow field.

[0103] The curve post-processing module's curve and graph function supports physical field detection curves, statistical curves, path curves, and file reading curves at a specific point. Statistical curves support range curves, mean curves, median curves, and standard deviation curves; path curves support reading the change of a physical quantity along a line segment and the change of a physical quantity along an arc. Curve post-processing typically operates on data files, plotting curves of relevant data over time. It is commonly used to observe calculations, including the solution status (such as transient and steady-state calculation residuals) or to display the changes of monitoring point data over time. As shown in the figure below, it is a fluid simulation calculation residual curve; the curve changing over time reflects whether the calculation has converged.

[0104] Data export: During post-simulation processing, data calculated using a series of algorithms can be selectively exported as needed for further analysis, reporting, or visualization. Here are some common selective export methods:

[0105] Export by variable, allowing you to export based on specific variables or fields. For example, for fluid simulation, you can choose to export specific variables such as velocity, pressure, and temperature.

[0106] Select the time step for export. If the simulation results contain multiple time steps, select the specific time step to export as needed. This reduces the size of the exported file and retains only the data from the time points of interest.

[0107] Exporting by spatial region allows you to selectively export data for specific regions of interest in simulation results. This reduces the size of the exported file and retains only the data for the region of interest.

[0108] Export by condition: Selectively export data that meets specific conditions or thresholds. For example, for fluid simulation, you can choose to export flow field data where the velocity exceeds a certain threshold.

[0109] Choose the data type to export, allowing you to selectively export different data based on the data type. For example, for structural simulation, you can choose to export different types of data such as stress field and displacement field.

[0110] Export according to user-defined selections, selectively exporting data based on user-defined needs. This can be achieved by writing scripts or using specific post-processing tools.

[0111] Selective export can help reduce the size of exported files, simplify subsequent processing and analysis, and retain only key data information. Depending on specific needs and application scenarios, the exported data content can be flexibly selected to meet specific goals and requirements.

[0112] In terms of business service types, cloud simulation services mainly realize three types of applications: cloud simulation scenarios, industrial simulation APP software, and digital twin applications. Among them, cloud simulation scenarios realize the definition of the entire simulation scenario process, including preprocessing, simulation calculation, and post-processing; industrial simulation APP software standardizes the research process of specific research objects, realizes the parameter constraints of preprocessing, simulation calculation, and post-processing in industrial simulation APP software through the form of simulation process templates, and ultimately realizes specific software service models; digital twin applications standardize the research process of the actual working conditions of specific research objects, realize the automated simulation process and processing in digital twin applications through the form of simulation process templates.

[0113] Cloud-based simulation scenarios primarily include structural, fluid, and hydrodynamic simulations. Structural mechanics simulation scenarios include static mechanics analysis, heat transfer analysis, modal analysis, thermodynamic analysis, harmonic response analysis, fracture analysis, and response spectrum analysis. Fluid mechanics simulation scenarios include incompressible fluid simulation, flow and heat transfer simulation, free surface flow field simulation, scalar transport simulation, atmospheric flow field simulation, and turbomachinery fluid simulation. Hydrodynamics simulation scenarios include one-dimensional and two-dimensional hydrodynamic simulations. The following section uses static mechanics analysis as an example to explain the basic process of cloud-based simulation scenarios through the definition of static mechanics analysis simulation scenarios.

[0114] The static mechanics analysis simulation process is as follows: Geometric and mesh preprocessing: Upload the corresponding geometric file, select the maximum and minimum element sizes for mesh generation, and after setting, define point, line, surface, and volume groups according to the constraints of boundary loads. After grouping, mesh generation will be performed automatically. Contact settings: Contact settings are divided into two main categories: linear contact and nonlinear contact. Linear contact refers to two objects in contact where the contact points are continuous and form a straight line, assuming the parts remain bonded or have small deformations. Linear contact is further divided into bonded, relative sliding, and rotationally symmetric. All contact types that are not linear contact belong to nonlinear contact, which is divided into penalty function method and augmented Lagrange method. Element settings: In the element settings tab, you can manually or automatically select and set the three-dimensional fully integrated element or three-dimensional reduced integrated element type. Global model: In the global settings tab, you can set the coefficients related to gravitational acceleration. Materials: In the materials tab, you can select most commonly used materials. Materials include their basic mechanical characteristics, including constitutive behavior, density, Poisson's ratio, Young's modulus, etc. Initial Conditions: In the Initial Conditions tab, you can set some basic physical states of the model, mainly initial displacement and initial stress. Boundary Conditions: In the Boundary Conditions tab, you can select constraint types, loading methods, and additional masses. Constraint types include: elastic support, displacement constraint, symmetric constraint, and discrete point bound displacement; loading methods include: volumetric distributed load, bolt preload, pressure, surface force load, and nodal load. Simulation Control: In this tab, users can personalize the solver selection and settings according to their needs to meet computational requirements. In the Solver tab, you can select different calculation methods, iteration methods, and convergence criteria. In the Time Step & Resources tab, you can define the time step and set the number of cores and the maximum computation time. Results Configuration: In the Results Configuration tab, you can select specific output results as needed, including displacement, stress, and strain. The results are displayed as contour plots, and users can also obtain the solution log to obtain important information and error alerts during the calculation.

[0115] The cloud-based simulation scenario interface parses and processes the simulation model and setting parameters throughout the entire process, fully realizing the above simulation process and providing a convenient data interface for realizing cloud-based simulation scenarios.

[0116] Industrial simulation apps, as carriers of simulation software technology knowledge, embody the foundation and future of industrial simulation, bringing different values ​​and meanings from various levels. Essentially, industrial simulation apps solve the problem of efficiency in the application of industrial simulation technology. They encapsulate various mature simulation industrial technology processes, methods, experiences, and knowledge from engineering practice into executable industrial simulation applications, greatly improving the efficiency of simulation research and design.

[0117] The workflow of an industrial simulation app is as follows: First, the app is defined based on its objectives, including research goals and standard simulation processes. This mainly includes business logic design, object module library, mechanism model, and result evaluation model. Second, the business logic design clarifies the business objectives and scope based on the app's needs, uses flowcharts to depict the business process, and decomposes business functions into different modules. Third, the business simulation process is designed, establishing business object models, defining the workflow for object preprocessing, solution calculation, and post-processing, and defining the data transmission format between different modules. Fourth, the app's development involves programming to implement each business sub-process based on the business logic design, connecting different business models through interfaces to fully realize the industrial simulation app's workflow.

[0118] Digital twin applications refer to application systems that establish virtual digital models corresponding to physical objects or systems to assess the current and future operational status of the research object, assisting in making better operation and maintenance or control decisions. As a key technology and high-performance tool, digital twins can effectively play their role in data perception, analysis and early warning, and simulation and pre-launch, which is beneficial for the safety monitoring and efficient operation and maintenance of key equipment or systems in the nuclear power industry.

[0119] The workflow for digital twin applications is as follows: First, the digital twin application is defined based on its objectives. This involves defining the research goals and standard simulation process, including business logic design, object module library, mechanism model, and result evaluation model. Second, the business logic design clarifies the business objectives and scope based on the application's needs. Flowcharts are used to depict the business process, decomposing business functions into different modules. Third, the business simulation process is designed, establishing business object models and defining the pre-processing, calculation, and post-processing workflows for objects, as well as the data transmission format between different modules. Fourth, the development of the digital twin application involves programming the various business sub-processes based on the business logic design. Different business models are connected through interfaces to fully realize the digital twin application system.

[0120] Specifically, the rendering of the geometric model includes:

[0121] Upload the geometric model file to the backend server, parse it according to the format of the geometric model file, extract the geometric data, process the extracted geometric data, and send the processed geometric data back to the frontend.

[0122] The processed geometric data is organized into a data structure, and the geometric data is analyzed and statistically analyzed to determine the model characteristics and create the data structure of the geometric model.

[0123] The geometric data is geometrically transformed, and the three-dimensional coordinates are projected onto the screen using a projection matrix. The geometric data outside the view frustum is clipped. The color of each pixel is calculated using a lighting model, and the lighting effect is simulated using a shading model. Texture images are mapped onto the surface of the model using texture mapping. Visibility detection is performed using depth buffering and occlusion culling to determine the parts that need to be displayed. Each pixel is rendered and drawn on the screen.

[0124] like Figure 6 As shown, the purpose of geometric model rendering is to convert the geometric information of a 3D object into a 2D image on the browser, which mainly involves the following three processes:

[0125] Geometric File Processing and Upload: Users upload geometric model files through the front-end interface, typically in common 3D model formats such as BREP, STEP, and IGES. These files are then transmitted to the back-end server. File Parsing and Format Recognition: Upon receiving the uploaded file, the back-end server parses it according to its format. This involves parsing and recognizing the file structure to determine the type and organization of the geometric information contained within. Geometric Data Extraction: Once the file format is determined, the back-end extracts geometric data from the file, which may include points, lines, surfaces, and volumes. Data Preparation: The parsed and extracted geometric data undergoes further processing and preparation to meet the needs of the self-developed rendering engine and front-end library. Return to Front-end: The processed data file or data structure is returned to the front-end to prepare for building the geometric model and subsequent rendering.

[0126] Building the geometric model data structure and front-end data organization: The front-end application organizes the geometric data received from the back-end into a data structure for subsequent operations. This includes basic geometric elements such as vertices, edges, faces, and volumes in the geometric model. Analysis and statistics: The geometric data is analyzed and statistically analyzed to determine the model's characteristics, such as the number of vertices, edges, faces, and volumes. This information is used for subsequent rendering and interactive operations. Data structure creation: Based on the front-end's requirements, the data structure of the geometric model is created. This may include building data structures for basic primitives such as points, lines, faces, and volumes. Rendering and interaction of the geometric model based on WebGL technology: Rendering engine usage: The rendering process typically involves using a 3D engine or rendering engine to present the geometric model in the browser. Here, a rendering engine built using WebGL graphics technology is used. Its rendering flow is as follows: Geometric transformation: Before rendering, geometric transformations are performed, including translation, rotation, and scaling, to place the model in the correct position and angle. Projection and clipping: The 3D coordinates are projected onto the screen using a projection matrix, while clipping operations are performed to exclude geometric information outside the view frustum. Lighting and Shading: The lighting model is used to calculate the color of each pixel; the position, color, and material properties of the light source affect the rendering result. The shading model is used to simulate lighting effects. Texture Mapping: If the model has textures, texture mapping maps the texture image onto the model's surface to add detail and complexity. Visibility Detection: Visibility detection is performed before rendering to determine which objects or parts should be displayed in the image. This can be achieved using depth buffering and occlusion culling. Pixel Rendering and Interaction: Finally, each pixel is rendered, its color value is calculated, and then it is drawn on the screen. After rendering, the user can interact with the model, such as controlling display modes, hiding parts, moving, rotating, scaling, etc.

[0127] To improve rendering quality and control browser load, more optimization techniques are needed, such as switching between multiple rendering passes and geometry merging optimization, to provide high-quality visualization effects and user experience.

[0128] For assembly geometry models, use the show and hide controls to observe the structural features inside the geometry or at geometric joints. This is a common feature in computer-aided design (CAD) and 3D modeling, allowing users to delve into the individual components of an assembly and view their interactions and connections.

[0129] Specifically, the rendering of the mesh model is as follows:

[0130] Create and bind buffers, write and compile shaders, and set rendering states according to the use case.

[0131] The vertex data is subjected to model transformation, view transformation, projection transformation, clipping, and rasterization to obtain fragments;

[0132] The depth value of each pixel is stored in a depth buffer, and the fragment is displayed based on the depth value.

[0133] The 3D rendering engine uses WebGL as its base graphics engine library. WebGL is a web-based 3D graphics technology that can render high-performance interactive 3D and 2D graphics in a browser. It is cross-platform and cross-browser compatible and requires no plugins, allowing the same content to be displayed on different devices and operating systems. This provides a more convenient and lower-cost solution for rendering simulated meshes. WebGL can utilize the system's graphics card for hardware-accelerated rendering, achieving smoother and more realistic visual effects. Furthermore, WebGL can be easily integrated with HTML5 and other web technologies to create richer and more flexible user interfaces and interactive functions.

[0134] For rendering simulated mesh models, we divide the 3D model into polygons, typically triangles, composed of vertices and edges. Then, we use shaders to process each polygon with color, texture, lighting, etc., before finally displaying it on the screen. Converting simulated meshes to rendered meshes simplifies the representation and storage of 3D models, reducing data volume and memory usage. It also facilitates transformations and animations of the 3D mesh model, improving rendering efficiency and interactivity. Furthermore, WebGL can leverage the parallel computing power of the GPU to process each polygon independently, accelerating the rendering process.

[0135] Mesh model rendering can be divided into three stages, such as Figure 7As shown, the first stage is the application stage, which is the model generation process. The second stage is the geometry stage, which is the stage of transforming vertex coordinates from model space to screen space. This stage is GPU-driven. The geometry stage further processes the data sent by the CPU in the application stage. The third stage is the rasterization stage, which mainly discretizes the primitives transformed to screen space into fragments. It checks whether a pixel on the screen is covered by a triangular mesh. The covered area is generated as a fragment. Of course, not all pixels will be completely covered by a triangle. In many cases, only a part of a pixel block is covered by a triangle. The covered area is divided into fragments, but fragments are not pixels in the true sense. Instead, they contain a set of many states, which are used to calculate the color of each pixel. Finally, each fragment is colored by a fragment shader, so we can see the model on the screen.

[0136] The following details the role of each stage in mesh rendering:

[0137] Application Phase: This is the starting point for mesh rendering and is the part controlled by JavaScript. In this phase, we need to follow these steps: Creating and Binding Buffers: A buffer is a block of memory stored on the GPU, used to store vertex data such as coordinates, colors, and simulated physical quantities. We need to create different types of buffers and bind them to their corresponding targets so we can transfer data from the CPU to the GPU. Writing and Compiling Shaders: A shader is a program that runs on the GPU and can be used to perform custom operations on vertex data, such as transformations and lighting. We need to write two types of shaders: vertex shaders and fragment shaders, written in GLSL. We also need to compile them into binary code and link them into a single shader program so we can use them in later phases. Setting States: States are set through the WebGL API, which controls rendering options such as depth testing, clipping, and blending. These options affect rendering quality and performance, so we need to choose the appropriate state based on different scenarios.

[0138] Geometric Phase: This is the middle part of mesh rendering, executed by the GPU. In this phase, our input data undergoes a series of transformations and processing. Model Transformation: This step transforms the vertex data from model space to world space. Model space refers to the coordinate system centered on the model, while world space refers to the coordinate system centered on the scene. We need to use a model matrix to implement this transformation, which can include operations such as translation, rotation, and scaling. View Transformation: This step transforms the vertex data from world space to view space. View space refers to the coordinate system centered on the camera, also called eye space. We need to use a view matrix to implement this transformation, which can include information such as the camera's position, orientation, and up direction. Projection Transformation: This step transforms the vertex data from view space to clip space. Clip space refers to a coordinate system within a cube, also called the normalized device coordinate system. We need to use a projection matrix to implement this transformation, which can include information such as projection type, viewpoint, aspect ratio, near plane, and far plane. Clipping: This step transforms the vertex data from clip space to screen space. Screen space refers to a coordinate system based on pixels, also known as the window coordinate system. We need to clip the vertices in clip space, that is, remove those vertices that exceed the cube's boundaries, keeping only those vertices inside the cube or on its boundaries. This allows us to avoid rendering some unseen objects, improving rendering efficiency. Rasterization: This step converts vertex data from screen space into fragments. Fragments are candidate pixels, containing information such as position, color, and depth. We need to rasterize the vertices in screen space, that is, group them into primitives, such as points, lines, triangles, etc., and generate a fragment for each pixel within each primitive. This gives us fragments that can be displayed on the screen.

[0139] Rasterization Stage: This is the final stage of mesh rendering and is performed by the GPU. In this stage, our input data consists of fragments, which we need to calculate and test. Depth Testing: This step determines which fragments can be displayed on the screen and which are occluded. We need to use a depth buffer to store the depth value of each pixel, which is its distance from the camera. We need to compare the depth value of each fragment with the depth value of the corresponding pixel in the depth buffer. If the fragment's depth value is less than or equal to the value in the depth buffer, then the fragment is visible; otherwise, it is occluded. This allows us to achieve a simple hidden surface removal effect.

[0140] Specifically, the mesh boundary picking is as follows:

[0141] Upload the mesh model file, extract the mesh data from the mesh model file, and return it to the front end;

[0142] The grid data is parsed to obtain grid information, and boundary structures are constructed based on different regions;

[0143] An off-screen rendering channel is added, in which the boundary structure is rendered; the mesh data is rendered in the main rendering channel.

[0144] Create boundary conditions, pick boundary graphics based on the boundary conditions, and return the unique identifier of the boundary graphics;

[0145] The corresponding boundary is selected and rendered based on the unique identifier, thus completing the boundary picking.

[0146] Mesh boundary picking specifically involves: Defining physical boundaries: Boundary selection allows you to explicitly define how the simulation model interacts with the external environment or adjacent components. This includes physical phenomena such as the inflow and outflow of matter, energy, or momentum. In fields such as fluid dynamics and structural mechanics, defining correct physical boundaries is essential to ensure that simulation results match reality. Applying boundary conditions: In simulations, you need to specify boundary conditions such as temperature, pressure, velocity, electric field, or other physical quantities. These conditions tell the simulation software how to handle phenomena at the model boundaries. For example, you can specify zero velocity for fluid on a wall or specify displacement of a solid structure. Simulating realistic environments: Boundary selection helps you simulate physical phenomena in real-world environments. Whether in engineering design, weather forecasting, medicine, or other fields, simulations must strive to mimic reality to obtain reliable results. Boundary conditions are a crucial component of this process. Controlling the computational domain: Boundary selection helps define the scope of simulation calculations. By explicitly defining the model's boundaries, you can reduce the computational domain of the simulation and improve computational efficiency. This is especially important for large or complex problems. Stability and accuracy: Properly defined boundary conditions help ensure the numerical stability and accuracy of the simulation. Incorrect boundary conditions can lead to numerical instability, unrealistic results, or convergence problems. Engineering Applications: In engineering, boundary condition selection is a crucial step in design, analysis, and optimization. Properly defined boundary conditions allow engineers to study the performance of different designs and ensure that products function as expected in real-world applications.

[0147] like Figure 8 The mesh boundary picking technology mainly involves the following three processes:

[0148] Mesh data processing involves users uploading mesh files, typically in MED or RMED format, which contain the model's mesh data. The server receives these uploaded files and processes them to extract the mesh data. After processing, the server returns the data file to the front end for use in the next step of building the mesh structure.

[0149] In the front-end, data files are parsed to obtain detailed information about the mesh data. Boundary structures are built according to different groups or regions, which may include defining different boundary conditions, constraints, or other simulation-related information. For complex engineering models, it is often necessary to divide the model into different groups or regions; this could be the organization of an entire assembly or the division of individual components. This division helps to better manage the boundary conditions of the model, making it more structured and reflecting the components in actual physical phenomena. During the construction process, information about the mesh can be statistically analyzed based on the constructed data, such as: the number of nodes, elements, edges, faces, triangles, quadrilaterals, polygons, volumes, hexahedrons, tetrahedrons, prisms, and polyhedra. This information can be used for quality control, computational resource estimation, simulation setup, result visualization, problem identification, mesh optimization, and model comparison. The construction of boundary structures is crucial to ensuring the accuracy of the simulation, as boundary conditions play a critical role in the simulation results.

[0150] Picking and rendering adds an off-screen rendering pass: This allows for boundary picking and rendering without affecting the main rendering pass. Boundary structures exist in an off-screen rendering pass: Boundary structures are rendered in this pass and not directly displayed on the screen. Mesh files are in the main rendering pass: The main model is displayed in the main rendering pass. Different rendering passes optimize rendering performance and reduce browser load. Display mode switching: Users can switch the display mode of the mesh model, such as volume, face, wireframe, or point. Option not to create boundary conditions: Before picking, the boundary conditions required for this simulation scene must be selected. This includes defining the physical properties, boundary type, and material properties within each group or region. For example, in fluid dynamics simulations, you need to define the fluid properties of different regions, such as density, viscosity, and inlet velocity. Displaying boundaries of the same type allows you to view specific boundary types as needed. Picking boundaries: After selecting boundary conditions, users can pick the graphic by clicking the screen; the GPU will return a unique identifier for that boundary graphic. GPU rendering picks up the boundary: Once the GPU obtains a unique identifier for the boundary, it will render the selected boundary in another rendering pass and give this selected boundary a specific color material so that the user can clearly see the selected boundary on the screen.

[0151] Specifically, the post-processing mesh rendering includes:

[0152] The simulation results are loaded to obtain post-processed data, and the mesh data and physical quantity data in the post-processed data are separated.

[0153] Rendering is performed on different types of post-processed data, including cloud rendering, streamline rendering, and multi-frame animation rendering.

[0154] like Figure 9 As shown, post-processing mesh rendering mainly consists of three parts. The first is loading the post-processing data, which we do using loaders. The loaders in the 3D engine are divided into mesh data loaders, physical quantity data loaders, and line data loaders. These loaders can load the post-processing simulation results. By separating the mesh and physical quantity data, we can ensure the independence of each format, and also compress and transmit each data format accordingly. This ensures the fastest data transmission while guaranteeing data integrity.

[0155] For different post-simulation data, we need to use different rendering methods. These are mainly divided into rendering of fluid and line types, and rendering of structure and hydrodynamic mesh types.

[0156] Specifically, the cloud map rendering involves: reassembling the post-processed data into a triangular mesh format, adjusting the position data of the triangular linked list to obtain 3D vertex data; obtaining the number of all units in the triangular linked list, traversing each unit, and saving the index of the points contained in each unit sequentially into the data in a tiling structure, referencing the 3D vertex data through the index; mapping the physical quantity data to the 3D vertex data; in the fragment colorizer, calculating the normalized threshold based on the transmitted physical quantity attributes, and converting each physical quantity in the physical quantity data into a color value by referring to the color scale; and calculating the direct lighting color of a point on the triangular face using the dot product of the normal and the light source direction according to the lighting model to obtain the final color value.

[0157] The streamlined rendering process specifically involves: in the vertex shader, calculating the screen space coordinates, screen space tangent vector, and screen space normal vector of each vertex; generating four new vertices based on the screen space coordinates, normal vector, and width attribute of each vertex; in the fragment shader, calculating the final color and transparency based on the screen space coordinates and color attribute of each pixel; calculating a normalized threshold based on the physical attributes of the physical data, and converting each physical quantity in the post-processing data into a color value by referring to the color scale; and calculating the direct lighting color of a point on the triangular face using the dot product of the normal and the light source direction according to the lighting model to obtain the final color value.

[0158] The multi-frame animation rendering specifically refers to displaying the simulation results in the form of animation.

[0159] For cloud rendering, we use the corresponding loader to load the data from the simulation post-processing, and then reassemble it into a WebGL-supported triangle mesh format in the 3D rendering engine.

[0160] The steps for loading, parsing, and reassembling the WebGL-supported triangle mesh format are as follows: Adjusting the position data of the triangle linked list: If the mesh vertex position data is 2D, the 2D x, y coordinates need to be converted into 3D x, y, z coordinates, where 3D x equals 2D x, 3D y equals 0, and 3D z equals 2D y. If the mesh vertex data is 3D, the x, y, z in the data directly correspond to the 3D x, y, z coordinates used in rendering. This gives us the 3D vertex data that can be rendered correctly in WebGL. Obtaining the number of all units in the triangle linked list, then traversing each unit and saving the indices of the points contained in each unit sequentially into an array, stored in a tiled structure for easy use in subsequent rendering stages. Referencing vertex coordinates by index avoids repeatedly saving vertex coordinate data, significantly reducing the overall data volume. Next, the physical quantities need to be mapped to coordinate point information. For each physical scalar attribute data, its corresponding attribute value for each vertex is obtained and saved sequentially to an array, thus ensuring a one-to-one correspondence with each vertex. For physical vectors, while retrieving the physical scalar, the corresponding u, v, and w physical vectors are grouped together and added to the array. These physical vectors and scalars will be associated with the corresponding vertex data to ensure that this data can correctly correspond to the simulation post-processing results and be correctly displayed on the screen. In the fragment colorizer, a normalized threshold is calculated based on the transmitted physical quantity attributes. Referring to the color table, each physical quantity in the data is converted into a color value. After obtaining the color value, the direct lighting color of a point on the triangular face is calculated using the dot product of the normal and the light source direction according to the lighting model, resulting in the final color.

[0161] Streamline rendering, or post-processing streamline rendering, is a technique for visualizing simulation data. It uses different colors, widths, and transparency to represent the physical quantities and changes in the flow field, such as velocity, pressure, and temperature. Post-processing streamline rendering offers several advantages: it helps us understand the characteristics and structure of the flow field more intuitively, such as the distribution, direction, intensity, and stability of streamlines. It helps us more effectively analyze and evaluate the accuracy and reliability of simulation results, such as whether streamlines conform to physical laws and whether there are any anomalies or errors. It helps us more easily identify and solve problems and optimization schemes in the simulation process, such as whether there is room for improvement in the streamlines or whether there are better designs or parameters.

[0162] Using cuboids to render post-processing streamlines in a 3D rendering engine offers several advantages: First, cuboid rendering ensures streamlines maintain a consistent width and appearance across different viewpoints, preventing them from thinning or disappearing due to perspective. This allows for a clearer display of streamline distribution and direction. Second, cuboid rendering imbues streamlines with a sense of volume and three-dimensionality, rather than the flatness of ordinary lines. This more realistically reflects the three-dimensional characteristics and structure of the flow field. Third, cuboid rendering grants streamlines a degree of transparency and color, unlike the monotony of ordinary lines. This allows for a richer expression of the physical quantities and changes in the flow field, such as velocity, pressure, and temperature.

[0163] The steps for instantiating a streamline as a cuboid using WebGL are as follows: In the vertex shader, the screen space coordinates of each vertex are calculated by multiplying the vertex's world coordinates by the view matrix and projection matrix, and then dividing by the w-component of homogeneous coordinates. This step transforms the vertex from 3D space to a 2D plane for subsequent calculations and rendering. The view matrix and projection matrix are provided by the WebGL state or the application, representing the camera's position and orientation, and the screen's size and shape, respectively. Homogeneous coordinates are an extended representation of 3D coordinates, adding a w-component to represent the vertex's perspective. Dividing by the w-component eliminates perspective, so that the vertex's x and y components represent its position on the screen, while the z-component represents its depth position. In the vertex shader, the screen space tangent vector of each vertex is calculated by multiplying the streamline's tangent vector by the view matrix and projection matrix, and then normalizing it. This step obtains the streamline's orientation on the screen for subsequent calculations and rendering. The streamline's tangent vector is provided by the streamline's vertex data or the application, representing the tangent direction of the streamline at each vertex. Multiplying by the view matrix and projection matrix transforms the tangent vector from 3D space to a 2D plane, aligning it with the vertex coordinates. Normalization ensures the tangent vector has a length of 1 for easier subsequent calculations. In the vertex shader, the screen space normal vector for each vertex is calculated by performing a cross product of the screen space tangent vector and the z-component of the screen space coordinates, followed by normalization. This step is to obtain the vertical direction of the streamline on the screen for subsequent calculations and rendering. The screen space normal vector is calculated from the screen space tangent vector and screen space coordinates, representing the normal direction of the streamline at each vertex. The cross product is an operation to find the vertical direction of two vectors, resulting in a third vector perpendicular to both. The z-component of the screen space coordinates is used as the other vector because it is perpendicular to the screen plane and is depth-dependent. Normalization ensures the normal vector has a length of 1 for easier subsequent calculations. In the vertex shader, four new vertices are generated based on each vertex's screen space coordinates, normal vector, and width attribute, corresponding to the four corners of the cuboid. This step expands the streamline from a single point into a cuboid for subsequent rendering. The four newly generated vertices are calculated from the original vertices, the normal vector, and the width attribute, representing the shape of the cuboid on the screen. The calculation method involves moving a certain distance along the normal vector; the position of the four corners of the cuboid is determined by the sign of the width attribute. For example, if the width attribute is 0.5, moving 0.5 units along the normal vector yields one corner, and moving 0.5 units in the opposite direction yields the other corner. In the fragment shader, the final color and opacity are calculated based on the screen space coordinates and color attributes of each pixel.This step applies the streamline's color and transparency to each pixel to generate the final image. The color and transparency of each pixel are provided by the streamline's color attributes or the application, representing the streamline's color and transparency at each vertex. The calculation method uses an interpolation algorithm to obtain the corresponding color and transparency values ​​based on the pixel's position on the cuboid. A normalized threshold is calculated based on the transmitted physical quantity attributes, and each physical quantity in the data is converted into a color value by referring to a color table. After obtaining the color values, the direct lighting color of a point on the triangular face is calculated using the dot product of the normal and the light source direction according to the lighting model, yielding the final color.

[0164] Multi-frame animation rendering, a post-processing technique for simulations, uses multi-frame mesh animation to display simulation results in animated form. This helps in observing and analyzing changes and influences during the simulation process. The function of multi-frame mesh animation in post-processing simulations is to transform complex simulation data into intuitive images, allowing users to more easily understand and grasp the characteristics and patterns of the simulation results. It can display the distribution and changes of various physical quantities such as the shape, motion, stress, temperature, and flow field of the simulated object, as well as their interactions and influences.

[0165] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of the present invention.

Claims

1. A design-oriented multiphysics industrial software model integrated development system, characterized in that, It includes the hardware layer, runtime environment layer, service layer, interface layer, view layer, and application layer; The hardware layer includes high-performance computing nodes; the runtime environment layer includes simulation software, solvers, and HPC scheduling for simulating industrial cloud software and scheduling HPC; the service layer includes geometric model data preprocessing services, mesh model data preprocessing services, mesh data postprocessing services, and simulation task scheduling services for data processing before and after simulation and simulation task scheduling. The interface layer provides a unified interface; the view layer provides a 3D rendering engine for geometric model rendering, mesh model rendering, mesh boundary picking, and post-processing of meshes and rendering; the application layer provides evaluation and analysis software for analyzing and evaluating the simulation results of the industrial cloud software. The grid data post-processing service is specifically used for: Read simulation result data from simulation software, select the appropriate parsing method according to the format of the simulation result data, and extract the required data as the data to be processed; The data to be processed is analyzed, features are extracted, and solutions are obtained using core data processing algorithms. These core data processing algorithms include cloud map algorithm, streamline algorithm, contour line algorithm, and curve algorithm. The processed data is selectively exported. The selective export methods include exporting by variable, exporting by time step, exporting by spatial region, exporting by condition, exporting by data type, and exporting by user definition.

2. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The integration development process is as follows: After determining the simulation target and parameters, the geometric model is imported into the industrial cloud software; the geometric model is converted into a mesh model in the service layer; simulation conditions and solver are set in the runtime environment layer, and CAE simulation is performed on the mesh model based on the simulation conditions and solver; After the simulation is completed, the simulation results are analyzed at the application layer.

3. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The geometric model data preprocessing service is specifically used for: Import the geometry file of the geometric model and read the geometry file through a standard interface; parse the geometry file and list the defined information groups that appear in the geometric model; The geometric element data in the geometric model is split through data preprocessing to obtain primitive information. The primitive information is then packaged into a data packet that can be parsed by the front end for selection.

4. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The grid model data preprocessing service is specifically used for: The mesh parameters are set, and the computational region of the geometric model is divided into blocks of regular geometry. Further block subdivision is performed inside each block. The block subdivision is either uniform or non-uniform. When performing block subdivision, the mesh nodes between adjacent blocks are kept aligned with the boundaries. The block subdivision is performed recursively until the set mesh density is reached to obtain the mesh model.

5. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The rendering of the geometric model specifically includes: Upload the geometric model file to the backend server, parse it according to the format of the geometric model file, extract the geometric data, process the extracted geometric data, and send the processed geometric data back to the frontend. The processed geometric data is organized into a data structure, and the geometric data is analyzed and statistically analyzed to determine the model characteristics and create the data structure of the geometric model. The geometric data is subjected to geometric transformation, and the three-dimensional coordinates are projected onto the screen using a projection matrix to crop the geometric data outside the view frustum; The color of each pixel is calculated using a lighting model, and the lighting effect is simulated using a shading model. Texture mapping is used to map texture images onto the surface of a model. Visibility detection is performed using depth buffering and occlusion culling to determine the parts that need to be displayed; each pixel is rendered and drawn onto the screen.

6. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The rendering of the mesh model is specifically as follows: Create and bind buffers, write and compile shaders, and set rendering states according to the use case. The vertex data is subjected to model transformation, view transformation, projection transformation, clipping, and rasterization to obtain fragments; The depth value of each pixel is stored in a depth buffer, and the fragment is displayed based on the depth value.

7. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The mesh boundary picking is specifically as follows: Upload the mesh model file, extract the mesh data from the mesh model file, and return it to the front end; The grid data is parsed to obtain grid information, and boundary structures are constructed based on different regions; An off-screen rendering channel is added, and the boundary structure is rendered in the off-screen rendering channel; The mesh data is rendered in the main rendering channel; Create boundary conditions, pick boundary graphics based on the boundary conditions, and return the unique identifier of the boundary graphics; The corresponding boundary is selected and rendered based on the unique identifier, thus completing the boundary picking.

8. The design-oriented multiphysics industrial software model integrated development system according to claim 1, characterized in that, The post-processing mesh and rendering specifically include: The simulation results are loaded to obtain post-processed data, and the mesh data and physical quantity data in the post-processed data are separated. Rendering is performed on different types of post-processed data, including cloud rendering, streamline rendering, and multi-frame animation rendering.

9. The design-oriented multiphysics industrial software model integrated development system according to claim 8, characterized in that, The cloud rendering process specifically involves: reassembling the post-processed data into a triangular mesh format, adjusting the position data of the triangular linked list to obtain 3D vertex data; obtaining the number of all units in the triangular linked list, traversing each unit, and saving the index of the points contained in each unit sequentially into the data in a tiling structure, referencing the 3D vertex data through the index; mapping the physical quantity data to the 3D vertex data; in the fragment colorizer, calculating the normalized threshold based on the transmitted physical quantity attributes, and converting each physical quantity in the physical quantity data into a color value by referring to the color scale; and calculating the direct lighting color of a point on the triangular face using the dot product of the normal and the light source direction according to the lighting model to obtain the final color value. The streamlined rendering process specifically involves: in the vertex shader, calculating the screen space coordinates of each vertex, calculating the screen space tangent vector of each vertex, and calculating the screen space normal vector of each vertex; generating four new vertices based on the screen space coordinates, normal vectors, and width attributes of each vertex; in the fragment shader, calculating the final color and transparency based on the screen space coordinates and color attributes of each pixel; and calculating a normalized threshold based on the physical attributes of the physical data, and converting each physical quantity in the post-processing data into a color value by referring to the color scale. The direct lighting color of a point on a triangle is calculated using the dot product of the normal and the direction of the light source based on the lighting model, thus obtaining the final color value. The multi-frame animation rendering specifically refers to displaying the simulation results in the form of animation.

Citation Information

Patent Citations

  • Distributed deployment method for one-stop industrial digital research and development design platform

    CN115426357A