Method of automatic generation of a computer for numerical simulation of physical phenomenon
First Claim
1. A method for automatically generating, by use of a computer, a program which calculates an unknown quality (A) within a calculation object region (S1, S2), based upon a finite element method, said automatic generation being performed in response to input information specifying a boundary of the calculation objective region, a division condition of the boundary, a partial differentiation equation related to the unknown quantity, and a boundary condition to be satisfied by the unknown quantity on the boundary, said method comprising the steps of:
- (a) dividing the calculation objective region (S1, S2) into element regions (E1, E2, . . . ) according to the division condition;
(b) generating , based upon the partial differential equation, a first mathematical expression representing a portion within an arbitrary coefficient (kij) to be calculated for a matrix equation (kij) (ai)=(di), said portion being dependent on an element region which includes nodes (Ni, Nj) related to the coefficient, and a second mathematical expression representing a portion within an arbitrary instant (di) to be calculated for the matrix equation, said portion being dependent on an element region which includes a node (Ni) related to the constant, wherein a solution of the matrix equation enables the unknown quantity (A) to be represented as a linear combination (Σ
i ai φ
i) of basis functions φ
j each defined with respect to a respective node (Ni) of the element regions; and
(c) generating a program which calculates the coefficients ((kij)) and constants ((di));
said program generation including the steps of(c1) generating first and second program portions based upon said first mathematical expression and generating a third program portion based upon said second mathematical expression, wherein said first program portion calculates respective first portions and respective second portions dependent upon positions of nodes (Ni, Nj, and Nk) of one of the element region, so as to renew, by the respective first portions, respective values already calculated for respective diagonal coefficients (Kii, Kjj, Kkk) related to respective nodes of the one element region, and so as to renew, by the respective second portions, respective values already calculated of respective non-diagonal coefficients (Kij Kji, Kjk, Kkj, Kki, Kik) related to respective pairs of nodes of the one element region, and wherein the second program portion calculates respective third portions dependent upon the positions of the plurality of nodes of the one element region, so as to renew, by the respective third portions respective value already calculated for a respective constants of the matrix equation (di, dj, dk) related to the one element region and(c3) generating a second program portion for enabling said first to third program portions to be executed for different ones of the element regions of the calculation objective region.
1 Assignment
0 Petitions
Accused Products
Abstract
The partial differential equations inputted with respect to an unknown quantity A are processed according to the finite element method in which simultaneous first-order equations equivalent to the partial differential equations are obtained, and then a matrix equation equivalent to the simultaneous first-order equations, namely, (kij) (ai)=(di) is processed to derive a coefficient {aj } so as to generate a program which calculates the unknown quantity A. For each group of a plurality of elements, the program calculates a contribution determined by the positions of the nodes associated with the elements with respect to a portion of matrix element group such as klm and kll and a portion of constant group such as dl and dm determined by the numbers assigned to a plurality of nodes contained in the group of a plurality of elements and then generates the final values of the matrix element group {kij } and the constant {di } from the contribution calculated for each group of a plurality of elements.
41 Citations
7 Claims
-
1. A method for automatically generating, by use of a computer, a program which calculates an unknown quality (A) within a calculation object region (S1, S2), based upon a finite element method, said automatic generation being performed in response to input information specifying a boundary of the calculation objective region, a division condition of the boundary, a partial differentiation equation related to the unknown quantity, and a boundary condition to be satisfied by the unknown quantity on the boundary, said method comprising the steps of:
-
(a) dividing the calculation objective region (S1, S2) into element regions (E1, E2, . . . ) according to the division condition; (b) generating , based upon the partial differential equation, a first mathematical expression representing a portion within an arbitrary coefficient (kij) to be calculated for a matrix equation (kij) (ai)=(di), said portion being dependent on an element region which includes nodes (Ni, Nj) related to the coefficient, and a second mathematical expression representing a portion within an arbitrary instant (di) to be calculated for the matrix equation, said portion being dependent on an element region which includes a node (Ni) related to the constant, wherein a solution of the matrix equation enables the unknown quantity (A) to be represented as a linear combination (Σ
i ai φ
i) of basis functions φ
j each defined with respect to a respective node (Ni) of the element regions; and(c) generating a program which calculates the coefficients ((kij)) and constants ((di));
said program generation including the steps of(c1) generating first and second program portions based upon said first mathematical expression and generating a third program portion based upon said second mathematical expression, wherein said first program portion calculates respective first portions and respective second portions dependent upon positions of nodes (Ni, Nj, and Nk) of one of the element region, so as to renew, by the respective first portions, respective values already calculated for respective diagonal coefficients (Kii, Kjj, Kkk) related to respective nodes of the one element region, and so as to renew, by the respective second portions, respective values already calculated of respective non-diagonal coefficients (Kij Kji, Kjk, Kkj, Kki, Kik) related to respective pairs of nodes of the one element region, and wherein the second program portion calculates respective third portions dependent upon the positions of the plurality of nodes of the one element region, so as to renew, by the respective third portions respective value already calculated for a respective constants of the matrix equation (di, dj, dk) related to the one element region and (c3) generating a second program portion for enabling said first to third program portions to be executed for different ones of the element regions of the calculation objective region. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for automatically generating, by use of a computer, a program which calculates an unknown quantity (A) within a calculation object region (S1, S2), based upon a finite element method, said generation being done in response to input information specifying a boundary of the calculation objective region, a division condition of the boundary, a partial differentiation equation related to the unknown quantity on the boundary, said method comprising the steps of:
-
(a) dividing the calculation objective region (S1, S2) into element regions (E1, E2, . . . ) according to the division condition; (b) generating , based upon the partial differential equation, a first mathematical expression representing a portion within an arbitrary coefficient (Kij) to be calculated for a matrix equation (Kij) (ai)=(di), said portion being dependent on an element region which includes a node (Ni) related to the constant, wherein a solution of the matrix equation enables the unknown quantity (A) to be represented as a linear combination (Σ
i ai φ
i) of basis functions φ
i each defined with respect to a respective node (Ni) of the element regions; and(c) generating a program which calculates the coefficients ((Kij)) and the constant ((di)) based upon the first and second mathematical expressions and upon position of nodes of element regions determined as a result of the division; wherein the step (b) includes the steps of (b1) judging an order of differentiation of each term contained in the inputted partial differentiation equation, (b2) multiplying said terms each by a basis function φ
i and generating integration terms each representing integration of one of the multiplied terms in the calculation objective region,(b3) selecting from the generated integration terms an integration term associated with a term of the partial differentiation equation judged to have a second order of differentiation and replacing said selected integration term, based on the inputted boundary condition, with an integration term representing an integral in the calculation objective region and an integration term representing an integral on the boundary, (b4) replacing the unknown quantity (A) in a plurality of integration terms obtained after the step (b3) with a linear combination Σ
j aj φ
j of the basis functions, and(b5) generating the first and second functions respectively defining kij and constant di from the integration terms subjected to the replace processing of the step (b4).
-
-
7. A method executed by a computer for automatically dividing a calculation objective region having four sides into element regions, comprising the steps of:
-
(a1) dividing each side of the calculation objective region according to a division condition specified by input information to determine positions of a plurality of real nodes on each code; (a2) detecting whether or not a number of real nodes determined by the division condition on a first side of said calculation objective region is different from a number of real nodes determined by the division condition on a second side opposing to said first side and determining positions of virtual positions of virtual nodes when the difference is detected, a number of said virtual nodes being equal to a difference between the real nodes on the first side and the real nodes on the second side, said virtual node being added to one of the first and second sides having a smaller number of real nodes; (a3) determining a rectangular lattice region having lattice points on sides thereof, a number of said lattice points on each side thereof being equal to a number of real or virtual nodes on a respective one of the four sides of the calculation objective region; (a4) determining a function for mapping said rectangular region onto said calculation objective region so that said lattice points on the sides of said rectangular lattice region are mapped onto real or virtual nodes on corresponding sides of side calculation objective region; (a5) determining a plurality of sets of lattice points each set comprising plural adjacent lattice points selected from the lattice points in the rectangular lattice region, said plural lattice points being different from lattice points corresponding to the virtual nodes of said calculation objective region; and (a6) determining sets of nodes in the calculation objective region each set corresponding to one set of lattice points among said sets of lattice points, each sets of nodes defining an element region of the calculation object region.
-
Specification