Method and platform for automatically controlling CAE (Computer Aided Engineering) simulation calculation software

Through the automatic control method and platform of CAE simulation calculation software, using Java multithreading technology and visual interface, the problem of limited resources of CAE simulation software solver is solved, and the automatic sorting and priority adjustment of simulation jobs is realized, ensuring 24 simulation jobs The operation is uninterrupted every hour, which improves computing efficiency and product development speed.

CN119150442APending Publication Date: 2024-12-17SHAANXI HEAVY DUTY AUTOMOBILE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310718501.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-16
Publication Date
2024-12-17

AI Technical Summary

Technical Problem

The existing CAE simulation software solver has limited computing resources, resulting in uncertain solution time, congestion in computing resources, difficulty in adjusting priorities, incompatible scheduling of commercial software in different disciplines, and inability to achieve 24-hour uninterrupted simulation job processing.

Method used

Develop automatic control methods and platforms for CAE simulation computing software, and use Java multi-threading technology to realize automatic sorting, priority adjustment and resource management of jobs. By calling multidisciplinary commercial solvers, it provides a visual interface for submission and monitoring of simulation jobs. , ensure the uninterrupted operation of simulation operations 24 hours a day.

Benefits of technology

It improves the degree of computing automation, shortens the running time of simulation jobs, improves server utilization efficiency, increases the number of virtual verifications, and shortens product development cycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119150442A_ABST
    Figure CN119150442A_ABST
Patent Text Reader

Abstract

The invention relates to a method and a platform for automatically controlling CAE (Computer Aided Engineering) simulation calculation software, which are used for realizing background unified calling of commercial CAE simulation software solvers of multiple companies, multiple subjects and multiple versions, realizing scheduling operation of multiple persons and multiple jobs in sequence as required, and enabling the simulation jobs to be continuously and orderly processed for 24 hours. A CAE simulation software calculation control platform is developed, and the multi-thread technology of Java is applied to realize real-time addition, modification and deletion of queue jobs in the job calculation process. A visual interface is provided, CAE simulation jobs are uniformly submitted to a computing server through a platform, the platform automatically calls multidisciplinary CAE simulation solvers to make overall planning on the simulation jobs according to the requirements of a plurality of job solvers, and the real-time state of the computing jobs is monitored and adjusted in real time. The calculation automation degree is improved, the iteration circulation speed is increased, the operation time is shortened, the server utilization efficiency is improved to the maximum degree, the CAE verification frequency is increased within limited time, and the product development period is shortened.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to computer-aided design technology, and specifically to a method and platform for automatic control of CAE simulation calculation software. Background Art

[0002] With the development of the automobile industry, CAE (Computer Aided Engineering) plays a vital role in the product development stage. Automobile design involves the cross-integration of multiple disciplines such as structure, fluid, vibration and noise, and multi-body dynamics. Different companies have developed corresponding CAE simulation software for each discipline, and engineers use different CAE software solvers to solve various engineering problems. However, the CAE software solver takes a long time to solve and requires high computing resources. Different engineers need to submit computing jobs to the computing server for solution calculation, but computing resources are limited. Many people use servers with limited computing resources at irregular intervals. The following problems currently exist:

[0003] 1) The duration of the calculation operation is uncertain. Engineers need to manually monitor whether the calculation operation is completed or the calculation result is incorrect, and determine whether to start the calculation of the next operation. Manual switching is required at night and during holidays;

[0004] 2) Different engineers have different computing needs. Due to limited computing resources, multiple people submitting jobs will cause congestion, resulting in server freezes and even file corruption.

[0005] 3) Priorities cannot be adjusted. When multiple projects need to be carried out simultaneously, their urgency cannot be adjusted;

[0006] 4) The scheduling platforms developed by commercial software from different companies and disciplines cannot take into account other commercial software. In engineering applications, products need to use solvers from different disciplines to verify different performance, and operations cannot be scheduled uniformly. Summary of the invention

[0007] The present invention aims to solve the technical problems in the background technology that there is no need for human supervision, and the simulation operation can be automatically and continuously operated; different engineers submit the operation at the same time, and the operation is sorted and calculated in the order of submission; different operations can switch the calculation order in real time according to the priority of the operation; and commercial CAE simulation operations of different companies and different disciplines can be realized in the calculation server. The purpose is to provide a method and platform for automatic control of CAE simulation calculation software, realize the unified call of the background of commercial CAE simulation software solvers of multiple companies and disciplines, realize the scheduling and operation of multiple people and multiple operations in sequence and on demand, so that the simulation operation can be processed in an orderly manner 24 hours a day. A CAE simulation software calculation control platform is developed to provide a visual interface for engineers, and CAE simulation operations are uniformly submitted to the calculation server through the platform. The platform automatically calls the multi-disciplinary CAE simulation solvers in the background for several operations. The project leader makes an overall plan for the simulation operation, monitors and adjusts the real-time status of the calculation operation in real time. Using Java's multi-threading technology, it is possible to add, modify and delete queue jobs in real time during the operation calculation process. The present invention improves the degree of computing automation, increases the speed of iterative cycles, shortens the running time, maximizes the efficiency of server utilization, increases the number of virtual verifications within a limited time, and shortens the product development cycle.

[0008] Solutions for solving problems

[0009] A method for automatic control of CAE simulation software, the method comprising:

[0010] S1. Identify the submitted target information and store the target information in the background using Java language;

[0011] S2, using Java language to check whether the computing server currently has the computing resources required by the target information stored in the background. If the current server has free computing resources (CPU core number, memory number), then proceed to step S4 to start computing. If the current server does not have free computing resources, proceed to step S3 to determine.

[0012] S3. Determine whether the operation is urgent according to the emergency situation of the project. If it is urgent, adjust it to the first calculation priority and wait for calculation; if it is not urgent, enter the platform queue and wait for calculation in order;

[0013] S4, identifying the solver according to the submitted target information, using Java language to automatically generate calculation instruction bat files recognized by different commercial software solvers, and starting calculation;

[0014] S5. Use Java language to monitor the computing status and server computing resources in real time. If the calculation of the previous job is completed, the bat command file is automatically called to realize automatic switching of jobs.

[0015] Furthermore, the free computing resources include: the number of CPU cores and the number of memories.

[0016] Further, the step S1 comprises:

[0017] Through Java language, identify the target information submitted by the engineer, and save the job name, solver, number of CPUs called, submitter, working directory, job file address, job macro address, submission time, current status and urgency into the mission information mission[] array;

[0018] Add the information in the above mission information mission[] array to the queue information lineup[] array. During the complete operation process, the job information mission[] array is continuously refreshed as new jobs are submitted, and the queue information array lineup[] will continue to increase.

[0019] Further, the step S2 specifically includes:

[0020] Use Java language to determine the number of CPU cores and memory occupied by the current computing job in the queue information array lineup[], and compare it with the total computing resources of the current server;

[0021] Determine whether the remaining resources meet the requirements of the next job in the queue information array lineup[]. If so, proceed to step S4; if not, proceed to step S3.

[0022] Further, the step S3 specifically includes:

[0023] Determine the urgency of the job that is newly added to the queue information array lineup[]. If it is urgent, it will be automatically adjusted to the first priority to wait for computing resources;

[0024] If the jobs have the same urgency, they will be sorted in the order of submission time. When a job is judged to be more urgent, the order of the jobs with the calculated status of "in queue" in the queue information array lineup[] can be adjusted by button. After adjustment, the queue information array lineup[] will be updated.

[0025] Further, the step S4 specifically includes:

[0026] When the current job is about to be calculated, the bat batch command calling rules of different companies' solvers are determined by judging the calling solvers stored in the queue information array lineup[].

[0027] Read the job address, calling core number, calling memory number stored in the queue information array lineup[] to generate bat scheduling instructions;

[0028] Execute bat command to automatically run the job in the background of the computer.

[0029] Further, the step S5 specifically includes:

[0030] Use Java language to monitor the return value of the current job calculation in real time. If the return value is 1, the calculation is considered complete.

[0031] Using Java language, when it is detected that the current job calculation is completed, the first-order job stored in the queue information array lineup[] is automatically called, and the job is started to run through the bat command;

[0032] Using multi-threading technology, while the first thread uses Java language to monitor the return value in real time, the second thread uses Java language to continuously operate the software platform, which does not affect the engineer's operations on the interface, such as job submission, deletion and monitoring.

[0033] A CAE simulation calculation software automatic control platform, the platform includes: a submission module, an analysis calculation module, a judgment module, an identification calculation module and an operation monitoring module;

[0034] The submission module is used to identify the submitted target information and store the target information in the background using Java language;

[0035] The analysis and calculation module is used to use Java language to check whether the calculation server currently has the required calculation resources in the target information stored in the background. If the current server has free calculation resources, it will enter the identification calculation module to start calculation. If the current server does not have free calculation resources, it will proceed to the judgment module for judgment;

[0036] The judgment module is used to determine whether the operation is urgent according to the emergency situation of the project. If it is urgent, it is adjusted to the first calculation priority and waits for calculation; if it is not urgent, it enters the platform queue and waits for calculation in order;

[0037] The identification calculation module is used to identify the solver according to the submitted target information, automatically generate the calculation instruction bat file recognized by different commercial software solvers using Java language, and start calculation;

[0038] The job monitoring module is used to use Java language to monitor the computing status and server computing resources in real time. If the previous job calculation is completed, the bat command file is automatically called to realize automatic job switching.

[0039] A computer-readable storage medium stores computer-executable instructions, which are used to implement any of the above methods when executed by a processor.

[0040] Beneficial effects:

[0041] The beneficial effects of the above technical solution are:

[0042] 1. Wide coverage. CAE simulation software has different simulation solvers due to different disciplines. This technology includes automatic control of multiple simulation solvers for structure, fluid, vibration and noise, and multi-body dynamics;

[0043] 2. Fast calculation speed. Automatically switch jobs and hide the original solver interface, saving computer resource usage, saving the time of opening and closing complex different solvers, increasing the iteration cycle speed, and shortening the running time;

[0044] 3. High computing efficiency. The server runs 24 hours a day, maximizing server utilization efficiency, increasing the number of virtual verifications within a limited time, and shortening the product development cycle. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] Figure 1 Calculate the main flow chart of the control method for CAE simulation software;

[0046] Figure 2 This is a schematic diagram of the main interface of the CAE simulation software calculation control platform. DETAILED DESCRIPTION

[0047] The specific implementation mode of the present invention is described below in conjunction with embodiments:

[0048] It should be noted that the structures, proportions, sizes, etc. shown in this specification are only used to match the contents disclosed in the specification so that people familiar with this technology can understand and read them, and are not used to limit the conditions under which the present invention can be implemented. Any structural modification, change in proportional relationship or adjustment of size should still fall within the scope of the technical content disclosed in the present invention without affecting the effects and purposes that can be achieved by the present invention.

[0049] At the same time, the terms such as "upper", "lower", "left", "right", "middle" and "one" cited in this specification are only for the convenience of description and are not used to limit the scope of implementation of the present invention. Changes or adjustments to their relative relationships should be regarded as the scope of implementation of the present invention without substantially changing the technical content.

[0050] Embodiment 1:

[0051] For the CAE simulation software automatic calculation control method, the technical method adopted by the present invention is as follows Figure 1 As shown:

[0052] CAE simulation software calculation control method provides engineers with multi-commercial solver, multi-version, multi-task scheduling method. Its operation steps are as follows:

[0053] S1, identifying the target information submitted by the engineer, and storing the target information in the background using Java language. The step S1 specifically includes:

[0054] 1) Using Java language, identify the target information submitted by the engineer, and save the job name, solver, number of CPUs called, submitter, working directory, job file address, job macro address, submission time, current status, and urgency into the mission information mission[] array;

[0055] 2) Add the information in the mission[] array to the lineup[] array. During the entire operation, the mission[] array is continuously refreshed as new jobs are submitted, but the lineup[] array continues to increase.

[0056] S2, using Java language to check whether the computing server currently has the computing resources required by the target information stored in the background. If the current server has free computing resources (CPU core number, memory number), then enter step S4 to start the calculation. If the current server does not have free computing resources, then proceed to the next step S3 to make a judgment. The step S2 specifically includes:

[0057] 1) Use Java language to determine the number of CPU cores and memory occupied by the current computing job in the queue information array lineup[], and compare them with the total computing resources of the current server;

[0058] 2) Determine whether the remaining resources meet the requirements of the next job in the queue information array lineup[]. If so, proceed to step S4; if not, proceed to step S3.

[0059] S3: Determine whether the operation is urgent according to the emergency situation of the project. If it is urgent, adjust it to the first calculation priority and wait for calculation; if it is not urgent, enter the platform queue and wait for calculation in order. The step S3 specifically includes:

[0060] 1) Determine the urgency of the job newly added to the queue information array lineup[]. If it is urgent, automatically adjust it to the first priority to wait for computing resources;

[0061] 2) If the jobs have the same urgency, they will be sorted in order of submission time. When a job is judged to be more urgent, the order of the jobs with the calculated status of "in queue" in the queue information array lineup[] can be adjusted by pressing a button. After the adjustment, the queue information array lineup[] will be updated.

[0062] S4, identifying the solver according to the submitted target information, using Java language to automatically generate a calculation instruction bat file recognized by different commercial software solvers, and start calculation. The step S4 specifically includes:

[0063] 1) When the current job is about to be calculated, the bat batch command calling rules of different companies' solvers are determined by judging the calling solvers stored in the queue information array lineup[].

[0064] 2) Read the job address, calling core number, and calling memory number stored in the queue information array lineup[] to generate bat scheduling instructions.

[0065] 3) Execute bat command to automatically run the job in the background of the computer.

[0066] S5, using Java language to monitor the computing status and server computing resources in real time, if the previous job is completed, automatically call the bat command file to achieve automatic job switching. The step S5 specifically includes:

[0067] 1) Use Java language to monitor the return value of the current job calculation in real time. If the return value is 1, the calculation is considered complete;

[0068] 2) Using Java language, when it is detected that the current job is completed, the first-order job stored in the queue information array lineup[] is automatically called, and the job is started to run through the bat command;

[0069] 3) Using multi-threading technology, while the first thread uses Java language to monitor the return value in real time, the second thread uses Java language to continuously operate the software platform without affecting the engineer's operations on the interface, such as job submission, deletion, monitoring, etc.

[0070] Embodiment 2:

[0071] For the design of CAE simulation software computing control platform, the technical method adopted by the present invention is as follows Figure 2 As shown:

[0072] The CAE simulation software computing control platform was developed to provide engineers with a comprehensive visual interface for calling multiple commercial software solvers, enabling job scheduling with mouse clicks, including a submission module, a queue module, a job monitoring module, and a computer monitoring module.

[0073] 1) Submission module. Engineers submit jobs that need to be calculated using the computing server through the submission module. The required target information includes the job name, the selected solver and its calling version, the required number of CPU cores, the amount of memory, the submitter, the working directory, and the calculation file. If the called solver supports the use of script files at the same time, check the script file and upload it, and the script file will be automatically called during the calculation.

[0074] 2) Queue module. Mainly displays the queue information of the job. The queue information mainly includes: job name, job completion status, job path, resource allocation status, submitter, job submission time, job completion time, and job priority control button. When an engineer needs to submit a job, he can first see the completed jobs, the jobs in the calculation, the jobs with errors, and the waiting jobs in the queue module. He can also manually control the order according to the priority and delete the jobs that are submitted by mistake or are not needed.

[0075] 3) Job monitoring module. This module monitors the iterative calculation of the current computing job and reads the job calculation information, warning information, error information, etc. running in the background into the monitoring box. Engineers can judge the running job status based on the calculation monitoring situation.

[0076] 4) Computer monitoring module: This module calculates the usage of server computing resources (CPU occupancy rate, memory occupancy rate).

[0077] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0078] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0079] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

Claims

1. A method for automatic control of CAE simulation software, characterized in that: The method comprises: S1. Identify the submitted target information and store the target information in the background using Java language; S2, using Java language to check whether the computing server currently has the computing resources required by the target information stored in the background. If the current server has free computing resources (CPU core number, memory number), then proceed to step S4 to start computing. If the current server does not have free computing resources, proceed to step S3 to determine. S3. Determine whether the operation is urgent according to the emergency situation of the project. If it is urgent, adjust it to the first calculation priority and wait for calculation; if it is not urgent, enter the platform queue and wait for calculation in order; S4, identifying the solver according to the submitted target information, using Java language to automatically generate calculation instruction bat files recognized by different commercial software solvers, and starting calculation; S5. Use Java language to monitor the computing status and server computing resources in real time. If the calculation of the previous job is completed, the bat command file is automatically called to realize automatic switching of jobs.

2. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The free computing resources include: the number of CPU cores and the number of memories.

3. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The step S1 comprises: Through Java language, identify the target information submitted by the engineer, and save the job name, solver, number of CPUs called, submitter, working directory, job file address, job macro address, submission time, current status and urgency into the mission information mission[] array; Add the information in the above mission information mission[] array to the queue information lineup[] array. During the complete operation process, the job information mission[] array is continuously refreshed as new jobs are submitted, and the queue information array lineup[] will continue to increase.

4. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The step S2 specifically includes: Use Java language to determine the number of CPU cores and memory occupied by the current computing job in the queue information array lineup[], and compare it with the total computing resources of the current server; Determine whether the remaining resources meet the requirements of the next job in the queue information array lineup[]. If so, proceed to step S4; if not, proceed to step S3.

5. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The step S3 specifically includes: Determine the urgency of the job that is newly added to the queue information array lineup[]. If it is urgent, it will be automatically adjusted to the first priority to wait for computing resources; If the jobs have the same urgency, they will be sorted in the order of submission time. When a job is judged to be more urgent, the order of the jobs with the calculated status of "queued" in the queue information array lineup[] can be adjusted by button. After adjustment, the queue information array lineup[] will be updated.

6. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The step S4 specifically includes: When the current job is about to be calculated, the bat batch command calling rules of different companies' solvers are determined by judging the calling solvers stored in the queue information array lineup[]. Read the job address, calling core number, calling memory number stored in the queue information array lineup[] to generate bat scheduling instructions; Execute bat command to automatically run the job in the background of the computer.

7. The method for automatic control of CAE simulation software according to claim 1, characterized in that: The step S5 specifically includes: Use Java language to monitor the return value of the current job calculation in real time. If the return value is 1, the calculation is considered complete. Using Java language, when it is detected that the current job calculation is completed, the first-order job stored in the queue information array lineup[] is automatically called, and the job is started to run through the bat command; Using multi-threading technology, while the first thread uses Java language to monitor the return value in real time, the second thread uses Java language to continuously operate the software platform, which does not affect the engineer's operations on the interface, such as job submission, deletion and monitoring.

8. A platform for automatic control of CAE simulation software, characterized in that: The platform includes: a submission module, an analysis and calculation module, a judgment module, an identification and calculation module and an operation monitoring module; The submission module is used to identify the submitted target information and store the target information in the background using Java language; The analysis and calculation module is used to use Java language to check whether the calculation server currently has the required calculation resources in the target information stored in the background. If the current server has free calculation resources, it will enter the identification calculation module to start calculation. If the current server does not have free calculation resources, it will proceed to the judgment module for judgment; The judgment module is used to determine whether the operation is urgent according to the emergency situation of the project. If it is urgent, it is adjusted to the first calculation priority and waits for calculation; if it is not urgent, it enters the platform queue and waits for calculation in order; The identification calculation module is used to identify the solver according to the submitted target information, automatically generate the calculation instruction bat file recognized by different commercial software solvers using Java language, and start calculation; The job monitoring module is used to use Java language to monitor the computing status and server computing resources in real time. If the previous job calculation is completed, the bat command file is automatically called to realize automatic job switching.

9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, they are used to implement the method according to any one of claims 1 to 7.