Inference method and information processing apparatus
An information processing apparatus stores mesh data including a plurality of nodes and a plurality of edges and boundary condition data indicating force applied to an object represented by the mesh data. The information processing apparatus calculates a stiffness matrix including a plurality of stiffness values corresponding to the plurality of edges and a force vector including a plurality of force values corresponding to the plurality of nodes. The information processing apparatus generates feature data from the stiffness matrix and the force vector. The information processing apparatus infers a plurality of displacement amounts corresponding to the plurality of nodes by performing a convolutional operation on the feature data in accordance with a connection relationship of the plurality of nodes.
1 . A non-transitory computer-readable recording medium storing therein a computer program that causes a computer to execute a process comprising:
executing, based on first mesh data including a plurality of nodes and a plurality of edges connecting the plurality of nodes and first boundary condition data indicating force applied to an object represented by the first mesh data, discretization included in a finite element method and skipping a linear solver included in the finite element method, the discretization calculating a first stiffness matrix including a plurality of stiffness values corresponding to the plurality of edges and a first force vector including a plurality of force values corresponding to the plurality of nodes, the first stiffness matrix including a plurality of first rows corresponding to the plurality of nodes and a plurality of columns corresponding to the plurality of nodes, the linear solver solving a simultaneous equation based on a result of the discretization;
generating a first feature matrix by coupling the first stiffness matrix and the first force vector, the first feature matrix including a plurality of second rows corresponding to the plurality of nodes, the generating includes rearranging the plurality of stiffness values such that stiffness values for each of the plurality of nodes are arranged in a corresponding one of the plurality of second rows; and
inferring a plurality of displacement amounts corresponding to the plurality of nodes by entering the first feature matrix to a graph convolutional neural network that performs a graph convolutional operation in accordance with a connection relationship of the plurality of nodes represented by the first mesh data.
2 . The non-transitory computer-readable recording medium according to claim 1 ,
wherein the first feature data includes a plurality of feature vectors corresponding to the plurality of nodes in the plurality of second rows, and
wherein the graph convolutional operation updates a feature vector of a first node by using a feature vector of a second node connected to the first node.
3 . The non-transitory computer-readable recording medium according to claim 2 , wherein the graph neural network includes at least one graph convolutional layer that performs the graph convolutional operation.
4 . The non-transitory computer-readable recording medium according to claim 1 , wherein the first feature matrix is generated such that a stiffness value and a force value relating to a single node are arranged in a single second row.
5 . The non-transitory computer-readable recording medium according to claim 1 , wherein the generating includes generating a plurality of feature vectors corresponding to the plurality of nodes, normalizing feature values included in the plurality of feature vectors, and reducing a number of dimensions of the plurality of normalized feature vectors by performing principal component analysis.
6 . The non-transitory computer-readable recording medium according to claim 1 , wherein the process further includes:
calculating a second stiffness matrix and a second force vector, based on second mesh data and second boundary condition data, the second mesh data representing an object different from the object represented by the first mesh data,
calculating a displacement vector representing a solution to an equation including the second stiffness matrix and the second force vector,
generating a second feature matrix by coupling the second stiffness matrix and the second force vector, and
generating the graph convolutional neural network so as to infer the displacement vector from the second feature matrix.
7 . An inference method comprising:
executing, by a processor, based on mesh data including a plurality of nodes and a plurality of edges connecting the plurality of nodes and boundary condition data indicating force applied to an object represented by the mesh data, discretization included in a finite element method and skipping a linear solver included in the finite element method, the discretization calculating a stiffness matrix including a plurality of stiffness values corresponding to the plurality of edges and a force vector including a plurality of force values corresponding to the plurality of nodes, the stiffness matrix including a plurality of first rows corresponding to the plurality of nodes and a plurality of columns corresponding to the plurality of nodes, the linear solver solving a simultaneous equation based on a result of the discretization;
generating, by the processor, a feature matrix by coupling the stiffness matrix and the force vector, the feature matrix including a plurality of second rows corresponding to the plurality of nodes, the generating includes rearranging the plurality of stiffness values such that stiffness values for each of the plurality of nodes are arranged in a corresponding one of the plurality of second rows; and
inferring, by the processor, a plurality of displacement amounts corresponding to the plurality of nodes by entering the feature matrix to a graph convolutional neural network that performs a graph convolutional operation in accordance with a connection relationship of the plurality of nodes represented by the mesh data.
8 . An information processing apparatus comprising:
a memory configured to store mesh data including a plurality of nodes and a plurality of edges connecting the plurality of nodes and boundary condition data indicating force applied to an object represented by the mesh data; and
a processor configured to execute a process including:
executing, based on the mesh data and the boundary condition data, discretization included in a finite element method and skipping a linear solver included in the finite element method, the discretization calculating a stiffness matrix including a plurality of stiffness values corresponding to the plurality of edges and a force vector including a plurality of force values corresponding to the plurality of nodes, the stiffness matrix including a plurality of first rows corresponding to the plurality of nodes and a plurality of columns corresponding to the plurality of nodes, the linear solver solving a simultaneous equation based on a result of the discretization;
generating a feature matrix by coupling the stiffness matrix and the force vector, the feature matrix including a plurality of second rows corresponding to the plurality of nodes, the generating includes rearranging the plurality of stiffness values such that stiffness values for each of the plurality of nodes are arranged in a corresponding one of the plurality of second rows; and
inferring a plurality of displacement amounts corresponding to the plurality of nodes by entering the feature matrix to a graph convolutional neural network that performs a graph convolutional operation in accordance with a connection relationship of the plurality of nodes represented by the mesh data.