Simulation system, simulation method, and simulation program

By using the approximate calculation model in the simulation device to predict the behavior of partial computing models, the problem of parallelization errors in parallel arithmetic processing is solved, and efficient simulation speed and accuracy are achieved, while simplifying the parallelization process.

JP2025066007APending Publication Date: 2025-04-22TOYOTA TECH DEV CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023175575
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-10
Publication Date
2025-04-22

AI Technical Summary

Technical Problem

In the target system simulation performed using parallel arithmetic processing, when the conversion arithmetic model is a parallel model, parallelization errors are prone to occur, resulting in a decrease in the accuracy of the calculation results.

Method used

By utilizing an approximate computational model in the simulation device, the model predicts the behavior of the partial computational model and converts the arithmetic model into a parallel model to perform the simulation without inserting a virtual block.

Benefits of technology

This method can reduce parallelization errors, improve simulation speed without affecting the accuracy of the calculation result, and simplify the parallelization process of arithmetic models.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025066007000001_ABST
    Figure 2025066007000001_ABST
Patent Text Reader

Abstract

To suppress an error in parallelization of a result of arithmetic even when simulation is executed through parallel arithmetic processing of an object system transformed into a parallel model.SOLUTION: A simulation system includes: an acquisition unit that executes simulation by transforming an object system, which is represented with arithmetic processing including first part arithmetic processing which receives as an input value a first variable value of a previous time and provides as an output value a second variable value of a current time, and second part arithmetic processing, which receives as an input value the second variable value of the current time and provides as an output value a third variable value of the current time, into parallel processing, and acquires an approximation arithmetic model which predicts the third variable value of the current time from the second variable value of the previous time; a first arithmetic unit that repeatedly executes the first part arithmetic processing and computes the second variable value of the current time from the first variable value of the previous time; and a second arithmetic unit that repeatedly executes the approximation arithmetic model and computes the third variable value of the current time from the second variable value of the previous time.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a simulation device, a simulation method, and a simulation program that execute a computation model that represents a target system for simulation, and more particularly to a simulation device, a simulation method, and a simulation program that converts a computation model into a parallel model and executes a simulation. [Background technology]

[0002] When simulating a large-scale system using sequential calculation processing, there is a problem that it takes a long time to obtain the calculation results of the simulation. Therefore, a method was proposed to increase the speed by distributing the calculation model representing the target system of the simulation and executing it as a parallel model.

[0003] It is possible to speed up the simulation of the target system by converting a computational model that has a high computational load into a parallel model, but there is a problem that the computation results of the parallel model contain parallelization errors, resulting in lower accuracy compared to the computation results obtained using sequential computation processing. Therefore, for example, a technology has been proposed in which, when incorporating a parallel model into a parallel computing system that executes a simulation, dummy blocks are inserted before and after the input and output of each partial computing model that is generated by distributing the computing model to be parallelized, thereby suppressing parallelization errors contained in the computation results of the parallel model (see Patent Document 1).

[0004] The dummy block is a memory block that stores an input value and outputs a value identical to the input value. The value stored in the memory block is maintained in the memory block until the process assigned to the partial computation model to which the memory block belongs is updated. The dummy block is used to make the output of the parallel model obtained by parallel computation identical to the output of the computation model to be parallelized obtained by sequential computation when the input of the parallel model is identical to the input to the computation model to be parallelized.

[0005] If the dummy blocks are not appropriately inserted into the parallel model when converting a computation model to be parallelized into a parallel model, the computation results of the parallel model will contain parallelization errors and will be less accurate than the computation results of a computation model that is not parallelized, and the effect of the parallelization will not be obtained. For this reason, there has been a demand for a simulation device, a simulation method, and a simulation program that do not require the insertion of dummy blocks as described above when converting a computation model representing a system to be simulated into a parallel model, in order to suppress the parallelization errors contained in the computation results. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] JP 2010-33567 A Summary of the Invention [Problem to be solved by the invention]

[0007] Therefore, an object of the present invention is to provide a simulation device, a simulation method, and a simulation program that can suppress parallelization errors in the calculation results even when a simulation is performed using parallel calculation processing of a target system converted into a parallel model. [Means for solving the problem]

[0008] That is, the simulation device according to the first aspect calculates the first variable value X1 at the previous time (t-1). (t-1) is the input value, and the second variable value at the current time t is the output value X2 (t) The first partial calculation model is the second variable value X2 at the current time t. (t) is the input value, and the third variable value X3 at the current time t (t)A simulation device that converts a calculation model including the second partial calculation model having an output value of X2 into a parallel model and executes a simulation of a target system represented by the calculation model, and (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) and an acquisition unit that acquires an approximate calculation model that predicts a first variable value X1 at a previous time (t-1) by repeatedly executing the first partial calculation model. (t-1) to the second variable value X2 at the current time t (t) The first calculation unit calculates the second variable value X2 at the previous time (t-1) by repeatedly executing the approximation calculation model. (t-1) to the third variable value X3 at the current time t (t) and a second calculation unit that calculates:

[0009] In a second aspect, in the simulation device according to the first aspect, the approximation calculation model may be a reduced-order model that represents the second sub-calculation model using a lower-dimensional sub-calculation model while retaining the characteristics of the behavior of the second sub-calculation model over time.

[0010] In a third aspect, in the simulation device according to the first aspect, the approximate calculation model may be a reduced-order model that expresses a partial calculation model that integrates the second sub-calculation model with a delay calculation model that represents a communication delay that occurs in the input value of the second sub-calculation model when the calculation model is converted into a parallel model, using a lower-dimensional partial calculation model.

[0011] In a fourth aspect, in the simulation device according to the first aspect, the approximation calculation model is a second variable value X2 at a current time t of an input value of a second partial calculation model when a simulation by sequential calculation processing of a target system is executed. (t) and the third variable value X3 at the current time t of the output value of the second partial calculation model (t) Alternatively, the model may be a learning model that is generated in advance by learning the correspondence between the

[0012] In a fifth aspect, in the simulation device according to the first aspect, in order to compensate for a communication delay that occurs in the input value of the second sub-calculation model when the calculation model is converted into a parallel model, the approximation calculation model converts a second variable value X2 (t-1) to the second variable value X2 at the current time t (t) Alternatively, a communication compensation model for predicting the above may be added to the input side as a second partial calculation model.

[0013] In a sixth aspect, in the simulation device according to the fifth aspect, the communication compensation model is a second variable value X2 at a time (t-1) before the input value of the second partial calculation model when a simulation is executed by sequential calculation processing of the target system. (t-1) and the value of the second variable X2 at the current time t (t) Alternatively, the model may be a learning model that is generated in advance by learning the correspondence between the

[0014] In a seventh aspect, in the simulation device of the first aspect, the target system is a vehicle system, and the first calculation unit executes a simulation relating to an engine included in the vehicle system and control of the engine using a first sub-calculation model, and the second calculation unit executes a simulation relating to a transmission included in the vehicle system and control of the transmission using a second sub-calculation model.

[0015] In an eighth aspect, in the simulation device according to the seventh aspect, the computation model representing the target system further includes a third variable value X3 (t) The fourth variable value X4 at the current time t is the input value. (t) The simulation device further includes a third sub-calculation model having an output value of X3 at the current time t. (t) to the fourth variable value X4 at the current time t (t) The third calculation unit may be provided to calculate the following:

[0016] According to a ninth aspect, in the simulation device according to the eighth aspect, the third calculation unit may execute a simulation related to the motion of the vehicle beyond a transmission included in the vehicle system using a third sub-calculation model.

[0017] The simulation method according to the tenth aspect includes: (t-1) is the input value, and the second variable value at the current time t is the output value X2 (t) The first partial calculation model is the second variable value X2 at the current time t. (t) is the input value, and the third variable value X3 at the current time t (t) A simulation method for converting a calculation model including the second sub-calculation model having an output value of X2 at a time (t-1) before the input value of the second sub-calculation model into a parallel model and executing a simulation of a target system represented by the calculation model, (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) and a step of acquiring an approximate calculation model for predicting a first variable value X1 at a previous time (t-1) by repeatedly executing the first partial calculation model. (t-1) to the second variable value X2 at the current time t (t) The first calculation step, which calculates the second variable value X2 at the previous time (t-1), is repeatedly executed. (t-1) to the third variable value X3 at the current time t (t) and a second calculation step of calculating:

[0018] The simulation program according to the eleventh aspect is a program for calculating a first variable value X1 at a previous time (t-1). (t-1) is the input value, and the second variable value at the current time t is the output value X2 (t) The first partial calculation model is the second variable value X2 at the current time t. (t) is the input value, and the third variable value X3 at the current time t (t)A simulation program for converting a calculation model including the second partial calculation model having an output value of X2 and a parallel model to execute a simulation of a target system represented by the calculation model, the simulation program being configured to cause a computer to convert a second variable value X2 (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) and a function to obtain an approximate calculation model to predict the first variable value X1 at the previous time (t-1) by repeatedly executing the first partial calculation model. (t-1) to the second variable value X2 at the current time t (t) The first calculation function that calculates and the approximation calculation model are repeatedly executed to calculate the second variable value X2 at the previous time (t-1). (t-1) to the third variable value X3 at the current time t (t) and a second calculation function of calculating Effect of the Invention

[0019] The simulation device according to the present invention calculates a first variable value X1 at a previous time (t-1). (t-1) is the input value, and the second variable value at the current time t is the output value X2 (t) The first partial calculation model is the second variable value X2 at the current time t. (t) is the input value, and the third variable value X3 at the current time t (t) A simulation device that converts a calculation model including the second partial calculation model having an output value of X2 into a parallel model and executes a simulation of a target system represented by the calculation model, and (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) and an acquisition unit that acquires an approximate calculation model that predicts a first variable value X1 at a previous time (t-1) by repeatedly executing the first partial calculation model. (t-1) to the second variable value X2 at the current time t (t) The first calculation unit calculates the second variable value X2 at the previous time (t-1) by repeatedly executing the approximation calculation model. (t-1) to the third variable value X3 at the current time t(t) Since the present invention is characterized by comprising a second calculation unit that calculates the above-mentioned, there is no need to insert a dummy block when converting a calculation model representing a target system for simulation into a parallel model, and parallelization errors can be suppressed even when a simulation is performed using parallel calculation processing of the target system converted into the parallel model. [Brief description of the drawings]

[0020] [Figure 1] FIG. 1 is a block diagram for explaining an overview of a simulation device according to this embodiment. [Diagram 2] FIG. 2 is a block diagram for explaining an overview of the simulation device according to this embodiment. [Diagram 3] FIG. 3 is a block diagram for explaining an overview of the simulation device according to this embodiment. [Figure 4] FIG. 4 is a block diagram for explaining the hardware configuration of the simulation device according to this embodiment. [Diagram 5] FIG. 5 is a flowchart showing the operation of the simulation device according to this embodiment. [Figure 6] FIG. 6 is a block diagram for explaining an example of the configuration of the calculation unit of the simulation device according to this embodiment. [Figure 7] FIG. 7 is a block diagram for explaining an example of the configuration of a vehicle system according to this embodiment. [Figure 8] FIG. 8 is a flowchart of parallel calculation processing for simulating a vehicle system according to the first example of the simulation device of this embodiment. [Figure 9] FIG. 9 is a block diagram showing a schematic diagram of a computation model when performing parallel computation processing of a simulation of a vehicle system according to a first example of the simulation device of this embodiment. [Figure 10] FIG. 10 is a flowchart of parallel calculation processing for simulating a vehicle system according to the second embodiment of the simulation device of this embodiment. [Figure 11] FIG. 11 is a block diagram showing a schematic diagram of a computation model for performing parallel computation processing of a simulation of a vehicle system according to a second example of the simulation device of this embodiment. [Figure 12] FIG. 12 is a flowchart of the simulation program according to this embodiment. [Figure 13] FIG. 13 is a block diagram for explaining the configuration of a simulation device according to another embodiment. [Figure 14] FIG. 14 is a flowchart of a conventional parallel calculation process for simulating a vehicle system. [Figure 15] FIG. 15 is a block diagram showing a model of a computation model for performing conventional parallel computation processing in a simulation of a vehicle system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0021] A simulation device 10 according to an embodiment of the present disclosure will be described below with reference to FIGS. Explain in detail.

[0022] (Overview of Simulation Device 10) An overview of a simulation device 10A according to the present embodiment will be described with reference to Figures 1 to 3. Figures 1 to 3 are diagrams for explaining the overview of a simulation device 10A according to the present embodiment. The simulation device 10A is an embodiment for explaining an overview of a simulation device according to the present disclosure. A simulation device 10A according to an embodiment of the present disclosure is a computer that executes a computational model that represents a target system of a simulation. The computational model refers to a computational procedure and algorithm that expresses the behavior and characteristics of the target system with variables and numerical values, and is defined by the computational procedure and algorithm for generating an expected output from a specific input. For example, the computational model is defined by a mathematical expression of the physical characteristics of the behavior of the target system of the simulation over time.

[0023] For the purpose of explaining the outline of the simulation device 10A, it is assumed that the simulation device 10A includes two calculation units (a first calculation unit 15 and a second calculation unit 17) and includes two partial calculation models (model A and model B) as a calculation model, as shown in Fig. 1. In the figure, model A is assigned to the first calculation unit 15, and model B is assigned to the second calculation unit 17. The first calculation unit 15, the second calculation unit 17, and the main calculation unit 13 and the third calculation unit 19 described later refer to a processing device that processes instructions included in a calculation procedure described in machine language such as software, and an algorithm. When the CPU (Central Processing Unit) that is the processing device of the simulation device 10A is a multi-core CPU, the first calculation unit 15, the second calculation unit 17, and the main calculation unit 13 and the third calculation unit 19 described later each refer to one of the multiple cores that constitute the multi-core CPU. In addition, when the processing device of the simulation device 10A is composed of multiple CPUs, the first calculation unit 15, the second calculation unit 17, and the main calculation unit 13 and the third calculation unit 19 described later may each refer to one of the multiple CPUs that constitute the processing device of the simulation device 10A.

[0024] The first calculation unit 15 executes model A. Model A is one of the partial calculation models constituting the calculation model expressing the target system. Model A obtains a first variable value X1 as an input value and calculates a second variable value X2 as an output value. The first partial calculation model described below corresponds to model A. The second calculation unit 17 executes model B. Model B is one of the partial calculation models constituting the calculation model expressing the target system. Model B obtains a second variable value X2 as an input value and calculates a third variable value X3 as an output value. The second partial calculation model described later corresponds to model B. The first calculation unit 15 and the second calculation unit 17 execute the calculation processes of the model A and the model B in parallel, respectively. This allows the simulation device 10A to speed up the calculation process of the calculation model of the target system. However, there is a concern that parallelization errors may occur due to communication delays caused by data transmission of calculation results and the like between the first calculation unit 15 and the second calculation unit 17. The simulation device 10A uses a reduced order model (ROM) that predicts a one-step-ahead transmission value (output value) from a reception value (input value) obtained by degenerating the model B instead of the model B executed by the second calculation unit 17, thereby eliminating communication delays and suppressing parallelization errors (see FIG. 3).

[0025] ROM refers to a method of reducing the dimension of a model (degenerate, reduce) while maintaining the essential behavior of a target system (in this case, model B) and significantly reducing analysis time and data volume, and is also called a reduced model or a reduced-dimensional model. There are two main approaches to ROM. The first approach is to express the relationship between input and output obtained by 3D-CAE or simulation as a proxy model using approximate functions, machine learning, etc., and the second approach is to extract and degenerate physical characteristic values ​​from information on shape and physical properties. In this embodiment, the first approach is used to generate a ROM capable of predicting time series using machine learning such as deep learning. Specifically, the relationship between the input and output of model B is obtained by executing sequential arithmetic processing of the target system, and machine learning based on this relationship is applied to AI (artificial intelligence) to generate and obtain a ROM that predicts one step ahead.

[0026] The ROM according to this embodiment will be described with reference to Fig. 2 and Fig. 3. Fig. 2 shows a schematic overview of the sequential arithmetic processing of the target system, and Fig. 3 shows a schematic overview of the parallel arithmetic processing of the target system. In Fig. 2 and Fig. 3, t is composed of zero and a positive integer, and indicates the number of repeated calculations (number of steps) in the sequential arithmetic processing and the parallel arithmetic processing. In Figures 2 and 3, model A is represented by a function f, and model B is represented by a function g. The received value (input value) in model A is X1 (t) Let the transmission value (output value) be Y1 (t) Let the received value (input value) in model B be X2 (t) Let the transmission value (output value) be Y2 (t) In the sequential calculation process of the target system, the transmission value Y1 of model A (t) is the received value of Model B, X2 (t) It becomes.

[0027] By executing sequential calculation processing of the target system, the received value X2 of model B (t) and the sending value Y2 (t) Based on the obtained relationship, the received value X2 (t) Received value X2 delayed by one step from (t-1) and the sending value Y2 (t) The learning data consisting of the data set of the above is acquired, and supervised learning based on the learning data is performed on the machine learning model to generate a reduced-order model (ROM) 43 that predicts the transmission value (output value) of one step ahead based on the reception value (input value) in model B.

[0028] As shown in Fig. 3, when the calculation model representing the target system is converted into a parallel model, the ROM in Fig. 2 is placed in place of model B. The shared memory 44 is used for data transmission such as calculation results between the first calculation unit 15 and the second calculation unit 17, and is used for data transmission such as calculation results between model A and the ROM. (t-1) Based on the send value Y2 (t)By predicting this, the communication delay (one step delay) of the transmitted value is eliminated, and the parallelization error that occurs when executing the calculation process of a parallel model in which the calculation model is parallelized can be suppressed.

[0029] (Hardware configuration of simulation device 10) The hardware configuration of the simulation device 10 according to this embodiment will be described with reference to Fig. 4. Fig. 4 is a block diagram for explaining the hardware configuration of the simulation device 10. 4, the simulation device 10 includes an acquisition unit 11, a communication interface 12, a main calculation unit 13, a main memory 14, a first calculation unit 15, a first memory 16, a second calculation unit 17, a second memory 18, a third calculation unit 19, a third memory 20, a storage unit 21, and an output unit 22. The components of the simulation device 10 are connected to each other via a bus.

[0030] The acquisition unit 11 has a function of accepting input from devices connected to the simulation device 10, whether wired or wireless. The acquisition unit 11 accepts input contents from, for example, a keyboard, a mouse, a scanner, etc. The acquisition unit 11 acquires, for example, a simulation program showing a calculation model representing a target system to be simulated and an approximate calculation model described below, and transmits them to the main calculation unit 13 or stores them in the main memory 14 or the storage unit 21.

[0031] The communication interface 12 is responsible for sending and receiving data between the simulation device 10 and other devices connected via the Internet 23, regardless of whether the data is sent via wired or wireless communication.

[0032] The main calculation unit 13 is a control unit having a function of controlling each unit of the simulation device 10. The main calculation unit 13 reads out and executes a program stored in the storage unit 21. The main calculation unit 13 executes a calculation model expressing a target system to be simulated that is received from a user via the acquisition unit 11, and allocates elements that can be executed in parallel among the calculation elements included in the calculation model to the first calculation unit 15, the second calculation unit 17, the third calculation unit 19, etc., to execute parallel calculation processing. Here, the allocation of calculation processing, i.e., which calculation in the calculation model is assigned to which calculation unit, is specified by the user or in the program.

[0033] The main memory 14 is a random access memory (RAM), which is a working area used by the main calculation unit 13 to execute processes related to programs, and is a memory for storing temporary data.

[0034] The first calculation unit 15 executes the calculation process assigned by the main calculation unit 13 and outputs the calculation result. In this embodiment, the first calculation unit 15 is assigned a first sub-calculation model and repeatedly executes the first sub-calculation model.

[0035] The first memory 16 is a RAM (Random Access Memory), which is a working area used by the first calculation unit 15 to execute the assigned calculation process, and is a memory for storing temporary data.

[0036] The second calculation unit 17 executes the calculation process assigned by the main calculation unit 13 and outputs the calculation result. In this embodiment, the second calculation unit 17 is assigned a second sub-calculation model and repeatedly executes the second sub-calculation model.

[0037] The second memory 18 is a RAM (Random Access Memory), which is a working area used by the second calculation unit 17 to execute the assigned calculation process, and is a memory for storing temporary data.

[0038] The third calculation unit 19 executes the calculation process assigned by the main calculation unit 13 and outputs the calculation result. In this embodiment, the third calculation unit 19 is assigned a third sub-calculation model and repeatedly executes the third sub-calculation model.

[0039] The third memory 20 is a RAM (Random Access Memory), which is a working area used by the third calculation unit 19 to execute the assigned calculation process, and is a memory for storing temporary data.

[0040] The computing units can communicate with each other via a bus to exchange data.

[0041] The storage unit 21 is a storage medium having a function of storing various programs and data required for the operation of the simulation device 10. The storage unit 21 can be realized by a storage medium such as an HDD, an SSD, or a flash memory.

[0042] The output unit 22 has a function of outputting result information indicating the results of the simulation to devices connected to the simulation device 10, whether wired or wireless.

[0043] The above is the configuration of the simulation device 10, but the example of the hardware configuration shown in Fig. 4 is just one example, and other configurations may be used, and for example, the number of calculation units and corresponding memories mounted as elements capable of parallel calculation processing is not limited to the above. Note that the calculation units may be called processors or cores in some cases.

[0044] (Operation of the simulation device 10) The operation of the simulation device 10 will be described with reference to Fig. 5. Fig. 5 is a flowchart showing the operation of the simulation device 10.

[0045] (Step S50) In step S50, the acquisition unit 11 of the simulation device 10 accepts an input of a simulation program and stores it in the storage unit 21. The acquisition unit 11 also transmits the accepted simulation program to the main calculation unit 13 and proceeds to step S51.

[0046] (Step S51) In step S51, the main calculation unit 13 assigns calculation processes in the simulation program that can be executed in parallel to each calculation unit (first calculation unit 15, second calculation unit 17, third calculation unit 19) based on instructions from the user or specifications in the program, and proceeds to step S52.

[0047] (Step S52) In step S52, each calculation unit (first calculation unit 15, second calculation unit 17, third calculation unit 19) executes the assigned calculation process. The first calculation unit 15 is assigned the first sub-calculation model and executes it repeatedly, the second calculation unit 17 is assigned the second sub-calculation model and executes it repeatedly, and the third calculation unit 19 is assigned the third sub-calculation model and executes it repeatedly.

[0048] (Step S53) In step S53, the output unit 22 of the simulation device 10 outputs result information indicating the output results of each calculation unit (first calculation unit 15, second calculation unit 17, third calculation unit 19) as the calculation result of the simulation in accordance with an instruction from the main calculation unit 13, and then ends the simulation. In the case of a simulation of a vehicle system 60 described below, the result information may be, for example, values ​​of the engine torque, output shaft torque, transmission load, differential load, etc.

[0049] The calculation process in step S52 may be executed repeatedly, and the output of the calculation result in step S53 may be the output of the final value of the repeated calculation process, or the output of each calculation result of each iteration (each step) of the repeated calculation process.

[0050] (About the computational model that represents the target system) The configuration of a computation model representing a target system for simulation by the simulation device 10 will be described with reference to Fig. 6. Fig. 6 is a block diagram for explaining an example of the configuration of a computation unit of the simulation device 10.

[0051] The simulation device 10 converts a computation model representing a target system to be simulated into a parallel model, and executes a simulation of the target system represented by the computation model. The computation model converted into a parallel model is distributed into a plurality of sub-computation models capable of parallel computation processing, and includes a first sub-computation model, a second sub-computation model, and a third sub-computation model. The first partial calculation model is a partial calculation model assigned to the first calculation unit 15, and is a first variable value X1 at the previous time (t-1). (t-1) The input value is the second variable value X2 at the current time t. (t) is the output value. The second partial calculation model is a partial calculation model assigned to the second calculation unit 17, and the second variable value X2 (t) is the input value, and the third variable value X3 at the current time t (t) is the output value. The third partial calculation model is a partial calculation model assigned to the third calculation unit 19, and the third variable value X3 (t) The fourth variable value X4 at the current time t is the input value. (t) is the output value.

[0052] Here, the current time t indicates the number of steps (number of times) of the repeated arithmetic processing that is being executed in the parallel arithmetic processing or that is being considered to be executed and focused on, and t is composed of zero and a positive integer. Specifically, the current time t indicates that the t-th repeated arithmetic processing is being executed in the parallel arithmetic processing or that is being considered to be executed and focused on. For example, the current time (t=2) indicates the second iteration of the repeated arithmetic processing in the parallel arithmetic processing, and the current time (t=0) indicates the zeroth iteration of the repeated arithmetic processing in the parallel arithmetic processing, i.e., a state in which the repeated arithmetic processing has not yet started. The previous time (t-1) refers to a calculation process one step before the number of steps (number of times) of the repeated calculation process being performed in parallel calculation processing, or being considered to be performed and being focused on. Specifically, the previous time (t-1) refers to a calculation process one step before the t-th repeated calculation process being performed in parallel calculation processing, or being considered to be performed and being focused on. For example, the previous time (t-1) at t=5 refers to the fourth calculation process, which is the calculation process one step before the current time (t=5).

[0053] The first calculation unit 15 repeatedly executes the first partial calculation model and calculates the first variable value X1 at the previous time (t-1). (t-1) to the second variable value X2 at the current time t (t) Calculate the following. The second calculation unit 17 repeatedly executes the approximation calculation model acquired by the acquisition unit 11, and calculates the second variable value X2 (t-1) to the third variable value X3 at the current time t (t) Calculate the following. The approximation calculation model is the second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model. (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) Predict. The approximate calculation model is a reduced-order model that represents the second sub-calculation model using a lower-dimensional sub-calculation model while retaining the characteristics of the behavior of the second sub-calculation model over time. The reduced order model here refers to a model in which the number of dimensions of the data of the second partial calculation model is reduced. The number of dimensions is the second variable value X2 (t) and the output value, the third variable value X3 (t) This refers to the number of features contained in the characteristics of behavior over time that is shown in a data set.

[0054] The approximate computation model may be a reduced-order model that expresses a partial computation model that is an integration of a delay computation model that represents a communication delay occurring in an input value of the second partial computation model when converting the computation model into a parallel model and the second partial computation model, using a lower-dimensional partial computation model. In this way, since the approximate computation model includes the second partial computation model and the delay computation model as an integrated whole, the user does not need to change the overall configuration of the computation model. In this case, the approximation calculation model is the second variable value X2 at the current time t of the input value of the second partial calculation model when a simulation by sequential calculation processing of the target system is executed. (t) and the third variable value X3 at the current time t of the output value of the second partial calculation model (t) Alternatively, the model may be a learning model that is generated in advance by learning the correspondence between the

[0055] The communication delay occurring in the input value of the second partial calculation model is caused by the shared memory 44 required for the execution of parallel calculation processing of the simulation device 10 (see FIG. 3). The shared memory 44 is provided between the first calculation unit 15 and the second calculation unit 17, between the second calculation unit 17 and the third calculation unit 19, and between the third calculation unit 19 and the first calculation unit 15 when the calculation model is parallelized. The shared memory 44 functions as a buffer when each calculation unit (the first calculation unit 15, the second calculation unit 17, and the third calculation unit 19) transmits the calculation result to the other calculation units, and the calculation result is temporarily stored in the shared memory 44 before being transmitted to the other calculation units. The calculation result stored in the shared memory 44 is held in the shared memory 44 until the number of steps (number of times) of the repeated calculation processing of the partial calculation model executed in the calculation unit to which the calculation result is transmitted is updated. The shared memory 44 transmits the calculation results of the first calculation unit 15 and the third calculation unit 19 required by the second calculation unit 17, the calculation results of the second calculation unit 17 required by the third calculation unit 19, and the calculation results of the second calculation unit 17 required by the first calculation unit 15, thereby synchronizing communication between each calculation unit (the first calculation unit 15, the second calculation unit 17, and the third calculation unit 19). The delayed calculation model refers to a calculation procedure expressing a buffer process for transferring calculation results between each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19).

[0056] Alternatively, in order to compensate for a communication delay that occurs in the input value of the second partial calculation model when the calculation model is converted into a parallel model, the approximation calculation model converts the second variable value X2 (t-1) to the second variable value X2 at the current time t (t) Alternatively, a communication compensation model for predicting the above may be added to the input side as a second partial calculation model. In this case, the communication compensation model is the second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model when a simulation is performed by sequential calculation processing of the target system. (t-1) and the value of the second variable X2 at the current time t (t) Alternatively, the model may be a learning model that is generated in advance by learning the correspondence between the

[0057] The communication compensation model compensates for a communication delay that occurs in the input value of the second sub-operation model due to the shared memory 44, and the second variable value X2 (t-1) to the second variable value X2 at the current time t (t) By predicting the time, it is possible to eliminate the one-step delay that occurs in the input value of the second sub-calculation model and suppress parallelization errors. As a result, there is no need to change the second sub-calculation model, and users can use the existing second sub-calculation model without modifying it.

[0058] (Configuration of the arithmetic unit of the simulation device 10) The configuration of the calculation unit of the simulation device 10 will be described with reference to FIG. The simulation device 10 executes a computation model that represents a target system for simulation, and the computation section of the simulation device 10 includes a first computation section 15, a second computation section 17, and a third computation section 19. The computation model is transformed into a parallel model to enable parallel computation processing, and is distributed into a first partial computation model, a second partial computation model, and a third partial computation model.

[0059] The first calculation unit 15 executes the first sub-calculation model. The first sub-calculation model is a part of the calculation model that represents the target system. The first calculation unit 15 obtains a first variable value X1 as an input value of the first sub-calculation model, and calculates a second variable value X2 as an output value. The second calculation unit 17 executes the second sub-calculation model. The second sub-calculation model is a part of the calculation model that represents the target system. The second calculation unit 17 obtains a second variable value X2 as an input value of the second sub-calculation model, and calculates a third variable value X3 as an output value. The third calculation unit 19 executes the third sub-calculation model. The third sub-calculation model is a part of the calculation model that represents the target system. The third calculation unit 19 obtains a third variable value X3 as an input value of the third sub-calculation model, and calculates a fourth variable value X2 as an output value.

[0060] The first calculation unit 15, the second calculation unit 17, and the third calculation unit 19 execute the first sub-calculation model, the second sub-calculation model, and the third sub-calculation model in parallel, respectively, thereby making it possible to speed up the calculation processing of the calculation model of the target system.

[0061] (Regarding vehicle system 60, which is the target system for the simulation) A vehicle system 60 which is a target system for a simulation executed by the simulation device 10 according to this embodiment will be described with reference to Fig. 7. Fig. 7 is a block diagram for explaining an example of the configuration of the vehicle system 60.

[0062] As shown in FIG. 7, a vehicle system 60 includes an engine 61, an engine controller 62, a shaft 63, a transmission (TM) 64, a transmission controller 65, a shaft 66, a differential (differential gear) 67, a shaft 68, a shaft 69, a tire 70, and a tire 71.

[0063] The engine 61 is a power source that provides power to drive the vehicle.

[0064] The engine controller 62 is a control device having a function of controlling the engine 61. The engine controller 62 executes torque control of the engine 61, for example.

[0065] The shaft 63 is an axis that connects the engine 61 and the transmission 64. The shaft 63 receives the engine torque from the engine 61 and the transmission load from the transmission 64, and rotates in the direction of the combined force of these forces.

[0066] The transmission 64 is made up of gears, shafts, etc., and has the function of converting the torque, rotation speed, and rotation direction of the power received from the engine 61 via the shaft 63 and transmitting it to the vehicle side (differential 67 side).

[0067] The transmission controller 65 is a control device having a function of controlling the torque and rotation speed of the power of the transmission 64. The transmission controller 65 controls, for example, a conversion coefficient that converts the torque from the engine 61.

[0068] The shaft 66 is an axis that connects the transmission 64 and the differential 67. The differential 67 receives an output shaft torque from the transmission 64 and a differential load from the differential 67, and rotates in the direction of the combined force of these forces.

[0069] The differential 67 is a mechanism that controls the rotation speed of the left and right tires 70 and 71 . The differential 67 is formally called a differential gear. The differential 67 converts the torque transmitted from the transmission 64 via the shaft 66 into the rotational speeds of the left and right tires 70 and 71, respectively, and transmits the torque.

[0070] The shaft 68 is an axis that connects the differential 67 and the tires 70. The shaft 68 receives the torque from the differential 67 and the load from the tires 70, and rotates in the direction of the combined force.

[0071] The tire 70 rotates as the shaft 68 rotates.

[0072] The shaft 69 is an axis that connects the differential 67 and the tires 71. The shaft 69 receives the torque from the differential 67 and the load from the tires 71, and rotates in the direction of the combined force.

[0073] The tire 71 rotates in conjunction with the rotation of the shaft 69 .

[0074] The simulation device 10 executes an operation simulation of a vehicle system 60 as shown in FIG.

[0075] (Regarding conventional parallel processing of simulation of vehicle system 60) Conventional parallel arithmetic processing for simulating a vehicle system 60 by the simulation device 10 will be described with reference to Fig. 14 and Fig. 15. Fig. 14 is a flowchart of conventional parallel arithmetic processing for simulating a vehicle system 60, and Fig. 15 is a block diagram showing a schematic diagram of a calculation model when conventional parallel arithmetic processing for simulating a vehicle system 60 is executed.

[0076] The target system of the simulation device 10 may be a vehicle system 60 . The first calculation unit 15 executes a simulation relating to the engine 61 included in the vehicle system 60 and the control of the engine 61 using a first partial calculation model. The engine 61 is controlled by an engine controller 62 (see FIG. 7). The second calculation unit 17 executes a simulation relating to the transmission 64 included in the vehicle system 60 and the control of the transmission 64 using a second partial calculation model. The transmission is controlled by a transmission controller 65 (see FIG. 7).

[0077] The computation model representing the target system further includes a third sub-computation model, and the simulation device 10 further repeatedly executes the third sub-computation model to obtain a third variable value X3 at the current time t. (t) to the fourth variable value X4 at the current time t (t) The third calculation unit 19 calculates the following: The third calculation unit 19 executes a simulation relating to the motion of the vehicle beyond the transmission 64 included in the vehicle system 60 using a third partial calculation model (see FIG. 7).

[0078] The first calculation unit 15 repeatedly executes the first sub-calculation model. The first sub-calculation model includes a communication synchronization step S80, an engine control step S81, an engine step S82, and a transmission step S83. The second calculation unit 17 repeatedly executes the second sub-calculation model. The second sub-calculation model includes a communication synchronization step S80, a transmission control step S84, a transmission step S85, and a sending step S86. The third calculation unit 19 repeatedly executes the third sub-calculation model. The third sub-calculation model includes a communication synchronization step S80, a vehicle step S87, and a transmission step S88.

[0079] 14, it is assumed that time passes from the top to the bottom of the drawing. Also, it is assumed that each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) can execute only one processing step at a time, and first calculation unit 15 executes steps S80 to S83 in sequence, second calculation unit 17 executes steps S80 to S86 in sequence, and third calculation unit 19 executes steps S80 to S88 in sequence. 15, a delay element 90 connected to the input side of the engine step S82 is an element that delays the input value to the engine step S82 by one step, and is described by a transfer function of a Z function. The delay element 90 represents a delay caused by storing the feedback value of the output shaft torque, which is the calculation result of the transmission step S85, in the shared memory 44 for a period of one step. 15, delay element 91 connected to the input side of transmission step S85 is an element that delays the input value to transmission step S85 by one step, and is described by a transfer function of a Z function. Delay element 91 represents a delay caused by storing the feedback value of the output shaft angular velocity, which is the calculation result of vehicle step S87, in shared memory 44 for a period of one step. Also, in FIG. 15, the delay element 92 connected to the input side of the transmission step S85 is a communication delay model inserted when converting the computational model representing the target system into a parallel model, and is an element that delays by one step caused by communication synchronization (communication synchronization step S80) between the first computation unit 15 and the second computation unit 17 when the engine torque, which is the computation result of the engine step S82, is input as an input value of the transmission step S85, and is described by a transfer function of a Z function. In addition, in FIG. 15, the delay element 93 connected to the input side of the vehicle step S87 is a communication delay model inserted when converting the computational model representing the target system into a parallel model, and is an element that delays by one step caused by communication synchronization (communication synchronization step S80) between the second computation unit 17 and the third computation unit 19 when the output shaft torque, which is the computation result of the transmission step S85, is input as an input value of the vehicle step S87, and is described by a transfer function of a Z function.

[0080] (Conventional step S80) In step S80, a communication synchronization step S80 is executed in each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19), and time synchronization is performed between the calculation processes of each sub-calculation model (first sub-calculation model, second sub-calculation model, and third sub-calculation model) executed in each calculation unit. Specifically, in step S80, communication is performed between the computing units to synchronize the simulation times of the partial computation models executed and processed by the computing units. The simulation time refers to the time elapsed in the simulation being executed.

[0081] Furthermore, in step S80, each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) receives the calculation results of the other calculation units transmitted in the transmission steps (S83, S86, and S88) described below executed by the other calculation units, and updates the data of the calculation results in the receiving area of ​​the shared memory 44. Specifically, in step S80, the first calculation unit 15 receives the calculation result of the second calculation unit 17 at the previous time (t-1) transmitted in transmission step S86 executed by the second calculation unit 17, and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0082] Similarly, in step S80, the second calculation unit 17 receives the calculation result of the third calculation unit 19 at the previous time (t-2) transmitted in the transmission step S88 at the previous time (t-1) executed by the third calculation unit 19, and the calculation result of the first calculation unit 15 at the previous time (t-1) transmitted in the transmission step (S83) at the previous time (t-1) executed by the first calculation unit 15, and updates the data of the calculation result in the receiving area of ​​the shared memory 44. The parallelization error that occurs when converting the computational model representing the target system into a parallel model occurs because the second computation unit 17 simultaneously uses the computation result of the third computation unit 19 at the previous time (t-2) and the computation result of the first computation unit 15 at the previous time (t-1) when processing the second partial computation model.

[0083] Similarly, in step S80, the third calculation unit 19 receives the calculation result of the second calculation unit 17 at the previous time (t-1) transmitted in the transmission step (S86) executed by the second calculation unit 17 at the previous time (t-1), and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0084] (Regarding the conventional first calculation unit 15) The first calculation unit 15 executes an engine control step S81 in which calculation processing of an engine control simulation of the engine controller 62 is performed in the first sub-calculation model, then executes an engine step S82 in which calculation processing of an engine simulation of the engine 61 is performed, and then executes a transmission step S83 in which the calculation results of the first sub-calculation model are transmitted to the shared memory 44.

[0085] (Regarding the conventional second calculation unit 17) The second calculation unit 17 executes a transmission control step S84 in which calculation processing is performed for a transmission control simulation of the transmission controller 65 in the second sub-calculation model, then executes a transmission step S85 in which calculation processing is performed for a transmission simulation of the transmission 64, and then executes a transmission step S86 in which the calculation results of the second sub-calculation model are transmitted to the shared memory 44.

[0086] (Regarding the conventional third calculation unit 19) The third calculation unit 19 executes a vehicle step S87 in which calculation processing is performed for simulating the behavior of the mechanisms beyond the shaft 66 (such as the differential 67, shaft 68, shaft 69, tire 70, and tire 71) in the third partial calculation model, and then executes a transmission step S88 in which the calculation results of the third partial calculation model are transmitted to the shared memory 44.

[0087] (First embodiment of the simulation device 10) 8 and 9, the parallel computation processing of the simulation of the vehicle system 60 according to the first embodiment of the simulation device 10 will be described. FIG. 8 is a flowchart of parallel calculation processing of a simulation of a vehicle system 60 according to the first embodiment of the simulation device 10, and FIG. 9 is a block diagram showing a schematic calculation model when performing parallel calculation processing of a simulation of a vehicle system 60 according to the first embodiment of the simulation device 10.

[0088] Regarding the parallel arithmetic processing of the simulation of the vehicle system 60 according to the first embodiment of the simulation device 10, only the differences from the conventional parallel arithmetic processing described above (see Figures 14 and 15) will be described. In cases where the configuration or steps of the parallel arithmetic processing according to the first embodiment of the simulation device 10 are the same as the configuration or steps of the conventional parallel arithmetic processing, the symbols used in Figures 14 and 15 will be used in Figures 8 and 9 and their description will be omitted.

[0089] As shown in FIGS. 8 and 9, the parallel calculation processing of the simulation according to the first embodiment executes a transmission ROM step S95 instead of the conventional transmission step S85. The transmission ROM step S95 performs calculations for simulating the transmission 64 in place of the transmission step S85. The transmission ROM is an approximate calculation model. In the transmission ROM step S95, the second variable value X2 at the previous time (t-1) of the input value is (t-1) (=x n-1 ) based on the third variable value X3 at the current time t of the output value (t) (=y(x n )) is predicted (see S95 in FIG. 9).

[0090] The transmission ROM is a second variable value X2 at the current time t of the input value of the transmission step S85 included in the second partial calculation model when a simulation is executed by sequential calculation processing of the vehicle system 60, which is the target system. (t) and the third variable value X3 at the current time t of the output value of the transmission step S85 (t)This is a learning model that is generated in advance by learning the correspondence between Specifically, the transmission ROM is a second variable value X2 at the current time t of the input value of the transmission step S85 included in the second partial calculation model, which is obtained when a simulation is executed by sequential calculation processing of the vehicle system 60, which is the target system. (t) and the third variable value X3 at the current time t of the output value of the transmission step S85 (t) This is a learning model that has been subjected to supervised learning using training data consisting of the following datasets:

[0091] The first calculation unit 15 repeatedly executes the first sub-calculation model. The first sub-calculation model includes a communication synchronization step S73, an engine control step S81, an engine step S82, and a transmission step S83. The second calculation unit 17 repeatedly executes the second sub-calculation model. The second sub-calculation model includes a communication synchronization step S73, a transmission control step S84, a transmission ROM step S95, and a transmission step S86. The third calculation unit 19 repeatedly executes the third sub-calculation model. The third sub-calculation model includes a communication synchronization step S73, a vehicle step S87, and a transmission step S88. 8, time passes from the top to the bottom of the drawing. Also, each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) can execute only one processing step at a time, and first calculation unit 15 executes steps S73 to S83 in sequence, second calculation unit 17 executes steps S73 to S86 in sequence, and third calculation unit 19 executes steps S73 to S88 in sequence.

[0092] (Step S73 in the first embodiment) In step S73, similar to step S80 in the conventional system, a communication synchronization step is executed in each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19), and time synchronization is performed between the calculation processes of each sub-calculation model (first sub-calculation model, second sub-calculation model, and third sub-calculation model) executed in each calculation unit.

[0093] Furthermore, in step S73, similar to step S80 in the conventional system, each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) receives the calculation results of the other calculation units transmitted in the transmission steps (S83, S86, and S88) described below executed by the other calculation units, and updates the data of the calculation results in the receiving area of ​​the shared memory 44. Specifically, in step S73, the first calculation unit 15 receives the calculation result of the second calculation unit 17 at the previous time (t-1) transmitted in the transmission step S86 executed by the second calculation unit 17, and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0094] Similarly, in step S73, the second calculation unit 17 receives the calculation result of the third calculation unit 19 at the previous time (t-1) transmitted in the transmission step S88 executed by the third calculation unit 19 at the previous time (t-1), and the calculation result of the first calculation unit 15 at the previous time (t-1) transmitted in the transmission step (S83) executed by the first calculation unit 15, and updates the data of the calculation result in the receiving area of ​​the shared memory 44. In the parallel calculation processing of the first embodiment, parallelization errors that arise when the calculation model representing the target system is converted into a parallel model do not occur because, unlike conventional parallel calculation processing, when the second calculation unit 17 processes the second partial calculation model, it simultaneously uses the calculation result of the third calculation unit 19 at the previous time (t-1) and the calculation result of the first calculation unit 15 at the previous time (t-1). In conventional parallel calculation processing, when the second calculation unit 17 processes the second sub-calculation model, a parallelization error occurs because the calculation result of the third calculation unit 19 at the previous time (t-2) and the calculation result of the first calculation unit 15 at the previous time (t-1) are simultaneously used.

[0095] Similarly, in step S73, the third calculation unit 19 receives the calculation result of the second calculation unit 17 at the previous time (t-1) that was transmitted in the transmission step (S86) executed by the second calculation unit 17 at the previous time (t-1), and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0096] In the first embodiment of the simulation device 10, the parallelization error can be suppressed by using a transmission ROM instead of a model that performs the calculation processing of the conventional transmission simulation, so that the user can suppress the parallelization error without changing the overall configuration of the calculation model. In other words, in the first embodiment of the simulation device 10, the parallelization error can be suppressed by placing a transmission ROM step S95 instead of the transmission step S85 of the conventional parallel calculation processing, so that the user can suppress the parallelization error without changing the overall configuration of the calculation model.

[0097] (Second embodiment of the simulation device 10) 10 and 11, the parallel computation processing of the simulation of a vehicle system 60 according to the second embodiment of the simulation device 10 will be described. FIG. 10 is a flowchart of parallel calculation processing of a simulation of a vehicle system 60 according to the second embodiment of the simulation device 10, and FIG. 11 is a block diagram showing a schematic calculation model when performing parallel calculation processing of a simulation of a vehicle system 60 according to the second embodiment of the simulation device 10.

[0098] Regarding the parallel arithmetic processing of the simulation of a vehicle system 60 according to the second embodiment of the simulation device 10, only the differences from the conventional parallel arithmetic processing described above (see Figures 14 and 15) will be described. In cases where the configuration or steps of the parallel arithmetic processing according to the second embodiment of the simulation device 10 are the same as the configuration or steps of the conventional parallel arithmetic processing, the symbols used in Figures 14 and 15 will be used in Figures 10 and 11 and their description will be omitted.

[0099] As shown in FIGS. 10 and 11, the parallel calculation process of the simulation according to the second embodiment includes a communication compensation ROM step S96 on the input side of the transmission step S85 in addition to the conventional parallel calculation process (see FIGS. 14 and 15). The communication compensation ROM step S96 compensates for a communication delay that occurs in the input value of the second partial calculation model (transmission step S85) when the calculation model representing the target system is converted into a parallel model. This communication delay is caused by the delay element 92, and is a one-step delay that occurs due to communication synchronization (communication synchronization step S80) between the first calculation unit 15 and the second calculation unit 17 when the engine torque, which is the calculation result of the engine step S82, is input as an input value of the transmission step S85. In the communication compensation ROM step S96, the one-step delay in the input value of the transmission step S85 that occurs due to the communication delay is eliminated.

[0100] The communication compensation ROM is an approximate calculation model, and in step S96, the second variable value X2 (t-1) (=x n-1 ) based on the input value at the current time t, the second variable value X2 (t) (=x n ) (see S96 in FIG. 11). In the transmission step S85, the second partial calculation model calculates the second variable value X2 at the current time t of the input value. (t) (=x n ) is input, and the third variable X3 is the output value. (t) (=y(x n)).

[0101] The communication compensation ROM is a second variable value X2 at a time (t-1) before the input value of the transmission step S85 included in the second partial calculation model when a simulation is performed by sequential calculation processing of the vehicle system 60, which is the target system. (t-1) and the value of the second variable X2 at the current time t (t) This is a learning model that is generated in advance by learning the correspondence between Specifically, the communication compensation ROM is a second variable value X2 at a time (t-1) before the input value of the transmission step S85 included in the second partial calculation model, which is obtained when a simulation is executed by sequential calculation processing of the vehicle system 60, which is the target system. (t-1) and the second variable value X2 at the current time t of the input value (t) This is a learning model that has been subjected to supervised learning using training data consisting of the following datasets:

[0102] The first calculation unit 15 repeatedly executes the first sub-calculation model. The first sub-calculation model includes a communication synchronization step S74, an engine control step S81, an engine step S82, and a transmission step S83. The second calculation unit 17 repeatedly executes the second sub-calculation model. The second sub-calculation model includes a communication synchronization step S74, a communication compensation ROM step S96, a transmission control step S84, a transmission step S85, and a transmission step S86. The third calculation unit 19 repeatedly executes the third sub-calculation model. The third sub-calculation model includes a communication synchronization step S74, a vehicle step S87, and a transmission step S88. 10, time passes from the top to the bottom of the drawing. Also, each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) can execute only one processing step at a time, and first calculation unit 15 executes steps S74 to S83 in sequence, second calculation unit 17 executes steps S74 to S86 in sequence, and third calculation unit 19 executes steps S74 to S88 in sequence.

[0103] (Step S74 in the first embodiment) In step S74, similar to step S80 in the conventional system, a communication synchronization step is executed in each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19), and time synchronization is performed between the calculation processes of each sub-calculation model (first sub-calculation model, second sub-calculation model, and third sub-calculation model) executed in each calculation unit.

[0104] Furthermore, in step S74, similar to step S80 in the conventional system, each calculation unit (first calculation unit 15, second calculation unit 17, and third calculation unit 19) receives the calculation results of the other calculation units transmitted in the transmission steps (S83, S86, and S88) described below executed by the other calculation units, and updates the data of the calculation results in the receiving area of ​​the shared memory 44. Specifically, in step S74, the first calculation unit 15 receives the calculation result of the second calculation unit 17 at the previous time (t-1) that was transmitted in the transmission step S86 executed by the second calculation unit 17, and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0105] Similarly, in step S74, the second calculation unit 17 receives the calculation result of the third calculation unit 19 at the previous time (t-1) transmitted in the transmission step S88 executed by the third calculation unit 19 at the previous time (t-1), and the calculation result of the first calculation unit 15 at the previous time (t-1) transmitted in the transmission step (S83) executed by the first calculation unit 15, and updates the data of the calculation result in the receiving area of ​​the shared memory 44. In the parallel calculation processing of the second embodiment, parallelization errors that arise when the calculation model representing the target system is converted into a parallel model do not occur because, unlike conventional parallel calculation processing, when the second calculation unit 17 processes the second partial calculation model, it simultaneously uses the calculation result of the third calculation unit 19 at the previous time (t-1) and the calculation result of the first calculation unit 15 at the previous time (t-1). In conventional parallel calculation processing, when the second calculation unit 17 processes the second sub-calculation model, a parallelization error occurs because the calculation result of the third calculation unit 19 at the previous time (t-2) and the calculation result of the first calculation unit 15 at the previous time (t-1) are simultaneously used.

[0106] Similarly, in step S73, the third calculation unit 19 receives the calculation result of the second calculation unit 17 at the previous time (t-1) that was transmitted in the transmission step (S86) executed by the second calculation unit 17 at the previous time (t-1), and updates the data of the calculation result in the receiving area of ​​the shared memory 44.

[0107] In the second embodiment of the simulation device 10, the parallelization error can be suppressed by inserting the communication compensation ROM between the model performing the calculation process of the transmission simulation and the delay calculation model (delay element 92), so that the user can suppress the parallelization error without modifying the conventional model performing the calculation process of the transmission simulation. In other words, in the second embodiment of the simulation device 10, the parallelization error can be suppressed by placing the communication compensation ROM step S96 between the communication synchronization step S80 and the transmission step S85, so that the user can suppress the parallelization error without modifying the conventional transmission step S85 (see FIG. 11).

[0108] (Simulation program and simulation method) Next, a simulation program according to an embodiment of the present disclosure will be described together with a simulation method with reference to Fig. 12. Fig. 12 is a flowchart of the simulation program according to the present embodiment. The simulation method is executed by the main calculation unit 13 of the simulation device 10 based on the simulation program.

[0109] The simulation program includes an acquisition step S11, a first calculation step S15, and a second calculation step S17. The simulation program causes the main calculation unit 13 of the simulation device 10 to perform various functions such as an acquisition function, a first calculation function, and a second calculation function. Note that the various functions overlap with the description of the various functional units of the simulation device 10 described above, and therefore detailed description thereof will be omitted.

[0110] The acquisition function is the second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model. (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) An approximate computation model for predicting is obtained (S11: obtaining step).

[0111] The first calculation function repeatedly executes the first partial calculation model and calculates the first variable value X1 at the previous time (t-1). (t-1) to the second variable value X2 at the current time t (t) (S15: first calculation step).

[0112] The second calculation function repeatedly executes the approximation calculation model to obtain the second variable value X2 (t-1) to the third variable value X3 at the current time t (t) (S17: second calculation step

[0113] (Simulation device 100 according to another embodiment) A simulation device 100 according to another embodiment will be described with reference to Fig. 13. Fig. 13 is a block diagram for explaining the configuration of the simulation device 100 according to the another embodiment.

[0114] The simulation device 10 according to the embodiment described above is configured to execute a simulation of a target system by the main calculation unit 13 and the like executing a simulation program, etc., but this may be realized by a logic circuit (hardware) or a dedicated circuit formed in an integrated circuit (IC (Integrated Circuit) chip, LSI (Large Scale Integration)) or the like in the simulation device 100. Moreover, these circuits may be realized by one or more integrated circuits, and the functions of the multiple functional units shown in the above embodiment may be realized by one integrated circuit. The LSI may be called a VLSI, a super LSI, an ultra LSI, etc., depending on the degree of integration. That is, as shown in FIG. 13, the simulation device 100 may be composed of a first control circuit 101, a second control circuit 102, and a third control device 103, and the functions of each of them are the same as those of the first calculation unit 15, the second calculation unit 17, and the third calculation unit 19 shown in the above embodiment.

[0115] According to the above-described embodiment, even when a computation model representing a target system for simulation is converted into a parallel model, it is possible to suppress occurrence of parallelization errors due to the delay elements 92, 93 inserted into the parallel model during the conversion.

[0116] The present invention is not limited to the simulation devices (10, 100), the simulation methods, and the simulation programs according to the above-described embodiments, but may be embodied in various other modified or applied examples without departing from the gist of the present invention as set forth in the claims. [Explanation of symbols]

[0117] 10A Simulation Device 10 Simulation device 11 Acquisition Department 12 Communication Interface 13 Main Calculation Section 14. Main memory 15 1st calculation section 16 First Memory 17 Second calculation section 18 Second Memory 19 Third calculation section 20. Third Memory 21 Memory section 22 Output section 23 Internet 42 1 step delay 43 ROM (reduced order model) 44 Shared Memory 60 Vehicle Systems 61 Engine 62 Engine Controller 63 Shaft 64 Transmission (TM) 65 Transmission Controller 66 Shaft 67 Def 68 Shaft 69 Shaft 70 Tires 71 Tires 90 Delay element 91 Delay element 92 Delay element 93 Delay element 100 Simulation device 101 First control circuit 102 Second control circuit 103 Third control circuit S11 Acquisition step S15 First calculation step S17 Second calculation step Get the S50 simulation program S51 Assign each partial calculation model S52 Execute calculation process S53 Output the calculation result S73 Communication synchronization step (first embodiment) S74 Communication synchronization step (second embodiment) S80 Communication synchronization step S81 Engine control step S82 Engine Step S83 Sending step S84 Transmission control step S85 Transmission Step S86 Sending step S87 Vehicle Step S88 Sending step S95 Transmission ROM Step S96 Communication compensation ROM step

Claims

1. First variable value X1 at previous time (t-1) (t-1) is used as an input value, and the second variable value X2 at the current time t (t) A first partial calculation model having an output value of The second variable value X2 at the current time t (t) is used as an input value, and the third variable value X3 at the current time t (t) A second partial calculation model having an output value of A simulation device that converts a computation model including the following into a parallel model and executes a simulation of a target system represented by the computation model, The second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) An acquisition unit for acquiring an approximate calculation model for predicting The first partial calculation model is repeatedly executed, and the first variable value X1 at the previous time (t-1) is calculated. (t-1) to the second variable value X2 at the current time t (t) A first calculation unit that calculates The approximation calculation model is repeatedly executed, and the second variable value X2 at the previous time (t-1) is calculated. (t-1) to the third variable value X3 at the current time t (t) A second calculation unit that calculates A simulation device comprising:

2. 2. The simulation device according to claim 1, wherein the approximation calculation model is a reduced-order model that represents the second sub-calculation model using a lower-dimensional sub-calculation model while retaining the characteristics of the behavior of the second sub-calculation model over time.

3. 2. The simulation device according to claim 1, wherein the approximation calculation model is a reduced-order model obtained by expressing a partial calculation model that integrates a delay calculation model that represents a communication delay that occurs in an input value of the second sub-calculation model when the calculation model is converted into the parallel model and the second sub-calculation model, using a lower-dimensional partial calculation model.

4. The approximation calculation model is the second variable value X2 of the input value of the second partial calculation model at the current time t when a simulation by sequential calculation processing of the target system is executed. (t) and the third variable value X3 of the output value of the second partial calculation model at the current time t (t) 2. The simulation device according to claim 1, wherein the learning model is generated in advance by learning a correspondence relationship between the

5. In order to compensate for a communication delay that occurs in the input value of the second sub-operation model when the operation model is converted into the parallel model, the approximation operation model converts the second variable value X2 (t-1) to the second variable value X2 at the current time t (t) 2. The simulation apparatus according to claim 1, wherein the second partial calculation model is added to an input side of the communication compensation model that predicts:

6. The communication compensation model is the second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model when a simulation is performed by sequential calculation processing of the target system. (t-1) and the second variable value X2 at the current time t (t) 6. The simulation device according to claim 5, wherein the learning model is generated in advance by learning a correspondence relationship between the

7. the target system is a vehicle system; The first calculation unit executes a simulation related to an engine included in the vehicle system and a control of the engine using the first partial calculation model; 2. The simulation device according to claim 1, wherein the second calculation unit executes a simulation relating to a transmission included in the vehicle system and a control of the transmission by using the second partial calculation model.

8. The computational model representing the target system further comprises: The third variable value X3 at the current time t (t) is used as an input value, and the fourth variable value X4 at the current time t (t) A third partial calculation model having an output value of The simulation device further comprises: The third partial calculation model is repeatedly executed, and the third variable value X3 at the current time t is calculated. (t) to the fourth variable value X4 at the current time t (t) 8. The simulation device according to claim 7, further comprising a third calculation unit for calculating:

9. 9. The simulation device according to claim 8, wherein the third calculation unit executes a simulation relating to a motion of the vehicle beyond the transmission included in the vehicle system by using the third partial calculation model.

10. First variable value X1 at previous time (t-1) (t-1) is used as an input value, and the second variable value at the current time t is used as an output value X2 (t) A first partial computation model: The second variable value X2 at the current time t (t) is used as an input value, and the third variable value X3 at the current time t (t) A second partial calculation model having an output value of A simulation method for converting a computational model including the following steps into a parallel model and executing a simulation of a target system represented by the computational model, the method comprising: The computer The second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) obtaining an approximate computational model for predicting The first partial calculation model is repeatedly executed, and the first variable value X1 at the previous time (t-1) is calculated. (t-1) to the second variable value X2 at the current time t (t) A first calculation step of calculating The approximation calculation model is repeatedly executed, and the second variable value X2 at the previous time (t-1) is calculated. (t-1) to the third variable value X3 at the current time t (t) A second calculation step of calculating A simulation method comprising:

11. First variable value X1 at previous time (t-1) (t-1) is used as an input value, and the second variable value at the current time t is used as an output value X2 (t) A first partial computation model: The second variable value X2 at the current time t (t) is used as an input value, and the third variable value X3 at the current time t (t) A second partial calculation model having an output value of A simulation program for converting a computation model including the above-mentioned formula into a parallel model and executing a simulation of a target system represented by the computation model, On the computer, The second variable value X2 at the previous time (t-1) of the input value of the second partial calculation model (t-1) to the third variable value X3 at the current time t of the output value of the second partial calculation model (t) An acquisition function for acquiring an approximate computation model for predicting The first partial calculation model is repeatedly executed, and the first variable value X1 at the previous time (t-1) is calculated. (t-1) to the second variable value X2 at the current time t (t) A first calculation function that calculates The approximation calculation model is repeatedly executed, and the second variable value X2 at the previous time (t-1) is calculated. (t-1) to the third variable value X3 at the current time t (t) A second calculation function that calculates A simulation program characterized by:

Citation Information

Patent Citations

  • Simulation method, system, and program

    JP2010086207A

  • Integrated simulation system and synchronous control method

    JP2010134722A

  • Simulation system, method, and program

    JP2010271755A

  • Method and apparatus for supporting simulation, and recording medium for storing simulation supporting program

    JP2010033567A