Computer program, information processing device, and information processing method

The use of a graph neural network to propagate physical quantities between meshes in fluid simulations addresses the inefficiency and accuracy issues of existing methods, providing fast and accurate fluid dynamics analysis for moving objects.

WO2025220493A1PCT designated stage Publication Date: 2025-10-23FURUNO ELECTRIC CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2025/013508
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-16
Filing Date
2025-04-02
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing fluid simulations require significant calculation time due to the need for a large number of meshes and often compromise accuracy to reduce this time.

Method used

A method using a learning model, specifically a graph neural network, to calculate the propagation of physical quantities between background and detailed meshes without recreating the meshes at each step, allowing for efficient calculation of fluid dynamics around moving objects.

Benefits of technology

This approach significantly reduces calculation time while maintaining accuracy by using a graph neural network to propagate physical quantities between meshes, enabling fast and precise simulation of fluid interactions with moving objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025013508_23102025_PF_FP_ABST
    Figure JP2025013508_23102025_PF_FP_ABST
Patent Text Reader

Abstract

[Problem] To provide a computer program, an information processing device, and an information processing method for improving calculation efficiency of fluid analysis. [Solution] This computer program causes a computer to calculate a temporal change in the physical quantity of a fluid accompanying movement of an object in the fluid. The computer program causes the computer to execute processing of: creating a background mesh and a detailed mesh; using a learning model trained so that when the physical quantity of the fluid at a first time point in each cell of the background mesh or the detailed mesh is input, the physical quantity is output in each cell at a second time point after a prescribed time; and calculating a temporal change in the physical quantity in a prescribed range of the fluid on the basis of connections of the background mesh and the detailed mesh, and the calculation using the learning model.
Need to check novelty before this filing date? Find Prior Art

Description

Computer program, information processing device, and information processing method.

[0001] The present invention relates to a computer program, an information processing device, and an information processing method for analyzing the movement of an object in a fluid.

[0002] Fluid simulation is a method for analyzing the movement of objects in a fluid. It involves generating a mesh (computational grid) for the fluid and repeatedly deriving the forces acting on each point, such as the Navier-Stokes equations, on a mesh-by-mesh basis. These fluid simulations are used, for example, to calculate the effects of fluids such as waves and wind on ships sailing on the ocean, and to use this information in ship hull design. Such fluid simulations require a large number of meshes and take a significant amount of calculation time.

[0003] In order to reduce the calculation time in a fluid simulation method, a technology has been proposed in which a predictive model using a neural network is used as a surrogate model for the fluid simulation (see, for example, Patent Document 1). Such a predictive model is trained so that when fluid state data at a first time point is input, the model outputs fluid state data at a second time point after a predetermined time has elapsed.

[0004] JP 2024-024557 A

[0005] Conventionally proposed surrogate models for fluid simulations sometimes have to accept a decrease in accuracy in order to reduce the time required. To maintain accuracy, the input state data must be converted into state data for a mesh that is finely divided three-dimensionally around the object, which ultimately requires a lot of time to generate the mesh.

[0006] The present disclosure aims to provide a computer program, an information processing device, and an information processing method that improve the computational efficiency of fluid analysis.

[0007] A computer program according to one aspect of the present disclosure is a computer program that causes a computer to calculate changes in a physical quantity of a fluid over time as an object moves within the fluid, the computer program causing the computer to: create a background mesh by dividing a predetermined range of the fluid into a mesh; create a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; and use a learning model that is trained to output the physical quantity of each cell at a second time point after a predetermined time when the physical quantity of the fluid at a first time point in the background mesh or in each cell of the detailed mesh is input; and execute a process of calculating changes in the physical quantity of the fluid over time based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

[0008] In one aspect, a learning model is applied to the mutual propagation of data between nodes in the Overset Method, which divides a fluid into a background mesh, which is a relatively large mesh unit, and a detailed mesh, which is a finely divided area around a moving object. The Overset Method separates the background mesh from the detailed mesh, and the method of cutting the background mesh and the detailed mesh does not need to be changed, so there is no need to recreate the mesh at each step, making calculations more efficient. In the overlapping area between the background mesh and the detailed mesh and their vicinity, physical quantities can be mutually influenced by calculations using connections and the learning model.

[0009] A computer program according to one aspect of the present disclosure causes the computer to perform a process of calculating the change over time in the physical quantity by moving the detailed mesh by a predetermined time step together with the movement of the object, connecting the background mesh and the detailed mesh after the movement, and propagating the physical quantity obtained by inputting the physical quantity in each cell of the background mesh into the learning model and the physical quantity obtained by inputting the physical quantity in each cell of the detailed mesh into the learning model between the background mesh and the detailed mesh after the connection, and repeating the connection and the operation.

[0010] In one aspect, the background mesh and the detailed mesh are connected and the calculation using the learning model is performed for each time step by inputting the connected mesh into the learning model. The connection and calculation are repeated during a predetermined time step in which the object is moved, but since the mesh is not regenerated and calculation is performed using the learning model, the processing speed for each time step is relatively high and efficient.

[0011] In a computer program according to one aspect of the present disclosure, the learning model is a graph neural network that inputs and outputs a graph described by edge data indicating relationships between nodes and feature values ​​of each node, and the nodes of the graph input and output to the graph neural network each correspond to cells of the background mesh and the detailed mesh, and the physical quantities of the corresponding cells may be associated with the nodes as the feature values.

[0012] In one aspect, the calculation is performed using a graph neural network (hereinafter referred to as a GNN (Graphical Neural Network)). When a background mesh and a detailed mesh that are cut in different ways are connected, the cut method of the mesh after connection may not be regular. In this regard, by adopting a GNN rather than a CNN (Convolutional Neural Network), the propagation of physical quantities between mesh cells is performed with high precision, and calculation efficiency is improved.

[0013] In a computer program according to one aspect of the present disclosure, the computer may be configured to perform the following processing to perform the connection process: define edges from nodes corresponding to cells of the background mesh near nodes of cells at the boundary of the detailed mesh to nodes of cells at the boundary of the detailed mesh; assign physical quantities at a first time point in each cell of the background mesh as features to nodes corresponding to cells of the background mesh after the connection; assign a graph to the learning model having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and obtain from the learning model the physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

[0014] In one aspect, a relationship is defined between cells of a background mesh located around a detailed mesh that moves with a moving object and cells at the boundary of the detailed mesh, and edge data indicating the defined relationship is provided to the GNN. Using the GNN, it is possible to improve processing speed while applying the influence of physical quantities of the cells of the background mesh, such as flow velocity and pressure, to the detailed mesh.

[0015] In a computer program according to one aspect of the present disclosure, the computer may be configured to perform the following processing to perform the connection process: define edges from nodes corresponding to cells of the detailed mesh to nodes near each node of the detailed mesh among nodes corresponding to cells of the background mesh located inside the detailed mesh; assign physical quantities at a first time point in each cell of the detailed mesh as features to nodes corresponding to cells of the detailed mesh after the connection; assign to the learning model a graph having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and acquire from the learning model the physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

[0016] In one aspect, a relationship is defined between cells of a background mesh located within the range of a detailed mesh that moves with a moving object and cells inside the detailed mesh, and edge data indicating the defined relationship is provided to the GNN. By applying the influence of physical quantities of the cells of the detailed mesh that accompany the movement of the object, such as flow velocity and pressure, to the background mesh, it is possible to improve processing speed and calculation accuracy without having to recreate the background mesh.

[0017] In one aspect of the computer program of the present disclosure, the object is a ship, a submarine, a surface drone, an undersea drone, a buoy, or a marine organism.

[0018] In one aspect, the object can be a ship, submarine, surface drone, underwater drone, buoy, or marine organism, or a completely submerged object in the ocean, such as an underwater drone. This allows for accurate and relatively fast calculation of physical quantities, such as the pressure exerted by seawater in the vast ocean. This allows for repeated trials of hull designs and energy settings to be loaded onto the hull, increasing the probability of success before conducting experiments, leading to improved development efficiency. The technology can be applied not only to hull design, but also to oceanographic analysis of the effects on other floating or moving objects on the ocean, as well as to the motion analysis of those objects themselves.

[0019] In the computer program according to one aspect of the present disclosure, the physical quantity includes at least one of pressure, flow velocity, and flow direction.

[0020] In one aspect, the physical quantities may also include the pressure, flow velocity, and flow direction of a fluid accompanying the movement of an object. This makes it possible to calculate the force acting on an object moving through a fluid such as water or air relatively quickly and with high accuracy.

[0021] In the computer program according to one aspect of the present disclosure, the physical quantity includes a ratio of air to liquid in each of the cells.

[0022] In one aspect, it becomes possible to accurately and relatively quickly calculate physical quantities such as the force exerted on an object by a fluid for an object that must take into account various conditions in which liquid and gas mix, such as a ship that is half submerged at sea.

[0023] In a computer program according to one aspect of the present disclosure, the shape of the detailed mesh is determined based on the shape of the object.

[0024] In one aspect, the shape of the detailed mesh is determined along the contour of the object, which allows for more accurate calculation of the distribution of physical quantities around the object.

[0025] A computer program according to one aspect of the present disclosure causes the computer to create an ultra-fine mesh by dividing the area further inward than the fine mesh at a density equal to or greater than that of the fine mesh, based on the position of the object in the fluid, move the fine mesh and the ultra-fine mesh by a predetermined time step along with the movement of the object, connect the background mesh to the fine mesh after the movement, connect the fine mesh to the ultra-fine mesh, and perform an operation to mutually exchange physical quantities obtained by inputting physical quantities in each cell of the fine mesh into the learning model and physical quantities obtained by inputting physical quantities in each cell of the ultra-fine mesh into the learning model between the fine mesh and the ultra-fine mesh after the connection, and perform a process of repeating the connection and the operation.

[0026] In one aspect, the detailed mesh may be further overlaid with a detailed mesh that divides the vicinity of the moving object at a similar density or higher. Tuning is possible by adding detailed meshes to be overlaid depending on the object's shape, scale, speed, required conditions, and accuracy, such as when only the immediate vicinity of the object needs to be detailed, or when the object is not a simple shape. The method is also highly extensible, allowing calculations to be performed using only the ultra-fine mesh using previous calculation results without recreating the mesh, and is expected to improve accuracy and calculation efficiency.

[0027] A computer program according to one aspect of the present disclosure may cause the computer to perform a process of moving the object and the detailed mesh based on physical quantities of each cell of the detailed mesh calculated by a corresponding calculation prior to the predetermined time step.

[0028] In one aspect, the detailed mesh moves in accordance with the movement of the object, and the conditions for the object's movement may be set in advance, but the force from the fluid may be reflected in the object's speed and direction of movement from the calculated physical quantities, which makes it possible to more accurately calculate subsequent changes in the physical quantities acting on the object.

[0029] A computer program according to one aspect of the present disclosure causes the computer to execute a process of displaying on a display unit a screen showing the time-dependent changes in the physical quantities of the fluid accompanying the movement of objects within the fluid, expressed using gradation for each cell of the background mesh and the detailed mesh.

[0030] In one aspect, it becomes possible to visually grasp the change over time in physical quantities calculated by connection and calculation for each cell of the background mesh and the detailed mesh.

[0031] An information processing device according to one aspect of the present disclosure is an information processing device that calculates changes in a physical quantity of a fluid over time as an object moves within the fluid, and includes a processing unit that performs a process of calculating changes in the physical quantity of the fluid over time based on the movement of an object within the fluid, using a learning model that is trained to output the physical quantity of each cell at a second time point after a predetermined time when the physical quantity of the fluid at a first time point in the background mesh or in each cell of the detailed mesh is input, and performing a process of calculating changes in the physical quantity of the fluid over time within the predetermined range based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

[0032] An information processing method according to one aspect of the present disclosure is an information processing method for calculating changes in a physical quantity of a fluid over time as an object moves within the fluid, the method comprising: dividing a predetermined range of the fluid into a mesh to create a background mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantity of each cell at a second time point after a predetermined time when the physical quantity of the fluid at a first time point in the background mesh or in each cell of the detailed mesh is input; and calculating the changes in the physical quantity of the fluid over time within the predetermined range based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

[0033] 1 is a block diagram showing the configuration of an information processing device of the present disclosure; FIG. 1 is a schematic diagram of a mesh created by the information processing device of the first embodiment; FIG. 2 is an explanatory diagram of graphs input and output to a learning model; FIG. 3 is a schematic diagram of a learning model; FIG. 4 is a flowchart showing an example of a calculation procedure of the first embodiment; FIG. 5 is a flowchart showing an example of a calculation procedure of the first embodiment; FIG. 6 is a flowchart showing an example of a connection processing procedure between a background mesh and a detailed mesh; FIG. 7 is a flowchart showing an example of a connection processing procedure between a background mesh and a detailed mesh; FIG. 8 is an explanatory diagram of calculation processing by an information processing device; FIG. 9 is an explanatory diagram of calculation processing by an information processing device; FIG. 10 is an explanatory diagram of calculation processing by an information processing device; FIG. 11 is an explanatory diagram of calculation processing by an information processing device; FIG. 12 is an explanatory diagram of calculation processing by an information processing device;

[0034] The present disclosure will be specifically described with reference to the drawings showing embodiments thereof.

[0035] 1 is a block diagram showing the configuration of an information processing device 1 according to the present disclosure. For simplicity, the information processing device 1 will be described as being configured with a single computer. However, the information processing device 1 may be configured to distribute processing among multiple computers, or the calculation portion may be performed by a separately prepared supercomputer. The information processing device 1 includes a processing unit 10, a storage unit 11, a communication unit 12, a display unit 13, and an operation unit 14.

[0036] The processing unit 10 includes one or more processors such as a central processing unit (CPU), a micro-processing unit (MPU), a graphics processing unit (GPU), etc. The processing unit 10 also includes a memory that is a temporary storage medium such as a static random access memory (SRAM) or a dynamic random access memory (DRAM).

[0037] The storage unit 11 is a relatively large-capacity non-volatile storage area such as a solid-state drive (SSD) or a hard disk drive. The storage unit 11 stores a program (program product) required for the processing unit 10 to execute processing, as well as reference setting data. The program product includes an information processing program P1, a learning model M1, mesh description data, and graph description data. The processing unit 10 functions as an information processing device 1 that calculates physical quantities in a fluid by executing calculations described below using the learning model M1 based on the information processing program P1.

[0038] The program product stored in the storage unit 11 may be an information processing program P9, a learning model M9, and various descriptive data stored in a computer-readable non-temporary storage medium 9, which are read by the processing unit 10 and stored in the storage unit 11. The information processing program P1 and the learning model M1 stored in the storage unit 11 may be downloaded by the processing unit 10 from a download server via the communication unit 12 and stored in the storage unit 11.

[0039] The communication unit 12 is a communication device that realizes communication. The communication unit 12 may be any of a network card for a wired LAN, a communication device that realizes carrier communication via a carrier network, an optical communication device, and a communication device compatible with a wireless network such as Wi-Fi or Bluetooth (registered trademark). The processing unit 10 can send a calculation request to an external supercomputer and receive a calculation result via the communication unit 12.

[0040] The display unit 13 uses a display such as a liquid crystal display or an organic EL (Electro Luminescence) display. The display unit 13 displays an analysis result screen including characters and images through processing by the processing unit 10. The display unit 13 may use a display with a built-in touch panel.

[0041] The operation unit 14 is a user interface such as a keyboard or a pointing device that accepts operations from the user. The operation unit 14 may be a touch panel built into the display of the display unit 13, or may be physical buttons. The operation unit 14 may be a voice input unit that accepts operations by voice using a voice recognition function. The operation unit 14 can notify the processing unit 10 of operation information by the user.

[0042] Fluid analysis by the information processing device 1 configured as described above will be described in detail. The fluids analyzed by the processing unit 10 of the information processing device 1 are seawater and air. The information processing device 1 performs analysis on a ship as an object moving through the fluid. The information processing device 1 of the present disclosure divides the sea surface on which the ship moves, i.e., the boundary between seawater and air, to create a mesh, calculates the physical quantities of each cell of the mesh, and simulates the forces acting on the ship from the calculated physical quantities. The fluid analysis described below can be applied not only to simulating the forces acting on the ship's hull, but also to analyzing the relationship between weather and sea conditions and the motion of the hull itself. In addition to simulating the forces acting on a ship, it may also be applied to simulating weather or sea conditions that affect objects floating on the sea.

[0043] FIG. 2 is a schematic diagram of a mesh created by the information processing device 1 of the first embodiment. FIG. 2 shows the division of a mesh created on the sea in a horizontal plane. The processing unit 10 of the information processing device 1 divides the sea within a predetermined range to be analyzed into a three-dimensional grid as shown in FIG. 2, and creates a mesh stacked vertically. The processing unit 10 creates a background mesh BM divided into relatively large cells, and a detailed mesh DM divided into more detailed areas than the background mesh BM around a ship moving on the sea. In FIG. 2, the background mesh BM is indicated by a dashed line, and the detailed mesh DM is indicated by a solid line. The detailed mesh DM moves relative to the background mesh BM together with the ship hull indicated by the symbol S in FIG. 2. As shown in FIG. 2, each cell of the background mesh BM is created to include the boundary between seawater and air. In the following process, the background mesh BM does not need to be recreated, and the detailed mesh DM is also moved and does not need to be recreated.

[0044] The processing unit 10 of the information processing device 1 performs a process of creating the background mesh BM and detailed mesh DM shown in Figure 2 for a predetermined range of the sea surface to be analyzed once, stores the background mesh BM data and the detailed mesh DM data in the storage unit 11, and executes the process described below. The processing unit 10 readably stores the created background mesh BM and detailed mesh DM in the storage unit 11 in association with identification data that identifies the target predetermined range of the sea surface. In the process described below, the processing unit 10 moves the detailed mesh DM relative to the background mesh BM based on the movement speed and movement direction of the ship, which are stored in advance as setting data in the storage unit 11.

[0045] The method of dividing the background mesh and the detailed mesh is not limited to the grid pattern shown in Figure 2. The detailed mesh may be defined with a predetermined width that follows the shape of the hull to be analyzed. This allows the calculation results of the physical quantities in each cell of the detailed mesh to be obtained more accurately as the forces acting on the hull.

[0046] The processing unit 10 of the information processing device 1 calculates the time change of physical quantities in each cell of the mesh generated as shown in Fig. 2 using a learning model M1. A graph neural network (GNN) is adopted as the learning model M1. The GNN is a model that learns to output a graph after the nodes are mutually influenced by the feature quantities when a graph described by edge data indicating the relationships between nodes and the feature quantities of each node is input.

[0047] 3 is an explanatory diagram of a graph input and output to the learning model M1. As shown in FIG. 3, the graph is represented by nodes and edges connecting the nodes. In FIG. 3, white circles indicate nodes, and directional arrows indicate the relationships between the nodes. In this disclosure, each node in the graph corresponds to the position of the center of gravity of a mesh cell, and the feature value of the node corresponds to the physical quantity of the cell. Edges are defined so that adjacent nodes are connected by their positions on the sea, and the physical quantities between the adjacent nodes influence each other.

[0048] In the first embodiment, the physical quantities of each cell, i.e., the node feature quantities, include flow velocity, pressure, flow direction, and the ratio of seawater to air. As shown in FIG. 2 , the seawater to air ratio is indicated as 5:5 or 6:4, for example, for the seawater and air contained in the cells of each mesh above the sea. This seawater to air ratio may be included as a physical quantity to accurately analyze the forces acting on a ship moving on the sea as an object moving in a fluid, taking into account the difference between the force from seawater acting on the submerged portion and the force from air acting on the surface portion. The ratio may be expressed as a percentage. In this way, calculations can be performed on objects that require consideration of various conditions, such as the mixing of liquid and gas. The physical quantities may also include data related to ocean conditions, such as water temperature and salinity.

[0049] 4 is a schematic diagram of the learning model M1. The learning model M1 has an input layer M11, an output layer M12, and an intermediate layer M13. The input layer M11 accepts input of graph description data (node ​​definitions, edge data, and feature values ​​corresponding to the nodes). The output layer M12 outputs the graph description data. The intermediate layer M13 includes a convolutional layer that convolves the feature values ​​of surrounding nodes, a pooling layer that aggregates data, an activation function that extracts feature values ​​from input values, and the like.

[0050] The input layer M11 of the learning model M1 receives a graph in which the physical quantities of each cell at a first time point are given as feature quantities of each node, as shown in Fig. 3. The output layer M12 of the learning model M1 outputs a graph in which the physical quantities of each cell at a second time point, a predetermined time later, are given as feature quantities of each node.

[0051] The intermediate layer M13 of the learning model M1 is trained based on the results of past calculations of physical quantities for each cell by numerical simulation. In other words, the intermediate layer M13 is trained to reproduce the physical quantities for each cell at each time point calculated by conventional fluid simulation. The intermediate layer M13 may also be trained to reproduce the pressure, flow velocity, and flow direction measured by marine measuring instruments. The intermediate layer M13 progresses its learning by updating parameters based on the difference between the graph output from the output layer M12 when input data of the learning data is input to the input layer M11 and the data after a predetermined time in the training data corresponding to the input data, or the result of calculating the evaluation function thereof. The learning process may be performed by a device for creating a model in advance before shipping the information processing device 1, or may be performed by the processing unit 10.

[0052] The predetermined time is set as a time equivalent to a time step in a conventional fluid simulation or an interval smaller than that.

[0053] In the example shown in Figure 4, the pressure at node #3 at the first time point in the input graph is input into learning model M1, and then changes to a value that influences each of the adjacent nodes #1, #2, #4, and #5, and is output as the pressure at node #3 at the second time point.

[0054] Fluid analysis using the trained learning model M1 thus trained will be described with reference to flowcharts 5 and 6. FIG. 5 and FIG. 6 are flowcharts showing an example of a calculation procedure according to the first embodiment.

[0055] The processing unit 10 of the information processing device 1 acquires data of the background mesh and the detailed mesh created for the sea area of ​​the analysis target area (step S101). The processing unit 10 sets an initial value for the number of repetitions N (step S102).

[0056] The processing unit 10 determines the position of the detailed mesh on the background mesh (step S103). In step S103, the processing unit 10 determines that the detailed mesh should be moved by the time step required as the accuracy of the analysis, based on the hull movement speed and movement direction stored as setting data in the storage unit 11. In step S103, the processing unit 10 determines coordinate data indicating the position of the detailed mesh by calculating it based on the coordinates indicating the position of each cell on the background mesh.

[0057] The processing unit 10 reads out the physical quantities of each cell of the background mesh (step S104). In step S104, the processing unit 10 reads out the physical quantities calculated in the previous time step. In step S104, if there are no physical quantities calculated in the previous time step, the processing unit 10 reads out the initial values ​​of each cell from the setting data.

[0058] The processing unit 10 creates a graph of the background mesh by providing the physical quantities of each cell read in step S104 as feature quantities for each node (step S105). The processing unit 10 provides the created graph to the learning model M1, and acquires the graph data after a predetermined time as the physical quantities of each cell of the background mesh (step S106).

[0059] The processing unit 10 uses the data on the positions of the detailed meshes determined in step S103 to execute mesh connection processing for propagating the influence of each cell of the background mesh to the cells of the detailed mesh (step S107). The connection processing will be described in detail later.

[0060] The processing unit 10 reads out the physical quantities of each cell of the detailed mesh acquired in step S101 (step S108). In step S108, the processing unit 10 reads out the physical quantities calculated in the immediately previous time step. In step S108, if there are no physical quantities calculated in the immediately previous time step, the processing unit 10 reads out the initial values ​​of each cell of the detailed mesh from the setting data.

[0061] The processing unit 10 creates a graph by assigning the physical quantities obtained in step S106 to nodes of the cells of the background mesh among the nodes of each cell of the mesh after the connection process, and assigning the physical quantities read out in step S108 to nodes of the cells of the detailed mesh (step S109). The processing unit 10 provides the created graph to the learning model M1, and acquires the data of the graph after a predetermined time as the physical quantities of each cell of the mesh after the connection process (step S110).

[0062] Next, the processing unit 10 uses the data on the positions of the detailed meshes determined in step S103 to execute mesh connection processing for propagating the influence of each cell of the detailed mesh to cells of the background mesh (step S111). The connection processing will be described in detail later.

[0063] The processing unit 10 creates a graph by assigning the physical quantities obtained in step S110 to nodes of each cell of the mesh after the connection process that correspond to cells of the detailed mesh, and assigning the physical quantities obtained in step S106 to nodes inside the detailed mesh that correspond to cells of the background mesh (step S112). The processing unit 10 provides the created graph to the learning model M1, and acquires data of the graph after a predetermined time as the physical quantities of each cell of the mesh after the connection process (step S113).

[0064] The processing unit 10 creates a graph by assigning physical quantities to nodes of each cell of the background mesh that are in the vicinity of the detailed mesh (step S114). In step S114, the processing unit 10 assigns the physical quantities acquired in step S113 to nodes of each cell of the background mesh that are located inside the detailed mesh. The processing unit 10 may assign the physical quantities updated in step S111 to nodes of each cell of the background mesh that are in the vicinity of nodes on the boundary of the detailed mesh.

[0065] The processing unit 10 provides the graph created in step S114 to the learning model M1, and acquires the data of the graph after a predetermined time as the physical quantity of each cell of the background mesh (step S115).

[0066] The processing unit 10 stores, among the physical quantities acquired in step S114, the physical quantities of the cells of the detailed mesh and the physical quantities of the cells of the background mesh acquired in step S115 (step S116). The processing unit 10 determines whether a calculation termination condition is met (step S117). The calculation termination condition is that the number of repetitions N reaches a predetermined value or more, or the position of the object goes outside the range of the background mesh acquired in step S101. If it is determined that the calculation termination condition is met (S117: YES), the processing unit 10 terminates the calculation process. The processing unit 10 may shift the range of the analysis target and execute the process again from step S101.

[0067] If it is determined that the calculation end condition is not satisfied (S117: NO), the processing unit 10 adds a predetermined number to the number of repetitions N (step S118), and returns the process to step S103.

[0068] Fig. 7 is a flowchart showing an example of a procedure for connecting a background mesh and a detailed mesh. The procedure shown in Fig. 7 corresponds to step S107 in Fig. 5 and shows an example of mesh connection processing for propagating the influence of each cell of the background mesh to cells of the detailed mesh.

[0069] The processing unit 10 selects boundary cells of the detailed mesh (step S201). For each boundary cell selected in step S201, the processing unit 10 selects nearby background mesh cells (step S202). In step S202, the processing unit 10 selects four nodes of background mesh cells surrounding the node corresponding to the boundary cell (see FIG. 10).

[0070] The processing unit 10 defines an edge from the node corresponding to the cell selected in step S202 to the node corresponding to the corresponding boundary cell (step S203). The processing unit 10 adds the defined edge data to the edge data connecting the nodes corresponding to the detailed mesh, thereby forming a mesh after the connection process in which the cell selected in step S201 is added to the cells of the detailed mesh (step S204). The processing unit 10 temporarily stores the mesh after the connection process (step S205), and returns the process to step S108 shown in Figure 5 to continue the process.

[0071] Fig. 8 is a flowchart showing an example of a procedure for connecting a background mesh and a detailed mesh. The procedure shown in Fig. 8 corresponds to step S111 in Fig. 6 and shows an example of mesh connection processing for propagating the influence of each cell of the detailed mesh to cells of the background mesh.

[0072] The processing unit 10 selects cells of the background mesh located inside the detailed mesh (step S301). For each cell selected in step S301, the processing unit 10 selects cells of the detailed mesh nearby (step S302). In step S302, the processing unit 10 selects four nodes surrounding a node corresponding to a cell of the background mesh located inside the detailed mesh from among the nodes of the cells of the detailed mesh (see FIG. 12).

[0073] The processing unit 10 defines an edge from the node corresponding to the cell selected in step S302 to the node for the corresponding cell of the background mesh (step S303). The processing unit 10 adds the defined edge data to the edge data connecting the nodes corresponding to the detailed mesh, thereby forming a mesh after the connection process in which the cell selected in step S301 is added to the cell of the detailed mesh (step S304). The processing unit 10 temporarily stores the mesh after the connection process (step S305), and returns the process to step S112 shown in Figure 6 to continue the process.

[0074] Next, the calculation process performed by the information processing device 1 will be described with reference to the graphs created at each step.

[0075] 9 shows the updating of the background mesh BM in steps S105-S106. The upper part of FIG. 9 illustrates the background mesh BM and the detailed mesh DM, and the lower part shows a graph corresponding to the background mesh BM to be updated and the updating process using the learning model M1.

[0076] In Fig. 9, the background mesh BM is shown at the top with a solid line, and the representative points (e.g., center of gravity) of each cell of the background mesh BM are shown with black circles. In Fig. 9, the detailed mesh DM is shown with a dashed line, and the representative points (e.g., center of gravity) of each cell of the detailed mesh DM are shown with white circles. Each cell has the pre-update physical quantities p (= pressure), f (= flow velocity), d (= flow direction), and r (= ratio of air to liquid). For visibility, the physical quantities of some cells are omitted in Fig. 9.

[0077] At the bottom of Figure 9, a graph with nodes corresponding to each cell of the background mesh BM is shown below the background mesh BM. The nodes are shown at positions corresponding to representative points of the background mesh BM and are numbered (#1 to #32). The graph corresponding to the background mesh BM defines edges connecting each node in a grid pattern. The processing unit 10 creates a graph such as that shown in Figure 9, in which the physical quantities of each cell are given as feature quantities of the nodes, and then describes edge data as a matrix as shown in Figure 3. It also describes matrix data of the feature quantities corresponding to each node, and provides these to the learning model M1. The learning model M1 outputs a graph represented by the feature quantities and edge data after a predetermined time. The processing unit 10 acquires these feature quantities as the physical quantities p', f', d', and r' of each cell of the background mesh BM.

[0078] Figure 10 is an explanatory diagram of steps S107-S110 and the process of connecting the background mesh BM and detailed mesh DM shown in the flowchart of Figure 7. Figure 10 shows an enlarged view of the detailed mesh DM and the surrounding background mesh BM among the cells and nodes shown in Figure 9. In Figure 10 as well, the representative points of each cell in the background mesh BM are indicated by black circles, the detailed mesh DM is indicated by dashed lines, and the representative points corresponding to each cell in the detailed mesh DM are indicated by white circles. Also in Figure 10, the representative points of the cells at the boundary of the detailed mesh are indicated by large white circles.

[0079] As shown in the upper part of Figure 10, the processing unit 10 selects four representative points of cells in the background mesh BM for each boundary cell of the detailed mesh DM, and defines and connects edges. The representative points may be selected by selecting four representative points that define a rectangle containing the representative point of the target boundary cell from among the rectangles defined by the representative points of the background mesh BM, or by selecting four representative points in order of shortest distance. Figure 10 shows only one of the boundary cells, but edges are defined for the other cells indicated by large white circles.

[0080] The center of Fig. 10 shows an outline of a graph corresponding to the selected representative points shown at the top. In Fig. 10, nodes corresponding to cells of the detailed mesh DM are assigned numbers (#33 to #56), and nodes corresponding to cells of the background mesh BM are assigned numbers corresponding to those in Fig. 9. In the graph created by the linking process, as shown in the center of Fig. 10, nodes corresponding to cells of the detailed mesh DM and, of the nodes corresponding to cells of the background mesh BM, nodes for which edges are defined with respect to nodes of the detailed mesh DM are extracted.

[0081] The arrows in Fig. 10 indicate the directions of the edges connecting the nodes included in the graph. At nodes #33 to #56, bidirectional edges are defined between adjacent nodes, and edges from nodes corresponding to cells in the extracted background mesh BM to nodes of cells at the boundary of the detailed mesh DM are defined in one direction.

[0082] The processing unit 10 assigns the physical quantities p', f', d', and r' after the update process shown in Fig. 9 as feature quantities to the nodes of the connected cells shown in the center of Fig. 10 that correspond to the cells of the background mesh BM. The processing unit 10 assigns the physical quantities p', f', d', and r' after the update process shown in Fig. 9 to the nodes of each cell of the fine mesh DM, which have been updated in the previous step or are the initial values ​​for those cells. 0 , f 0 , d 0 , r 0 Give.

[0083] 11 shows a graph output when the graph shown in FIG. 10 is given to the learning model M1. In the graph output from the learning model M1, as shown in FIG. 11, the physical quantity of each cell of the fine mesh DM is the physical quantity p 0 ´,f 0 ´,d 0 ´,r 0 The physical quantities of the background mesh BM may also be updated.

[0084] Fig. 12 is an explanatory diagram of steps S111-S113 and the process of linking the background mesh BM and the detailed mesh DM shown in the flowchart of Fig. 8. Like Fig. 10, Fig. 12 shows an enlarged view of the periphery of the detailed mesh DM. In Fig. 12 as well, the representative points (e.g., centers of gravity) of each cell of the background mesh BM are indicated by black circles, the detailed mesh DM is indicated by a dashed line, and the representative points of each cell of the detailed mesh DM are indicated by white circles. Also in Fig. 12, the representative points of the cells of the background mesh BM located inside the detailed mesh DM are indicated by large black circles.

[0085] 12 , the processing unit 10 selects representative points (indicated by large black circles) from among the cells of the background mesh BM that correspond to cells located inside the detailed mesh DM. The processing unit 10 selects four cells from among the representative points of the detailed mesh DM for the selected cell of the background mesh BM. The processing unit 10 identifies a rectangle formed by the representative points of the detailed mesh DM that includes the representative point of the selected cell of the background mesh BM inside, and selects cells that correspond to the four representative points of that rectangle. The processing unit 10 may select four representative points of cells of the detailed mesh DM in order of shortest distance from the representative point of the selected cell of the background mesh BM.

[0086] The center of Fig. 12 shows an outline of a graph corresponding to the selected representative points shown at the top. In Fig. 12, nodes corresponding to cells of the detailed mesh DM are assigned numbers corresponding to those in Fig. 11 (#33 to #56), and nodes corresponding to cells of the background mesh BM are assigned numbers corresponding to those in Fig. 9. In the graph created by the linking process, as shown in the center of Fig. 12, nodes corresponding to cells of the detailed mesh DM and, of the nodes corresponding to cells of the background mesh BM, nodes located inside the detailed mesh DM are extracted.

[0087] The arrows in Figure 12 indicate the directions of the edges connecting the nodes included in the graph. Nodes #33 to #56 have bidirectional edges defined between adjacent nodes. Edges from nearby cells of the detailed mesh DM to nodes numbered #6, #10, and #11, which correspond to cells of the background mesh BM located inside the detailed mesh DM, are defined in one direction.

[0088] The processing unit 10 assigns the physical quantities p', f', d', and r' acquired by the update in Fig. 9 as feature quantities to the nodes of the connected cells shown in the center of Fig. 12 that correspond to the cells of the background mesh BM. The physical quantities p', f', d', and r' acquired by the update in Fig. 9 are assigned to the nodes of the cells of the fine mesh DM as feature quantities. 0 ´,f 0 ´,d 0 ´,r 0 ´ is given.

[0089] 13 shows a graph that is output when the graph shown in FIG. 12 is given to the learning model M1. In the graph that is output from the learning model M1, the physical quantities of each cell of the background mesh BM are updated as physical quantities p", f", d", and r", as shown in FIG. 13. The physical quantities p of the fine mesh DM are 0 ´,f 0 ´,d 0 ´,r 0 ' may also be updated.

[0090] Fig. 14 shows the updating of the background mesh BM shown in steps S114 and S115. Fig. 14 illustrates the background mesh BM and the detailed mesh DM in the upper part, and shows a graph corresponding to the background mesh BM to be updated and the updating process using the learning model M1 in the lower part.

[0091] 14, the background mesh BM is shown by a solid line, and the representative points of each cell of the background mesh BM are shown by black circles. In FIG. 14, the detailed mesh DM is shown by a dashed line, and the representative points of each cell of the detailed mesh DM are shown by white circles.

[0092] At the bottom of Figure 14, a graph having nodes corresponding to each cell of the background mesh BM is shown below the background mesh BM. The nodes are shown at positions corresponding to representative points of the background mesh BM and are numbered (#1 to #32). The graph corresponding to the background mesh BM defines edges connecting each node in a lattice pattern. The processing unit 10 creates a graph such as that shown in Figure 14, in which the physical quantities of each cell are assigned as feature quantities of the node. Here, the cells corresponding to the nodes numbered 6, #10, and #11 are assigned physical quantities p", f", d", and r" by the process shown in Figure 13, and the physical quantities p", f", d", and r" after the update process of Figure 9 are assigned as feature quantities to each of the other nodes.

[0093] The processing unit 10 creates a graph as shown in FIG. 14 in which feature values ​​are assigned to each node, and provides this graph to the learning model M1. The learning model M1 outputs a graph represented by feature values ​​and edge data after a predetermined time. The processing unit 10 acquires these feature values ​​as physical quantities p''', f''', d''', and r''' of each cell of the background mesh BM.

[0094] The connection processing from Figures 9 to 14 and the calculation using the learning model M1 correspond to one time step, and the processing unit 10 of the information processing device 1 repeats the processing shown in Figures 5 and 6 for the number of time steps required for analysis.

[0095] 5 to 14 are merely examples, and the graph may be defined and then connected. Three cells may be selected as neighboring cells instead of four, and various selection methods may also be employed.

[0096] In this way, the overset method, which divides the fluid into a background mesh BM, which is obtained by dividing the fluid into relatively large mesh units, and a detailed mesh DM, which is obtained by dividing the area around the moving object into finer mesh units, eliminates the need to create a mesh each time, allowing for efficient calculations. By applying the learning model M1 using a GNN, the processing speed per time step is relatively high and efficient. Data exchange between the background mesh BM and the detailed mesh DM is also achieved by linking the meshes and updating physical quantities using the learning model M1, making calculations efficient.

[0097] The processing unit 10 of the information processing device 1 uses the results of storing (S116) the physical quantities of the cells of the background mesh BM and the fine mesh DM at each time step obtained by the processing procedures shown in Figures 5 to 14, and performs an analysis of a ship as an object moving in a fluid as follows.

[0098] 15 is a flowchart showing an example of an analysis processing procedure by the information processing device 1 of the first embodiment. After the calculation is completed, the processing unit 10 of the information processing device 1 executes the following processing upon receiving a command to display the results.

[0099] The processing unit 10 reads out the physical quantities calculated for the cells of the background mesh BM and the detailed mesh DM for each time step (step S401). The processing unit 10 creates a screen that displays the physical quantities of the cells of the background mesh BM and the detailed mesh DM with gradation for each time step (step S402).

[0100] The processing unit 10 displays the created screen on the display unit 13 (step S403). The processing unit 10 accepts the selection of a physical quantity (step S404) and switches to a screen of the selected physical quantity (pressure, flow velocity) (step S405). The flow direction is displayed by superimposing a line segment indicating the direction on the screen. The processing unit 10 repeats the processes of steps S404 and S405 until the screen display is completed.

[0101] FIG. 16 is an explanatory diagram of an example screen showing the analysis results. FIG. 16 shows a result screen 30 displayed on the display unit 13. As shown in FIG. 16, the result screen 30 shows physical quantities for each mesh cell using gradation. The result screen 30 includes a pull-down menu 33 for selecting the physical quantities to be displayed on the result screen 30. In the example screen shown in FIG. 16, the pressure for each cell is selected on the result screen 30, and the strength of the pressure is displayed using gradation. The result screen 30 includes a button 31 for advancing the time step and a button 32 for reversing the time step. Each time these buttons 31 and 32 are operated using the operation unit 14, the time step is switched (S405), and the results of the calculation for the other time step are displayed. The result screen 30 includes text 34 indicating the analysis results of the forces acting on the ship being analyzed for each time step.

[0102] As a result, efficient calculations using the learning model M1 enable the operator to grasp the distribution of forces acting from the fluid on the object being analyzed (ship) with the same accuracy as conventional fluid simulations.

[0103] In the first embodiment, the information processing device 1 performed analysis using a ship as the object moving in a fluid, but the above-mentioned analysis may also be performed using a submarine, a surface drone, an underwater drone, a buoy, or a marine organism other than a ship.

[0104] [Second Embodiment] In the second embodiment, the movement of a detailed mesh is performed using physical quantities calculated for each cell of the detailed mesh. The configuration of the information processing device 1 of the second embodiment is the same as the configuration of the information processing device 1 of the first embodiment. Therefore, except for the processing procedures described below, the common configurations are assigned the same reference numerals and detailed descriptions thereof will be omitted.

[0105] 17 and 18 are flowcharts showing an example of a calculation procedure according to the second embodiment. Among the processing procedures shown in Fig. 17 and Fig. 18, steps common to Fig. 5 and Fig. 6 of the first embodiment are assigned the same step numbers, and detailed descriptions thereof will be omitted.

[0106] In the second embodiment, the processing unit 10 of the information processing device 1 acquires data of the created background mesh and detailed mesh (S101), sets an initial value for the number of repetitions N (S102), and then executes the processing of step S131.

[0107] In step S131, the processing unit 10 determines whether the calculation is the first time (step S131), and if it is determined that it is the first time (S131: YES), places the detailed mesh at the initial position on the background mesh (step S132), and proceeds to step S104.

[0108] If the processing unit 10 determines in step S131 that the calculation is not the first time (S131: NO), it reads the physical quantities of each cell of the detailed mesh in the previous time step (step S133). The processing unit 10 calculates the movement direction and movement speed of the detailed mesh based on the pressure, flow velocity, and flow direction included in the physical quantities of each cell (step S134). In step S134, the processing unit 10 calculates the movement direction and movement speed of the ship from, for example, the velocity vector (speed and direction) given to the ship to be analyzed and the average of the pressure vectors and the average of the flow velocity vectors of each cell of the detailed mesh, and calculates these as the movement direction and movement speed of the detailed mesh. It is also possible to reflect only the pressure, flow velocity, and flow direction of the cells around the ship.

[0109] The processing unit 10 determines the position of the detailed mesh on the background mesh based on the calculated movement direction and movement speed (step S135), and proceeds to step S104.

[0110] In the second embodiment, the processing unit 10 adds a predetermined number to the number of repetitions N in step S118 (S118), and then returns the process to step S131.

[0111] This allows for a more accurate simulation of the behavior of the object being analyzed (here, the ship S). Because the detailed mesh moves in conjunction with the movement of the object, it is possible to reflect the force of seawater and air on the object's speed and direction of movement from the calculated physical quantities. This makes it possible to more accurately calculate changes in the physical quantities acting on the object.

[0112] [Third Embodiment] In the third embodiment, an ultra-fine mesh SDM is used in addition to a background mesh BM and a fine mesh DM. The configuration of the information processing device 1 of the third embodiment is the same as the configuration of the information processing device 1 of the first embodiment. Therefore, except for the processing procedures described below, the common configurations are denoted by the same reference numerals and detailed description thereof will be omitted.

[0113] FIG. 19 is a schematic diagram of a mesh created by the information processing device 1 of the third embodiment. Similar to FIG. 2 of the first embodiment, FIG. 19 shows the division of a mesh created on the sea in a horizontal plane. In the third embodiment, the processing unit 10 of the information processing device 1 creates a background mesh BM divided into relatively large cells, a fine mesh DM in which the area around a ship moving on the sea is divided more finely than the background mesh BM, and an ultra-fine mesh SDM in which the area further inward than the fine mesh DM is divided with respect to the position of the ship, with the density of the fine mesh DM or higher. In FIG. 19, the background mesh BM is indicated by a dashed line, the fine mesh DM is indicated by a solid line, and the ultra-fine mesh SDM is indicated by a thick solid line. The fine mesh DM and the ultra-fine mesh SDM move relative to the background mesh BM, along with the ship hull indicated by the symbol S. Because the ultra-fine mesh SDM has a relatively narrow range, it may be regenerated for each time step.

[0114] The processing unit 10 of the information processing device 1 performs a process once to create the background mesh BM, the fine mesh DM, and the super-fine mesh SDM shown in Fig. 19 for a predetermined range of the sea surface to be analyzed. The processing unit 10 stores the data of the background mesh BM, the data of the fine mesh DM, and the data of the super-fine mesh SDM in the storage unit 11.

[0115] In the third embodiment, the processing unit 10 not only updates (S110) the physical quantities using the learning model M1 after the connection process (S107) that affects the background mesh BM to the fine mesh DM, but also similarly executes a connection process that affects the fine mesh DM to the ultra-fine mesh SDM and provides a graph to the learning model M1 to update the physical quantities. The processing unit 10 similarly executes a connection process that affects the ultra-fine mesh SDM to the fine mesh DM and provides the connected graph to the learning model M1 to update the physical quantities, and then executes a connection process (S111) that affects the fine mesh DM to the background mesh BM and provides the graph to the learning model M1 to update the physical quantities (S113).

[0116] In this way, it is possible to improve accuracy by adding overlapping fine meshes when detailed information is needed only in the immediate vicinity of the hull, or when it is necessary to consider that the hull is not a simple shape but is movable.The method of overlapping fine meshes can be adjusted according to the object shape, scale, speed, and required conditions and accuracy, and previous calculation results can be used to perform calculations using only the ultra-fine mesh without having to recreate the mesh, making it highly scalable and expected to improve accuracy and calculation efficiency.

[0117] [Fourth Embodiment] In the fourth embodiment, a surrogate model is used as the trained learning model M1. The configuration of the information processing device 1 in the fourth embodiment is the same as the configuration of the information processing device 1 in the first embodiment. Therefore, except for the processing procedures described below, the common configurations are denoted by the same reference numerals and detailed descriptions thereof will be omitted.

[0118] 20 is a schematic diagram of a learning model according to the fourth embodiment. The intermediate layer M13 is trained to satisfy equations of motion such as the Navier-Stokes equations and the Euler equations. The intermediate layer M13 may also be trained to satisfy boundary conditions between the inside and outside of the computational space and boundary conditions of obstacles such as a ship's hull, in addition to the equations of motion. In other words, the intermediate layer M13 updates its parameters based on the results of calculations of evaluation functions based on the equations of motion and boundary conditions, and the learning process progresses. At this time, the input layer M11 receives input of a graph generated by simulating a past fluid simulation or spatial information. The output layer M12 outputs the results of calculations of evaluation functions based on the equations of motion and boundary conditions.

[0119] By performing fluid analysis using the trained learning model M1 trained in this manner, the amount of calculation can be reduced.

[0120] The embodiments disclosed above are illustrative in all respects and are not limiting. The scope of the present invention is defined by the claims, and includes all modifications within the meaning and scope of the claims. Forms obtained by appropriately combining the technical means disclosed in each embodiment are also included in the technical scope of the present invention.

[0121] Furthermore, independent claims and dependent claims described in the claims can be combined with each other in any and all combinations, regardless of the reference format. Furthermore, although the claims use a format in which a claim references two or more other claims (multiple claim format), this is not limited to this format. Multiple claims that reference at least one other multiple claim (multi-multi claim format) may also be used.

[0122] The following additional notes are provided regarding the above-described embodiment.

[0123] (Supplementary Note 1) A computer program that causes a computer to calculate changes in physical quantities of a fluid over time as an object moves within the fluid, the computer program causing the computer to perform the following processes: create a background mesh by dividing a predetermined range of the fluid into meshes; create a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; use a learning model that is trained to output the physical quantities of each cell at a second time point after a predetermined time when the physical quantities of the fluid at a first time point in each cell of the background mesh or the detailed mesh are input; and calculate the changes in the physical quantities of the fluid over time based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

[0124] (Supplementary Note 2) The computer program according to Supplementary Note 1, which causes the computer to execute a process of calculating a change in the physical quantity over time by moving the detailed mesh by a predetermined time step together with the movement of the object, connecting the background mesh and the detailed mesh after the movement, performing an operation to mutually propagate a physical quantity obtained by inputting a physical quantity in each cell of the background mesh into the learning model and a physical quantity obtained by inputting a physical quantity in each cell of the detailed mesh into the learning model between the background mesh and the detailed mesh after the connection, and repeating the connection and the operation.

[0125] (Supplementary Note 3) The computer program according to Supplementary Note 1 or 2, wherein the learning model is a graph neural network that inputs and outputs a graph described by edge data indicating relationships between nodes and feature values ​​of each node, and the nodes of the graph input and output to the graph neural network correspond to cells of the background mesh and the detailed mesh, respectively, and the physical quantities of the corresponding cells are associated with the nodes as the feature values.

[0126] (Supplementary Note 4) The computer program according to Supplementary Note 3, which causes the computer to perform the following processes as the connection process: define edges from nodes corresponding to cells of the background mesh near nodes of cells at the boundary of the detailed mesh to nodes of cells at the boundary of the detailed mesh; assign physical quantities at a first time point in each cell of the background mesh to nodes corresponding to cells of the background mesh after the connection as features; assign to the learning model a graph having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and obtain from the learning model physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

[0127] (Supplementary Note 5) The computer program according to Supplementary Note 3 or Supplementary Note 4, which causes the computer to perform the following processes as the connection process: define edges from nodes corresponding to cells of the detailed mesh to nodes near each node of the detailed mesh among nodes corresponding to cells of the background mesh located inside the detailed mesh; assign physical quantities at a first time point in each cell of the detailed mesh as features to nodes corresponding to cells of the detailed mesh after the connection; provide the learning model with a graph having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and obtain from the learning model physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

[0128] (Supplementary Note 6) The computer program according to any one of Supplementary Notes 1 to 5, wherein the object is a ship, a submarine, a surface drone, an underwater drone, a buoy, or a marine organism.

[0129] (Supplementary Note 7) The computer program according to any one of Supplementary Notes 1 to 6, wherein the physical quantity includes at least one of pressure, flow velocity, and flow direction.

[0130] (Supplementary Note 8) The computer program according to Supplementary Note 7, wherein the physical quantity includes a ratio of air to liquid in each of the cells.

[0131] (Supplementary Note 9) The computer program according to any one of Supplementary Notes 1 to 8, wherein the shape of the detailed mesh is determined based on the shape of the object.

[0132] (Supplementary Note 10) The computer program according to any one of Supplementary Notes 1 to 9, causing the computer to perform the following processes: create an ultra-fine mesh by dividing an area further inward than the fine mesh at a density equal to or greater than that of the fine mesh, based on the position of the object in the fluid; move the fine mesh and the ultra-fine mesh by a predetermined time step together with the movement of the object; connect the background mesh to the detailed mesh after the movement; connect the fine mesh and the ultra-fine mesh; perform an operation to mutually exchange physical quantities obtained by inputting physical quantities in each cell of the fine mesh into the learning model and physical quantities obtained by inputting physical quantities in each cell of the ultra-fine mesh into the learning model between the fine mesh and the ultra-fine mesh after the connection; and repeat the connection and the operation.

[0133] (Supplementary Note 11) The computer program according to any one of Supplementary Notes 1 to 10, which causes the computer to execute a process of moving the object and the detailed mesh based on a physical quantity of each cell of the detailed mesh calculated by a corresponding calculation before the predetermined time step.

[0134] (Supplementary Note 12) The computer program according to any one of Supplementary Notes 1 to 11, which causes the computer to execute a process of displaying on a display unit a screen in which a change in a physical quantity of the fluid over time accompanying a movement of an object within the fluid is represented by a gradation for each cell of the background mesh and the detailed mesh.

[0135] (Supplementary Note 13) An information processing device that calculates changes in physical quantities of a fluid over time as an object moves within the fluid, comprising: a processing unit that executes the following processes: creating a background mesh by dividing a predetermined range of the fluid into a mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantities of the fluid in each cell at a second time point after a predetermined time when the physical quantities of the fluid in each cell of the background mesh or the detailed mesh at a first time point are input; and calculating the changes in the physical quantities of the fluid over time based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

[0136] (Supplementary Note 14) An information processing method for calculating changes over time in physical quantities of a fluid due to the movement of an object within the fluid, the information processing method comprising the steps of: dividing a predetermined range of the fluid into a mesh to create a background mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantities in each cell of the background mesh or the detailed mesh at a second time point after a predetermined time when the physical quantities of the fluid at a first time point in each cell of the background mesh or the detailed mesh are input; and calculating the changes over time in the physical quantities in the predetermined range of the fluid based on the connection between the background mesh and the detailed mesh and calculations using the learning model. term

[0137] Not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, one skilled in the art will appreciate that a particular embodiment may be configured to operate to achieve or optimize one or more advantages as taught herein without necessarily achieving other objects or advantages as taught or suggested herein.

[0138] All processes described herein may be embodied and fully automated by software code modules executed by a computing system including one or more computers or processors. The code modules may be stored on any type of non-transitory computer-readable medium or other computer storage device. Some or all of the methods may be embodied in dedicated computer hardware.

[0139] Many other variations beyond those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain operations, events, or functions of any of the algorithms described herein may be performed in a different sequence, added, merged, or omitted entirely (e.g., not all described acts or events are necessary to execute an algorithm). Furthermore, in certain embodiments, operations or events may be performed in parallel rather than sequentially, e.g., via multithreading, interrupt processing, or multiple processors or processor cores, or on other parallel architectures. Furthermore, different tasks or processes may be performed by different machines and / or computing systems that may function together.

[0140] The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein may be implemented or executed by a machine such as a processor. The processor may be a microprocessor, but alternatively, the processor may be a controller, microcontroller, or state machine, or a combination thereof. The processor may include electrical circuitry configured to process computer-executable instructions. In another embodiment, the processor includes an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable device that performs logical operations without processing computer-executable instructions. A processor may also be implemented as a combination of computing devices, such as a combination of a digital signal processor (DSP) and a microprocessor, multiple microprocessors, one or more microprocessors in combination with a DSP core, or any other such configuration. Although described herein primarily with reference to digital technology, a processor may also include primarily analog elements. For example, some or all of the signal processing algorithms described herein may be implemented by analog circuitry or mixed analog and digital circuitry. The computing environment can include any type of computer system, including, but not limited to, a microprocessor, mainframe computer, digital signal processor, portable computing device, device controller, or computer system based on a computational engine within an appliance.

[0141] Unless otherwise specified, conditional language such as "can," "could," "would," or "potential" is understood within the context in which it is generally used to convey that certain embodiments include certain features, elements, and / or steps, while other embodiments do not. Thus, such conditional language does not generally imply that features, elements, and / or steps are required in any manner in one or more embodiments, or that one or more embodiments necessarily include logic for determining whether those features, elements, and / or steps are included in or performed in any particular embodiment.

[0142] Disjunctive language such as "at least one of X, Y, Z," unless specifically stated otherwise, is understood in its general context to indicate that an item, term, etc. can be either X, Y, Z, or any combination thereof (e.g., X, Y, Z). Thus, such disjunctive language does not generally imply that a particular embodiment requires at least one of X, at least one of Y, or at least one of Z, respectively, to be present.

[0143] Any process descriptions, elements, or blocks in the flow diagrams described herein and / or illustrated in the accompanying drawings should be understood as potentially representing modules, segments, or portions of code, comprising one or more executable instructions for implementing a particular logical function or element in the process. Alternative embodiments are included within the scope of the embodiments described herein, in which elements or functions may be performed out of order, substantially simultaneously, or in reverse order from that shown or described, depending on the functionality involved, as will be understood by those skilled in the art.

[0144] Unless otherwise expressly stated, numeral terms such as "one" should generally be construed to include one or more described items. Thus, phrases such as "one device configured to" are intended to include one or more listed devices. Such one or more listed devices may also be collectively configured to perform the recited reference. For example, "a processor configured to perform the following A, B, and C" may include a first processor configured to perform A and a second processor configured to perform B and C. Additionally, even if a specific number of enumerations of the introduced embodiments are explicitly recited, those skilled in the art should construe such enumerations to typically mean at least the recited number (e.g., the mere enumeration of "two enumerations" without other modifiers typically means at least two enumerations, or two or more enumerations).

[0145] In general, it will be appreciated by those skilled in the art that the terms used herein generally intend "non-limiting" terms (e.g., the term "including" should be interpreted as "including but not limited to at least," the term "having" should be interpreted as "having at least," the term "including" should be interpreted as "including, but not limited to," etc.).

[0146] For purposes of description, the term "horizontal" as used herein is defined as a plane parallel to the plane or surface of the floor of the area in which the described system is used or the plane in which the described method is performed, regardless of its orientation. The term "floor" can be interchanged with the terms "ground" or "water surface." The term "vertical / plumb" refers to a direction perpendicular / vertical to a defined horizontal line. Terms such as "upper," "lower," "below," "top," "side," "higher," "lower," "above," "over," "below," etc. are defined relative to the horizontal plane.

[0147] As used herein, the terms "attach," "connect," "mate," and other related terms, unless otherwise noted, should be interpreted to include detachable, movable, fixed, adjustable, and / or removable connections or couplings. Connections / couplings include direct connections and / or connections with intermediate structures between the two components described.

[0148] Unless otherwise expressly stated, as used herein, numbers preceded by terms such as "approximately," "about," and "substantially" are inclusive of the recited number and also refer to an amount close to the recited amount that performs the desired function or achieves the desired result. For example, "approximately," "about," and "substantially" refer to values ​​less than 10% of the recited numerical value, unless otherwise expressly stated. As used herein, features of the disclosed embodiments preceded by terms such as "approximately," "about," and "substantially" refer to features that have some variability that also perform the desired function or achieve the desired result for that feature.

[0149] Many variations and modifications may be made to the above-described embodiments, and these elements should be understood to be among other acceptable examples. All such modifications and variations are intended to be included within the scope of this disclosure and are protected by the following claims.

[0150] 1 Information processing device 10 Processing unit P1 Information processing program (computer program) M1 Learning model

Claims

1. A computer program that causes a computer to calculate changes in physical quantities of a fluid over time as an object moves within the fluid, the computer executing the following processes: creating a background mesh by dividing a predetermined range of the fluid into a mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantities of each cell at a second time point after a predetermined time when the physical quantities of the fluid at a first time point in each cell of the background mesh or the detailed mesh are input; and calculating the changes in the physical quantities of the fluid over time based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

2. The computer program according to claim 1, which causes the computer to execute the following process in a process of calculating the change in the physical quantity over time: moving the detailed mesh by a predetermined time step together with the movement of the object; connecting the background mesh and the detailed mesh after the movement; performing an operation to mutually propagate the physical quantity obtained by inputting the physical quantity in each cell of the background mesh into the learning model and the physical quantity obtained by inputting the physical quantity in each cell of the detailed mesh into the learning model between the background mesh and the detailed mesh after the connection; and repeating the connection and the operation.

3. The computer program according to claim 2, wherein the learning model is a graph neural network that inputs and outputs a graph described by edge data indicating the relationships between nodes and feature values ​​of each node, and the nodes of the graph input and output to the graph neural network correspond to cells of the background mesh and the detailed mesh, respectively, and the physical quantities of the corresponding cells are associated with the nodes as the feature values.

4. The computer program according to claim 3, which causes the computer to perform the following processes as the connection process: defining edges from nodes corresponding to cells of the background mesh that are near nodes of cells at the boundary of the detailed mesh to nodes of cells at the boundary of the detailed mesh; assigning physical quantities at a first time point in each cell of the background mesh to nodes corresponding to cells of the background mesh after the connection as features; assigning to the learning model a graph having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and obtaining from the learning model the physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

5. The computer program according to claim 3, which causes the computer to perform the following processes as the connection process: defining edges from nodes corresponding to cells of the detailed mesh to nodes near each node of the detailed mesh among nodes corresponding to cells of the background mesh located inside the detailed mesh; assigning physical quantities at a first time point in each cell of the detailed mesh as features to nodes corresponding to cells of the detailed mesh after the connection; providing the learning model with a graph having, as nodes, each cell of the background mesh and the detailed mesh after the connection to which the features have been assigned; and obtaining from the learning model the physical quantities at a second time point in each cell of the background mesh and the detailed mesh after the connection.

6. The computer program according to any one of claims 1 to 5, wherein the object is a ship, a submarine, a surface drone, an underwater drone, a buoy, or a marine organism.

7. The computer program according to any one of claims 1 to 5, wherein the physical quantity includes at least one of pressure, flow velocity, and flow direction.

8. The computer program according to claim 7, wherein the physical quantity includes a ratio of air to liquid in each of the cells.

9. A computer program according to any one of claims 1 to 5, wherein the shape of the detailed mesh is determined based on the shape of the object.

10. A computer program as claimed in any one of claims 2 to 5, which causes the computer to perform the following processes: create an ultra-fine mesh by dividing the area further inward than the fine mesh at a density equal to or greater than that of the fine mesh, based on the position of the object in the fluid; move the fine mesh and the ultra-fine mesh by a predetermined time step together with the movement of the object; connect the background mesh to the fine mesh after it has been moved; connect the fine mesh and the ultra-fine mesh; perform an operation to mutually exchange physical quantities obtained by inputting physical quantities in each cell of the fine mesh into the learning model and physical quantities obtained by inputting physical quantities in each cell of the ultra-fine mesh into the learning model between the fine mesh and the ultra-fine mesh after connection; and repeat the connection and the operation.

11. A computer program according to any one of claims 2 to 5, which causes the computer to execute a process of moving the object and the detailed mesh based on the physical quantity of each cell of the detailed mesh calculated by a corresponding calculation before the predetermined time step.

12. A computer program as claimed in any one of claims 2 to 5, which causes the computer to execute a process of displaying on a display unit a screen in which the time change in physical quantity of the fluid accompanying the movement of an object within the fluid is represented by a gradation for each cell of the background mesh and the detailed mesh.

13. An information processing device that calculates changes in physical quantities of a fluid over time as an object moves within the fluid, comprising: a processing unit that performs the following processes: creating a background mesh by dividing a predetermined range of the fluid into a mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantities of each cell at a second time point after a predetermined time when the physical quantities of the fluid at a first time point in each cell of the background mesh or the detailed mesh are input; and calculating the changes in the physical quantities of the fluid over time in the predetermined range based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

14. An information processing method for calculating changes in physical quantities of a fluid over time as an object moves within the fluid, the information processing method comprising the steps of: dividing a predetermined range of the fluid into a mesh to create a background mesh; creating a detailed mesh by dividing the periphery of the object into a mesh that is finer than the background mesh, based on the position of the object in the fluid; using a learning model that is trained to output the physical quantities of each cell at a second time point after a predetermined time when the physical quantities of the fluid at a first time point in each cell of the background mesh or the detailed mesh are input; and calculating the changes in the physical quantities of the fluid over time in the predetermined range based on the connection between the background mesh and the detailed mesh and calculations using the learning model.

Citation Information

Patent Citations

  • Simulating physical environments using fine-resolution and coarse-resolution meshes

    WO2023227586A1