Method, program, storage medium, device, and system for simulating particle group
Patent Information
- Application Number
- PCT/JP2025/040021
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2025-03-27
- Filing Date
- 2025-11-14
- Publication Date
- 2026-10-01
Smart Images

Figure JP2025040021_01102026_PF_FP_ABST
Abstract
Description
Method, program, storage medium, apparatus, and system for particle swarm simulation
[0001] The present disclosure relates to a method, program, storage medium, apparatus, and system for particle swarm simulation.
[0002] As a method for simulating the behavior of a particle swarm, the discrete element method (also referred to as the distinct element method: DEM: Discrete Element Method) is known. In this method, particles are first regarded as elements such as spheres. Next, contact and / or sliding between respective elements are calculated. Then, the motion of each element at each time point is tracked.
[0003] When simulating the behavior of a particle swarm in a container, various setting operations are required on a screen. Patent Document 1 discloses a method for setting a region where a particle swarm is arranged, and the like.
[0004] Furthermore, when simulating the behavior of a particle swarm, the behavior inside a rotating body may be simulated. Patent Document 2 discloses a simulation for analyzing the behavior of the powder inside a rotating body.
[0005] International Publication No. 2024 / 157503 Japanese Unexamined Patent Application Publication No. 2021-190060
[0006] Even with conventional methods, it is possible to simulate the behavior of a particle swarm caused by rotating a container and / or a rotating body inside the container. Various initial settings are performed to start the simulation, and these settings include the setting of a rotation axis. However, in setting the rotation axis, it was necessary to calculate numerical values related to the shape and existing position of the container or the rotating body, and input numerical values corresponding to the three-dimensional coordinates of the X-axis, Y-axis, and Z-axis.
[0007] Such calculation or numerical value setting imposes a heavy burden on the user, and there is a high possibility that the set numerical values or the like will be incorrect. If a simulation is executed based on an incorrect setting, there is a possibility of failure to obtain appropriate results. Such failure impairs the efficiency of the simulation work. Furthermore, from a technical point of view, the occurrence of the above failure leads to inefficient consumption of resources of the information processing apparatus that executes the program.
[0008] Therefore, this disclosure aims to provide a method for efficiently simulating the behavior of a group of particles.
[0009] To achieve the above objectives, this disclosure encompasses, in one aspect, the following inventions: (Invention 1) A method for simulating the behavior of a group of particles contained in a container, the method comprising: reading structural information, which includes at least one of the following: information about the structure of the container; information about the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; setting the axis of rotation of the container and / or the rotating body based at least on the structural information; and simulating the behavior of the group of particles under conditions of rotating the container and / or the rotating body, based at least on the axis of rotation. (Invention 2) The method of Invention 1, wherein the structural information includes information about the structure of the container; the step of setting the axis of rotation includes setting the axis of rotation of the container; and the simulating step is performed under conditions of rotating the container. (Invention 3) A method of Invention 2, wherein setting the rotation axis of the container includes calculating the center of gravity of the container based at least on information about the structure of the container. (Invention 4) A method of Invention 1, wherein the information about the structure includes information about the structure of the container and / or information about the structure of a rotating body that is at least partially present in the container, the step of setting the rotation axis includes setting the rotation axis of the rotating body, and the simulating step is performed under conditions that the rotating body is rotating. (Invention 5) A method of Invention 4, wherein setting the rotation axis of the rotating body includes calculating the center of gravity of the container based at least on information about the structure of the container and / or calculating the center of gravity of the rotating body based at least on information about the structure of the rotating body. (Invention 6) A method according to Invention 3 or 5, wherein setting the axis of rotation further comprises: receiving information indicating that the user has selected one of the three-dimensional coordinates, the X-axis, the Y-axis, and the Z-axis; and calculating the axis of rotation based at least on the selected information and the centroid position.(Invention 7) A method of Invention 3 or 5, wherein setting the axis of rotation further comprises: determining the longitudinal direction of the structure based on information of the structure; determining one of the three-dimensional coordinates X-axis, Y-axis, and Z-axis based on the longitudinal direction; and calculating the axis of rotation based at least on the determined axis information and the center of gravity position. (Invention 8) A method of Invention 4, wherein setting the axis of rotation of the rotating body comprises: dividing the rotating body into a plurality of regions; calculating the first center of gravity position in the first region of the plurality of regions; calculating the second center of gravity position in the second region of the plurality of regions; and setting the axis of rotation of the rotating body based at least on the first center of gravity position and the second center of gravity position. (Invention 9) A method according to Invention 1, wherein the information relating to the structure of the container includes information relating to the type of solid relating to the container and positional information relating to the container, and the step of setting the rotation axis includes setting the rotation axis based at least on the information relating to the type of solid and positional information relating to the container. (Invention 10) A method according to Invention 1, wherein the step of setting the rotation axis includes setting a computational domain which is a region in which the particle group can behave based at least on the information relating to the structure of the container, and setting the rotation axis based at least on the computational domain. (Invention 11) A method according to Invention 1, wherein the step of setting the rotation axis includes receiving input information from a user specifying a computational domain which is a region in which the particle group can behave, and setting the rotation axis based at least on the computational domain. (Invention 12) A method according to any one of Inventions 1 to 11, the method comprising the step of displaying a virtual image including an object representing the container, the image may include an object representing the rotating body, and the image may include an object representing the axis of rotation.(Invention 13) A method according to any one of Inventions 1 to 12, wherein the method comprises the step of displaying a virtual image including an object representing the container, the image may include an object representing the rotating body, and the image includes an object representing the center of gravity of the container or the rotating body. (Invention 14) A method according to any one of Inventions 1 to 13, wherein the axis of rotation is the axis of rotation of the rotational motion of the container and / or the rotating body. (Invention 15) A method according to any one of Inventions 1 to 13, wherein the axis of rotation is the axis of rotation of the orbital motion of the container and / or the rotating body. (Invention 16) A method according to any one of Inventions 1 to 13, wherein the step of setting the axis of rotation comprises setting the axis of rotation of the rotational motion of the container and / or the rotating body, and setting the axis of rotation of the orbital motion, at least based on the axis of rotation of the rotational motion. (Invention 17) A program for an information processing device equipped with a processor, which causes the processor to execute a method according to any one of Inventions 1 to 16 by instructing the processor. (Invention 18) A computer-readable non-temporary storage medium storing the program of Invention 17. (Invention 19) A system for simulating the behavior of a group of particles contained in a container, the system comprising at least one server and at least one terminal, the system being configured to perform the following steps: a step of reading structural information, including at least one of the following: - Information on the structure of the container; - Information on the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; a step of setting the rotation axis of the container and / or the rotating body based at least on the structural information; and a step of simulating the behavior of the group of particles under conditions of rotating the container and / or the rotating body based at least on the rotation axis.(Invention 20) An apparatus comprising a program that provides an interface for simulating the behavior of a group of particles contained in a container, wherein the interface is configured to read structural information including at least one of the following: - information on the structure of the container; - information on the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; and display the container and / or the rotating body set based at least on the structural information; and display the results of simulating the behavior of the group of particles under conditions of rotating the container and / or the rotating body at least based on the axis of rotation.
[0010] In one aspect, the above invention includes the step of setting the rotation axis of a container and / or rotating body based at least on information about the structure. In another aspect, the system of the above invention includes a server and / or terminal capable of performing these steps. This reduces the burden on the user, such as operations related to setting the rotation axis, and makes it possible to efficiently simulate the behavior of a group of particles.
[0011] An information processing device of the present disclosure in one embodiment is shown. A system of the present disclosure in one embodiment is shown. The system may include a plurality of terminals and at least one server. The terminals and the server may be connected via a network. A method of the present disclosure in one embodiment is shown. An interface of the present disclosure in one embodiment is shown. The interface may include an item for receiving a three-dimensional data file of a container (referred to as "3D data file" in Figure 4, and similarly in subsequent figures) and an item for receiving data of a group of particles. The interface may also include an item for displaying the container in three dimensions. A method for calculating the center of gravity in one embodiment is shown. An image including an object showing the state of the container in one embodiment is shown. The container is at least partially transparent, so that the internal structure of the container is visible. A stirring blade is present inside the container. A rotation axis is shown so as to penetrate the center of gravity of the container or stirring blade. A state in which the container or a rotating body revolves in one embodiment is shown. A state in which the container or a rotating body revolves in one embodiment is shown.
[0012] The following describes specific embodiments for carrying out the invention. The following description is intended to facilitate understanding of the invention and is not intended to limit the scope of the present invention.
[0013] 1. Outline In one embodiment, this disclosure relates to a method, program, storage medium, apparatus, and system for simulating a group of particles.
[0014] The applicable technical fields are not particularly limited and can be applied to any technical field that simulates the behavior of particle swarms.
[0015] The particle size is not particularly limited, and the methods and programs of this disclosure are applicable to particles of any size. For example, the particle size may be on the order of meters, millimeters, micrometers, or nanometers. In one embodiment, the particles of this disclosure are powders. The type of particles is also not limited, and the methods and programs of this disclosure may simulate the behavior of one group of particles or the behavior of two or more groups of particles. The number of particles is also not particularly limited. In one embodiment, the terms "particle" and "powder" as used herein are interchangeable. In one embodiment, the terms "particle" and "powder" as used herein may or may not include media. The media has the function of grinding another group of particles introduced into the container and / or facilitating their agitation. Therefore, in certain embodiments, simulation is included to predict the state in which the group of particles to be ground and / or agitated and the media coexist in the container.
[0016] The simulation algorithm may be based at least on the discrete element method (DEM).
[0017] 2. Environment for Executing the Program The environment for executing the program and method is not particularly limited, and a typical information processing device (also called a computing device) can be used. The information processing device (100) may typically include a processor (110), memory (120), non-temporary storage medium (130), and a communication module (140), as shown in Figure 1.
[0018] The information processing device (100) includes, but is not limited to, the following: a server, a personal computer, a tablet device, a smartphone, a smartwatch, smart glasses, etc.
[0019] The program is stored in a non-temporary storage medium (130, e.g., HDD, SSD, etc.), loaded into memory (120, e.g., RAM, etc.) as needed, and executed by a processor (110, e.g., CPU, etc.). If necessary, the program can connect to a network via a communication module (140) to send and receive information.
[0020] In one embodiment, the program may be installed as application software on an information processing device (100) and executed by the information processing device (100).
[0021] In another embodiment, the number of information processing devices (100) is not limited to one, and multiple information processing devices (100) may be used as needed. In that case, the functions of the program may be distributed among multiple information processing devices (100).
[0022] Alternatively, as shown in Figure 2, a system (200) configuration may be adopted in which a server (210) and a terminal (220) are interconnected via a network. In this system (200), the terminal (220) may receive input from a user and transmit at least a portion of the received input to the server (210). The server (210) may receive the input information transmitted from the terminal (220), process the information, and transmit a portion of the output to the terminal (220). The terminal (220) may then receive the output information transmitted from the server (210) and display it on the terminal (220).
[0023] Therefore, in another aspect, the Disclosure also relates to an information processing device including the Program of the Disclosure, and a system including the Information Processing Device. In yet another aspect, the Disclosure relates to terminals and / or servers constituting the System of the Disclosure. The internal configuration of the terminals and servers may be the same as that of the Information Processing Device shown in Figure 1. In yet another aspect, the Disclosure relates to a computer-readable non-temporary storage medium (e.g., HDD, SSD, flash memory, optical disk, etc.) storing the Program.
[0024] The information processing device described above may be connected to a display or the like as appropriate. The information processing device can then transmit signals to the display for displaying calculation results from a processor or the like on the display.
[0025] 3. Outline of the Method In one embodiment, the disclosure relates to a method for simulating the behavior of a particle swarm and a program for performing the method. The method comprises the following steps (Figure 3): A step of reading structural information, including at least one of the following: - Information about the structure of a container; - Information about the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the particle swarm when rotated; A step of setting the rotation axis of the container and / or the rotating body based at least on the rotation axis; A step of simulating the behavior of a particle swarm under conditions that the container and / or the rotating body rotates, at least based on the rotation axis.
[0026] In one embodiment, the structural information may include information about the structure of the container. The step of setting the rotation axis may include setting the rotation axis of the container. Furthermore, the simulation step may be performed under conditions in which the container is rotated.
[0027] In one embodiment, the structural information may include information about the structure of the container and / or information about the structure of a rotating body that is at least partially present within the container. The step of setting the axis of rotation may include setting the axis of rotation of the rotating body. Furthermore, the simulation step may be performed under conditions in which the rotating body is rotating.
[0028] The following details each step.
[0029] 3-1. Step to read structural information The step to read structural information is executed.
[0030] Here, "structure" means a solid material having a specific shape. For example, but not limited to, this includes one or more of the following: a container for containing a group of particles, and a rotating body that is at least partially present within the container. Here, the container may also include an open-system device (e.g., a screw feeder). The container may also include a container that indirectly contains a group of particles. For example, in Figures 7 and 8 described later, there is a small container that directly contains a group of particles and a large container that contains the small container. In this case, the large container may also be included in the containers that contain a group of particles.
[0031] Here, a “rotating body” may be anything that rotates around a specific axis. It is not limited to, but for example, a rotating body may include one or more of the following: agitators, screws, and cutting blades. Rotational motion is not limited to one direction. For example, rotational motion may include alternating clockwise and counterclockwise rotations.
[0032] Furthermore, the term "rotating body" does not preclude the function of containing a group of particles. Therefore, when the expression "rotating body B that is at least partially present in container A" is used, container A may be replaced with the term "first container," and rotating body B may be replaced with "second container."
[0033] Similarly, the term "container" does not exclude the function of rotational motion. Therefore, when the expression "a rotating body B that is at least partially present within container A" is used, container A may be replaced with the term "first rotating body," and rotating body B may be replaced with "second rotating body."
[0034] Information about a structure may include 3D data of the structure. The format of the 3D data of the structure is not particularly limited. Typically, the format of the 3D data of the structure may be a CAD file. Alternatively, the format of the 3D data of the structure may be a point cloud data format acquired by a 3D scanner. For example, the 3D data file of the structure may read files with the following extensions: ".model", ".CATPart", ".CATProdet", ".sldprt", ".sldasm", ".prt", ".asm", ".ipt", ".iam", ".x_t", ".x_b", ".xmt_txt", ".sat", ".sab", ".jt", ".dxf", ".d wg", ".dwf", ".igs", ".iges", ".stp", ".step", ".stl", ".obj", ".amf", ".3mf", ".wrl", ".vda", ".skp", ".3 dm,” “.rvt,” “.QIF,” “.ply,” “.anf,” “.pkg,” “.idf,” “.idb,” “.emn,” “.prt,” “.asat,” “.3dxml,” “.rsdoc,” and “.scdoc.”
[0035] The input of information about the structure and other information may be performed by the user. An interface for user input may be provided. For example, as shown in Figure 4, the interface may include an interface for specifying files stored locally or in the cloud. Furthermore, after loading the 3D data of the structure, an object representing the shape of the structure (e.g., a container) may be displayed on the user interface. Although not shown in Figure 4, an interface may also be provided for specifying a file for 3D data relating to the solid of revolution within the container, similar to the 3D data of the container. The 3D data of the container and the 3D data relating to the solid of revolution within the container may be separate data, or they may be the same data (e.g., data in a unified state).
[0036] 3-2. A step program for setting the rotation axis of a container and / or rotating body based at least on structural information sets the rotation axis of the container and / or rotating body based at least on structural information. The program may also output one or more candidate rotation axes to the display and set one rotation axis in response to a selection by the user. If the candidate rotation axis is inappropriate, the program can set an appropriate rotation axis in response to a correction input from the user.
[0037] Furthermore, the step of setting the axis of rotation may also include setting other information related to the rotational motion (e.g., rotational speed).
[0038] Specific examples of the process for setting the rotation axis of a container and / or rotating body, based at least on structural information, will be described later.
[0039] 3-3. Steps to simulate the behavior of a particle swarm under the condition that the container and / or rotating body rotates based at least on the axis of rotation After the axis of rotation is set, the process of simulating the behavior of the particle swarm is started. The container and / or rotating body rotates around the set axis of rotation. The behavior of the particle swarm may be based at least on the DEM. After simulating the behavior of the particle swarm, an image including an object showing the resulting state of the particle swarm in the container may be output to the display. In addition, various numerical values obtained as a result of simulating the behavior of the particle swarm (e.g., collision energy) may be output to the display.
[0040] 3-4. Other Steps Before or after the step of reading information about the structure, or in parallel with that step, a step of reading information related to the particle group and information related to the arrangement of the particle group may be performed. After the steps of reading information about the structure and reading information related to the particle group have been performed, a step of placing the particle group in the container may be performed. Note that the step of placing the particle group in the container may be performed before or after the step of setting the rotation axis.
[0041] Information on the particle group can include, for example, information relating to: the number of particles constituting the particle group, the weight of the particle group, or the volume of the particle group. Information on the particle group can further include, for example, information relating to: the weight of individual particles, the volume of individual particles, the shape of individual particles, information required for the DEM method (for example, the rolling friction coefficient of individual particles, the friction coefficient between individual particles, the friction coefficient between individual particles and the inner wall of a container, interparticle interactions acting on individual particles (for example, liquid bridge force)), the Poisson's ratio of individual particles, the Young's modulus of individual particles, and the like. Note that, with respect to weight and volume, either one may be changed to density.
[0042] Information relating to arrangement of the particle group can include, for example, information relating to: information on where the particle group is to be arranged (in other words, information on a location where the particle group is to be arranged), and information on how to arrange the particle group (for example, information relating to the array of the particle group, such as a simple cubic lattice, a face-centered cubic lattice, a random array, and the like).
[0043] As shown in Fig. 4, the interface may include items for inputting information and the like related to the particle group.
[0044] 4. Setting of the rotation axis of the container and / or rotating body As described above, the program can execute the step of setting the rotation axis of the container and / or rotating body based at least on information of the structure. Here, the setting of the rotation axis may be performed semi-automatically or automatically. "Automatically" means that the setting of the rotation axis is performed without involvement of an input from a user after information of the structure is read. On the other hand, "semi-automatically" means that the setting of the rotation axis is performed so that an input from a user after information of the structure is read can be involved. For example, the program may present a plurality of candidate rotation axes to the user, and the user may select from the plurality of candidate rotation axes. Alternatively, the user may be given an opportunity to correct the rotation axis determined and set by the program.
[0045] Hereinafter, several specific examples will be described regarding how the program sets the rotation axis of the container and / or rotating body based at least on information of the structure.
[0046] 4-1. Setting of Rotation Axis Based on Center of Gravity
[0047] As used herein, the term "rotation axis" may be the rotation axis for rotational motion on its own axis, or may be the rotation axis for orbital motion. Further, the rotation axis for rotational motion on its own axis may be the rotation axis for rotational motion of the container, and / or may be the rotation axis for rotational motion of the rotating body. Alternatively, the rotation axis for orbital motion may be the rotation axis for orbital motion of the container, and / or may be the rotation axis for orbital motion of the rotating body. Typically, the rotation axis is the axis for rotational motion on its own axis. Although there are exceptions, normally, the rotation axis for rotational motion on its own axis often passes through the center of gravity of the rotating object in most cases. Further, regarding the orbital axis, for example, the orbital axis of the rotating body inside the container may correspond to the rotation axis of the container itself on its own axis.
[0048] 4-1-1. Rotation Axis of Container In one embodiment, setting the rotation axis (for example, the rotation axis on its own axis) of the container may include calculating the position of the center of gravity of the container based at least on information of the structure of the container.
[0049] There is no particular limitation on the method for calculating the position of the center of gravity of the container based at least on information of the structure of the container. Without limitation, for example, the position of the center of gravity can be calculated by a method similar to the method for calculating the centroid of a two-dimensional figure. For example, it can be calculated by a program according to the following method: ・Convert the information on the structure of the container into polygon information (if the information is already polygon information from the beginning, this conversion can be omitted). ・Calculate the center of gravity of each polygon from the vertex information of each polygon. ・Calculate the area of each polygon from the vertex information of each polygon. ・Divide the sum of the product of the center-of-gravity coordinates of each polygon multiplied by the area of each polygon by the total area of all polygons to calculate the center-of-gravity coordinates of all polygons. The center-of-gravity coordinates of all polygons calculated by the above method correspond to the position of the center of gravity of the container.
[0050] 4-1-2. Rotation Axis of Rotating Body In one embodiment, setting the rotation axis of the rotating body may include any one or more of the following. (A) calculating the position of the center of gravity of the container based at least on information of the structure of the container; (B) calculating the position of the center of gravity of the rotating body based at least on information of the structure of the rotating body
[0051] In one example, if a rotating body revolves around a container, the rotation of the rotating body may depend on the rotation of the container, or even if the container does not rotate, the rotation of the rotating body may depend on the axis of revolution passing through the center of gravity of the container. In another example, if the rotating body rotates, the axis of rotation may depend on the center of gravity of the container. In this case, the axis of rotation of the rotating body can be set by calculating the center of gravity of the container based on (A) above.
[0052] In another example, if a rotating body is undergoing rotational motion, it may depend on the axis of rotation passing through the center of gravity of the rotating body. In this case, the axis of rotation of the rotating body can be determined by calculating the center of gravity of the rotating body based on (B) above.
[0053] The method for calculating the center of gravity of a rotating body is not particularly limited, and the center of gravity of a rotating body may be calculated using the same method as the method for calculating the center of gravity of a container described above.
[0054] 4-1-3. Setting the axis of rotation from the center of gravity (Part 1, User specification) In further embodiments, setting the axis of rotation may include: receiving information indicating that the user has selected one of the three-dimensional coordinates, the X axis, the Y axis, and the Z axis; and calculating the axis of rotation based at least on the selected information and the center of gravity.
[0055] The axis of rotation is represented by a straight line, while the center of gravity is represented as a point. Therefore, the axis of rotation cannot be uniquely determined using only the center of gravity. This is because there are infinitely many straight lines that pass through the center of gravity.
[0056] After calculating the center of gravity, the program may output an item to the display via the user interface, allowing the user to select one of the X, Y, or Z axes.
[0057] After receiving the information selected by the user (X-axis, Y-axis, or Z-axis), the program calculates the axis of rotation based at least on the selected information and the center of gravity position. For example, if the Y-axis is selected, the program can calculate a straight line that passes through the center of gravity point and is parallel to the Y-axis, and set this line as the axis of rotation.
[0058] With some exceptions (for example, a mixer container tilted at an angle), rotational motion is typically performed based on an axis of rotation parallel to one of the X, Y, or Z axes. The user can set the axis of rotation by simply selecting one of the X, Y, or Z axes, thus reducing the user's operational burden.
[0059] The program may also output an item to the display that allows the user to select an axis other than the X, Y, or Z axis. If an arbitrary axis is selected, an item to further specify the direction of the rotation axis may also be output to the display. This allows the rotation axis to be set in exceptional cases, such as a mixer container tilted at an angle.
[0060] 4-1-4. Setting the axis of rotation from the center of gravity (Part 2, Specification by program, etc.) In the previous section, "4-1-3. Setting the axis of rotation from the center of gravity," the X, Y, and Z axes are specified by the user. However, in another embodiment, setting the axis of rotation may include the following: - Determining the longitudinal direction of the structure based on the structure's information; - Determining one of the three-dimensional coordinates, the X, Y, and Z axes, based on the longitudinal direction; - Calculating the axis of rotation based at least on the determined axis information and the center of gravity.
[0061] The container or rotating body has a specific shape. In certain examples, the axis of rotation may be parallel to the longitudinal direction of the container or rotating body.
[0062] For example, the longitudinal direction can be calculated programmatically using the following method: • Convert the structural information of the container or rotating body into polygon information (this conversion can be omitted if the information is already in polygon format). • Calculate the normal vector of each polygon. • Perform principal component analysis on the normal vectors of each polygon.
[0063] After calculating the longitudinal direction, a straight line passing through the center of gravity and parallel to the longitudinal direction can be calculated, and this line can be set as the axis of rotation.
[0064] The following example describes a cylindrical container. The sides of the cylinder are curved. Therefore, the normal vectors associated with each side will be in various directions. On the other hand, the top and bottom faces of the cylinder have normal vectors in the same direction. When the normal vectors of all the polygon faces of the cylinder are aggregated, the direction of the normal vectors of the top and bottom faces will be greater than the direction of the normal vectors associated with the sides. This allows us to calculate the longitudinal direction.
[0065] 4-1-5. Setting the axis of rotation from the center of gravity (Part 3, setting based on two center of gravity positions) In one embodiment, setting the axis of rotation of a rotating body may include the following: - Dividing the rotating body into multiple regions - Calculating the first center of gravity position in the first region of the multiple regions - Calculating the second center of gravity position in the second region of the multiple regions - Setting the axis of rotation of the rotating body based at least on the first center of gravity position and the second center of gravity position.
[0066] For example, the stirring blades shown in Figure 5 may be positioned at an angle to the container. In this case, the axis of rotation will be at an angle, and it will not be parallel to any of the X, Y, or Z axes.
[0067] In this case, the rotating body is divided into multiple regions. The method of division is not particularly limited; it may be simply divided into two, three, or more equal parts along the longitudinal direction. Subsequently, several regions are extracted, and the centroid position of each region is calculated. The method of calculating the centroid position is not particularly limited; for example, it may be calculated using the method described above (see, for example, "4-1-1. Rotation axis of the container").
[0068] For example, as shown in Figure 5, the center of gravity is calculated from two different regions. Then, a straight line passing through the two center of gravity locations can be calculated. This straight line can be set as the axis of rotation. If the center of gravity is calculated from three or more regions, the axis of rotation may be set by calculating the average angle of the straight lines derived from each pair of center of gravity locations.
[0069] 4-2. Setting the axis of rotation based on the type of solid In the above method, the axis of rotation is set based on the center of gravity. However, it is also possible to set the axis of rotation without calculating the center of gravity. In one embodiment, the information on the structure of the container may include information on the type of solid relating to the container and positional information relating to the container. In this embodiment, the step of setting the axis of rotation may include setting the axis of rotation based at least on information on the type of solid and positional information relating to the container.
[0070] For example, rules may be set so that a specific axis of rotation is set by specifying the type of solid. The type of solid is not particularly limited, but may include, for example, one or more of the following: polygonal prisms (e.g., cuboids, e.g., cubes), cylinders, pyramids, cones, spheres, hemispheres, etc. For example, in the case of a cylinder, rules may be set to set the axis of rotation to a line passing through the centers of the circles on the top and bottom surfaces. Alternatively, in the case of a pyramid, rules may be set to set the axis of rotation to a line passing through the centroid of the base and the vertex of the pyramid. In the case of a hemisphere, a line passing through the center of the circular base and perpendicular to the base may be set as the axis of rotation. In the case of a sphere, a line passing through the center of the sphere and parallel or perpendicular to the direction of gravity may be set as the axis of rotation.
[0071] By pre-setting these rules and allowing the user to specify the type of 3D object, the rotation axis can be configured. Alternatively, instead of the user specifying the type of 3D object, the system can receive information about the structure and automatically determine the type of 3D object using machine learning or other means.
[0072] When a container and its internal structures are integrated into a single 3D model, attempting to calculate the center of gravity from that data may result in a center of gravity position that is not actually the container's center of gravity. However, the method described above can reduce this possibility.
[0073] 4-3. Setting the rotation axis based on the computational domain In one embodiment, the step of setting the rotation axis may include: - Setting the computational domain, which is the region in which the particle group can behave, based at least on information about the structure of the container; and - Setting the rotation axis based at least on the computational domain.
[0074] In another embodiment, the step of setting the axis of rotation may include: receiving user input information specifying a computational domain which is a region in which the particle swarm can behave; and setting the axis of rotation based at least on the computational domain.
[0075] The calculation domain may be defined based at least on information about the container structure, or based on user input. In both of the embodiments described above, the axis of rotation is defined at least based on the calculation domain. The calculation domain is typically defined in the shape of a rectangular parallelepiped.
[0076] When based on user input, for example, the calculation area can be defined by specifying a particular range through the interface (for example, by the user dragging the mouse).
[0077] If the settings are based at least on information about the container structure, they can be set programmatically in the following way, for example: - Set the minimum size of the rectangular parallelepiped that encloses the container or rotating body. - Further increase the size of the rectangular parallelepiped by the radius of the particles (e.g., the smallest particles).
[0078] After the calculation area is set, the centroid position of the set rectangular prism is calculated. Then, a line passing through the centroid position and parallel to the X, Y, or Z axis can be set as the axis of rotation. The X, Y, or Z axis can be selected using the method described above (see "4-1-3. Setting the axis of rotation from the centroid position (Part 1, User specification)" and "4-1-4. Setting the axis of rotation from the centroid position (Part 2, Program specification, etc.)").
[0079] The methods described above for calculating the center of gravity and the axis of rotation are merely examples, and these can also be calculated using other methods. For example, a pre-trained model, different from the rule-based method described above, could be used to calculate the center of gravity (or the axis of rotation) by inputting structural information.
[0080] 5. Preview Display In one embodiment, the method may include the step of displaying a virtual image (e.g., outputting it to a display) that includes an object representing a container. For example, the image can be displayed through the interface shown in Figure 4. The image may be a still image or a video. In the case of a video, it may be displayed rotating around a set axis of rotation.
[0081] As shown in Figure 6, the image may include an object representing a rotating body, and may also include an object representing the axis of rotation. Alternatively, in addition to the above, the image may include an object representing the center of gravity of the container or rotating body.
[0082] These display steps may be performed in response to user interaction (e.g., clicking the "Preview" button), or they may be performed automatically after the step of setting the rotation axis has been completed.
[0083] By displaying the image, the user can visually confirm the following points: whether the rotation axis has been set correctly, whether the center of gravity has been determined correctly, and / or whether the X, Y, and Z axes have been set correctly.
[0084] 6. Setting the axis of revolution In one embodiment, the step of setting the axis of rotation may include: setting the axis of rotation for the rotational motion of the container and / or rotating body; and setting the axis of rotation for the revolution at least based on the axis of rotation for the rotational motion.
[0085] For example, let's explain using the container and rotating body shown in Figure 7. In Figure 7, there is a large container (corresponding to a rotating body) that rotates around its axis of rotation. Inside the large container is a small container. Here, the small container is located away from the center of gravity of the large container. Therefore, when the large container rotates, the small container revolves around it.
[0086] Here, the axis of rotation for the rotational motion of the large container can be set using the method described above. Next, once the axis of rotation for the rotational motion of the large container is determined, the axis of revolution for the small container can be determined.
[0087] Note that the example shown in Figure 7 does not preclude the setting of a different axis of rotation. For example, as shown in Figure 8, the small container itself may also rotate. Furthermore, the axis of rotation for orbital motion and the axis of rotation for rotational motion do not need to be parallel. In the example shown in Figure 8, the axis of rotation for orbital motion can be set in the same way as in the example shown in Figure 7, and furthermore, the axis of rotation for the rotational motion of the small container can be set using the method described above.
[0088] 7. System The methods and programs described above may be executed by, for example, a single information processing device. However, in another embodiment, as mentioned in "2. Environment for Executing the Program" (particularly as mentioned in Figure 2), some processing may be executed by a server and other processing may be executed by a terminal.
[0089] Therefore, in one embodiment, the present disclosure relates to a system for simulating the behavior of a group of particles contained in a container.
[0090] In one example, the server and the terminal may each have modules for performing their respective processes. Here, a module may be a virtual component realized by a combination of a processor and a program (for example, a function, method, class, etc. that has a specific function).
[0091] For example, the module may perform at least the following steps: (A) reading information about a structure, including at least one of the following: - information about the structure of a container; - information about the structure of a rotating body that is at least partially present in the container, where the rotating body is capable of moving a group of particles when it rotates; (B) setting the axis of rotation of the container and / or the rotating body, at least based on the information about the structure; (C) simulating the behavior of a group of particles under conditions that the container and / or the rotating body rotate, at least based on the axis of rotation.
[0092] For example, if (A) and (B) are executed on the terminal side and (C) is executed on the server side, the terminal may be equipped with a module for executing (A) and (B), and the server may be equipped with a module for executing (C).
[0093] For example, if (A) above is executed on the terminal side and (B) and (C) above are executed on the server side, the terminal may be equipped with a module for executing (A), and the server may be equipped with modules for executing (B) and (C).
[0094] The terminal may include a module for displaying the various types of information described in the embodiments described above. The terminal may also include a module for receiving the various types of information entered by the user, as described in the embodiments described above, and optionally for sending it to the server. For example, the terminal may include a module for sending the information read in (A) above to the server. For example, the terminal may include a module for sending the rotation axis information set in (B) above to the server.
[0095] The server may include a module for sending various information to the terminal. For example, the server may include a module for sending information regarding the execution results of (B) and / or (C) above to the terminal.
[0096] 8. Information Processing Device In one embodiment of the Information Processing Device, the Disclosure may include a device comprising a program that provides an interface for simulating the behavior of a group of particles contained in a container. The program may, but is not limited, be in HTML format, for example. The HTML may be dynamically generated on the server side and transmitted to the terminal. The HTML may then be displayed on the terminal's display through browser software or the like.
[0097] The interface may be configured to enable the following operations: to read information about a structure, including at least one of the following: information about the structure of a container; information about the structure of a rotating body that is at least partially present within the container, where the rotating body is capable of moving a group of particles when rotated; to display the container and / or rotating body configured at least based on the information about the structure; and to display the results of simulating the behavior of a group of particles under conditions that the container and / or rotating body rotate at least based on the axis of rotation.
[0098] The interface may be configured to display the various types of information described in the embodiments described above. The interface may also be configured to receive the various types of information entered by the user, as described in the embodiments described above, and, if necessary, to send it to the server. Furthermore, the interface may be configured to allow the user to upload a file defining the structure (for example, a CAD file) to read information about the structure.
[0099] After the rotation axis has been set using the method described above, the container and / or the body of revolution may be displayed as a result of the setting. For example, as shown in Figure 4, the container and / or the body of revolution may be displayed as virtual objects within the interface. In this case, as visual aid, the rotation axis may be represented by a straight line and superimposed on the virtual object.
[0100] Furthermore, the interface may display not only virtual objects of the container and / or the rotating body, but also objects indicating their centers of gravity.
[0101] Although not shown in the diagram, the interface may include an object that triggers the execution of the simulation. After the user has finished setting the simulation conditions, including the rotation axis, the simulation is executed by manipulating this object (for example, by clicking a button). The simulation may be executed on the terminal side or on the server side. The results of the simulation are displayed on the interface. Here, the simulation results or data related thereto may include information about the position of each particle in three-dimensional spatial coordinates at each time. Therefore, displaying the results of simulating the behavior of a group of particles may include visually reproducing the behavior of each particle within the interface (for example, by playing a video).
[0102] The above describes specific embodiments of the invention. The above embodiments are merely examples, and the present invention is not limited to these embodiments. For example, the technical features disclosed in one of the above embodiments can be applied to other embodiments. Also, unless otherwise specified, for a particular method, it is possible to change the order of some steps and other steps, and further steps may be added between two specific steps. The scope of the present invention is defined by the claims.
[0103] Potential Contribution to the SDGs: According to one embodiment of this disclosure, efficient operation in particle swarm simulations using an information processing device may lead to energy savings. Energy savings indirectly contribute to the reduction of greenhouse gases. Therefore, one embodiment of this disclosure may contribute to Goal 13 of the United Nations Sustainable Development Goals (SDGs), "Take urgent action to combat climate change and its impacts."
Claims
1. A method for simulating the behavior of a group of particles contained in a container, the method comprising: reading structural information, which includes at least one of the following: information about the structure of the container; information about the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; setting the rotation axis of the container and / or the rotating body based at least on the structural information; and simulating the behavior of the group of particles under conditions of rotating the container and / or the rotating body, based at least on the rotation axis.
2. The method of claim 1, wherein the information of the structure includes information of the structure of the container, the step of setting the axis of rotation includes setting the axis of rotation of the container, and the step of simulating is performed under conditions of rotating the container.
3. The method of claim 2, wherein setting the rotation axis of the container includes calculating the center of gravity of the container based at least on information about the structure of the container.
4. The method of claim 1, wherein the information of the structure includes information of the structure of the container and / or information of the structure of a rotating body that is at least partially present in the container, the step of setting the axis of rotation includes setting the axis of rotation of the rotating body, and the step of simulating is performed under conditions that the rotating body is rotating.
5. A method according to claim 4, wherein setting the axis of rotation of the rotating body includes calculating the center of gravity of the container based at least on information about the structure of the container, and / or calculating the center of gravity of the rotating body based at least on information about the structure of the rotating body.
6. A method according to claim 3 or 5, further comprising: setting the axis of rotation: receiving information indicating that a user has selected one of the three-dimensional coordinates, the X-axis, the Y-axis, and the Z-axis; and calculating the axis of rotation based at least on the selected information and the centroid position.
7. A method according to claim 3 or 5, wherein setting the axis of rotation further comprises: determining the longitudinal direction of the structure based on information of the structure; determining one of the three-dimensional coordinates, the X-axis, the Y-axis, and the Z-axis, based on the longitudinal direction; and calculating the axis of rotation based at least on the determined axis information and the centroid position.
8. A method according to claim 4, wherein setting the axis of rotation of the rotating body comprises: dividing the rotating body into a plurality of regions; calculating a first center of gravity position in a first region among the plurality of regions; calculating a second center of gravity position in a second region among the plurality of regions; and setting the axis of rotation of the rotating body based at least on the first center of gravity position and the second center of gravity position.
9. The method of claim 1, wherein the information relating to the structure of the container includes information relating to the type of solid relating to the container and positional information relating to the container, and the step of setting the axis of rotation includes setting the axis of rotation based at least on the information relating to the type of solid and positional information relating to the container.
10. A method according to claim 1, wherein the step of setting the axis of rotation includes: setting a computational domain which is a region in which the particle group can behave, based at least on information about the structure of the container; and setting the axis of rotation based at least on the computational domain.
11. A method according to claim 1, wherein the step of setting the axis of rotation includes receiving input information from a user specifying a computational domain which is a region in which the group of particles can behave, and setting the axis of rotation at least on the basis of the computational domain.
12. A method according to any one of claims 1 to 11, the method comprising the step of displaying a virtual image including an object representing the container, the image may include an object representing the rotating body, and the image may include an object representing the axis of rotation.
13. A method according to any one of claims 1 to 12, the method comprising the step of displaying a virtual image including an object representing the container, the image may include an object representing the rotating body, and the image includes an object representing the center of gravity of the container or the rotating body.
14. A method according to any one of claims 1 to 13, wherein the axis of rotation is the axis of rotation of the container and / or the rotating body.
15. A method according to any one of claims 1 to 13, wherein the axis of rotation is the axis of rotation of the orbital motion of the container and / or the rotating body.
16. A method according to any one of claims 1 to 13, wherein the step of setting the axis of rotation includes: setting the axis of rotation for the rotational motion of a container and / or a rotating body; and setting the axis of rotation for the revolutionary motion, at least based on the axis of rotation for the rotational motion.
17. A program for an information processing device equipped with a processor, which causes the processor to execute the method according to any one of claims 1 to 16 by instructing the processor.
18. A computer-readable non-temporary storage medium storing the program of claim 17.
19. A system for simulating the behavior of a group of particles contained in a container, the system comprising at least one server and at least one terminal, the system being configured to perform the following steps: a step of reading structural information, including at least one of the following: - information about the structure of the container; - information about the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; a step of setting the rotation axis of the container and / or the rotating body based at least on the structural information; and a step of simulating the behavior of the group of particles under conditions that the container and / or the rotating body rotate based at least on the rotation axis.
20. An apparatus comprising a program that provides an interface for simulating the behavior of a group of particles contained in a container, wherein the interface is configured to read structural information including at least one of the following: - information on the structure of the container; - information on the structure of a rotating body at least partially present in the container, wherein the rotating body is capable of moving the group of particles when rotated; and - display the container and / or the rotating body set based at least on the structural information; and display the results of simulating the behavior of the group of particles under conditions in which the container and / or the rotating body are rotated at least based on the axis of rotation.