WO2019229965A1 - Mesh generation system, mesh generation program, and mesh generation method - Google Patents

Mesh generation system, mesh generation program, and mesh generation method Download PDF

Info

Publication number
WO2019229965A1
WO2019229965A1 PCT/JP2018/021098 JP2018021098W WO2019229965A1 WO 2019229965 A1 WO2019229965 A1 WO 2019229965A1 JP 2018021098 W JP2018021098 W JP 2018021098W WO 2019229965 A1 WO2019229965 A1 WO 2019229965A1
Authority
WO
WIPO (PCT)
Prior art keywords
dimensional
polytope
agent
mesh generation
shape
Prior art date
Application number
PCT/JP2018/021098
Other languages
French (fr)
Japanese (ja)
Inventor
朋典 菅野
Original Assignee
株式会社プルートス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社プルートス filed Critical 株式会社プルートス
Priority to PCT/JP2018/021098 priority Critical patent/WO2019229965A1/en
Priority to JP2020522533A priority patent/JP7036207B2/en
Priority to TW108118314A priority patent/TW202004538A/en
Publication of WO2019229965A1 publication Critical patent/WO2019229965A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD

Definitions

  • the present invention relates to a mesh generation system, a mesh generation program, and a mesh generation method, and particularly to a mesh generation method using an agent-based model (ABM).
  • ABSM agent-based model
  • Patent Document 1 describes an automatic mesh generation method for generating an optimal mesh even with a non-manifold shape data structure by bubble filling using a dynamic model. Specifically, first, a plurality of bubbles are arranged on the vertices and ridgelines of the non-manifold data model. Next, based on the force between the bubbles and the bubble mass, the bubble is moved by solving the Newton equation using numerical analysis techniques, including the viscosity term, and when the bubble movement is stabilized to some extent, the center point of the bubble is connected. Generate a line segment.
  • An object of the present invention is to provide a novel mesh generation method for generating a high-quality mesh.
  • the first invention provides a mesh generation system that includes a data conversion unit, a one-dimensional processing unit, an n-dimensional processing unit, and a mesh generation unit, and uses an agent-based model.
  • the data conversion unit converts the structure data of the object into shape data expressed by a polytope.
  • the one-dimensional processing unit divides a side that is a one-dimensional polytope based on a specific reference length as a one-dimensional process for shape data.
  • the n-dimensional processing unit fills the n-dimensional polytope with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (where n is a dimension number of 2 or more).
  • the agent is arranged in the n-dimensional polytope in a shape that maximizes the quality index of the agent.
  • the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state.
  • the quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function.
  • the mesh generation unit generates a mesh based on the agent group filled in the n-dimensional polytope.
  • the quality index is preferably better as the variation in the inner angle at the agent is smaller, and in addition, the quality index is preferably as the variation in the edge length at the agent is smaller.
  • the one-dimensional processing unit preferably adjusts the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number.
  • the one-dimensional processing unit may adjust the reference length according to at least one of the physical property and the surface shape of the object.
  • the n-dimensional processing unit may perform n-dimensional processing on a polytope having a facet number other than 2n, and may not perform n-dimensional processing on a polytope having a facet number of 2n.
  • the number of facets of the agent is preferably 2n.
  • a polytope management unit may be provided.
  • the polytope management unit manages the polytope master-slave relationship between dimensions in the shape data, and updates the polytope master-slave relationship according to the one-dimensional process and the n-dimensional process.
  • the mesh generation unit may generate a mesh by further subdividing an agent group filled in an n-dimensional polytope.
  • the second invention provides a mesh generation program using an agent-based model that causes a computer to execute a process having the first to fourth steps.
  • the structure data of the object is converted into shape data expressed by a polytope.
  • a side that is a one-dimensional polytope is divided based on a specific reference length.
  • the n-dimensional polytope is filled with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more). In this filling process, an agent is placed in the n-dimensional polytope in a shape that maximizes the quality index.
  • the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state.
  • the quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function.
  • a mesh is generated based on the agent group filled in the n-dimensional polytope.
  • the quality index is preferably better as the variation in the internal angle at the agent is smaller, and in addition to this, the quality index is preferably as the variation in the edge length at the agent is smaller.
  • the second step includes a step of adjusting the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number.
  • the second step may include a step of adjusting the reference length according to at least one of the physical property and surface shape of the object.
  • the n-dimensional processing in step 3 is executed for a polytope having a facet number not 2n and not for a polytope having a facet number 2n.
  • the number of facets of the agent is preferably 2n.
  • the computer may further execute processing having a fifth step.
  • a fifth step the master-slave relationship between dimensions in the shape data is managed, and the master-slave relationship is updated according to the one-dimensional process and the n-dimensional process.
  • the fourth step may include a step of further subdividing the agent group filled in the n-dimensional polytope.
  • the third invention provides a mesh generation method using the agent-based model, which includes the first step to the fourth step.
  • the structure data of the object is converted into shape data expressed by a polytope.
  • the second step as a one-dimensional process for the shape data, a side that is a one-dimensional polytope is divided based on a specific reference length.
  • the n-dimensional polytope is filled with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more). In this filling process, an agent is placed in the n-dimensional polytope in a shape that maximizes the quality index.
  • the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state.
  • the quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function.
  • a mesh is generated based on the agent group filled in the n-dimensional polytope.
  • the shape data converted from the structure data and represented by the polytope is divided into one-dimensional polytope sides based on the reference length, and (n ⁇ 1) -dimensional processing is performed.
  • agents are arranged in an n-dimensional polytope.
  • the size of the agent depends on the reference length, and its shape is set so that the quality index is as good as possible.
  • the shapes of the adjacent agents are optimized so that the sum of these quality indexes is better than the current state, that is, the state before the optimization is performed.
  • the internal space of the n-dimensional polytope is filled and subdivided without gaps by the agent group having a good shape, so that a high-quality mesh can be generated.
  • Block diagram of mesh generation system Flow chart of mesh generation process Diagram showing 2D structure data Diagram showing 2D shape data Conceptual diagram showing the master-detail relationship of polytopes between dimensions Figure showing shape data after one-dimensional crystallization treatment
  • Flow chart of n-dimensional crystallization processing routine Illustration of a simple method for agent shape optimization Illustration of arrangement of agents A1 and A2 Illustration of arrangement of agent A3 Explanation of optimization of agent shape accompanying arrangement of agent A3 Illustration of arrangement of agent A4 Illustration of arrangement of agent A5 Explanatory drawing of filling state by agent groups A1 to A9 Diagram showing mesh data
  • FIG. 1 is a block diagram of a mesh generation system according to the present embodiment.
  • the mesh generation system 1 receives the structure data of an object, and outputs mesh data representing the shape of the object as a mesh.
  • an agent-based model (ABM) is used.
  • the “agent-based model” is one of simulation models for evaluating the influence of autonomous agent behavior and interaction between agents on the entire system, and is called multi-agent simulation.
  • An “agent” refers to a subject that acts autonomously under predetermined rules based on the situation of the person and the situation around him.
  • the feature of this embodiment is that an agent-based model is used to subdivide an object area. More specifically, agents are arranged in an internal space of a certain area while considering the interaction of adjacent agents. Then, the mesh is generated based on the agent group filled in this region.
  • the mesh generation system 1 includes a data conversion unit 2, a one-dimensional processing unit 3, an n-dimensional processing unit 4, a mesh generation unit 5, and a polytope management unit 6.
  • the data converter 2 converts the structure data input as a processing target into shape data.
  • the structure data before conversion is data in an arbitrary format that defines the structure (including shape) of the object, and is two-dimensional CAD data, or three-dimensional CAD data such as a STEP format or an STL format.
  • This structure data may include a curve or a curved surface as a shape defined by itself.
  • the converted shape data is data representing the shape of an object with a polytope.
  • the structure data includes a curve or a curved surface
  • these are discretized by line segments, and the curve is approximated by a straight line group and the curved surface is approximated by a plane group.
  • shape data class definition
  • polytope refers to a super polyhedron in elementary geometry. A zero-dimensional polytope is “point”, a one-dimensional polytope is “side”, a two-dimensional polytope is “face”, and a three-dimensional polytope is “solid”. is there.
  • “Facet” refers to a one-dimensional lower polytope owned by a one-dimensional polytope.
  • a “surface” for a three-dimensional polytope (solid), a “side” for a two-dimensional polytope (surface), and a “point” for a one-dimensional polytope (side) correspond to facets.
  • the one-dimensional processing unit 3 divides a side that is a one-dimensional polytope based on a specific reference length as a one-dimensional crystallization process for the shape data converted by the data conversion unit 2.
  • the one-dimensional crystallization process is performed on the one-dimensional polytope (side) included in the shape data that satisfies the conditions described later.
  • a fixed value may be fixedly applied to the entire object, but a variable value may be applied according to at least one of the physical properties and the surface shape of the object.
  • the reference length is made shorter than the other parts for a part where the material is soft and easily deformed, and the reference length is made shorter than the other part for a part having a large surface curvature.
  • the n-dimensional processing unit 4 uses the internal space of the n-dimensional polytope as an agent group (agents) as an n-dimensional crystallization process for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more).
  • the number of dimensions n).
  • n 2
  • a two-dimensional crystallization process is performed on the shape data subjected to the one-dimensional crystallization process by the one-dimensional processing unit 3
  • the internal space of the two-dimensional polytope (surface) is 2 Filled and subdivided by dimension agents.
  • n 3
  • the three-dimensional crystallization process is performed on the shape data subjected to the two-dimensional crystallization process by the n-dimensional processing unit 4, and the internal space of the three-dimensional polytope (solid) is 3 Filled and subdivided by dimension agents.
  • the upper limit of n that can be expected to be effective is considered to be 4, that is, a four-dimensional polytope (polychoron), but does not specifically exclude n ⁇ 5.
  • agents that are autonomous behavior subjects are individually placed in the internal space of the n-dimensional polytope.
  • a plurality of adjacent agents (adjacent agents) in the internal space interact with each other, and the shapes of these agents are optimized based on the interaction.
  • the shape of each agent and the optimized shape of neighboring agents including itself are determined based on the concept of quality index.
  • this quality index indicates the shape quality of the agent and is calculated for each agent by a predetermined objective function (utility function).
  • the individual shape of an agent is set so that the quality index of the agent is as good as possible.
  • the optimized shape of the neighboring agent including itself is set so that the sum of these quality indexes is better than the current state, that is, the state before being optimized.
  • the n-dimensional processing unit 4 executes the crystallization process with the number of times corresponding to the number of dimensions of mesh data that is the output target. For example, when outputting two-dimensional mesh data, a single process called a crystallization process for a two-dimensional polytope (plane) is performed. Further, when outputting three-dimensional mesh data, a total of two processes, a crystallization process for a two-dimensional polytope (plane) and a subsequent crystallization process for a three-dimensional polytope (solid), are performed.
  • the mesh generation unit 5 generates a mesh expressed by an element group such as a quadrangle and a hexahedron based on the agent group filled in the n-dimensional polytope. At that time, in order to ensure a desired mesh resolution, the inside of each agent may be further subdivided, for example, by equally dividing the inside of each agent. The generated mesh is converted into a predetermined output format and then output to the outside as mesh data.
  • the polytope management unit 6 has a master-slave relationship between dimensions in the shape data converted by the data conversion unit 2 in the memory space of the mesh generation system 1, that is, the low-dimensional polytope that the high-dimensional polytope owns. Memorize and manage if you are. Specifically, when the shape data is generated by the data conversion unit 2, the master-slave relationship of the polytope related to the shape data is registered. Also, in the processing process of the one-dimensional processing unit 3, the master-slave relationship of the polytope is updated as needed in accordance with the division of the one-dimensional polytope (side) and the addition of the zero-dimensional polytope (point) associated therewith.
  • the master-slave relationship of the polytope is updated as needed according to the subdivision of the n-dimensional polytope.
  • the master-slave relationship of the polytope managed by the polytope management unit 6 is referred to by both the one-dimensional processing unit 3 and the n-dimensional processing unit 4 as needed.
  • FIG. 2 is a flowchart of the mesh generation process.
  • the mesh generation process shown in the figure is realized by installing a program (mesh generation program) in a computer and operating the computer according to a procedure defined by the program.
  • a program mesh generation program
  • the contents of this processing will be described in detail by taking the two-dimensional structure data having the shape shown in FIG.
  • step 1 structure data to be processed is input to the data conversion unit 2.
  • the data conversion unit 2 converts the structure data into shape data.
  • the two-dimensional structure data shown in FIG. 3 is converted into the two-dimensional shape data shown in FIG. Specifically, three points in the structure data are converted into 0-dimensional polytopes P0 (1) to P0 (3), and two straight lines are converted into one-dimensional polytopes P1 (1) to P1 (2).
  • the single arc shown in FIG. 3 is linearly approximated by a plurality of line segments. As a result, each of the connection points connecting adjacent line segments is converted into 0-dimensional polytopes P0 (4) to P0 (6), and the respective line segments are converted into 1-dimensional polytopes P1 (3) to P1 (6). Converted.
  • FIG. 5 is a conceptual diagram showing a polytope master-slave relationship with respect to the shape data of FIG.
  • the master-slave relationship of the polytope defines the relationship between the polytope and the facet for each dimension, such as a one-dimensional polytope P1 owned by the two-dimensional polytope P2 and a zero-dimensional polytope P0 owned by the one-dimensional polytope P2.
  • the two-dimensional polytope P2 (1) has six one-dimensional polytopes P1 (1) to P1 (6) as facets (sides).
  • the one-dimensional polytope P1 (1) has two 0-dimensional polytopes P0 (1) and P0 (2) as facets (points).
  • the master-slave relationship of the polytopes as described above is managed for each two-dimensional polytope P2.
  • the master-slave relationship of the polytope including the three-dimensional polytope (surface) is managed.
  • the master-slave relationship of the polytope is changed / updated as needed in the process of steps 3 and 4 below.
  • the one-dimensional processing unit 3 performs a one-dimensional crystallization process using a specific reference length.
  • the target of the one-dimensional crystallization process is a one-dimensional polytope P1 longer than the reference length, and this one-dimensional polytope P1 (side) is divided into lengths about the reference length.
  • the length of the one-dimensional polytope P1 can be divided by a reference length, and the divided value can be rounded down or rounded up.
  • FIG. 6 is a diagram showing shape data after a one-dimensional crystallization process.
  • Each of the one-dimensional polytopes P1 (1) and P1 (2) corresponding to one side shown in FIG. 4 is divided into three.
  • the one-dimensional polytope P1 (1) is deleted. Instead, three one-dimensional polytopes P1 (1-1) to P1 (1-3) and two zero-dimensional polytopes P0 (7) to P0 ( 8) and are added.
  • the one-dimensional polytope P1 (2) is deleted. Instead, three one-dimensional polytopes P1 (2-1) to P1 (2-3) and two zero-dimensional polytopes P0 (9) to P0 ( 10) and are added.
  • the number of divisions of the one-dimensional polytope P1 is adjusted so that the number of one-dimensional polytopes P1 owned by the two-dimensional polytope P2, that is, the number of facets of the two-dimensional polytope P2 is an even number.
  • the number of facets of the two-dimensional polytope P2 (1) is 10, so this condition is satisfied.
  • the reason for adjusting the number of divisions is to prevent occurrence of exception processing for the polytope by preventing the occurrence of a polytope other than the facet number 2n (n is the number of dimensions) in the subsequent processing steps.
  • step 4 the n-dimensional processing unit 4 performs an n-dimensional crystallization process using an agent that is an autonomous action subject.
  • FIG. 7 is a flowchart of an n-dimensional crystallization processing routine.
  • an n-dimensional polytope to be processed (for example, the two-dimensional polytope P2 (1) shown in FIG. 6) is designated.
  • the n-dimensional polytope to be processed has a facet number that is not 2n, specifically, the facet number of the two-dimensional polytope is not 4 in the two-dimensional crystallization process, and the facet of the three-dimensional polytope in the three-dimensional crystallization process
  • the condition is that the number is not six. That is, the n-dimensional crystallization process is performed on a polytope having a facet number other than 2n, and if the number of facets is 2n, the polytope itself can be an agent. Absent.
  • an agent placement location is specified in the processing target internal space specified in step 41.
  • the agent placement location and its order is arbitrary, in this embodiment, as shown in FIG. 14, as an example, as shown in FIG. 14, (i) placement at two ends (A1 ⁇ A2), (ii) Arrangement on the side connecting them (A3), (iii) Arrangement on all sides based on the above (i) and (ii) (A4 ⁇ A5 ⁇ A6 ⁇ A7), ( iv) The individual agents are sequentially arranged in the order of arrangement inside the space (A8).
  • the number of facets of the agent is 2n. That is, the two-dimensional agent in the two-dimensional crystallization process is a rectangle, and the three-dimensional agent in the three-dimensional crystallization process is a hexahedron. This is because the two-dimensional shape is represented by a quadrilateral mesh and the three-dimensional shape is represented by a hexahedral mesh.
  • agent facets share existing facets in the vicinity of the agent's location.
  • An “existing facet” is a facet of an n-dimensional polytope to which an agent belongs, or a facet of another agent already arranged in the n-dimensional polytope. This is because the agents are arranged without gaps in the internal space of the n-dimensional polytope.
  • the shape of the agent is set so that the quality index Q of the agent is as good as possible.
  • the agent quality index Q indicates the shape quality of the agent, and can be, for example, the “dissatisfaction level” calculated by the following objective function.
  • a and b are user-defined constants.
  • the variation of the inner angle may be evaluated by an index representing the degree of dispersion such as (maximum / minimum) of the inner angle instead of the dispersion of the inner angle.
  • the edge length (longest / shortest), that is, the length-to-short ratio of the edge length indicates the variation of the edge length in the agent.
  • the “edge length” is the length of the side, that is, the one-dimensional polytope P1, in the case of a two-dimensional crystallization process.
  • the variation in edge length may be evaluated by an index representing the degree of dispersion such as edge dispersion instead of the edge length ratio.
  • the degree of dissatisfaction becomes smaller as the variation in the inner angle becomes smaller and the variation in the edge length becomes smaller, and the square and the regular hexahedron are minimized. Then, the smaller the dissatisfaction level, the better the shape quality of the agent, and the higher the dissatisfaction level, the less good the quality.
  • the shape that “quality index Q is maximally favorable” is a shape that is as close as possible to a square or a regular hexahedron under the constraint of sharing existing facets. It can be said.
  • “the quality index Q is maximally favorable” may be on condition that the quality index Q takes the maximum value. For example, the degree of dissatisfaction is smaller than a predetermined threshold, or This condition may be satisfied if the quality index Q exceeds the predetermined threshold value so that the happiness level described is greater than the predetermined threshold value.
  • the quality index Q is not limited to the above mathematical formula, but can be various. For example, only the variation in the inner angle may be evaluated without considering the variation in the edge length. Further, in addition to the variation in the internal angle, the evaluation may be performed in consideration of other requirements (for example, the edge length should be as large as possible). Further, a value obtained by multiplying the degree of dissatisfaction in the above formula by ⁇ 1 may be used as the “happiness level”, and this happiness level may be used as the evaluation index Q. In this case, the higher the happiness level, the better the shape quality of the agent, and the lower the happiness level, the lower the quality.
  • these shapes are optimized (smoothing) for a plurality of agents (including self) adjacent in the internal space of the n-dimensional polytope.
  • This optimization is achieved by performing a modification such that the sum of the individual quality indexes Q of neighboring agents including itself, that is, the overall quality index Qsum is better than the current state, that is, the state before the optimization is performed. Is done.
  • the overall quality index Qsum (hereinafter referred to as “function U”) is determined depending on each interior angle ( ⁇ ) and each edge length (l). Since it can be expressed by the vector x), it can be expressed as follows.
  • This operation is repeated at the timing of shape optimization.
  • the condition for the repetition end is that
  • the increase of the overall quality index Qsum is strictly guaranteed by making ⁇ t sufficiently small.
  • the amount of movement of each P0 is a value ( ⁇ vector xlength) derived from the difference between the length of P1 and the reference length ( ⁇ vector xlength), and a value derived from the deviation from ⁇ / 2 of the angle formed by P1 ( ⁇ vector). xangle).
  • ⁇ vector xlength a value derived from the difference between the length of P1 and the reference length
  • ⁇ vector xlength a value derived from the deviation from ⁇ / 2 of the angle formed by P1
  • FIG. 8 is an explanatory diagram of a simple method for optimizing the agent shape.
  • the figure illustrates P0 connected by two P1.
  • the description will be made by replacing two P1 with vectors Vi and Vj, respectively.
  • kangle and klength are predetermined constants proportional to the degree of dissatisfaction of the agent. Further, in the above formula, an operation symbol that adds the operands while incrementing the iterator i by 1 under a certain condition (cond.) Is expressed as follows.
  • the above simple method does not directly calculate the overall quality index Qsum, but as a result of processing based on this, a modification is made so that the overall quality index Qsum is better than the current state.
  • the shape optimization is performed every time the agent is arranged. However, it is not always necessary to perform the shape optimization, and may be performed only when a predetermined condition is satisfied.
  • step 45 it is determined whether or not the internal space of the n-dimensional polytope to be processed has been filled by the agent group. If the determination result is negative, that is, if the filling in the n-dimensional polytope has not been completed, the processing target is shifted to the next agent (step 46), and the processing for this agent is performed (step 42). ⁇ 44). If the filling in the n-dimensional polytope is completed by the repetition process for each agent, the determination result in step 45 changes from negative to affirmative, and the process proceeds to step 47.
  • step 47 it is determined whether or not processing for all n-dimensional polytopes has been completed. If this determination result is negative, that is, if processing for all polytopes belonging to the same dimension has not been completed, the processing target is shifted to the next polytope in the same dimension (step 48), and the same processing is performed. (Steps 41 to 46). Then, by repeating the processing for each polytope in the same dimension, when the processing of all the polytopes is completed, the determination result of step 47 is changed from negative to affirmative, and this routine ends.
  • the processing in step 4 ends when the two-dimensional crystallization process ends. Further, when generating a three-dimensional mesh, a two-dimensional crystallization process is followed by a three-dimensional crystallization process for a three-dimensional polytope.
  • the agent A1 is arranged at the lower right end of the two-dimensional polytope P2 (1).
  • Agent A1 shares facets P1 (2-3) and P1 (1-1) owned by two-dimensional polytope P2 (1).
  • As a mounting method related to facet sharing for example, it can be handled by separately generating and possessing a mirrored facet called a conjugate facet.
  • the degree of freedom left under the constraint condition in which the three points P0 (1), P0 (7), and P0 (10) have already been identified is the location of the remaining point X1.
  • the point X1 is arranged at a position where the quality index Q1 of the agent A1 is maximally favorable, whereby the shape of the agent A1 is determined. For agent A1, since there is no adjacent agent, shape optimization is not performed.
  • agent A2 is arranged at the lower left corner of the two-dimensional polytope P2 (1).
  • Agent A2 shares facets P1 (2-1) and P1 (6) owned by the two-dimensional polytope P2 (1).
  • the degree of freedom left under the constraint conditions in which the three points P0 (3), P0 (6), and P0 (9) have already been identified is the location of the remaining point X2.
  • the point X2 is arranged at a position where the quality index Q2 of the agent A2 is maximally favorable, whereby the shape of the agent A2 is determined. For agent A2, since there is no adjacent agent, shape optimization is not performed.
  • an agent A3 is arranged between the two agents A1 and A2.
  • Agent A3 shares facet P1 (2-2) owned by two-dimensional polytope P2 (1) and the facets of agents A1 and A2. Therefore, the shape of the agent A4 is uniquely specified without evaluating the quality index Q3 of the agent A3.
  • the agent A3 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized so that the total quality index Qsum of the three agents A1 to A3 is better than the current state. As a result, the shapes of the agents A1 to A3 are optimized from the broken line state to the solid line state as shown in FIG.
  • an agent A4 is arranged at the upper right end of the two-dimensional polytope P2 (1).
  • Agent A4 shares facets P1 (1-3) and P1 (3) owned by the two-dimensional polytope P2 (1).
  • the shape of the agent A4 is determined so that the quality index Q4 of the agent A4 is as good as possible.
  • shape optimization is not performed.
  • an agent A5 is arranged between the two agents A1 and A4.
  • Agent A5 shares facet P1 (1-2) owned by two-dimensional polytope P2 (1) and the facets of agents A1 and A4. Therefore, the shape of the agent A5 is uniquely identified without evaluating the quality index Q5 of the agent A5.
  • the agent A5 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized from the broken line state to the solid line state so that the overall quality index Qsum of the three agents A1, A4, A5 is better than the current state.
  • the agents A6 to A8 are sequentially arranged with the optimization of the shape.
  • the internal space of the two-dimensional polytope P2 (1) is filled without gaps by the eight agents A1 to A8.
  • step 5 mesh data is generated by the mesh generation unit 5.
  • the agent area is equally divided as necessary, and mesh data as shown in FIG. 15 is generated.
  • the generated mesh data is output to the outside as final output data.
  • the side which is the one-dimensional polytope P1 is divided based on the reference length with respect to the shape data converted from the structure data and expressed by the polytope.
  • an agent is arranged in the n-dimensional polytope as an n-dimensional process for the shape data subjected to the (n ⁇ 1) -dimensional process.
  • the size of the agent depends on the reference length, and its shape is set so that the agent quality index Q is as good as possible.
  • the shapes of the adjacent agents are optimized so that the overall quality index Qsum is better than the current state, that is, the state before the optimization is performed. Thereby, the internal space of the n-dimensional polytope is filled and subdivided without gaps by the agent group having a good shape, so that a high-quality mesh can be generated.
  • the one-dimensional processing unit 3 and the n-dimensional processing unit 4 are combined, and in the case of two-dimensional data, crystallization processing from one dimension to two dimensions is performed, and in the case of three-dimensional data, 1
  • crystallization processing from the 3rd dimension to the 3rd dimension meshing of almost any shape can be stably performed, and the completion of the meshing can be guaranteed without requiring exception processing.
  • the ability to prevent the inability to continue in the middle of meshing is very important and effective in comparison with conventional meshers.
  • the fineness of the mesh is often adjusted according to conditions such as physical properties (for example, material) and surface shape (for example, curvature) of the object. .
  • these factors can be automatically reflected on the fineness of the mesh by adjusting the reference length according to at least one of the physical properties and the surface shape of the object.

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

[Problem] To provide a novel mesh generation method for generating a mesh of high quality. [Solution] According to the present invention, a data conversion unit 2 converts structure data about an object into shape data that is represented by a polytope. A one-dimensional processing unit 3 divides a side of a one-dimensional polytope on the basis of a specific reference length, as a one-dimensional crystallization process for the shape data. An n-dimensional processing unit 4 fills the inside of the n-dimensional polytope with an agent group, as an n-dimensional (n is the number of dimensions of at least 2) crystallization process for the shape data. In the filling process, agents are arranged inside the n-dimensional polytope in a shape by which quality indexes of the agents are maximally favorable. In addition, the shapes of adjacent agents are optimized so that the sum of quality indexes in the adjacent agents in the n-dimensional polytope is better than that in the current state. A mesh generation unit 5 generates a mesh on the basis of the agent group filled inside the n-dimensional polytope.

Description

メッシュ生成システム、メッシュ生成プログラムおよびメッシュ生成方法Mesh generation system, mesh generation program, and mesh generation method
 本発明は、メッシュ生成システム、メッシュ生成プログラムおよびメッシュ生成方法に係り、特に、エージェントベースモデル(Agent-based model,ABM)を用いたメッシュ生成手法に関する。 The present invention relates to a mesh generation system, a mesh generation program, and a mesh generation method, and particularly to a mesh generation method using an agent-based model (ABM).
 例えば、特許文献1には、動力学的モデルを用いたバブル充填によって、非多様体形状のデータ構造であっても最適なメッシュを生成する自動メッシュ生成方法が記載されている。具体的には、まず、非多様体データ・モデルの頂点および稜線上に複数のバブルが配置される。つぎに、バブル間力およびバブル質量に基づき、粘性の項も含めて、ニュートン方程式を数値解析技法で解いてバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を結んで線分を生成する。つぎに、非多様体データ・モデルの面上にバブルを配置した上で同様にバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を2次元のドロネー三角形分割で結んで三角形要素を生成する。最後に、非多様体データ・モデルのソリッド領域内部にバブルを配置した上でバブルを移動させ、バブルの移動がある程度安定した時点で、バブルの中心点を3次元のドロネー三角形分割で結んで四面体要素を生成する。 For example, Patent Document 1 describes an automatic mesh generation method for generating an optimal mesh even with a non-manifold shape data structure by bubble filling using a dynamic model. Specifically, first, a plurality of bubbles are arranged on the vertices and ridgelines of the non-manifold data model. Next, based on the force between the bubbles and the bubble mass, the bubble is moved by solving the Newton equation using numerical analysis techniques, including the viscosity term, and when the bubble movement is stabilized to some extent, the center point of the bubble is connected. Generate a line segment. Next, place the bubble on the surface of the non-manifold data model, move the bubble in the same way, and connect the center point of the bubble with a two-dimensional Delaunay triangulation when the movement of the bubble is stabilized to some extent. Generate triangular elements. Finally, after placing the bubble inside the solid area of the non-manifold data model and moving the bubble, when the movement of the bubble is stabilized to some extent, connect the center point of the bubble with a three-dimensional Delaunay triangulation, Create a body element.
特開平7-230487号公報Japanese Patent Laid-Open No. 7-230487
 本発明の目的は、高品質なメッシュを生成する新規なメッシュ生成手法を提供することである。 An object of the present invention is to provide a novel mesh generation method for generating a high-quality mesh.
 かかる課題を解決すべく、第1の発明は、データ変換部と、1次元処理部と、n次元処理部と、メッシュ生成部とを有し、エージェントベースモデルを用いたメッシュ生成システムを提供する。データ変換部は、物体の構造データをポリトープで表現した形状データに変換する。1次元処理部は、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。n次元処理部は、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、エージェントの品質指標が最大限良好になるような形状でn次元ポリトープ内にエージェントが配置される。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。メッシュ生成部は、n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 In order to solve this problem, the first invention provides a mesh generation system that includes a data conversion unit, a one-dimensional processing unit, an n-dimensional processing unit, and a mesh generation unit, and uses an agent-based model. . The data conversion unit converts the structure data of the object into shape data expressed by a polytope. The one-dimensional processing unit divides a side that is a one-dimensional polytope based on a specific reference length as a one-dimensional process for shape data. The n-dimensional processing unit fills the n-dimensional polytope with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (where n is a dimension number of 2 or more). In this filling process, the agent is arranged in the n-dimensional polytope in a shape that maximizes the quality index of the agent. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state. The quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function. The mesh generation unit generates a mesh based on the agent group filled in the n-dimensional polytope.
 ここで、第1の発明において、上記品質指標は、エージェントにおける内角のばらつきが小さいほど良好であることが好ましく、これに加えて、エージェントにおけるエッジ長のばらつきが小さいほど良好であることが好ましい。 Here, in the first invention, the quality index is preferably better as the variation in the inner angle at the agent is smaller, and in addition, the quality index is preferably as the variation in the edge length at the agent is smaller.
 第1の発明において、上記1次元処理部は、2次元ポリトープのファセット数が偶数になるように、この2次元ポリトープが所有する1次元ポリトープの分割数を調整することが好ましい。また、上記1次元処理部は、物体の物性および表面形状の少なくとも一方に応じて、基準長を調整してもよい。 In the first invention, the one-dimensional processing unit preferably adjusts the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. The one-dimensional processing unit may adjust the reference length according to at least one of the physical property and the surface shape of the object.
 第1の発明において、上記n次元処理部は、ファセット数が2nではないポリトープに対してn次元の処理を行い、ファセット数が2nであるポリトープに対してはn次元の処理を行わないことが好ましい。また、上記エージェントのファセット数は2nであることが好ましい。 In the first invention, the n-dimensional processing unit may perform n-dimensional processing on a polytope having a facet number other than 2n, and may not perform n-dimensional processing on a polytope having a facet number of 2n. preferable. The number of facets of the agent is preferably 2n.
 第1の発明において、ポリトープ管理部を設けてもよい。ポリトープ管理部は、形状データにおける次元間のポリトープの主従関係を管理すると共に、上記1次元の処理および上記n次元の処理に応じて、ポリトープの主従関係を更新する。また、上記メッシュ生成部は、n次元のポリトープ内に充填されたエージェント群を更に細分化することによって、メッシュを生成してもよい。 In the first invention, a polytope management unit may be provided. The polytope management unit manages the polytope master-slave relationship between dimensions in the shape data, and updates the polytope master-slave relationship according to the one-dimensional process and the n-dimensional process. The mesh generation unit may generate a mesh by further subdividing an agent group filled in an n-dimensional polytope.
 第2の発明は、第1のステップから第4のステップを有する処理をコンピュータに実行させる、エージェントベースモデルを用いたメッシュ生成プログラムを提供する。第1のステップでは、物体の構造データをポリトープで表現した形状データに変換する。第2のステップでは、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。第3のステップでは、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、品質指標が最大限良好になるような形状で、n次元ポリトープ内にエージェントを配置する。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。第4のステップでは、n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 The second invention provides a mesh generation program using an agent-based model that causes a computer to execute a process having the first to fourth steps. In the first step, the structure data of the object is converted into shape data expressed by a polytope. In the second step, as a one-dimensional process for the shape data, a side that is a one-dimensional polytope is divided based on a specific reference length. In the third step, the n-dimensional polytope is filled with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more). In this filling process, an agent is placed in the n-dimensional polytope in a shape that maximizes the quality index. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state. The quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function. In the fourth step, a mesh is generated based on the agent group filled in the n-dimensional polytope.
 ここで、第2の発明において、上記品質指標は、エージェントにおける内角のばらつきが小さいほど良好であることが好ましく、これに加えて、エージェントにおけるエッジ長のばらつきが小さいほど良好であることが好ましい。 Here, in the second invention, the quality index is preferably better as the variation in the internal angle at the agent is smaller, and in addition to this, the quality index is preferably as the variation in the edge length at the agent is smaller.
 第2の発明において、上記第2のステップは、2次元ポリトープのファセット数が偶数になるように、当該2次元ポリトープが所有する1次元ポリトープの分割数を調整するステップを含むことが好ましい。また、上記第2のステップは、物体の物性および表面形状の少なくとも一方に応じて、基準長を調整するステップを含んでいてもよい。 In the second invention, it is preferable that the second step includes a step of adjusting the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. The second step may include a step of adjusting the reference length according to at least one of the physical property and surface shape of the object.
 第2の発明において、上記ステップ3におけるn次元の処理は、ファセット数が2nではないポリトープに対して実行され、ファセット数が2nであるポリトープに対しては実行されないことが好ましい。また、上記エージェントのファセット数は2nであることが好ましい。 In the second invention, it is preferable that the n-dimensional processing in step 3 is executed for a polytope having a facet number not 2n and not for a polytope having a facet number 2n. The number of facets of the agent is preferably 2n.
 第2の発明において、さらに第5のステップを有する処理をコンピュータに実行させてもよい。第5のステップでは、形状データにおける次元間のポリトープの主従関係を管理すると共に、1次元の処理およびn次元の処理に応じて、主従関係を更新する。また、上記第4のステップは、n次元のポリトープ内に充填されたエージェント群を更に細分化するステップを含んでいてもよい。 In the second invention, the computer may further execute processing having a fifth step. In a fifth step, the master-slave relationship between dimensions in the shape data is managed, and the master-slave relationship is updated according to the one-dimensional process and the n-dimensional process. Further, the fourth step may include a step of further subdividing the agent group filled in the n-dimensional polytope.
 第3の発明は、第1のステップから第4のステップを有し、エージェントベースモデルを用いたメッシュ生成方法を提供する。第1のステップでは、物体の構造データをポリトープで表現した形状データに変換する。第2のステップでは、形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。第3のステップでは、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内をエージェント群で充填する。この充填処理では、品質指標が最大限良好になるような形状で、n次元ポリトープ内にエージェントを配置する。それとともに、n次元ポリトープ内で隣り合ったエージェントにおける品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状が最適化される。品質指標は、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される。第4のステップでは、n次元ポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する。 The third invention provides a mesh generation method using the agent-based model, which includes the first step to the fourth step. In the first step, the structure data of the object is converted into shape data expressed by a polytope. In the second step, as a one-dimensional process for the shape data, a side that is a one-dimensional polytope is divided based on a specific reference length. In the third step, the n-dimensional polytope is filled with an agent group as n-dimensional processing for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more). In this filling process, an agent is placed in the n-dimensional polytope in a shape that maximizes the quality index. At the same time, the shape of the adjacent agents is optimized so that the total quality index of the adjacent agents in the n-dimensional polytope becomes better than the current state. The quality index indicates the shape quality of the agent, and is calculated for each agent using a predetermined objective function. In the fourth step, a mesh is generated based on the agent group filled in the n-dimensional polytope.
 本発明によれば、構造データより変換され、かつ、ポリトープで表現された形状データに対して1次元ポリトープである辺を基準長に基づいて分割した上で、(n-1)次元の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内にエージェントを配置していく。エージェントのサイズは基準長に依存しており、その形状は品質指標が最大限良好になるように設定される。また、隣り合ったエージェントの形状は、これらの品質指標の合計が現状、すなわち、最適化を行う前の状態よりも良好になるように最適化される。これにより、形状的に良好なエージェント群によってn次元ポリトープの内部空間が隙間なく充填・細分化されるので、高品質なメッシュを生成することができる。 According to the present invention, the shape data converted from the structure data and represented by the polytope is divided into one-dimensional polytope sides based on the reference length, and (n−1) -dimensional processing is performed. As an n-dimensional process for the shape data performed, agents are arranged in an n-dimensional polytope. The size of the agent depends on the reference length, and its shape is set so that the quality index is as good as possible. Further, the shapes of the adjacent agents are optimized so that the sum of these quality indexes is better than the current state, that is, the state before the optimization is performed. Thereby, the internal space of the n-dimensional polytope is filled and subdivided without gaps by the agent group having a good shape, so that a high-quality mesh can be generated.
メッシュ生成システムのブロック図Block diagram of mesh generation system メッシュ生成処理のフローチャートFlow chart of mesh generation process 2次元構造データを示す図Diagram showing 2D structure data 2次元形状データを示す図Diagram showing 2D shape data 次元間におけるポリトープの主従関係を示す概念図Conceptual diagram showing the master-detail relationship of polytopes between dimensions 1次元の結晶化処理後の形状データを示す図Figure showing shape data after one-dimensional crystallization treatment n次元の結晶化処理ルーチンのフローチャートFlow chart of n-dimensional crystallization processing routine エージェント形状の最適化における簡易手法の説明図Illustration of a simple method for agent shape optimization エージェントA1,A2の配置説明図Illustration of arrangement of agents A1 and A2 エージェントA3の配置説明図Illustration of arrangement of agent A3 エージェントA3の配置に伴うエージェント形状の最適化説明図Explanation of optimization of agent shape accompanying arrangement of agent A3 エージェントA4の配置説明図Illustration of arrangement of agent A4 エージェントA5の配置説明図Illustration of arrangement of agent A5 エージェント群A1~A9による充填状態の説明図Explanatory drawing of filling state by agent groups A1 to A9 メッシュデータを示す図Diagram showing mesh data
 図1は、本実施形態に係るメッシュ生成システムのブロック図である。メッシュ生成システム1は、物体の構造データを入力とし、この物体の形状をメッシュで表現したメッシュデータを出力する。メッシュの生成過程では、エージェントベースモデル(Agent-based model,ABM)が用いられる。ここで、「エージェントベースモデル」とは、自律的なエージェントの振る舞いと、エージェント間の相互作用とが系全体に与える影響を評価するためのシミュレーションモデルの一つであり、マルチエージェントシミュレーションと称されることもある。また、「エージェント」とは、自己の状況および自己の周囲の状況に基づいて、予め定められた規則の下で自律的に行動する主体をいう。本実施形態の特徴は、物体の領域を細分化するためにエージェントベースモデルを用いること、より具体的には、ある領域の内部空間において、隣り合ったエージェントの相互作用を考慮しながらエージェントを配置していき、この領域内に充填されたエージェント群に基づいて、メッシュを生成することにある。 FIG. 1 is a block diagram of a mesh generation system according to the present embodiment. The mesh generation system 1 receives the structure data of an object, and outputs mesh data representing the shape of the object as a mesh. In the mesh generation process, an agent-based model (ABM) is used. Here, the “agent-based model” is one of simulation models for evaluating the influence of autonomous agent behavior and interaction between agents on the entire system, and is called multi-agent simulation. Sometimes. An “agent” refers to a subject that acts autonomously under predetermined rules based on the situation of the person and the situation around him. The feature of this embodiment is that an agent-based model is used to subdivide an object area. More specifically, agents are arranged in an internal space of a certain area while considering the interaction of adjacent agents. Then, the mesh is generated based on the agent group filled in this region.
 メッシュ生成システム1は、データ変換部2と、1次元処理部3と、n次元処理部4と、メッシュ生成部5と、ポリトープ管理部6とを有する。データ変換部2は、処理対象として入力された構造データを形状データに変換する。変換前の構造データは、物体の構造(形状を含む。)を規定する任意形式のデータであり、2次元CADデータや、STEP形式やSTL形式などの3次元CADデータである。この構造データは、自己が規定する形状として曲線や曲面を含んでいてもよい。一方、変換後の形状データは、物体の形状をポリトープで表現したデータである。特に、構造データが曲線や曲面を含んでいる場合には、これらが線分で離散化され、曲線は直線群、曲面は平面群でそれぞれ近似される。形状データの実装(クラス定義)の仕方は任意であるが、後述するように、異なる次元を参照する結晶化処理が行われる関係上、ポリトープおよびファセットの対応関係を保持・管理することが好ましい。ここで、「ポリトープ」とは、初等幾何学における超多面体をいい、0次元ポリトープは「点」、1次元ポリトープは「辺」、2次元ポリトープは「面」、3次元ポリトープは「立体」である。また、「ファセット」とは、ある次元のポリトープが所有する一つ下の次元ポリトープをいう。例えば、3次元ポリトープ(立体)に対しての「面」、2次元ポリトープ(面)に対しての「辺」、1次元ポリトープ(辺)に対しての「点」がファセットに相当する。 The mesh generation system 1 includes a data conversion unit 2, a one-dimensional processing unit 3, an n-dimensional processing unit 4, a mesh generation unit 5, and a polytope management unit 6. The data converter 2 converts the structure data input as a processing target into shape data. The structure data before conversion is data in an arbitrary format that defines the structure (including shape) of the object, and is two-dimensional CAD data, or three-dimensional CAD data such as a STEP format or an STL format. This structure data may include a curve or a curved surface as a shape defined by itself. On the other hand, the converted shape data is data representing the shape of an object with a polytope. In particular, when the structure data includes a curve or a curved surface, these are discretized by line segments, and the curve is approximated by a straight line group and the curved surface is approximated by a plane group. The manner of implementation of shape data (class definition) is arbitrary, but as will be described later, it is preferable to maintain and manage the correspondence between polytopes and facets because of the crystallization process that refers to different dimensions. Here, “polytope” refers to a super polyhedron in elementary geometry. A zero-dimensional polytope is “point”, a one-dimensional polytope is “side”, a two-dimensional polytope is “face”, and a three-dimensional polytope is “solid”. is there. “Facet” refers to a one-dimensional lower polytope owned by a one-dimensional polytope. For example, a “surface” for a three-dimensional polytope (solid), a “side” for a two-dimensional polytope (surface), and a “point” for a one-dimensional polytope (side) correspond to facets.
 1次元処理部3は、データ変換部2によって変換された形状データに対する1次元の結晶化処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する。1次元の結晶化処理は、形状データに含まれる1次元ポリトープ(辺)のうち、後述する条件を満たすものに対して行われる。ここで、基準長は、ユーザによって長さが定義され、これによってエージェントのサイズが規定される。具体的には、基準長が長くなるほどエージェントが大きくなり(領域分解能=粗)、これが短くなるほどのエージェントが小さくなる(領域分解能=密)。また、基準長は、物体全体に対して一定値を固定的に適用してもよいが、物体の物性および表面形状の少なくとも一方に応じて可変値を適用してもよい。例えば、材質が柔らかく変形が生じ易い部位については、他の部位よりも基準長を短くしたり、表面の曲率が大きい部位については、他の部位よりも基準長を短くするといった如くである。 The one-dimensional processing unit 3 divides a side that is a one-dimensional polytope based on a specific reference length as a one-dimensional crystallization process for the shape data converted by the data conversion unit 2. The one-dimensional crystallization process is performed on the one-dimensional polytope (side) included in the shape data that satisfies the conditions described later. Here, the reference length is defined by the user, and thereby the size of the agent is defined. Specifically, the longer the reference length, the larger the agent (region resolution = coarse), and the shorter the reference length, the smaller the agent (region resolution = fine). In addition, a fixed value may be fixedly applied to the entire object, but a variable value may be applied according to at least one of the physical properties and the surface shape of the object. For example, the reference length is made shorter than the other parts for a part where the material is soft and easily deformed, and the reference length is made shorter than the other part for a part having a large surface curvature.
 n次元処理部4は、(n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の結晶化処理として、n次元ポリトープの内部空間をエージェント群(エージェントの次元数=n)で充填・細分化する。例えば、n=2の場合、1次元処理部3によって1次元の結晶化処理が行われた形状データに対して2次元の結晶化処理が行われ、2次元ポリトープ(面)の内部空間が2次元エージェント群で充填・細分化される。また、n=3の場合、n次元処理部4によって2次元の結晶化処理が行われた形状データに対して3次元の結晶化処理が行われ、3次元ポリトープ(立体)の内部空間が3次元エージェント群で充填・細分化される。有効性が期待できるnの上限は4、すなわち、4次元ポリトープ(多胞体:polychoron)と考えられるが、n≧5を特段排除するものではない。 The n-dimensional processing unit 4 uses the internal space of the n-dimensional polytope as an agent group (agents) as an n-dimensional crystallization process for shape data that has been processed in (n-1) dimensions (n is a dimension number of 2 or more). The number of dimensions = n). For example, when n = 2, a two-dimensional crystallization process is performed on the shape data subjected to the one-dimensional crystallization process by the one-dimensional processing unit 3, and the internal space of the two-dimensional polytope (surface) is 2 Filled and subdivided by dimension agents. Further, when n = 3, the three-dimensional crystallization process is performed on the shape data subjected to the two-dimensional crystallization process by the n-dimensional processing unit 4, and the internal space of the three-dimensional polytope (solid) is 3 Filled and subdivided by dimension agents. The upper limit of n that can be expected to be effective is considered to be 4, that is, a four-dimensional polytope (polychoron), but does not specifically exclude n ≧ 5.
 1次元を除くn次元の結晶化処理では、自律的な行動主体であるエージェントがn次元ポリトープの内部空間に個別に配置される。この内部空間において隣り合った複数のエージェント(隣接エージェント)は相互に作用し、この相互作用に基づいて、これらのエージェントの形状が最適化される。個々のエージェントの形状、および、自己を含む隣接エージェントの最適化形状は、品質指標という概念に基づいて決定される。詳細については後述するが、この品質指標は、エージェントの形状的な品質を示し、所定の目的関数(効用関数)によってエージェント毎に算出される。概略的にいえば、エージェントの個別的な形状は、このエージェントの品質指標が最大限良好になるように設定される。また、自己を含む隣接エージェントの最適化形状は、これらの品質指標の合計が現状、すなわち、最適化される前の状態よりも良好になるように設定される。 In the n-dimensional crystallization process excluding the first dimension, agents that are autonomous behavior subjects are individually placed in the internal space of the n-dimensional polytope. A plurality of adjacent agents (adjacent agents) in the internal space interact with each other, and the shapes of these agents are optimized based on the interaction. The shape of each agent and the optimized shape of neighboring agents including itself are determined based on the concept of quality index. As will be described in detail later, this quality index indicates the shape quality of the agent and is calculated for each agent by a predetermined objective function (utility function). Generally speaking, the individual shape of an agent is set so that the quality index of the agent is as good as possible. Further, the optimized shape of the neighboring agent including itself is set so that the sum of these quality indexes is better than the current state, that is, the state before being optimized.
 n次元処理部4は、出力目標であるメッシュデータの次元数に応じた回数で結晶化処理を実行する。例えば、2次元メッシュデータを出力する場合、2次元ポリトープ(面)に対する結晶化処理という1回の処理が行われる。また、3次元メッシュデータを出力する場合、2次元ポリトープ(面)に対する結晶化処理、および、これに続く3次元ポリトープ(立体)に対する結晶化処理という計2回の処理が行われる。 The n-dimensional processing unit 4 executes the crystallization process with the number of times corresponding to the number of dimensions of mesh data that is the output target. For example, when outputting two-dimensional mesh data, a single process called a crystallization process for a two-dimensional polytope (plane) is performed. Further, when outputting three-dimensional mesh data, a total of two processes, a crystallization process for a two-dimensional polytope (plane) and a subsequent crystallization process for a three-dimensional polytope (solid), are performed.
 メッシュ生成部5は、n次元ポリトープ内に充填されたエージェント群に基づいて、四角形や六面体などの要素群で表現されたメッシュを生成する。その際、所望のメッシュ分解能を確保すべく、必要に応じて、個々のエージェントの内部を等分割するなどして、エージェント内を更に細分化してもよい。生成されたメッシュは、所定の出力形式に変換された上で、メッシュデータとして外部に出力される。 The mesh generation unit 5 generates a mesh expressed by an element group such as a quadrangle and a hexahedron based on the agent group filled in the n-dimensional polytope. At that time, in order to ensure a desired mesh resolution, the inside of each agent may be further subdivided, for example, by equally dividing the inside of each agent. The generated mesh is converted into a predetermined output format and then output to the outside as mesh data.
 ポリトープ管理部6は、メッシュ生成システム1が備えるメモリ空間上において、データ変換部2によって変換された形状データにおける次元間のポリトープの主従関係、すなわち、高次元ポリトープがどの低次元ポリトープを所有しているのかを記憶・管理する。具体的には、データ変換部2によって形状データが生成された場合、この形状データに関するポリトープの主従関係が登録される。また、1次元処理部3の処理過程では、1次元ポリトープ(辺)の分割、および、これに伴う0次元ポリトープ(点)の追加に応じて、ポリトープの主従関係が随時更新される。さらに、n次元処理部4の処理過程では、n次元ポリトープの細分化に応じて、ポリトープの主従関係が随時更新される。ポリトープ管理部6によって管理されるポリトープの主従関係は、1次元処理部3およびn次元処理部4の双方によって随時参照される。 The polytope management unit 6 has a master-slave relationship between dimensions in the shape data converted by the data conversion unit 2 in the memory space of the mesh generation system 1, that is, the low-dimensional polytope that the high-dimensional polytope owns. Memorize and manage if you are. Specifically, when the shape data is generated by the data conversion unit 2, the master-slave relationship of the polytope related to the shape data is registered. Also, in the processing process of the one-dimensional processing unit 3, the master-slave relationship of the polytope is updated as needed in accordance with the division of the one-dimensional polytope (side) and the addition of the zero-dimensional polytope (point) associated therewith. Further, in the process of the n-dimensional processing unit 4, the master-slave relationship of the polytope is updated as needed according to the subdivision of the n-dimensional polytope. The master-slave relationship of the polytope managed by the polytope management unit 6 is referred to by both the one-dimensional processing unit 3 and the n-dimensional processing unit 4 as needed.
 図2は、メッシュ生成処理のフローチャートである。同図に示すメッシュ生成処理は、コンピュータにプログラム(メッシュ生成プログラム)をインストールし、このプログラムによって規定された手順でコンピュータを動作させることによって実現される。以下、図3に示す形状の2次元構造データを一例として本処理の内容について詳述する。まず、ステップ1では、データ変換部2に処理対象となる構造データが入力される。 FIG. 2 is a flowchart of the mesh generation process. The mesh generation process shown in the figure is realized by installing a program (mesh generation program) in a computer and operating the computer according to a procedure defined by the program. Hereinafter, the contents of this processing will be described in detail by taking the two-dimensional structure data having the shape shown in FIG. First, in step 1, structure data to be processed is input to the data conversion unit 2.
 つぎに、ステップ2では、データ変換部2によって、構造データから形状データへの変換が行われる。例えば、図3に示した2次元構造データは、図4に示す2次元形状データに変換される。具体的には、構造データにおける3つの点が0次元ポリトープP0(1)~P0(3)に変換され、2本の直線が1次元ポリトープP1(1)~P1(2)に変換される。また、形状データへの変換過程では、図3に示した1本の円弧が複数の線分で直線近似される。これによって、隣り合った線分を接続する接続点のそれぞれが0次元ポリトープP0(4)~P0(6)に変換され、それぞれの線分が1次元ポリトープP1(3)~P1(6)に変換される。 Next, in step 2, the data conversion unit 2 converts the structure data into shape data. For example, the two-dimensional structure data shown in FIG. 3 is converted into the two-dimensional shape data shown in FIG. Specifically, three points in the structure data are converted into 0-dimensional polytopes P0 (1) to P0 (3), and two straight lines are converted into one-dimensional polytopes P1 (1) to P1 (2). Further, in the process of converting to shape data, the single arc shown in FIG. 3 is linearly approximated by a plurality of line segments. As a result, each of the connection points connecting adjacent line segments is converted into 0-dimensional polytopes P0 (4) to P0 (6), and the respective line segments are converted into 1-dimensional polytopes P1 (3) to P1 (6). Converted.
 図5は、図4の形状データに関するポリトープの主従関係を示す概念図である。ポリトープの主従関係は、2次元ポリトープP2が所有する1次元ポリトープP1、1次元ポリトープP2が所有する0次元ポリトープP0の如く、ポリトープとファセットとの関係を次元毎に規定する。同図の例では、2次元ポリトープP2(1)は、そのファセット(辺)として、6つの1次元ポリトープP1(1)~P1(6)を所有している。また、例えば1次元ポリトープP1(1)は、このファセット(点)として、2つの0次元ポリトープP0(1),P0(2)を所有している。2次元ポリトープP2が複数存在する場合には、それぞれの2次元ポリトープP2について、上記のようなポリトープの主従関係が管理される。また、3次元形状データの場合、3次元ポリトープ(面)を含めたポリトープの主従関係が管理される。以後の説明は省略するが、ポリトープの主従関係は、以下のステップ3,4の処理過程で随時変更・更新される。 FIG. 5 is a conceptual diagram showing a polytope master-slave relationship with respect to the shape data of FIG. The master-slave relationship of the polytope defines the relationship between the polytope and the facet for each dimension, such as a one-dimensional polytope P1 owned by the two-dimensional polytope P2 and a zero-dimensional polytope P0 owned by the one-dimensional polytope P2. In the example shown in the figure, the two-dimensional polytope P2 (1) has six one-dimensional polytopes P1 (1) to P1 (6) as facets (sides). For example, the one-dimensional polytope P1 (1) has two 0-dimensional polytopes P0 (1) and P0 (2) as facets (points). When there are a plurality of two-dimensional polytopes P2, the master-slave relationship of the polytopes as described above is managed for each two-dimensional polytope P2. In the case of three-dimensional shape data, the master-slave relationship of the polytope including the three-dimensional polytope (surface) is managed. Although the subsequent description is omitted, the master-slave relationship of the polytope is changed / updated as needed in the process of steps 3 and 4 below.
 ステップ3では、1次元処理部3によって、特定の基準長を用いた1次元の結晶化処理が行われる。1次元の結晶化処理の対象となるのは、基準長よりも長い1次元ポリトープP1であり、この1次元ポリトープP1(辺)が基準長程度の長さに分割される。辺の分割数としては、例えば、1次元ポリトープP1の長さを基準長で除算し、この除算値を切り捨てまたは切り上げた整数とすることができる。 In step 3, the one-dimensional processing unit 3 performs a one-dimensional crystallization process using a specific reference length. The target of the one-dimensional crystallization process is a one-dimensional polytope P1 longer than the reference length, and this one-dimensional polytope P1 (side) is divided into lengths about the reference length. As the number of sides divided, for example, the length of the one-dimensional polytope P1 can be divided by a reference length, and the divided value can be rounded down or rounded up.
 図6は、1次元の結晶化処理後の形状データを示す図である。図4に示された1本の辺に相当する1次元ポリトープP1(1),P1(2)のそれぞれが3つに分割される。これにより、1次元ポリトープP1(1)は削除され、その代わりに、3つの1次元ポリトープP1(1-1)~P1(1-3)と、2つの0次元ポリトープP0(7)~P0(8)とが追加される。同様に、1次元ポリトープP1(2)は削除され、その代わりに、3つの1次元ポリトープP1(2-1)~P1(2-3)と、2つの0次元ポリトープP0(9)~P0(10)とが追加される。 FIG. 6 is a diagram showing shape data after a one-dimensional crystallization process. Each of the one-dimensional polytopes P1 (1) and P1 (2) corresponding to one side shown in FIG. 4 is divided into three. As a result, the one-dimensional polytope P1 (1) is deleted. Instead, three one-dimensional polytopes P1 (1-1) to P1 (1-3) and two zero-dimensional polytopes P0 (7) to P0 ( 8) and are added. Similarly, the one-dimensional polytope P1 (2) is deleted. Instead, three one-dimensional polytopes P1 (2-1) to P1 (2-3) and two zero-dimensional polytopes P0 (9) to P0 ( 10) and are added.
 1次元の結晶化処理では、2次元ポリトープP2が所有する1次元ポリトープP1の数、すなわち、2次元ポリトープP2のファセット数が偶数になるように、1次元ポリトープP1の分割数が調整される。図6の例では、2次元ポリトープP2(1)のファセット数が10なので、本条件を満たしている。分割数の調整を行う理由は、これ以降の処理過程でファセット数が2n(nは次元数)以外のポリトープが出現しないようにして、これに対する例外処理の発生を回避するためである。従来のメッシャーの場合、メッシングの過程で四角形の中に三角形、あるいは、六面体の中に四面体が混ざってしまうことがあるため、これらを取り除くために特殊な例外処理を施す必要がある。これに対して、本手法では、上記のような偶数化の調整を行うことで、フェセット数が2n以外のポリトープが以後の処理過程で発生することを有効に抑制できる。 In the one-dimensional crystallization process, the number of divisions of the one-dimensional polytope P1 is adjusted so that the number of one-dimensional polytopes P1 owned by the two-dimensional polytope P2, that is, the number of facets of the two-dimensional polytope P2 is an even number. In the example of FIG. 6, the number of facets of the two-dimensional polytope P2 (1) is 10, so this condition is satisfied. The reason for adjusting the number of divisions is to prevent occurrence of exception processing for the polytope by preventing the occurrence of a polytope other than the facet number 2n (n is the number of dimensions) in the subsequent processing steps. In the case of a conventional mesher, a triangle in a square or a tetrahedron in a hexahedron may be mixed in the process of meshing. Therefore, special exception processing needs to be performed to remove these. On the other hand, in the present method, by adjusting the even number as described above, it is possible to effectively suppress the occurrence of a polytope having a facet number other than 2n in the subsequent processing.
 ステップ4では、n次元処理部4によって、自律的な行動主体であるエージェントを用いたn次元の結晶化処理が行われる。図7は、n次元の結晶化処理ルーチンのフローチャートである。まず、ステップ41では、処理対象となるn次元ポリトープ(例えば、図6に示した2次元ポリトープP2(1))が指定される。処理対象となるn次元ポリトープはファセット数が2nでないこと、具体的には、2次元の結晶化処理では2次元ポリトープのファセット数が4でないこと、3次元の結晶化処理では3次元ポリトープのファセット数が6でないことが条件となる。すなわち、n次元の結晶化処理は、ファセット数が2nではないポリトープに対して行われ、ファセット数が2nであれば、このポリトープ自身が一個のエージェントとなり得るので、このポリトープに対しては行われない。 In step 4, the n-dimensional processing unit 4 performs an n-dimensional crystallization process using an agent that is an autonomous action subject. FIG. 7 is a flowchart of an n-dimensional crystallization processing routine. First, in step 41, an n-dimensional polytope to be processed (for example, the two-dimensional polytope P2 (1) shown in FIG. 6) is designated. The n-dimensional polytope to be processed has a facet number that is not 2n, specifically, the facet number of the two-dimensional polytope is not 4 in the two-dimensional crystallization process, and the facet of the three-dimensional polytope in the three-dimensional crystallization process The condition is that the number is not six. That is, the n-dimensional crystallization process is performed on a polytope having a facet number other than 2n, and if the number of facets is 2n, the polytope itself can be an agent. Absent.
 つぎに、ステップ42では、ステップ41で指定された処理対象の内部空間において、エージェントの配置場所が指定される。エージェントの配置場所およびその順序として、どのような規則を設定するかは任意であるが、本実施形態では、一例として、図14に示すように、(i)2つの端部への配置(A1→A2)、(ii)これらを結ぶ辺上への配置(A3)、(iii)上記(i),(ii)に基づくすべての辺上への配置(A4→A5→A6→A7)、(iv)空間内側への配置(A8)といった順序で、個々のエージェントを順次配置していく。 Next, in step 42, an agent placement location is specified in the processing target internal space specified in step 41. Although what kind of rule is set as the agent placement location and its order is arbitrary, in this embodiment, as shown in FIG. 14, as an example, as shown in FIG. 14, (i) placement at two ends (A1 → A2), (ii) Arrangement on the side connecting them (A3), (iii) Arrangement on all sides based on the above (i) and (ii) (A4 → A5 → A6 → A7), ( iv) The individual agents are sequentially arranged in the order of arrangement inside the space (A8).
 エージェントの配置等に関する規則としては次のものが挙げられる。第1の規則として、エージェントのファセット数は2nである。すなわち、2次元の結晶化処理における2次元エージェントは四角形であり、3次元の結晶化処理における3次元エージェントは六面体である。これは、2次元形状を四角形メッシュ、3次元形状を六面体メッシュでそれぞれ表現することに由来する。第2の規則として、エージェントのファセットは、このエージェントの配置場所の近傍にある既存のファセットを共有する。「既存のファセット」とは、エージェントが属するn次元ポリトープのファセット、あるいは、このn次元ポリトープ内に既に配置された他のエージェントのファセットである。これは、n次元ポリトープの内部空間にエージェントを隙間なく配置することに由来する。 The following rules can be cited as rules regarding the placement of agents. As a first rule, the number of facets of the agent is 2n. That is, the two-dimensional agent in the two-dimensional crystallization process is a rectangle, and the three-dimensional agent in the three-dimensional crystallization process is a hexahedron. This is because the two-dimensional shape is represented by a quadrilateral mesh and the three-dimensional shape is represented by a hexahedral mesh. As a second rule, agent facets share existing facets in the vicinity of the agent's location. An “existing facet” is a facet of an n-dimensional polytope to which an agent belongs, or a facet of another agent already arranged in the n-dimensional polytope. This is because the agents are arranged without gaps in the internal space of the n-dimensional polytope.
 ステップ43では、エージェントの品質指標Qが最大限良好になるように、このエージェントの形状が設定される。上述したように、エージェントの品質指標Qは、このエージェントの形状的な品質を示しており、一例として、以下の目的関数によって算出される「不満度」とすることができる。 In step 43, the shape of the agent is set so that the quality index Q of the agent is as good as possible. As described above, the agent quality index Q indicates the shape quality of the agent, and can be, for example, the “dissatisfaction level” calculated by the following objective function.

 (不満度) = (内角の分散)*a+(エッジ長の(最長/最短))*b

(Dissatisfaction) = (Inner angle variance) * a + (Edge length (longest / shortest)) * b
 上記数式において、a,bはユーザ定義の定数である。また、(内角の分散)は、エージェントにおける内角のばらつきを示す。エージェントが四角形ならば内角θiは4個(i=4)、六面体ならば内角θiは24個(i=24)存在し、これらの分散は下式に基づいて算出される。なお、内角のばらつきは、内角の分散の代わりに、内角の(最大/最小)などの散布度を表す指標によって評価してもよい。 In the above formula, a and b are user-defined constants. Further, (dispersion of inner angle) indicates variation in inner angle in the agent. If the agent is a quadrangle, there are four internal angles θi (i = 4), and if the agent is a hexahedron, there are 24 internal angles θi (i = 24), and their variances are calculated based on the following equation. In addition, the variation of the inner angle may be evaluated by an index representing the degree of dispersion such as (maximum / minimum) of the inner angle instead of the dispersion of the inner angle.

(内角の分散)=1/N*Σ(θi-Π/2)2

(Inner angle dispersion) = 1 / N * Σ (θi−Π / 2) 2
 エッジ長の(最長/最短)、すなわち、エッジ長の長短比は、エージェンにおけるエッジ長のばらつきを示す。ここで、「エッジ長」とは、2次元の結晶化処理の場合、辺すなわち1次元ポリトープP1の長さことである。なお、エッジ長のばらつきは、エッジの長短比の代わりに、エッジの分散などの散布度を表す指標によって評価してもよい。 The edge length (longest / shortest), that is, the length-to-short ratio of the edge length indicates the variation of the edge length in the agent. Here, the “edge length” is the length of the side, that is, the one-dimensional polytope P1, in the case of a two-dimensional crystallization process. Note that the variation in edge length may be evaluated by an index representing the degree of dispersion such as edge dispersion instead of the edge length ratio.
 不満度は、その傾向として、内角のばらつきが小さくなるほど、そして、エッジ長のばらつきが小さくなるほど小さくなり、正方形や正六面体が最小となる。そして、不満度が小さくなるほどエージェントの形状的な品質は良好とされ、不満度が大きくなるほどその品質は良好でないとされる。このような傾向から理解できるように、「品質指標Qが最大限良好になる」ような形状とは、既存のファセットを共有するという制約条件の下、正方形や正六面体に極力近くなるような形状ということができる。なお、「品質指標Qが最大限良好になる」とは、品質指標Qが最大値をとることを条件としてもよいが、例えば、不満度が所定のしきい値よりも小さい、あるいは、以下に述べる幸福度が所定のしきい値よりも大きいといった如く、品質指標Qが所定のしきい値を超えるほど良好であることをもって、本条件を満たすとしてもよい。 The degree of dissatisfaction becomes smaller as the variation in the inner angle becomes smaller and the variation in the edge length becomes smaller, and the square and the regular hexahedron are minimized. Then, the smaller the dissatisfaction level, the better the shape quality of the agent, and the higher the dissatisfaction level, the less good the quality. As can be understood from this tendency, the shape that “quality index Q is maximally favorable” is a shape that is as close as possible to a square or a regular hexahedron under the constraint of sharing existing facets. It can be said. Note that “the quality index Q is maximally favorable” may be on condition that the quality index Q takes the maximum value. For example, the degree of dissatisfaction is smaller than a predetermined threshold, or This condition may be satisfied if the quality index Q exceeds the predetermined threshold value so that the happiness level described is greater than the predetermined threshold value.
 品質指標Qとしては、上記数式に限定されるものではなく、様々なものが考えられる。例えば、エッジ長のばらつきを考慮することなく、内角のばらつきのみを評価してもよい。また、内角のばらつきに加えて、他の要件(例えば、エッジ長はなるべく大きいほうがよい等)も考慮した評価を行ってもよい。また、上記数式の不満度に-1を乗じたものを「幸福度」とし、この幸福度を評価指標Qとしてもよい。この場合、幸福度が大きくなるほどエージェントの形状的な品質は良好とされ、幸福度が小さくなるほどその品質は良好でないとされる。 The quality index Q is not limited to the above mathematical formula, but can be various. For example, only the variation in the inner angle may be evaluated without considering the variation in the edge length. Further, in addition to the variation in the internal angle, the evaluation may be performed in consideration of other requirements (for example, the edge length should be as large as possible). Further, a value obtained by multiplying the degree of dissatisfaction in the above formula by −1 may be used as the “happiness level”, and this happiness level may be used as the evaluation index Q. In this case, the higher the happiness level, the better the shape quality of the agent, and the lower the happiness level, the lower the quality.
 ステップ44では、n次元ポリトープの内部空間において隣り合った複数のエージェント(自己を含む。)について、これらの形状が最適化される(スムージング)。この最適化は、自己を含む隣接エージェントにおける個々の品質指標Qの合計、すなわち、全体品質指標Qsumが現状、すなわち、最適化を行う前の状態よりも良好になるような変形を行うことで達成される。 In step 44, these shapes are optimized (smoothing) for a plurality of agents (including self) adjacent in the internal space of the n-dimensional polytope. This optimization is achieved by performing a modification such that the sum of the individual quality indexes Q of neighboring agents including itself, that is, the overall quality index Qsum is better than the current state, that is, the state before the optimization is performed. Is done.
 ここで、全体品質指標Qsum(以下「関数U」とする。)は、各内角(θ)や各エッジ長(l)に依存して決定されるが、内角やエッジ長は各P0の座標(ベクトルx)によって表現可能なので、以下のように表現できる。 Here, the overall quality index Qsum (hereinafter referred to as “function U”) is determined depending on each interior angle (θ) and each edge length (l). Since it can be expressed by the vector x), it can be expressed as follows.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 この際に任意のP0の移動量(Δベクトルxi)を以下のように定義する。 At this time, an arbitrary movement amount of P0 (Δ vector xi) is defined as follows.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 この移動操作を形状の最適化のタイミングで繰り返し行う。繰り返し終了の条件は|Δベクトルx|/Δtがすべてのiに対して所定の閾値を下回ることである。 This operation is repeated at the timing of shape optimization. The condition for the repetition end is that | Δvector x | / Δt falls below a predetermined threshold for all i.
 上記シミュレーションでは、Δtを十分に小さくすることにより厳密に全体品質指標Qsumの上昇を保証する。しかし、計算コストが非常に高い場合には、計算を近似するような簡易手法を用いることができる。この簡易手法では、各P0の移動量をP1の長さおよび基準長の乖離に由来する値(δベクトルxlength)と、P1同士の作る角度のπ/2からの乖離に由来する値(δベクトルxangle)とによって決定する。各タイムステップで2つの値をエージェント毎に評価してP0に移動量を加算していき、すべてのエージェントに関する評価が終了したタイミングで、移動量の合計分(Δベクトルx)だけP0を実際に移動させる。 In the above simulation, the increase of the overall quality index Qsum is strictly guaranteed by making Δt sufficiently small. However, when the calculation cost is very high, a simple method that approximates the calculation can be used. In this simple method, the amount of movement of each P0 is a value (δ vector xlength) derived from the difference between the length of P1 and the reference length (δ vector xlength), and a value derived from the deviation from π / 2 of the angle formed by P1 (δ vector). xangle). At each time step, two values are evaluated for each agent and the amount of movement is added to P0. At the timing when the evaluation for all agents is completed, P0 is actually calculated by the total amount of movement (Δ vector x). Move.
 図8は、エージェント形状の最適化における簡易手法の説明図である。同図は、2つのP1が接続するP0について例示している。簡単のため2つのP1をそれぞれVi,Vjというベクトルに置き換えて説明する。 FIG. 8 is an explanatory diagram of a simple method for optimizing the agent shape. The figure illustrates P0 connected by two P1. For simplicity, the description will be made by replacing two P1 with vectors Vi and Vj, respectively.
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 ただし、kangleおよびklengthはエージェントの不満度に比例する所定の定数である。また、上記数式において、イテレータiをある条件(cond.)下で1ずつインクリメントしながら、オペランドを足し合わせる演算記号を以下のように表現している。 However, kangle and klength are predetermined constants proportional to the degree of dissatisfaction of the agent. Further, in the above formula, an operation symbol that adds the operands while incrementing the iterator i by 1 under a certain condition (cond.) Is expressed as follows.
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004
 以上の簡易手法は、全体品質指標Qsumを直接演算するものではないが、これに基づく処理結果として、全体品質指標Qsumが現状よりも良好になるような変形が行われる。なお、図7に示したフローチャートでは、形状の最適化をエージェントの配置毎に毎回行っているが、毎回行う必要は必ずしもなく、所定の条件を満たす場合のみ行ってもよい。 The above simple method does not directly calculate the overall quality index Qsum, but as a result of processing based on this, a modification is made so that the overall quality index Qsum is better than the current state. In the flowchart shown in FIG. 7, the shape optimization is performed every time the agent is arranged. However, it is not always necessary to perform the shape optimization, and may be performed only when a predetermined condition is satisfied.
 ステップ45では、処理対象となるn次元ポリトープの内部空間がエージェント群によって充填されたか否かが判定される。この判定結果が否定の場合、すなわち、n次元ポリトープ内の充填が完了していない場合には、次のエージェントに処理対象を移行し(ステップ46)、このエージェントについての処理が行われる(ステップ42~44)。そして、エージェント毎の繰り返し処理によって、n次元ポリトープ内の充填が完了した場合、ステップ45の判定結果が否定から肯定に変わって、ステップ47に進む。 In step 45, it is determined whether or not the internal space of the n-dimensional polytope to be processed has been filled by the agent group. If the determination result is negative, that is, if the filling in the n-dimensional polytope has not been completed, the processing target is shifted to the next agent (step 46), and the processing for this agent is performed (step 42). ~ 44). If the filling in the n-dimensional polytope is completed by the repetition process for each agent, the determination result in step 45 changes from negative to affirmative, and the process proceeds to step 47.
 ステップ47では、すべてのn次元ポリトープに対する処理が完了したか否かが判定される。この判定結果が否定の場合、すなわち、同一次元に属する全ポリトープに対する処理が完了していない場合には、同一次元における次のポリトープに処理対象を移行し(ステップ48)、同様の処理が行われる(ステップ41~46)。そして、同一次元におけるポリトープ毎の処理が繰り返されることよって、全ポリトープの処理が完了した場合、ステップ47の判定結果が否定から肯定に変わり、本ルーチンが終了する。 In step 47, it is determined whether or not processing for all n-dimensional polytopes has been completed. If this determination result is negative, that is, if processing for all polytopes belonging to the same dimension has not been completed, the processing target is shifted to the next polytope in the same dimension (step 48), and the same processing is performed. (Steps 41 to 46). Then, by repeating the processing for each polytope in the same dimension, when the processing of all the polytopes is completed, the determination result of step 47 is changed from negative to affirmative, and this routine ends.
 2次元メッシュを生成する場合には、2次元の結晶化処理の終了により、ステップ4の処理が終了する。また、3次元メッシュを生成する場合には、2次元の結晶化処理に続いて、3次元ポリトープを対象とした3次元の結晶化処理が行われ、その終了をもってステップ4の処理が終了する。 In the case of generating a two-dimensional mesh, the processing in step 4 ends when the two-dimensional crystallization process ends. Further, when generating a three-dimensional mesh, a two-dimensional crystallization process is followed by a three-dimensional crystallization process for a three-dimensional polytope.
 以下、図9から図14を参照しつつ、エージェント群による2次元ポリトープP2(1)の充填プロセスについて説明する。まず、図9に示すように、2次元ポリトープP2(1)の右下端にエージェントA1が配置される。エージェントA1は、2次元ポリトープP2(1)が所有するファセットP1(2-3),P1(1-1)を共有する。ファセットの共有に関する実装上の手法としては、例えば、共役ファセットという鏡写しのようなファセットを別途に生成・所持することによって取り扱うことができる。3つの点P0(1),P0(7),P0(10)が既に特定された制約条件の下で残された自由度は、残りの点X1の配置場所ということになる。点X1は、エージェントA1の品質指標Q1が最大限良好になる位置に配置され、これによって、エージェントA1の形状が決定される。エージェントA1については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Hereinafter, the filling process of the two-dimensional polytope P2 (1) by the agent group will be described with reference to FIGS. First, as shown in FIG. 9, the agent A1 is arranged at the lower right end of the two-dimensional polytope P2 (1). Agent A1 shares facets P1 (2-3) and P1 (1-1) owned by two-dimensional polytope P2 (1). As a mounting method related to facet sharing, for example, it can be handled by separately generating and possessing a mirrored facet called a conjugate facet. The degree of freedom left under the constraint condition in which the three points P0 (1), P0 (7), and P0 (10) have already been identified is the location of the remaining point X1. The point X1 is arranged at a position where the quality index Q1 of the agent A1 is maximally favorable, whereby the shape of the agent A1 is determined. For agent A1, since there is no adjacent agent, shape optimization is not performed.
 つぎに、2次元ポリトープP2(1)の左下端にエージェントA2が配置される。エージェントA2は、2次元ポリトープP2(1)が所有するファセットP1(2-1),P1(6)を共有する。3つの点P0(3),P0(6),P0(9)が既に特定された制約条件の下で残された自由度は、残りの点X2の配置場所ということになる。点X2は、エージェントA2の品質指標Q2が最大限良好になる位置に配置され、これによって、エージェントA2の形状が決定される。エージェントA2については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Next, the agent A2 is arranged at the lower left corner of the two-dimensional polytope P2 (1). Agent A2 shares facets P1 (2-1) and P1 (6) owned by the two-dimensional polytope P2 (1). The degree of freedom left under the constraint conditions in which the three points P0 (3), P0 (6), and P0 (9) have already been identified is the location of the remaining point X2. The point X2 is arranged at a position where the quality index Q2 of the agent A2 is maximally favorable, whereby the shape of the agent A2 is determined. For agent A2, since there is no adjacent agent, shape optimization is not performed.
 つぎに、図10に示すように、2つのエージェントA1,A2の間にエージェントA3が配置される。エージェントA3は、2次元ポリトープP2(1)が所有するファセットP1(2-2)と、エージェントA1,A2のファセットとを共有する。よって、エージェントA3の品質指標Q3を評価するまでもなく、エージェントA4の形状が一義的に特定される。また、エージェントA3については、2つのエージェントA1,A2と隣り合っている。よって、3つのエージェントA1~A3の合計品質指標Qsumが現状よりも良好になるように、エージェントA1~A3の形状が最適化される。これにより、エージェントA1~A3の形状は、図11に示すように、破線の状態から実線の状態に最適化される。 Next, as shown in FIG. 10, an agent A3 is arranged between the two agents A1 and A2. Agent A3 shares facet P1 (2-2) owned by two-dimensional polytope P2 (1) and the facets of agents A1 and A2. Therefore, the shape of the agent A4 is uniquely specified without evaluating the quality index Q3 of the agent A3. The agent A3 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized so that the total quality index Qsum of the three agents A1 to A3 is better than the current state. As a result, the shapes of the agents A1 to A3 are optimized from the broken line state to the solid line state as shown in FIG.
 つぎに、図12に示すように、2次元ポリトープP2(1)の右上端にエージェントA4が配置される。エージェントA4は、2次元ポリトープP2(1)が所有するファセットP1(1-3),P1(3)を共有する。この制約条件の下で、エージェントA4の品質指標Q4が最大限良好になるように、エージェントA4の形状が決定される。エージェントA4については、隣り合ったエージェントが存在しないので、形状の最適化は行われない。 Next, as shown in FIG. 12, an agent A4 is arranged at the upper right end of the two-dimensional polytope P2 (1). Agent A4 shares facets P1 (1-3) and P1 (3) owned by the two-dimensional polytope P2 (1). Under this constraint condition, the shape of the agent A4 is determined so that the quality index Q4 of the agent A4 is as good as possible. For agent A4, since there is no adjacent agent, shape optimization is not performed.
 つぎに、図13に示すように、2つのエージェントA1,A4の間にエージェントA5が配置される。エージェントA5は、2次元ポリトープP2(1)が所有するファセットP1(1-2)と、エージェントA1,A4のファセットとを共有する。よって、エージェントA5の品質指標Q5を評価するまでもなく、エージェントA5の形状が一義的に特定される。また、エージェントA5については、2つのエージェントA1,A2と隣り合っている。よって、3つのエージェントA1,A4,A5の全体品質指標Qsumが現状よりも良好になるように、エージェントA1~A3の形状は破線の状態から実線の状態に最適化される。 Next, as shown in FIG. 13, an agent A5 is arranged between the two agents A1 and A4. Agent A5 shares facet P1 (1-2) owned by two-dimensional polytope P2 (1) and the facets of agents A1 and A4. Therefore, the shape of the agent A5 is uniquely identified without evaluating the quality index Q5 of the agent A5. The agent A5 is adjacent to the two agents A1 and A2. Therefore, the shapes of the agents A1 to A3 are optimized from the broken line state to the solid line state so that the overall quality index Qsum of the three agents A1, A4, A5 is better than the current state.
 以後、図14に示すように、エージェントA6~A8が形状の最適化を伴いながら順次配置されていく。これによって、2次元ポリトープP2(1)の内部空間は、8つのエージェントA1~A8によって隙間なく充填される。 Thereafter, as shown in FIG. 14, the agents A6 to A8 are sequentially arranged with the optimization of the shape. As a result, the internal space of the two-dimensional polytope P2 (1) is filled without gaps by the eight agents A1 to A8.
 ステップ5では、メッシュ生成部5によってメッシュデータが生成される。この過程では、必要に応じてエージェントの領域が等分割され、これによって、図15に示すようなメッシュデータが生成される。生成されたメッシュデータは、最終的な出力データとして外部に出力される。 In step 5, mesh data is generated by the mesh generation unit 5. In this process, the agent area is equally divided as necessary, and mesh data as shown in FIG. 15 is generated. The generated mesh data is output to the outside as final output data.
 このように、本実施形態によれば、構造データより変換され、かつ、ポリトープで表現された形状データに対して、1次元ポリトープP1である辺を基準長に基づき分割する。そして、(n-1)次元の処理が行われた形状データに対するn次元の処理として、n次元ポリトープ内にエージェントを配置していく。エージェントのサイズは基準長に依存しており、その形状はエージェントの品質指標Qが最大限良好になるように設定される。また、隣り合ったエージェントの形状は、全体品質指標Qsumが現状、すなわち、最適化を行う前の状態よりも良好になるように最適化される。これにより、形状的に良好なエージェント群によってn次元ポリトープの内部空間が隙間なく充填・細分化されるので、高品質なメッシュを生成することができる。 Thus, according to the present embodiment, the side which is the one-dimensional polytope P1 is divided based on the reference length with respect to the shape data converted from the structure data and expressed by the polytope. Then, an agent is arranged in the n-dimensional polytope as an n-dimensional process for the shape data subjected to the (n−1) -dimensional process. The size of the agent depends on the reference length, and its shape is set so that the agent quality index Q is as good as possible. Further, the shapes of the adjacent agents are optimized so that the overall quality index Qsum is better than the current state, that is, the state before the optimization is performed. Thereby, the internal space of the n-dimensional polytope is filled and subdivided without gaps by the agent group having a good shape, so that a high-quality mesh can be generated.
 また、本実施形態によれば、1次元処理部3およびn次元処理部4を組み合わせて、2次元データの場合には1次元から2次元に至る結晶化処理、3次元データの場合には1次元から3次元に至る結晶化処理を行うことで、ほぼあらゆる形状のメッシングを安定して行うことができ、例外処理を要することなくメッシングの完了を保証できる。メッシングの途中で続行不能となることを防止できることは、従来のメッシャーとの比較において、非常に重要かつ効果的である。 Further, according to the present embodiment, the one-dimensional processing unit 3 and the n-dimensional processing unit 4 are combined, and in the case of two-dimensional data, crystallization processing from one dimension to two dimensions is performed, and in the case of three-dimensional data, 1 By performing the crystallization process from the 3rd dimension to the 3rd dimension, meshing of almost any shape can be stably performed, and the completion of the meshing can be guaranteed without requiring exception processing. The ability to prevent the inability to continue in the middle of meshing is very important and effective in comparison with conventional meshers.
 さらに、本実施形態によれば、メッシャーとしてのカスタマイズ性の向上を図ることができる。実際にメッシュを作成する過程では、単純にメッシュを均一に切るだけではなく、物体の物性(例えば材質)や表面形状(例えば曲率)といった条件に応じて、メッシュの細かさを調整することが多い。本実施形態では、物体の物性および表面形状の少なくとも一方に応じて基準長を調整することで、これらのファクターをメッシュの細かさに自動的に反映することができる。 Furthermore, according to the present embodiment, it is possible to improve the customization as a mesher. In the process of actually creating a mesh, in addition to simply cutting the mesh uniformly, the fineness of the mesh is often adjusted according to conditions such as physical properties (for example, material) and surface shape (for example, curvature) of the object. . In the present embodiment, these factors can be automatically reflected on the fineness of the mesh by adjusting the reference length according to at least one of the physical properties and the surface shape of the object.
 なお、上述した実施形態では、n次元の結晶化処理において、n次元ポリトープの内部空間にエージェントを順次配置していく逐次処理を例について説明したが、処理の高速化を図るために、可能な範囲で、複数のエージェントを同時並行的に配置していく並列処理を行ってもよい。例えば、図14に示したエージェントA1~A3などは、互いに独立しており、他のエージェントとの相互作用を考慮する必要がないため、並列処理が可能である。 In the above-described embodiment, an example of the sequential processing in which agents are sequentially arranged in the internal space of the n-dimensional polytope in the n-dimensional crystallization processing has been described. However, in order to increase the processing speed, it is possible. Within a range, parallel processing in which a plurality of agents are arranged in parallel may be performed. For example, the agents A1 to A3 shown in FIG. 14 are independent of each other and do not need to consider the interaction with other agents, and thus can be processed in parallel.
 1 メッシュ生成システム
 2 データ変換部
 3 1次元処理部
 4 n次元処理部
 5 メッシュ生成部
 6 ポリトープ管理部
DESCRIPTION OF SYMBOLS 1 Mesh generation system 2 Data conversion part 3 One-dimensional processing part 4 n-dimensional processing part 5 Mesh generation part 6 Polytope management part

Claims (19)

  1.  エージェントベースモデルを用いたメッシュ生成システムにおいて、
     物体の構造データをポリトープで表現した形状データに変換するデータ変換部と、
     前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する1次元処理部と、
     (n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填するn次元処理部と、
     前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成するメッシュ生成部と
    を有することを特徴とするメッシュ生成システム。
    In a mesh generation system using an agent-based model,
    A data conversion unit that converts the structure data of the object into shape data expressed in a polytope;
    As a one-dimensional process for the shape data, a one-dimensional processing unit that divides a side that is a one-dimensional polytope based on a specific reference length;
    (N-1) Indicates the shape quality of the agent as n-dimensional processing for shape data that has been processed in dimension (n is a dimension number of 2 or more), and is calculated for each agent using a predetermined objective function. An agent is arranged in the n-dimensional polytope in such a shape that the quality index to be obtained is as good as possible, and the sum of the quality indices in the adjacent agents in the n-dimensional polytope becomes better than the current state. As described above, an n-dimensional processing unit that fills the n-dimensional polytope with an agent group by optimizing the shape of adjacent agents;
    A mesh generation system comprising: a mesh generation unit configured to generate a mesh based on a group of agents filled in the n-dimensional polytope.
  2.  前記品質指標は、前記エージェントにおける内角のばらつきが小さいほど良好であることを特徴とする請求項1に記載されたメッシュ生成システム。 The mesh generation system according to claim 1, wherein the quality index is better as the variation in the inner angle of the agent is smaller.
  3.  前記品質指標は、前記エージェントにおけるエッジ長のばらつきが小さいほど良好であることを特徴とする請求項2に記載されたメッシュ生成システム。 3. The mesh generation system according to claim 2, wherein the quality index is better as the variation in edge length in the agent is smaller.
  4.  前記1次元処理部は、2次元ポリトープのファセット数が偶数になるように、当該2次元ポリトープが所有する1次元ポリトープの分割数を調整することを特徴とする請求項1に記載されたメッシュ生成システム。 The mesh generation according to claim 1, wherein the one-dimensional processing unit adjusts the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. system.
  5.  前記1次元処理部は、前記物体の物性および表面形状の少なくとも一方に応じて、前記基準長を調整することを特徴とする請求項1に記載されたメッシュ生成システム。 The mesh generation system according to claim 1, wherein the one-dimensional processing unit adjusts the reference length according to at least one of a physical property and a surface shape of the object.
  6.  前記n次元処理部は、ファセット数が2nではないポリトープに対して前記n次元の処理を行い、前記ファセット数が2nであるポリトープに対しては前記n次元の処理を行わないことを特徴とする請求項1に記載されたメッシュ生成システム。 The n-dimensional processing unit performs the n-dimensional process on a polytope having a facet number other than 2n, and does not perform the n-dimensional process on a polytope having a facet number of 2n. The mesh generation system according to claim 1.
  7.  前記エージェントのファセット数は2nであることを特徴とする請求項1に記載されたメッシュ生成システム。 The mesh generation system according to claim 1, wherein the number of facets of the agent is 2n.
  8.  前記形状データにおける次元間のポリトープの主従関係を管理すると共に、前記1次元の処理および前記n次元の処理に応じて、前記主従関係を更新するポリトープ管理部をさらに有することを特徴とする請求項1に記載されたメッシュ生成システム。 The system further comprises a polytope management unit that manages a master-slave relationship between dimensions in the shape data and updates the master-slave relationship according to the one-dimensional process and the n-dimensional process. The mesh generation system described in 1.
  9.  前記メッシュ生成部は、前記n次元のポリトープ内に充填されたエージェント群を更に細分化することによって、前記メッシュを生成することを特徴とする請求項1に記載されたメッシュ生成システム。 The mesh generation system according to claim 1, wherein the mesh generation unit generates the mesh by further subdividing an agent group filled in the n-dimensional polytope.
  10.  エージェントベースモデルを用いたメッシュ生成プログラムにおいて、
     物体の構造データをポリトープで表現した形状データに変換する第1のステップと、
     前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する第2のステップと、
     (n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填する第3のステップと、
     前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する第4のステップと
    を有する処理をコンピュータに実行させることを特徴とするメッシュ生成プログラム。
    In the mesh generation program using the agent base model,
    A first step of converting the structure data of the object into shape data expressed in a polytope;
    As a one-dimensional process for the shape data, a second step of dividing a side that is a one-dimensional polytope based on a specific reference length;
    (N-1) Indicates the shape quality of the agent as n-dimensional processing for shape data that has been processed in dimension (n is a dimension number of 2 or more), and is calculated for each agent using a predetermined objective function. An agent is arranged in the n-dimensional polytope in such a shape that the quality index to be obtained is as good as possible, and the sum of the quality indices in the adjacent agents in the n-dimensional polytope becomes better than the current state. A third step of filling the n-dimensional polytope with agents by optimizing the shape of adjacent agents,
    A mesh generation program that causes a computer to execute a process including a fourth step of generating a mesh based on an agent group filled in the n-dimensional polytope.
  11.  前記品質指標は、前記エージェントにおける内角のばらつきが小さいほど良好であることを特徴とする請求項10に記載されたメッシュ生成プログラム。 The mesh generation program according to claim 10, wherein the quality index is better as the variation in the inner angle of the agent is smaller.
  12.  前記品質指標は、前記エージェントにおけるエッジ長のばらつきが小さいほど良好であることを特徴とする請求項11に記載されたメッシュ生成プログラム。 12. The mesh generation program according to claim 11, wherein the quality index is better as the variation in edge length in the agent is smaller.
  13.  前記第2のステップは、2次元ポリトープのファセット数が偶数になるように、当該2次元ポリトープが所有する1次元ポリトープの分割数を調整するステップを含むことを特徴とする請求項10に記載されたメッシュ生成プログラム。 11. The method of claim 10, wherein the second step includes adjusting the number of divisions of the one-dimensional polytope possessed by the two-dimensional polytope so that the number of facets of the two-dimensional polytope becomes an even number. Mesh generation program.
  14.  前記第2のステップは、前記物体の物性および表面形状の少なくとも一方に応じて、前記基準長を調整するステップを含むことを特徴とする請求項10に記載されたメッシュ生成プログラム。 11. The mesh generation program according to claim 10, wherein the second step includes a step of adjusting the reference length according to at least one of a physical property and a surface shape of the object.
  15.  前記ステップ3における前記n次元の処理は、ファセット数が2nではないポリトープに対して実行され、前記ファセット数が2nであるポリトープに対しては実行されないことを特徴とする請求項10のいずれかに記載されたメッシュ生成プログラム。 11. The n-dimensional process in step 3 is performed for a polytope having a facet number other than 2n, and is not performed for a polytope having a facet number of 2n. The described mesh generation program.
  16.  前記エージェントのファセット数は2nであることを特徴とする請求項10に記載されたメッシュ生成プログラム。 The mesh generation program according to claim 10, wherein the number of facets of the agent is 2n.
  17.  前記形状データにおける次元間のポリトープの主従関係を管理すると共に、前記1次元の処理および前記n次元の処理に応じて、前記主従関係を更新する第5のステップをさらに有することを特徴とする請求項10に記載されたメッシュ生成プログラム。 5. The method further comprises a fifth step of managing a master-slave relationship between dimensions in the shape data, and updating the master-slave relationship according to the one-dimensional process and the n-dimensional process. Item 15. A mesh generation program according to item 10.
  18.  前記第4のステップは、前記n次元のポリトープ内に充填されたエージェント群を更に細分化するステップを含むことを特徴とする請求項10に記載されたメッシュ生成プログラム。 The mesh generation program according to claim 10, wherein the fourth step includes a step of further subdividing the agent group filled in the n-dimensional polytope.
  19.  エージェントベースモデルを用いたメッシュ生成方法において、
     物体の構造データをポリトープで表現した形状データに変換する第1のステップと、
     前記形状データに対する1次元の処理として、1次元ポリトープである辺を特定の基準長に基づいて分割する第2のステップと、
     (n-1)次元(nは2以上の次元数)の処理が行われた形状データに対するn次元の処理として、エージェントの形状的な品質を示しており、所定の目的関数によってエージェント毎に算出される品質指標が最大限良好になるような形状で、前記n次元ポリトープ内にエージェントを配置すると共に、前記n次元ポリトープ内で隣り合ったエージェントにおける前記品質指標の合計が現状よりも良好になるように、隣り合ったエージェントのそれぞれの形状を最適化することによって、前記n次元ポリトープ内をエージェント群で充填する第3のステップと、
     前記n次元のポリトープ内に充填されたエージェント群に基づいて、メッシュを生成する第4のステップと
    を有することを特徴とするメッシュ生成方法。
    In the mesh generation method using the agent base model,
    A first step of converting the structure data of the object into shape data expressed in a polytope;
    As a one-dimensional process for the shape data, a second step of dividing a side that is a one-dimensional polytope based on a specific reference length;
    (N-1) Indicates the shape quality of the agent as n-dimensional processing for shape data that has been processed in dimension (n is a dimension number of 2 or more), and is calculated for each agent using a predetermined objective function. An agent is arranged in the n-dimensional polytope in such a shape that the quality index to be obtained is as good as possible, and the sum of the quality indices in the adjacent agents in the n-dimensional polytope becomes better than the current state. A third step of filling the n-dimensional polytope with agents by optimizing the shape of each of the neighboring agents,
    And a fourth step of generating a mesh based on the agent group filled in the n-dimensional polytope.
PCT/JP2018/021098 2018-06-01 2018-06-01 Mesh generation system, mesh generation program, and mesh generation method WO2019229965A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2018/021098 WO2019229965A1 (en) 2018-06-01 2018-06-01 Mesh generation system, mesh generation program, and mesh generation method
JP2020522533A JP7036207B2 (en) 2018-06-01 2018-06-01 Mesh generation system, mesh generation program and mesh generation method
TW108118314A TW202004538A (en) 2018-06-01 2019-05-28 Mesh generation system, mesh generation program, and mesh generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/021098 WO2019229965A1 (en) 2018-06-01 2018-06-01 Mesh generation system, mesh generation program, and mesh generation method

Publications (1)

Publication Number Publication Date
WO2019229965A1 true WO2019229965A1 (en) 2019-12-05

Family

ID=68697995

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/021098 WO2019229965A1 (en) 2018-06-01 2018-06-01 Mesh generation system, mesh generation program, and mesh generation method

Country Status (3)

Country Link
JP (1) JP7036207B2 (en)
TW (1) TW202004538A (en)
WO (1) WO2019229965A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134279A (en) * 2009-12-25 2011-07-07 Toshiba Corp Device and method for generating lattice data, and storage medium storing lattice data generation program
JP2011243016A (en) * 2010-05-19 2011-12-01 Hitachi Ltd Mesh generation device for analysis
JP2015149052A (en) * 2014-02-05 2015-08-20 富士通株式会社 Mesh quality improvement in computer aided engineering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011134279A (en) * 2009-12-25 2011-07-07 Toshiba Corp Device and method for generating lattice data, and storage medium storing lattice data generation program
JP2011243016A (en) * 2010-05-19 2011-12-01 Hitachi Ltd Mesh generation device for analysis
JP2015149052A (en) * 2014-02-05 2015-08-20 富士通株式会社 Mesh quality improvement in computer aided engineering

Also Published As

Publication number Publication date
TW202004538A (en) 2020-01-16
JP7036207B2 (en) 2022-03-15
JPWO2019229965A1 (en) 2021-07-15

Similar Documents

Publication Publication Date Title
JP4934789B2 (en) Interpolation processing method and interpolation processing apparatus
CN111125942B (en) B-spline high definition unit level set method and computer storage medium for three-dimensional unit structure modeling and topology optimization
Wang et al. Converting an unstructured quadrilateral/hexahedral mesh to a rational T-spline
Kumar et al. Topology optimization using B-spline finite elements
JP5436416B2 (en) Approximation processing method and approximation processing apparatus
US11763048B2 (en) Computer simulation of physical fluids on a mesh in an arbitrary coordinate system
EP2869226A1 (en) Updating a CAD model to reflect global or local shape changes
Liu et al. Automatic scaled boundary finite element method for three-dimensional elastoplastic analysis
Chernikov et al. Multitissue tetrahedral image-to-mesh conversion with guaranteed quality and fidelity
CN116776401A (en) Method for modeling an object affected by boundary conditions from a three-dimensional object model
CN114341942A (en) Fitting method, fitting device, fitting program for curved surface, and computer-readable storage medium storing fitting program
Vucina et al. Computational procedure for optimum shape design based on chained Bezier surfaces parameterization
Xia et al. Semi-Lagrange method for level-set-based structural topology and shape optimization
de Loyola et al. Analysis of 2D contact problems under cyclic loads using IGABEM with Bézier decomposition
WO2019229965A1 (en) Mesh generation system, mesh generation program, and mesh generation method
US10902675B2 (en) Graphical modelling by smoothing polyhedral meshes with multi-sided patches
Cheng et al. Univariate cubic L 1 splines–A geometric programming approach
CN111047687B (en) Three-dimensional T-spline-based heterogeneous material solid modeling method
JP2005078416A (en) Method, device and program for generating analysis model and its recording medium
Hull et al. Evolutionary optimization of a geometrically refined truss
Ravindranath et al. Simulation of cold forging using contact and practical adaptive meshing algorithms
JP2875294B2 (en) Free-form surface generation method
Adulghafour et al. Developing an Approach to Redesign Freeform Surfaces Using B-Spline Technique
JPH0836653A (en) Method and device for generating free curved plane
Karuthedath et al. A C1 continuous multi-patch framework for adaptive isogeometric topology optimization of plate structures

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18920706

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020522533

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18920706

Country of ref document: EP

Kind code of ref document: A1