WO2014037236A1 - Procédé de simulation d'un ensemble d'éléments - Google Patents

Procédé de simulation d'un ensemble d'éléments Download PDF

Info

Publication number
WO2014037236A1
WO2014037236A1 PCT/EP2013/067630 EP2013067630W WO2014037236A1 WO 2014037236 A1 WO2014037236 A1 WO 2014037236A1 EP 2013067630 W EP2013067630 W EP 2013067630W WO 2014037236 A1 WO2014037236 A1 WO 2014037236A1
Authority
WO
WIPO (PCT)
Prior art keywords
elements
node
simulation
tree
equal
Prior art date
Application number
PCT/EP2013/067630
Other languages
English (en)
Inventor
Svetlana ARTEMOVA
Stéphane REDON
Original Assignee
Inria Institut National De Recherche En Informatique Et En Automatique
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 Inria Institut National De Recherche En Informatique Et En Automatique filed Critical Inria Institut National De Recherche En Informatique Et En Automatique
Priority to CN201380056652.0A priority Critical patent/CN104756115B/zh
Priority to EP13756385.4A priority patent/EP2893473A1/fr
Priority to US14/426,413 priority patent/US20150254378A1/en
Publication of WO2014037236A1 publication Critical patent/WO2014037236A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16CCOMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
    • G16C10/00Computational theoretical chemistry, i.e. ICT specially adapted for theoretical aspects of quantum chemistry, molecular mechanics, molecular dynamics or the like

Definitions

  • the present invention relates to a method of simulating a set of elements, according to which the behavior of the elements is determined, at successive simulation steps, on the basis of a Hamiltonian associated with the element system (the sum of the kinetic energy and potential energy of the whole)
  • H - ⁇ p T ⁇ .M + V p, where p is a vector indicating elements the moments, V is the potential energy of the system and M "1 of a diagonal matrix depending on the masses of the elements (in the case, this matrix may be a function of the positions of the elements).
  • the potential energy V is, in some cases, a function of the positions of the elements only. In other cases, the potential energy V may also depend on the moments of the elements. The forces acting on the elements can be derived from this potential energy.
  • the simulation of a set of elements makes it possible to study the behavior of such a set and to analyze its properties: displacements in terms of positions and successive moments of the elements, correlations of displacements between elements, changes of structure, the increases and decreases of interactions between elements, the configurations adopted on average, the evolutions of the associated energies, etc.
  • the elements may represent mechanical bodies, for example celestial or fluid, particles such as atoms or molecules, for example proteins, fluids, etc.
  • a common way of simulating a set of elements is to consider the Hamiltonian of the set, to derive motion equations, and to deduce the motion of the elements according to these equations.
  • WO 2009/007550 describes for example a simulation technique of a set of elements.
  • the present invention aims to propose a new solution to reduce these problems.
  • the invention proposes a method for simulating a set of elements of the aforementioned type, characterized in that said method comprises the steps according to which:
  • the system of elements is represented in a k-ary tree comprising leaf nodes, said leaf nodes each representing a respective element, and internal nodes including a root node
  • R is the root node of the tree, given the recursive formula according to which, for any node A of the tree having k child nodes A Y , A 2 , A k ,
  • ⁇ ⁇ ⁇ PA -r ⁇ , - + r (i1 - ⁇ A ⁇ )) ⁇ 0 ' . 0
  • the matrix E being a matrix of size dn A * dn A formed of n A * n A blocks of size d * d equal to the identity matrix of dimension d, n A being equal to the number of elements descending from the node A, d being the dimension of the space in which the particles evolve, m A is the sum of the mass of these n A falling elements of the node A, p A being a function of restriction of the node A between 0 and 1, whose value is equal to 1 when A is a leaf node or when the same movement has been imposed on the descending elements of the given node; in the case of a leaf node A i , the matrix
  • ⁇ ⁇ is equal to the inverse mass of the particle represented by the node A i multiplied by the identity matrix of dimension d.
  • the invention makes it possible to perform simulations that require a smaller calculation volume and, consequently, less computing time, to determine the behavior of the elements according to these simulations, for example the potential energy, the forces applied to the elements, positions and / or moments of the elements.
  • the method of simulating a set of elements according to the invention further comprises one or more of the following features: for the current simulation step, the same translational movement is imposed on at least the descending elements of a given node of the tree as a function of the value of a function of the moments of said elements; for the current simulation step, the same translational movement is imposed on at least the descending elements of a given node of the tree as a function of the value taken by, or
  • m A is the sum of the mass of the elements of node A ;
  • p A s i is the sum vector of the moments of the elements of the child node A ⁇ , ⁇ .
  • is the norm of the vector, C is a positive constant;
  • p A 1 is fixed to impose the same translational movement on the descending elements of the node A;
  • the method comprises a step of determining the values of at least one piece of information, at successive simulation instants on the basis of said Hamiltonian, said stage taking advantage of the fact that the values of the information relating to the elements to which the same movement in translation has been imposed for the moment of current simulation, depend on the relative position of said elements and are therefore unchanged;
  • the information relating to said element comprises the potential energy of said element and / or the interaction force applied to said element.
  • the present invention provides a computer program for simulating a system of elements, comprising software instructions for implementing the steps of a method according to the first aspect of the invention in a execution of the program by calculation means.
  • FIG. 1 represents a simulation of trajectories of a 2-particle system performed with the standard Hamiltonian H;
  • FIG. 2 represents trajectory simulations of a 2-particle system with the relative adaptive Hamiltonian H A R according to the invention
  • FIG. 3 represents a device embodying an embodiment of the invention
  • FIG. 4 is a flowchart of the steps of a method in one embodiment of the invention.
  • FIG. 5 represents a flowchart of the substeps of step 101 of FIG. 4.
  • V (q) is the interaction potential between the N particles; it is a function of their positions and it will be considered as independent of moments.
  • a Hamiltonian said Hamiltonian, is defined that is adaptive relative to H AR , thus:
  • H AR (p, q) -p 1 & (p, q) .p + V (q), (formula 1) in which ( ⁇ , ⁇ ), 3N * 3N diagonal block matrix referred to as inverse adaptive mass matrix relative, replaces M "1 and depends on the vector p, and optionally on the vector q.
  • the values taken by ⁇ ( ⁇ , ⁇ ) are determined at each simulation step, the function ⁇ having been chosen so as to be able to restrict at least a subset of the particles to follow together the same movement with one or some no simulation.
  • the particles that are part of the subset are determined by verification of a condition, for example to verify that before the current simulation step, they were driven by a close movement.
  • the particles of such a subset can thus be assimilated, for the simulation step considered, as part of a single rigid body.
  • the information that depends only on the relative positions of the particles, for example, the interaction forces between the particles, does not need to be updated at the end of the simulation step considered within the same sub-group. rigid set.
  • each particle resumes its own motion.
  • a continuous transition is applied between the two types of behaviors (restricted movement / free movement).
  • H A R adaptive Hamiltonian
  • NVE set E particle number, constant volume and temperature
  • a first solution is to impose constraints on determined pairs of rigid bodies that can be considered as candidates to merge into a single rigid body. For example, noting A 1; At n , a set of rigid indexed bodies, the indices can be organized into a binary tree, so that it can only merge with A 2 into a rigid body (A ! + A 2 ), when a specific fusion condition is satisfied, A 3 can only merge with A 4 etc., and at a higher level in the binary tree, (A ! + A 2 ) can only merge with (A 3 + A 4 ) etc.
  • Such a tree comprises at the maximum hierarchical rank, a root node, named node R, and at the minimum hierarchical rank, the leaf nodes corresponding to the particles considered alone. All the nodes of the tree, except the leaf nodes, are called the internal nodes.
  • Another solution is to impose constraints on determined subsets of rigid bodies, possibly comprising more than two rigid bodies. We could thus organize indices into an n-ary tree, so that Ai can merge only with A 2 , A 3 , ..., A n at the same time, and so on.
  • Another solution is to consider the graph derived from a search of the neighbors, the nodes of the graph being particles or rigid bodies, and an edge between two nodes indicates that the distance between the two nodes connected by the edge is less than a threshold distance.
  • the embodiment detailed below is based on a binary tree structure as mentioned with respect to the first solution; the tree structure has the advantage of allowing incremental and recursive updates of the decision metrics for the internal nodes in the hierarchy, and incremental updates, for example for the forces and partial energies.
  • each leaf node represents a single particle of the set
  • each inner node represents a subset of particles composed of particles represented by the child nodes of said internal node.
  • C will be called the set comprising node C and the descendants, direct or indirect, of node C.
  • ⁇ 0 corresponding to this node C with the following recursive formula:
  • the adaptive inverse mass matrix ⁇ ⁇ corresponding to the node A and the adaptive inverse mass matrix ⁇ ⁇ corresponding to the node B are themselves defined according to the formula 3 if the nodes A and B are not leaf nodes; in the case of a leaf node A, respectively B, the matrix ⁇ ⁇ , respectively ⁇ ⁇ , is equal to the inverse mass of the particle represented by the node A, respectively the node B, multiplied by the identity matrix of dimension 3 ;
  • the matrix E is a matrix of size 3n c * 3n c , formed of n c * n c blocks 3 * 3 equal to the identity matrix of dimension 3, n c being equal to the number of leaf nodes of the node C (ie set of leaf nodes in the direct child nodes of node C or in the descendants of these child nodes);
  • p c is the restriction function of body C.
  • All the leaf nodes are considered rigid by definition, and this all the time that the simulation lasts, since they consist each of a single particle.
  • the function p c is defined recursively, so as to smooth the changeover between the values 0 and 1, according to the following formula:
  • ⁇ ( ⁇ ) is an order interpolation function
  • ⁇ 0 is chosen depending on a relation of the moment of the two bodies A and B, with
  • This invention can be generalized for a k-ary tree.
  • the parent node with k child nodes A 1 ⁇ i k k the inverse matrix of the inertia is
  • the coefficient 1 ⁇ 2 in this formula and the formula 6 can be replaced by another constant, for example 1, which will not change the simulation if the thresholds ⁇ 'and ⁇ ⁇ are modified in the same way, ie multiplied by an equal factor double the other constant).
  • This invention can be generalized as differently: one can choose the restriction function p c different for different internal nodes. For example, up to a certain level of the tree p c is defined according to formulas 4 and 5, therefore, the nodes can be joined together and separated, and in the levels of the tree above this level, p c is always equal to zero.
  • it is possible to define a subset of the system E which is permanently active the particles of this subset are never merged with each other or with the rest of the system, so they always follow the During the simulation, an unrestricted, free movement (such an embodiment of the invention may for example be applied to a polymer in a solvent): all the particles of this subset must be placed in a separate subtree.
  • a one-dimensional system comprising two particles P1, P2 of mass 1 connected to one another by a spring of stiffness 1.
  • the binary tree corresponding to the system is a root node C whose two child nodes A and B correspond to these two particles. Given initial moments, the two particles oscillate in space with time.
  • FIG. 1 The space-time trajectories calculated for these particles according to a simulation of the prior art based on the standard Hamiltonian H are shown in FIG. 1 as a function of the simulation time.
  • the trajectories d calculated for these particles according to a simulation on the basis of the relative adaptive Hamiltonian H A R according to the invention are represented in FIG. 2 as a function of the simulation time, for different values taken by ⁇ and ⁇ f .
  • the moments of the two particles become close according to the formula 6. This occurs when the spring is almost compressed and almost decompressed.
  • the root node C then becomes rigid. Consequently, in a general case, the son nodes of the rigid node C follow the same translational movement, in this case, because of the preservation of the moments, the particles stop.
  • the trajectories 2 particles therefore become parallel.
  • the moments of the particles continue to evolve however, which has the consequence that at a given pitch of the simulation, the rigidity condition of the node C is no longer satisfied and that the two particles resume their own motion. This is repeated periodically during the simulation.
  • the transition region of the trajectory is wider.
  • the stiffening region is longer and flatter.
  • the matrix ⁇ defined as ⁇ 3 ⁇ 4, specifies how, and when, degrees of freedom in the relative position of the subset (s) of particles are activated or deactivated during the simulation.
  • a computer device 1 shown in FIG. 3 is used to implement a simulation of a set E of N particles, according to the principles of the invention explained above.
  • This device 1 comprises a computer including in particular a memory 2 adapted to store software programs and calculated parameter values successively described below (global interaction forces, partial, interaction potential, positions, moments ...), a microprocessor 3 adapted to execute the software program instructions and in particular the program P described below, and a man / machine interface 4, comprising for example a keyboard and a screen, respectively to enter instructions from a user and to display information intended for the user, for example curves such as those illustrated in FIG. 2.
  • a computer including in particular a memory 2 adapted to store software programs and calculated parameter values successively described below (global interaction forces, partial, interaction potential, positions, moments ...), a microprocessor 3 adapted to execute the software program instructions and in particular the program P described below, and a man / machine interface 4, comprising for example a keyboard and a screen, respectively to enter instructions from a user and to display information intended for the user, for example curves such as those illustrated in FIG. 2.
  • a binary tree representing the particles and the possibilities of stiffening two in two, as indicated above, is built for system E, initial moment and position values are set for the particles. Only the leaf nodes are then rigid.
  • a step 101 the interaction forces exerted between the particles at the n + 1 ' th iteration, are determined.
  • a step 102 the moments of the particles at the n + 1 ' th iteration, are determined.
  • the metrics relating to the internal nodes of the tree at the n + 1 ' th iteration are determined. They include in particular p c and e c .
  • a step 104 the positions of the particles at the n + 1 ' th iteration, are determined.
  • step 101 the updating of the value of the interaction forces can be accelerated, compared to the prior art, taking into account the stiffenings according to the invention, if the interaction forces depend solely on the positions related particles.
  • This algorithm is based, first, on a hierarchy of bounding volumes
  • a partial force table corresponding to each internal node C comprises 3D vectors, the number of which is equal to the number of leaf nodes descending directly or indirectly from the node C. Each vector of this table is the interaction force acting on the particle represented by one of these leaf nodes in from all the other particles represented by the other leaf nodes descending from C. Each vector of the partial force table of the root node R corresponds to the global force acting on a particle.
  • a partial force table corresponding to a leaf node is a null vector.
  • the force update at each iteration includes three main substeps (the potential energy can be updated at the same time):
  • the bounding volume hierarchy is updated, for example from the bottom of the tree upward (i.e. from the leaf nodes to the root).
  • the updated AABB box coincides with the last determined position of the particle represented by the leaf node.
  • the box of each internal node is recalculated for example by including the boxes of its two child nodes.
  • the structure of the tree is unchanged, the surrounding volumes are updated according to the positions of the particles that have changed meanwhile.
  • interaction lists are built recursively for the inner nodes of the tree.
  • the interaction list thus constructed contains all the pairs of particles such that one of the particles of the pair belongs to the body A (ie is represented by a falling leaf node directly or indirectly from node A), while the other belongs to body B.
  • This interaction list can be constructed for each inner node as described for other types of bounding volumes in R. Rossi, M. Isorce, S. Morin, J. Flocard, K.
  • the interaction lists are built for all internal nodes. For all the other iterations, in the rigid nodes these lists do not change and therefore can not be recalculated.
  • a step 101_3 an incremental update of the partial force tables is performed.
  • a node is identified as a rigid node, the forces between the particles of the node have not changed. Therefore, only the partial force tables of the non-rigid nodes must be updated.
  • They can be updated for example as follows recursively, starting from the leaf nodes to the root node.
  • the elements of the partial force table relating to node A are copied and in the second half of the partial force table relative to node C, the elements of the partial force table relating to the node B are copied.
  • the interaction forces between the two particles of each pair in this list are calculated and added to the corresponding forces of the force table. partial.
  • the forces taking into account all the particles are stored in the partial force table of the root node R.
  • the steps 101_2 and 101_3 can be combined, for example in a single traversal of the tree, to update the partial force table corresponding to a node C since the list of interactions corresponding to said node C is available.
  • the other information depending only on the relative positions of the particles can be updated in a similar way.
  • the step 102 of updating the moments of the particles is carried out using a conventional method.
  • the complexity can be reduced to O (N.logN) by a recursive update from leaf nodes of data structures Q c , Rc and S c for each internal node C with two child nodes A and B.
  • ⁇ x ⁇ is the dimension vector equal to n c and each of the n c components is equal to the element x.
  • the function ( ⁇ ) represents the dot product.
  • step 103 includes updating the structures Q c , R c and S c for each node C comprising two child nodes A and B.
  • step 103 the update metric Q c, R c and S c and e c and p c with respect to the node C is performed recursively along the nodes of the hierarchy from the root:
  • the update of the vectors Q c , Rc and S c can be carried out only for the nodes for which p c > 0 because these metrics may not be used for free nodes, so there is no need to update them.
  • these metrics can be updated other than by traversing the tree, as long as they are updated in the subtrees with the rigid node at the top.
  • the positions of the particles are updated in step 104.
  • step 104 may be the following for updating the position of a node C, each internal node C being considered as having two child nodes A and B:
  • the position of the particles is thus determined.
  • the one-to-one correspondence between the identifier of the particle i and its serial number among the child nodes of the node C must be established, for example during the initialization of the simulation, for all the particles and all the nodes. internal of the tree.
  • the metrics of the nodes for which p c > 0 are not used and therefore may not be calculated. If all the metrics are still updated during step 103, the positions of all the particles t , l ⁇ i ⁇ N can also be determined as follows:
  • the positions can be updated other than by traversing the tree.
  • q is the coordinate vector of the particle a, at the last step of the adaptive simulation
  • qf is the coordinate vector of the same particle at the last step of the reference simulation.
  • a method according to the invention makes it possible to accelerate the calculations, with a potentially low alteration of the behaviors.
  • the fusion of two subsets into a rigid set has been considered, in other embodiments, the number of subsets merged into a rigid set is higher than together.
  • the transition region between the two rigid and free states can be taken of greater or smaller width.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Procédé de simulation d'un système d'éléments représenté par un arbre comportant des nœuds feuilles représentant chacun un élément, et des nœuds internes dont un nœud racine R, sur la base d'un Hamiltonien (formule I) avec p vecteur des moments, q vecteur des positions des éléments, et V étant l'énergie potentielle du système: - lorsque des conditions déterminées sont vérifiées, on impose un même mouvement en translation à au moins les éléments descendant d'un nœud donné de l'arbre en définissant la matrice M-1 égale à Φ R , étant donné la formule récursive selon laquelle, pour tout nœud A de l'arbre comportant k nœuds fils (formule II).

Description

Procédé de simulation d'un ensemble d'éléments
La présente invention concerne un procédé de simulation d'un ensemble d'éléments, selon lequel le comportement des éléments est déterminé, à des pas de simulation successifs, sur la base d'un Hamiltonien associé au système d'éléments (la somme de l'énergie cinétique et de l'énergie potentielle de l'ensemble)
H = -^ pT .M~ p + V , p étant un vecteur indiquant les moments des éléments, V étant l'énergie potentielle du système et M"1 une matrice diagonale fonction des masses des éléments (dans des cas, cette matrice peut être fonction des positions des éléments).
L'énergie potentielle V est, dans certains cas, une fonction des positions des éléments seulement. Dans d'autres cas, l'énergie potentielle V peut dépendre également des moments des éléments. Les forces agissant sur les éléments peuvent être dérivées de cette énergie potentielle.
La simulation d'un ensemble d'éléments permet d'étudier le comportement d'un tel ensemble et d'en analyser les propriétés : les déplacements en termes de positions et de moments successifs des éléments, les corrélations des déplacements entre éléments, les changements de structure, les hausses et baisses d'interactions entre éléments, les configurations adoptées en moyenne, les évolutions des énergies associées, etc. Les éléments peuvent représenter des corps mécaniques, par exemple célestes ou fluides, des particules telles que des atomes ou molécules, par exemple des protéines, des fluides etc.
Une façon usuelle de simuler un ensemble d'éléments est de considérer le Hamiltonien de l'ensemble, d'en dériver des équations de mouvement, et de déduire le mouvement des éléments selon ces équations.
WO 2009/007550 décrit par exemple une technique de simulation d'un ensemble d'éléments.
Les évolutions de l'ensemble d'éléments doivent parfois être simulées sur une longue période, en vue de pouvoir observer certains phénomènes ou de pouvoir calculer certaines statistiques. Les temps de calcul, et le coût en calcul, de ces simulations deviennent alors parfois très importants. De nombreuses méthodes ont été proposées pour accélérer les simulations d'un ensemble d'éléments et la collecte des statistiques.
La présente invention vise à proposer une nouvelle solution pour réduire ces problèmes. A cet effet, suivant un premier aspect, l'invention propose un procédé de simulation d'un ensemble d'éléments du type précité caractérisé en ce que ledit procédé comporte les étapes selon lesquelles :
- on représente le système d'éléments en un arbre k-aire comportant des nœuds feuilles, lesdits nœuds feuilles représentant chacun un élément respectif, et des nœuds internes dont un nœud racine
- lorsque des conditions déterminées sont vérifiées, on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendant d'un nœud donné de l'arbre en définissant la matrice
M"1 comme étant égale à Φ8 où R est le nœud racine de l'arbre, étant donné la formule récursive selon laquelle, pour tout nœud A de l'arbre comportant k nœuds fils AY , A2 , Ak ,
ΦΑι 0 0
ΦΑ = ^ PA -rΕ, - +r (i1 -- ρ ))< 0 ' · . 0
0 0 Φ
la matrice E étant une matrice de taille dnA *dnA formée de nA *nA blocs de taille d*d égaux à la matrice identité de dimension d, nA étant égal au nombre d'éléments descendant du nœud A, d étant la dimension de l'espace dans lequel évoluent les particules, mA est la somme de la masse de ces nA éléments descendant du nœud A, pA étant une fonction de restriction du nœud A comprise entre 0 et 1 , dont la valeur est égale à 1 lorsque A est un nœud feuille ou lorsqu'un même mouvement a été imposé aux éléments descendants du nœud donné ; dans le cas d'un nœud feuille Ai , la matrice
ΦΑ est égale à la masse inverse de la particule représentée par le nœud Ai multipliée par la matrice identité de dimension d.
L'invention permet d'effectuer des simulations qui requièrent un plus petit volume de calcul et, par conséquent, moins de temps de calcul, pour déterminer le comportement des éléments selon ces simulations, par exemple l'énergie potentielle, les forces appliquées sur les éléments, les positions et/ou les moments des éléments.
Dans des modes de réalisation, le procédé de simulation d'un ensemble d'éléments suivant l'invention comporte en outre une ou plusieurs des caractéristiques suivantes : on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendants d'un nœud donné de l'arbre en fonction de la valeur d'une fonction des moments desdits éléments ; on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendants d'un nœud donné de l'arbre en fonction de la valeur prise par , ou
Figure imgf000005_0001
mA est la somme de la masse des éléments du nœud A; , et pA s i est le vecteur- somme des moments des éléments du nœud fils A{ , \\.\\ est la norme du vecteur, C est une constante positive ;
- pour le pas de simulation courant pour un nœud interne A:
- si εΑ est inférieur à un premier seuil, on fixe pA égal à 1 pour imposer un même mouvement en translation aux éléments descendants du nœud A ;
- si εΑ est supérieur à un second seuil supérieur au premier seuil, on fixe pA égal à 0 ;
- pour le pas de simulation courant, si εΑ est compris entre le premier seuil et le second seuil, on fixe pA égal à la valeur prise par une fonction d'interpolation d'ordre 5 de la variable εΑ ;
- le procédé comporte une étape de détermination des valeurs d'au moins une information, à des instants de simulation successifs sur la base dudit Hamiltonien, ladite étape tirant parti du fait que les valeurs de l'information relatives aux éléments auxquels un même mouvement en translation a été imposé pour l'instant de simulation courant, dépendent de la position relative desdits éléments et sont par conséquent inchangées ;
- l'information relative audit élément comprend l'énergie potentielle dudit élément et/ou la force d'interaction appliquée audit élément.
Suivant un deuxième aspect, la présente invention propose un programme d'ordinateur de simulation d'un système d'éléments, comprenant des instructions logicielles pour mettre en œuvre les étapes d'un procédé suivant le premier aspect de l'invention lors d'une exécution du programme par des moyens de calcul.
Ces caractéristiques et avantages de l'invention apparaîtront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple, et faite en référence aux dessins annexés, sur lesquels : - la figure 1 représente une simulation de trajectoires d'un système à 2 particules effectuée avec le Hamiltonien H standard ;
- la figure 2 représente des simulations de trajectoires d'un système à 2 particules avec le Hamiltonien adaptatif relatif HAR selon l'invention ;
- la figure 3 représente un dispositif mettant en œuvre un mode de réalisation de l'invention ;
- la figure 4 est un organigramme des étapes d'un procédé dans un mode de réalisation de l'invention ;
- la figure 5 représente un organigramme des sous-étapes de l'étape 101 de la figure 4.
Considérons la simulation d'un ensemble E de N particules a,, i=1 à N.
Le Hamiltonien H(p, q) associé à l'ensemble E (cf. par exemple « Understanding molecular simulation : from algorithms to applications », Frenkel D., Smit B.) s'écrit souvent de la façon suivante :
Figure imgf000006_0001
p étant un vecteur indiquant les moments de toutes les particules, q un vecteur indiquant les positions de toutes les particules, M"1 une matrice diagonale fonction des masses de ces particules.
V(q) est le potentiel d'interaction entre les N particules ; il est fonction de leurs positions et on le considérera comme indépendant des moments.
Dans un espace en 3 dimensions par exemple, avec un référentiel de coordonnées (X, Y, Z), le moment p, de chaque particule a,, i=1 à N, s'écrit (pi x, pi y, p ) et la position q, de chaque particule a,, i=1 à N, s'écrit (qi x, qi y, q ).
Figure imgf000006_0002
P V
Les vecteurs p et q s'écrivent donc et q =
Figure imgf000006_0003
ΡΝ,Ζ Usuellement la matrice M"1 utilisée dans l'art antérieur est une matrice diagonale de dimension 3N*3N, dont les termes M[3i-2, 3i-2] = M[3i-1 , 3i-1 ]= M[3i, 3i] = mi , pour i=1 à N, où mi est la masse de la particule a,.
Il s'agit là de la définition usuelle du Hamiltonien H, qu'on appellera ci-dessous, Hamiltonien standard.
Selon l'invention, on définit un Hamiltonien dit Hamiltonien adaptatif relatif HAR, ainsi :
1 T
HAR (p,q) = -p1 &(p,q) .p + V(q) , (formule 1 ) dans lequel (ρ,ο) , matrice bloc-diagonale 3N*3N dite matrice inverse de masse adaptative relative, remplace M"1 et dépend du vecteur p, et éventuellement du vecteur q.
Plus précisément, les valeurs prises par Φ(ρ, ο) sont déterminées à chaque pas de simulation, la fonction Φ ayant été choisie de manière à pouvoir restreindre au moins un sous-ensemble des particules à suivre ensemble un même mouvement à un ou à certains pas de simulation. Les particules qui font partie du sous-ensemble sont déterminées par vérification d'une condition, par exemple visant à vérifier qu'avant le pas de simulation courant, elles étaient animées d'un mouvement proche.
Ces dispositions résultent en l'apparition d'un ou plusieurs sous-ensembles de particules, les particules d'un sous-ensemble étant animées du même déplacement en translation pendant le pas de simulation considéré (i.e. le vecteur joignant deux quelconques de ces particules reste constant pendant une plage de temps dans laquelle ces particules ont le même déplacement).
Les particules d'un tel sous-ensemble peuvent ainsi être assimilées, pour le pas de simulation considéré, comme faisant partie d'un corps rigide unique.
Les informations qui dépendent seulement des positions relatives des particules, par exemple, les forces d'interaction entre les particules, n'ont donc pas besoin d'être actualisées à l'issue du pas de simulation considéré au sein d'un même sous-ensemble rigide.
Lorsque le mouvement de particules d'un sous-ensemble n'est plus restreint entre elles par la matrice de masse inverse adaptative, chaque particule reprend son mouvement propre.
Dans un mode de réalisation de l'invention, une transition continue est appliquée entre les deux types de comportements (mouvement restreint/mouvement libre). De cet Hamiltonien adaptatif HAR, on déduit des équations adaptatives de mouvement, définissant p et q qui sont les dérivées des vecteurs p et q par rapport au temps t.
Par exemple, dans un cas d'implémentation d'une simulation dans un ensemble NVE (ensemble E à nombre de particules, à volume et énergie constants) considérée ici à titre d'illustration, la valeur du Hamiltonien (adaptatif selon l'invention ou standard) est constante dans le temps, et les équations adaptatives du mouvement sont : dp = dH AR _ dV l pT d<î>(p,q)
dt dq dq 2 dq
(formules 2)
Figure imgf000008_0001
Les exemples ci-après sont relatifs à un ensemble NVE, mais bien sûr l'invention peut être appliquée à d'autres ensembles, par exemple, l'ensemble NVT (ensemble E à nombre de particules, à volume et température constants).
Plusieurs solutions distinctes peuvent être utilisées pour définir les particules constituant un sous-ensemble rigide, sans avoir à tester toutes les possibilités de combinaison entre les particules de l'ensemble.
Une première solution, est d'imposer des contraintes sur des paires déterminées de corps rigides qui peuvent être considérés comme candidats à fusionner en un même corps rigide. Par exemple, en notant A1 ; An, un ensemble de corps rigides indexés, on peut organiser les indices en un arbre binaire, de sorte que ne peut fusionner qu'avec A2 en un corps rigide (A!+A2), quand une condition spécifique de fusion est satisfaite, A3 ne peut fusionner qu'avec A4 etc., et à un niveau supérieur dans l'arbre binaire, (A!+A2) ne peut fusionner qu'avec (A3+A4) etc. Un tel arbre comporte au rang hiérarchique maximum, un nœud racine, nommé nœud R, et au rang hiérarchique minimum, les nœuds feuilles correspondant aux particules considérées seules. Tous les nœuds de l'arbre, sauf les nœuds feuilles, s'appellent les nœuds internes.
Une autre solution est d'imposer des contraintes sur des sous-ensembles déterminés de corps rigides, comportant éventuellement plus de deux corps rigides. On pourrait ainsi organiser les indices en un arbre n-aire, de sorte que Ai ne peut fusionner qu'avec A2, A3,..., An en même temps, etc.
Une autre solution est de considérer le graphe déduit d'une recherche des voisins, les nœuds du graphe étant des particules ou des corps rigides, et une arête entre deux nœuds indique que la distance entre les deux nœuds reliés par l'arête est inférieure à une distance-seuil.
Le mode de réalisation détaillé ci-dessous est basé sur une structure d'arbre binaire telle que mentionnée relativement à la première solution ; la structure d'arbre a l'avantage d'autoriser des mises à jour incrémentales et récursives des métriques de décision pour les nœuds internes dans la hiérarchie, et des mises à jour incrémentales, par exemple pour les forces et énergies partielles.
Dans un tel arbre, chaque nœud feuille représente une particule seule de l'ensemble, et chaque nœud interne représente un sous-ensemble de particules composé des particules représentées par les nœuds fils dudit nœud interne. On nommera corps C l'ensemble comprenant le nœud C et les descendants, directs ou indirects, du nœud C.
Selon l'invention, si un corps C, i.e. un nœud C interne de l'arbre, est composé de deux corps A et B (i.e. le nœud C comporte deux nœuds fils A et B), on définit la matrice de masse inverse adaptative Φ0 correspondant à ce nœud C avec la formule récursive suivante :
(formule 3)
Figure imgf000009_0001
où :
- la matrice de masse inverse adaptative ΦΑ correspondant au nœud A et la matrice de masse inverse adaptative ΦΒ correspondant au nœud B, sont elles- mêmes définies selon la formule 3 si les nœuds A et B ne sont pas des nœuds feuilles ; dans le cas d'un nœud feuille A, respectivement B, la matrice ΦΑ, respectivement ΦΒ, est égale à la masse inverse de la particule représentée par le nœud A, respectivement le nœud B, multipliée par la matrice identité de dimension 3 ;
- la matrice E est une matrice de taille 3nc *3nc, formée de nc *nc blocs 3*3 égaux à la matrice identité de dimension 3, nc étant égal au nombre de nœuds feuilles du nœud C (i.e. l'ensemble des nœuds feuilles dans les nœuds fils directs du nœud C ou dans la descendance de ces nœuds fils) ;
- mc est la somme de la masse des particules représentées par ces nc nœuds feuilles du nœud C ;
pc est la fonction de restriction du corps C.
Ainsi on considère la fusion de deux corps rigides A et B en un corps rigide C (et inversement l'éclatement du corps rigide C composé des deux nœuds rigides A et B) sur la base de pc , la fonction de restriction du corps C. Plus exactement, un corps C ou nœud interne C, est considéré comme rigide (i.e. toutes les particules feuilles comprises dans le nœud C ou les descendants du nœud C, sont animées du même mouvement en translation) lorsque la fonction pc prend la valeur
1 , et sinon il est considéré comme non-rigide.
Tous les nœuds feuilles sont considérés comme rigides par définition, et ce tout le temps que dure la simulation, puisqu'ils sont constitués chacun d'une seule particule.
Lorsque la fonction pc a pour valeur 0, le nœud interne C est considéré comme libre.
Dans le mode de réalisation de l'invention, la fonction pc est définie récursivement, de façon à lisser le basculement entre les valeurs 0 et 1 , selon la formule suivante :
1 si C est un noeud feuille,
(formule 4)
[μ(ε )ρΑρΒ dans le cas contraire, où μ(ε)€ [θ,ΐ] est une fonction deux fois dérivable de ε
1 si 0≤e≤er,
μ(ε) 0 si ε≥ ε f , (formule 5) s(£ ) G [θ,ΐ] autrement, avec les seuils ε' et εΓ définis de sorte que ε' > εΓ et s étant une fonction deux fois dérivable de ε .
La nature deux fois dérivable de μ permet de préserver la stabilité de la simulation de l'ensemble E de particules.
Par exemple, une forme possible pour ε(ε) est une fonction d'interpolation d'ordre
5, par exemple égale à - 6η5 + 15η4 - 10η3 + 1 , avec η = ou
δ = ε' - εΓ représente la largeur de la région de transition entre les comportements rigide et libre du corps.
Dans le mode de réalisation de l'invention, ε0 est choisi dépendant d'une relation du moment des deux corps A et B, avec
s 2 s 2 s . s 2 2
1 PA 1 PB 1 PA + PB _ 1 PASMB ~ P MA
+- (formule 6)
2 mA 2 mB 2 mc 2 mAmBmc où A et B sont les nœuds fils du nœud C,
où le vecteur pc s est la somme des moments de toutes les particules qui sont des nœuds feuilles dans le corps correspondant au nœud C : pc s =∑Ρι , et est la somme ieC
des vecteurs pA s et pB s : pc s = pA s + pB s -
Cette invention peut être généralisée pour un arbre k-aire. Dans ce cas, pour le nœud parent avec k nœuds fils A 1 < i≤ k , la matrice inverse de l'inertie est
Figure imgf000011_0001
Le coefficient ½ dans cette formule et la formule 6 peut être remplacé par une autre constante, par exemple 1 , ce qui ne changera pas la simulation si les seuils ε' et εΓ sont modifiés de la même façon, i.e. multipliés par un facteur égal au double de l'autre constante).
Cette invention peut être généralisée aussi différemment : on peut choisir la fonction de restriction pc différente pour des nœuds internes différents. Par exemple, jusqu'à certain niveau de l'arbre pc est définie selon les formules 4 et 5, donc, les nœuds peuvent être réunis ensemble et séparés, et dans les niveaux de l'arbre supérieurs à ce niveau, pc est toujours égale à zéro. Dans un mode de réalisation particulier, il est possible de définir un sous-ensemble du système E en permanence actif (les particules de ce sous-ensemble ne sont jamais fusionnées ni entre elles, ni avec le reste du système, donc elles suivent toujours le long de la simulation un mouvement non restreint, libre (un tel mode de réalisation de l'invention peut par exemple être appliqué à un polymère dans un solvant ) : toutes les particules de ce sous-ensemble devront être placées dans un sous-arbre séparé et les valeurs pc devront être fixées à 0 pour tous les nœuds internes de ce sous-arbre et ne jamais être mises a jour. Dans tous les cas, les fonctions pc doivent être définies pour tous les nœuds internes avant le début de la simulation et ne doivent pas changer pendant la simulation afin d'avoir une simulation stable. Selon l'invention, on choisit la matrice inverse de masse adaptative relative Φ utilisée dans la formule (1 ) du Hamiltonien adaptatif relatif HAR, égale à Φ ¾ qui est la matrice définie conformément à la formule récursive 3 relativement au nœud racine R de l'arbre représentant l'ensemble E de particules : Φ(ρ,<?) = (ρ) = Κ
1 τ
On a alors le Hamiltonien HAR, tel que HAR (p,q) =— p &R(p).p + V(q) , qui est séparable car la matrice Φκ ne dépend que des moments (et pas des positions) des particules.
Les équations de mouvement définies par les formules 2 s'expriment alors ainsi :
^ _ dp _ dHAR _ d V ^
dt dq dq '
(formules 7)
. dq dHAR , . 1 Tκ (ρ)
at dp 2 dp
Il ressort en outre clairement de la formule 3 que si le nœud C est libre { pc =0), alors la matrice Φ 0 est composée de deux blocs sur la diagonale correspondant l'un au nœud fils A et l'autre au nœud fils B.
Dans un premier exemple de simulation selon l'invention, il est considéré un système à une dimension comprenant deux particules P1 , P2 de masse 1 connectées l'une à l'autre par un ressort de raideur 1 . L'arbre binaire correspondant au système est un nœud racine C dont les deux nœuds fils A et B correspondent à ces deux particules. Etant donné des moments initiaux, les deux particules oscillent dans l'espace avec le temps.
Les trajectoires d dans l'espace calculées pour ces particules selon une simulation de l'art antérieur sur la base du Hamiltonien H standard sont représentées en figure 1 en fonction du temps de simulation.
Les trajectoires d calculées pour ces particules selon une simulation sur la base du Hamiltonien adaptatif relatif HAR selon l'invention sont représentées en figure 2 en fonction du temps de simulation, pour différentes valeurs prises par δ et ε f . Ainsi comme indiqué sur ces trajectoires, à certains moments de la simulation (parfois dès le début), les moments des deux particules deviennent proches selon la formule 6. Ceci survient lorsque le ressort est presque compressé et presque décompressé. Selon l'invention, le nœud racine C devient alors rigide. En conséquence, dans un cas général, les nœuds fils du nœud C rigide suivent le même mouvement de translation, dans le cas présent, du fait de la préservation des moments, les particules s'arrêtent. Les trajectoires des 2 particules deviennent donc parallèles. Les moments des particules continuent à évoluer cependant, ce qui a pour conséquence qu'à un pas donné de la simulation, la condition de rigidité du nœud C n'est plus satisfaite et que les deux particules reprennent leur mouvement propre. Cela se reproduit donc périodiquement au cours de la simulation.
Comme illustré par les trajectoires, pour une même valeur de ε f avec une valeur accrue pour δ , la région de transition de la trajectoire est plus large. Pour une même valeur de δ avec une valeur accrue pour ε f , la région de rigidification est plus longue et plus plate.
Ainsi selon l'invention, la matrice Φ , définie égale à Φ ¾ spécifie comment, et quand, des degrés de liberté en position relatives de sous-ensemble(s) de particules sont activés ou désactivés pendant la simulation.
Dans un mode de réalisation de l'invention, un dispositif informatique 1 représenté en figure 3 est utilisé pour mettre en œuvre une simulation d'un ensemble E de N particules, selon les principes de l'invention explicité ci-dessus.
Ce dispositif 1 comprend un ordinateur comprenant notamment une mémoire 2 adaptée pour stocker des programmes logiciels et des valeurs de paramètres calculées successivement décrites ci-dessous (forces d'interactions globales, partielles, potentiel d'interaction, positions, moments...), un microprocesseur 3 adapté pour exécuter les instructions de programmes logiciels et notamment du programme P décrit ci-dessous, et une interface homme/machine 4, comprenant par exemple un clavier et un écran, respectivement pour saisir des instructions d'un utilisateur et pour afficher des informations à destination de l'utilisateur, par exemple des courbes telles que celles illustrées en figure 2.
Dans le mode de réalisation de l'invention considéré, la mémoire 2 comprend le programme P simulant le comportement de l'ensemble E de particules a, i =1 à N sur la base de l'intégration dans le temps des équations correspondant aux formules 7.
Comme le Hamiltonien adaptatif relatif HAR selon l'invention est séparable, de nombreuses techniques d'intégration sont utilisables.
En référence à la figure 4, le programme P comprend des instructions logicielles qui, lorsqu'elles sont exécutées sur le microprocesseur 3, sont adaptées pour mettre en œuvre l'étape préliminaire 100 et itérativement les étapes 101 à 104 lors d'une n+1 'eme itération du programme P correspondant à l'instant de calcul hn+1= h0 + (n+1 )h, avec n entier≥0, h étant le pas de temps de simulation.
Dans une étape préalable 100 d'initialisation, un arbre binaire représentant les particules et les possibilités de rigidification de deux en deux, comme indiqué plus haut, est construit pour le système E, des valeurs initiales de moment et de position sont fixées pour les particules. Seuls les nœuds feuilles sont alors rigides.
Dans une étape 101 , les forces d'interaction s'exerçant entre les particules à la n+1 'eme itération, sont déterminées.
Dans une étape 102, les moments des particules à la n+1 'eme itération, sont déterminés.
Dans une étape 103, les métriques relatives aux nœuds internes de l'arbre à la n+1 'eme itération, sont déterminées. Elles comprennent notamment pc et ec .
Dans une étape 104, les positions des particules à la n+1 'eme itération, sont déterminées.
Toutes ces étapes d'actualisation des valeurs des forces, moments, métriques, positions, pour l'itération courante, sont mises en œuvre en fonction des valeurs calculées lors de l'itération précédente.
La mise en œuvre de ces étapes 101 à 104 est détaillée ci-après.
Dans l'étape 101 , l'actualisation de la valeur des forces d'interaction peut être accélérée, par rapport à l'art antérieur, en prenant en compte les rigidifications selon l'invention, si les forces d'interaction dépendent uniquement des positions relatives des particules.
Ainsi selon l'invention, il n'est pas nécessaire de recalculer les forces au sein de sous-ensembles de particules identifiés comme rigides (d'après la valeur prise par ec conformément à la formule 6) à l'itération de simulation précédente (les forces sont déterminées avant ec ). Pour efficacement mettre à jour les forces en tirant parti de cet avantage consécutif aux rigidifications selon l'invention, un algorithme incrémental de mise à jour des forces peut être utilisé.
Cet algorithme est basé, premièrement, sur une hiérarchie de volumes englobants
(un volume par nœud de l'arbre binaire), par exemple, sur la hiérarchie des AABB's (en anglais « Axis-Aligned Bounding Volumes », les volumes englobant le sous-système et ayant une forme de parallélépipède aux cotés parallèles aux axes des coordonnées, cf. par exemple Grudinin, S. and Redon, S., "Practical modeling of molecular Systems with symmetries", Journal of Computational Chemistry 31 , 9 (2010), pp. 1799—1814).
Cet algorithme de mise à jour des forces utilise deuxièmement des tables de forces partielles. Une table de forces partielles correspondant à chaque nœud interne C comprend des vecteurs 3D, dont le nombre est égal au nombre de nœuds feuilles descendant directement ou indirectement du nœud C. Chaque vecteur de cette table est la force d'interaction agissant sur la particule représentée par un de ces nœuds feuilles en provenance de toutes les autres particules représentées par les autres nœuds feuilles descendant de C. Chaque vecteur de la table de forces partielles du nœud racine R correspond à la force globale agissant sur une particule. Une table de forces partielles correspondant a un nœud feuille est un vecteur nul.
La mise à jour des forces à chaque itération comprend trois sous-étapes principales (l'énergie potentielle peut être mise à jour en même temps) :
Dans une étape 101 1 , la hiérarchie des volumes englobants est mise à jour, par exemple à partir du bas de l'arbre vers le haut (i.e. en partant des nœuds feuilles vers la racine). Pour chaque nœud feuille, la boîte AABB mise à jour coïncide avec la dernière position déterminée de la particule représentée par le nœud feuille. La boîte de chaque nœud interne est recalculée par exemple en englobant les boîtes de ses deux nœuds fils.
La structure de l'arbre est donc inchangée, les volumes englobants sont eux mis à jour selon les positions des particules qui ont changé entretemps.
Dans une étape 101 _2 , en utilisant cette hiérarchie mise à jour des AABB's, des listes d'interaction sont construites de façon récursive pour les nœuds internes de l'arbre.
Pour chaque nœud C, ayant deux nœuds fils A et B, la liste d'interactions ainsi construite contient toutes les paires de particules telles qu'une des particules de la paire appartient au corps A (i.e. est représentée par un nœud feuille descendant directement ou indirectement du nœud A), tandis que l'autre appartient au corps B. Cette liste d'interaction peut être construite pour chaque nœud interne comme décrit pour d'autres types de volumes englobants dans l'article R. Rossi, M. Isorce, S. Morin, J. Flocard, K.
Arumugam, S. Crouzy, M. Vivaudou, and S. Redon. "Adaptive torsion-angle quasi-statics: a gênerai simulation method with applications to protein structure analysis and design".
Bioinformatics 2007 23(13):i408-i417.
Lors de la première itération, les listes d'interactions sont construites pour tous les nœuds internes. Pour toutes les autres itérations, dans les nœuds rigides ces listes ne changent pas et donc peuvent ne pas être recalculées.
Dans une étape 101_3, une mise à jour incrémentale des tables de forces partielles est réalisée. Lorsqu'un nœud est identifié comme nœud rigide, les forces entre les particules du nœud n'ont pas changé. Par conséquent, seules les tables de forces partielles des nœuds non-rigides doivent être actualisées.
Elles peuvent être actualisées par exemple comme suit récursivement, en partant des nœuds feuilles vers le nœud racine.
Pour chaque nœud C non-rigide, dans la première moitié de la table de forces partielles relative au nœud C, les éléments de la table de forces partielles relative au nœud A sont copiés et dans la seconde moitié de la table de forces partielles relative au nœud C, les éléments de la table de forces partielles relative au nœud B sont copiés. Puis, pour chaque paire de la liste d'interaction établie à la sous-étape 101_2 pour le nœud C, les forces d'interaction entre les deux particules de chaque paire de cette liste sont calculées et ajoutées aux forces correspondantes de la table de forces partielles. Au final, les forces prenant en compte toutes les particules sont stockées dans la table de forces partielles du nœud racine R.
Les étapes 101_2 et 101_3 peuvent être combinées, par exemple dans une seule traversée de l'arbre, pour effectuer la mise à jour de la table de forces partielles correspondant à un nœud C dès lors que la liste d'interactions correspondant audit nœud C est disponible.
Les autres informations dépendant uniquement des positions relatives des particules peuvent être actualisées de façon similaire.
L'étape 102 de mise à jour des moments des particules est réalisée en utilisant une méthode classique.
Ainsi, pour chaque particule a,, en libellant p, n+l la valeur du moment p, de la particule a,, lors de l'itération courante n+1 , cette valeur est obtenue par la formule suivante :
Figure imgf000016_0001
h étant le pas de temps de la simulation et f, n+i étant la force d'interaction globale s'exerçant sur la particule a,, i =1 à N, qui est due aux interactions exercées par toutes les autres particules du système E, figurant dans la table de forces partielles du nœud racine R telle qu'elle vient d'être déterminée à l'itération courante.
La complexité de la mise à jour « naïve », à chaque pas de temps, de la position des particules à partir de l'équation q = ΦΚ (p)p +—pT ^- ^-p , est 0(N3) en raison du
2 dp
ΘΦ ( p)
terme—-^— . Ce terme est une dérivée d'une matrice par rapport à un vecteur, donc dp
un objet à trois dimensions, où, pour i= 1 à N :
Figure imgf000016_0002
Dans le mode de réalisation considéré, la complexité peut être réduite à O(N.logN) par une mise à jour récursive depuis les nœuds feuilles de structures de données Qc, Rc et Sc pour chaque nœud C interne avec deux nœuds fils A et B.
En remarquant que
Figure imgf000017_0001
ou pA est le vecteur des moments de toutes les particules qui sont des nœuds feuilles du nœud A et pB est le vecteur des moments de toutes les particules qui sont des nœuds feuilles du nœud B, le terme Qc = <î>c(pc)pc correspondant au premier terme de l'équation donnant q :
(formule 9)
Figure imgf000017_0002
où {x} est le vecteur de dimension égale à nc et dont chacune des nc composantes est égale à l'élément x.
De même, en considérant pour le nœud C, le terme RC = dPc (Pc )
dPc
dPc (Pc )
RC = avec pc = μ(ε )ρΑρΒ , en différenciant,
Figure imgf000017_0003
p
Figure imgf000017_0004
(formule 10)
Figure imgf000018_0001
Le dernier terme de l'équation donnant q peut être mis à jour récursivement en utilisant la formule 9.
En effet :
g - r * c (Pc ) _
Jc _ Pc -, Pc ~
àpc
Figure imgf000018_0002
Figure imgf000018_0003
rmule 1 1 )
Figure imgf000018_0004
La fonction (·) représente le produit scalaire.
Ainsi l'étape 103 comporte une mise à jour des structures Qc, Rc et Sc pour chaque nœud C comportant deux nœuds fils A et B.
On notera que l'étape 100 comporte en outre une étape d'initialisation de ces structures où pour chaque nœud interne C : pc =0 et les valeurs de Qc, Rc et Sc sont également nulles, et pour chaque nœud feuille F représentant une particule : pF =1 ; QF = PF l mF ; SF = 0 , RF = 0 .
Dans l'étape 103, la mise à jour des métriques Qc, Rc et Sc, ainsi que de ec et pc relativement au nœud C est effectuée récursivement, le long de la hiérarchie des nœuds depuis la racine:
- Si le nœud C est interne, avec deux fils A et B :
- faire la mise à jour des métriques du nœud A ;
- faire la mise à jour des métriques du nœud B ;
- mettre à jour ec à l'aide de la formule 6 ;
- mettre à jour pc : pc = μ(εεΑρΒ ;
- mettre à jour Qc à l'aide de la formule 9 ;
- mettre à jour Rc à l'aide de la formule 10 ;
- mettre à jour Sc à l'aide de la formule 1 1 ;
- Si le nœud C est un nœud feuille représentant une particule aF : QF = PF NIF■ Pour optimiser les calculs, la mise à jour des vecteurs Qc, Rc et Sc peut être effectuée seulement pour les nœuds pour lesquels pc> 0 parce que ces métriques peuvent ne pas être utilisées pour les nœuds libres, il n'y a donc pas besoin de les mettre à jour.
Dans le cas général, ces métriques peuvent être mises à jour autrement qu'en traversant l'arbre, pour peu qu'elles soient mises à jour dans les sous-arbres avec le nœud rigide en haut.
Une fois les métriques déterminées, les positions des particules sont mises à jour dans l'étape 104.
La mise en œuvre de l'étape 104 peut être la suivante pour la mise à jour de la position d'un nœud C, chaque nœud interne C étant considéré comme comportant deux nœuds fils A et B :
- si pc = 0 (le nœud C est un nœud libre) :
- mettre à jour la position du nœud A ;
- mettre à jour la position du nœud B ;
- sinon, pour chaque nœud feuille k descendant du nœud C, directement ou indirectement : q. n+1 = q n + (Qc[k] + 0.5Sc[k]) h, qi n+i étant la valeur de la position de la particule a,, pour l'itération n+1 considérée et h le pas de temps de simulation, Qc[k] étant le keme élément du vecteur Qc et Sc[k] étant le kème élément du vecteur Sc .
La position des particules est ainsi déterminée.
Dans cette réalisation, la correspondance biunivoque entre l'identifiant de la particule i et son numéro d'ordre parmi les nœuds fils du nœud C doit être établie, par exemple pendant l'initialisation de la simulation, pour toutes les particules et tous les nœuds internes de l'arbre.
Dans cette réalisation de mise à jour des positions, les métriques des nœuds pour lesquels pc> 0 ne sont pas utilisés et donc peuvent ne pas être calculées. Si toutes les métriques sont quand même mises à jour pendant l'étape 103, les positions de toutes les particules at , l≤i≤N peuvent aussi être déterminées comme suit :
<?;,«+i = 1i + (QR [k] + 0-5SR [k])h , où l'index R correspond au nœud racine.
Pour chaque nœud interne C de l'arbre, 4 vecteurs de longueur égale au nombre de nœuds feuilles descendants directs ou indirects du nœud C, sont stockés : Qc, Rc et Sc et une table de forces partielles. La complexité en espace de mise à jour des positions est par conséquent O(N.logN). La complexité en temps est aussi O(N.logN) puisque ces structures doivent être mises à jour à chaque pas de temps, et que Qc est toujours mise à jour pour tous les nœuds, y compris les nœuds feuilles.
Dans le cas général, les positions peuvent être mises à jour autrement qu'en traversant l'arbre.
Puis, si la durée maximum de la simulation n'est pas atteinte, on réalise une nouvelle itération du programme P.
A titre d'illustration, quatre simulations en 2 dimensions de l'évolution d'un ensemble NVE de N=5930 particules a, , i=1 à N, avec une masse de 1 g/mol chacune, en utilisant un potentiel Lennard-Jones ( Em / kB = 120 Kelvin, où Em est le minimum d'énergie, distance d'équilibre S = 3.4 ângstroms, distance de coupure 8 ângstroms, le potentiel étant tronqué de manière lisse entre 7.5 et 8 ângstroms), ont été réalisées partant d'un choc déclenché par l'envoi à haute vitesse d'une particule sur le système initialement immobile : une simulation de référence, sur la base d'un Hamiltonien standard et trois simulations adaptatives, c'est-à-dire utilisant un Hamiltonien adaptatif relatif d'un procédé selon l'invention tel que décrit ci-dessus (pas de temps de taille 0,0488 femtosecondes (fs), 7000 pas de temps, temps de simulation total égal à 342 fs). Pour chacune des simulations utilisant un Hamiltonien adaptatif relatif, la racine carrée de la fluctuation par rapport à la simulation standard, nommée RMSD, est donnée, de même que l'erreur de déplacement de particule maximum Aqmax.
Figure imgf000021_0001
, où q, est le vecteur des coordonnées de la particule a, au dernier pas de la simulation adaptative, et qf est le vecteur des coordonnées de cette même particule au dernier pas de la simulation de référence.
Par exemple, pour la simulation adaptative où £r =0,0l kcal/mol et f =1 ,01 kcal/mol ( <5 =1 kcal/mol), on obtient un facteur d'accélération du temps de calcul nécessaire pour mettre en œuvre cette simulation adaptative par rapport au temps de calcul relatif à la simulation de référence, d'une valeur égale à 1 ,5, RMSD=8,6 S et Aqmax=89,4 S, où S est la distance d'équilibre dans le potentiel de Lennard-Jones utilisé.
Pour la simulation adaptative où er =\ kcal/mol et ef =2 kcal/mol ( <5 =1 kcal/mol), on obtient un facteur d'accélération du temps de calcul nécessaire pour mettre en œuvre cette simulation adaptative par rapport au temps de calcul relatif à la simulation de référence, d'une valeur égale à 1 ,55, et RMSD=8,7 S et Aqmax=89,4 S.
Pour la simulation adaptative où £r =3 kcal/mol et ef =A kcal/mol ( <5 =1 kcal/mol), on obtient un facteur d'accélération du temps de calcul nécessaire pour mettre en œuvre cette simulation adaptative par rapport au temps de calcul relatif à la simulation de référence, d'une valeur égale à 1 ,6, et RMSD=12,3 S et Aqmax=89,4 S.
Ainsi un procédé selon l'invention permet d'accélérer les calculs, avec une altération potentiellement faible des comportements.
Les résultats dépendent de la représentation arborescente choisie pour le système de particules. Pour les simulations adaptatives ci-dessus, l'arbre binaire a été construit de bas en haut en divisant le système en moitiés.
Dans les modes de réalisation considérés de l'invention, on a considéré la fusion de sous-ensembles deux à deux en un ensemble rigide, dans d'autres modes de réalisation, le nombre de sous-ensembles fusionnés en un ensemble rigide est pris supérieur à deux.
La région de transition entre les deux états rigide et libre peut être prise de largeur plus ou moins grande.

Claims

REVENDICATIONS
1 . Procédé de simulation d'un système d'éléments, selon lequel le comportement desdits éléments est déterminé, à des pas de simulation successifs, sur la base d'un Hamiltonien
H du système d'éléments, tel que H(p,q) = -^pT .M~l.p +V avec p étant un vecteur indiquant les moments des éléments, q un vecteur indiquant les positions des éléments, M"1 étant une matrice fonction des masses des éléments et V étant l'énergie potentielle du système,
caractérisé en ce que ledit procédé comporte les étapes suivantes :
- on représente le système d'éléments en un arbre k-aire comportant des nœuds feuilles, lesdits nœuds feuilles représentant chacun un élément respectif, et des nœuds internes dont un nœud racine
- lorsque des conditions déterminées sont vérifiées, on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendant d'un nœud donné de l'arbre en définissant la matrice
M"1 comme étant égale à Φ8 où R est le nœud racine de l'arbre, étant donné la formule récursive selon laquelle, pour tout nœud A de l'arbre comportant k nœuds fils AY , A2 , Ak ,
ΦΑι 0 0
ΦΑ = ^ PA -rΕ, - +r (i1 -- ρ ))< 0 ' · . 0
0 0 Φ
la matrice E étant une matrice de taille dnA *dnA formée de nA *nA blocs de taille d*d égaux à la matrice identité de dimension d, nA étant égal au nombre d'éléments descendant du nœud A, d étant la dimension de l'espace dans lequel évoluent les particules, mA est la somme de la masse de ces nA éléments descendant du nœud A, pA étant une fonction de restriction du nœud A comprise entre 0 et 1 , dont la valeur est égale à 1 lorsque A est un nœud feuille ou lorsqu'un même mouvement a été imposé aux éléments descendants du nœud donné ; dans le cas d'un nœud feuille Ai , la matrice
ΦΑ est égale à la masse inverse de la particule représentée par le nœud Ai multipliée par la matrice identité de dimension d.
2. Procédé de simulation d'un système d'éléments selon la revendication 1 , selon lequel on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendants d'un nœud donné de l'arbre en fonction de la valeur d'une fonction des moments desdits éléments.
3. Procédé de simulation d'un système d'éléments selon la revendication 1 ou 2, selon lequel on impose, pour le pas de simulation courant, un même mouvement en translation à au moins les éléments descendants d'un nœud donné de l'arbre en fonction de la valeur prise par εΑ = , où m, est la somme de la masse des
Figure imgf000023_0001
éléments du nœud A; , et ps est le vecteur-somme des moments des éléments du nœud fils Ai , ||.|| est la norme du vecteur, C est une constante positive.
4. Procédé de simulation d'un système d'éléments selon la revendication 3, selon lequel, pour le pas de simulation courant pour un nœud interne A:
- si εΑ est inférieur à un premier seuil, on fixe pA égal à 1 pour imposer un même mouvement en translation aux éléments descendants du nœud A ;
- si εΑ est supérieur à un second seuil supérieur au premier seuil, on fixe pA égal à 0.
5. Procédé de simulation d'un système d'éléments selon la revendication 4, selon lequel, pour le pas de simulation courant, si εΑ est compris entre le premier seuil et le second seuil, on fixe pA égal à la valeur prise par une fonction d'interpolation d'ordre 5 de la variable εΑ .
6. Procédé de simulation d'un système d'éléments selon l'une quelconque des revendications précédentes, comprenant une étape de détermination des valeurs d'au moins une information, à des instants de simulation successifs sur la base dudit Hamiltonien, ladite étape tirant parti du fait que les valeurs de l'information relatives aux éléments auxquels un même mouvement en translation a été imposé pour l'instant de simulation courant, dépendent de la position relative desdits éléments et sont par conséquent inchangées.
7. Procédé de simulation d'un système d'éléments selon l'une quelconque des revendications précédentes, selon lequel l'information relative audit élément comprend l'énergie potentielle dudit élément et/ou la force d'interaction appliquée audit élément.
8. Programme d'ordinateur (P) de simulation d'un système d'éléments, comprenant des instructions logicielles pour mettre en œuvre les étapes d'un procédé selon l'une des revendications 1 à 7 lors d'une exécution du programme par des moyens de calcul.
PCT/EP2013/067630 2012-09-06 2013-08-26 Procédé de simulation d'un ensemble d'éléments WO2014037236A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201380056652.0A CN104756115B (zh) 2012-09-06 2013-08-26 用于模拟一组元件的方法
EP13756385.4A EP2893473A1 (fr) 2012-09-06 2013-08-26 Procédé de simulation d'un ensemble d'éléments
US14/426,413 US20150254378A1 (en) 2012-09-06 2013-08-26 Method for Simulating an Assembly of Elements

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1258330 2012-09-06
FR1258330A FR2995109A1 (fr) 2012-09-06 2012-09-06 Procede de simulation d'un ensemble d'elements, programme d'ordinateur associe

Publications (1)

Publication Number Publication Date
WO2014037236A1 true WO2014037236A1 (fr) 2014-03-13

Family

ID=47624208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2013/067630 WO2014037236A1 (fr) 2012-09-06 2013-08-26 Procédé de simulation d'un ensemble d'éléments

Country Status (5)

Country Link
US (1) US20150254378A1 (fr)
EP (1) EP2893473A1 (fr)
CN (1) CN104756115B (fr)
FR (1) FR2995109A1 (fr)
WO (1) WO2014037236A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6844930B2 (ja) * 2017-09-05 2021-03-17 住友重機械工業株式会社 シミュレーション方法及びシミュレーション装置
CN112179236B (zh) * 2020-09-24 2022-06-24 青岛科技大学 一种面向装配的基于最小势能的平面装配性能评价方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233440A1 (en) * 2006-03-29 2007-10-04 International Business Machines Corporation Reduced message count for interaction decomposition of N-body simulations
US20080275685A1 (en) * 2007-05-01 2008-11-06 Thomas Michael Gooding Miss-accumulation in a binary space partitioning tree
WO2009007550A2 (fr) 2007-06-20 2009-01-15 Inria Institut National De Recherche En Informatique Et En Automatique Dispositif informatique pour la simulation d'un ensemble d'objets en interaction et procédé correspondant

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7904283B2 (en) * 2003-05-13 2011-03-08 The Penn State Research Foundation Quantum mechanics based method for scoring protein-ligand interactions
CA2562748A1 (fr) * 2004-04-20 2005-11-03 Mcgill University Procede de modelisation nanomoleculaire
WO2006026985A2 (fr) * 2004-07-12 2006-03-16 Atomistix A/S Procede et systeme informatique pour des modifications d'extrapolation dans une solution autoconsistantes commandee par un parametre externe
KR101210339B1 (ko) * 2006-10-10 2012-12-18 삼성전자주식회사 트리 구조에서의 노드 식별자 생성 방법
GB2451701B (en) * 2007-08-10 2012-04-11 Fujitsu Ltd Method, apparatus and computer program for molecular simulation
GB2462261A (en) * 2008-07-28 2010-02-03 Fujitsu Ltd Method, apparatus and computer program for simulating behaviou r of thermodynamic systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233440A1 (en) * 2006-03-29 2007-10-04 International Business Machines Corporation Reduced message count for interaction decomposition of N-body simulations
US20080275685A1 (en) * 2007-05-01 2008-11-06 Thomas Michael Gooding Miss-accumulation in a binary space partitioning tree
WO2009007550A2 (fr) 2007-06-20 2009-01-15 Inria Institut National De Recherche En Informatique Et En Automatique Dispositif informatique pour la simulation d'un ensemble d'objets en interaction et procédé correspondant

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GRUDININ, S; REDON, S.: "Practical modeling of molecular systems with symmetries", JOURNAL OF COMPUTATIONAL CHEMISTRY, vol. 31, no. 9, 2010, pages 1799 - 1814, XP055262115, DOI: doi:10.1002/jcc.21434
LAMBERTI V E ET AL: "A hands-on introduction to molecular dynamics", JOURNAL OF CHEMICAL EDUCATION MAY 2002 AMERICAN CHEMICAL SOCIETY US, vol. 79, no. 5, May 2002 (2002-05-01), pages 601 - 606, XP002696503 *
MICHAEL P. ALLEN: "Introduction to Molecular Dynamics Simulation", NIC SERIES, COMPUTATIONAL SOFT MATTER: FROM SYNTHETIC POLYMERS TO PROTEINS, LECTURE NOTES, 1 January 2004 (2004-01-01), pages 1 - 28, XP002696505, ISBN: 3-00-012641-4 *
SCHNEIDER R ET AL: "Introduction to molecular dynamics", COMPUTATIONAL MANY-PARTICLE PHYSICS SPRINGER-VERLAG BERLIN, GERMANY, 2008, pages 3 - 40, XP002696504, ISBN: 978-3-540-74685-0 *

Also Published As

Publication number Publication date
FR2995109A1 (fr) 2014-03-07
CN104756115B (zh) 2018-09-04
CN104756115A (zh) 2015-07-01
US20150254378A1 (en) 2015-09-10
EP2893473A1 (fr) 2015-07-15

Similar Documents

Publication Publication Date Title
US20230359912A1 (en) Geometry-based compression for quantum computing devices
US9405748B2 (en) Probabilistically finding the connected components of an undirected graph
Chen et al. Sampling table configurations for the hierarchical Poisson-Dirichlet process
Antonini et al. Holographic measurement and bulk teleportation
WO2014037236A1 (fr) Procédé de simulation d&#39;un ensemble d&#39;éléments
Blanchard Fast hierarchical algorithms for the low-rank approximation of matrices, with applications to materials physics, geostatistics and data analysis
Tang et al. Sketch the storyline with charcoal: a non-parametric approach
Trstanova Mathematical and algorithmic analysis of modified Langevin dynamics
Bédard Hierarchical models and tuning of random walk Metropolis algorithms
WO2013174923A1 (fr) Procédé de simulation d&#39;un ensemble d&#39;éléments, programme d&#39;ordinateur associé
Jakovits et al. Clustering on the cloud: reducing CLARA to MapReduce
Leleux Hybrid direct and interactive solvers for sparse indefinite and overdetermined systems on future exascale architectures
Huang et al. Efficient conditional simulation of spatial patterns using a pattern-growth algorithm
Bagla et al. The Adaptive TreePM: an adaptive resolution code for cosmological N-body simulations
Artemova Adaptive algorithms for molecular simulation
Bajpai et al. A scalable crystal representation for reverse engineering of novel inorganic materials using deep generative models
WO2024082306A1 (fr) Réseau neuronal de graphe de passage de messages comportant un calcul géométrique vectoriel scalaire de passage de messages et de temps d&#39;exécution
US20230401430A1 (en) Transformer-based graph neural network trained with three-dimensional distance data
Gdhami Isogeometric methods for hyperbolic partial differential equations
Zaman An Orthogonal Layout Algorithm for Small Compound Graphs
Csar et al. Computational social choice in the clouds
Kičić Adaptive Learning and Prediction of Multiscale Dynamical Systems
Wang et al. Properties of traveling waves in an impulsive reaction–diffusion model with overcompensation
Wang Parallel P-Adaptive Implicit High-Order Flux Reconstruction Methods for Under-Resolved Turbulent Flow Simulation
Maisonneuve Automatic heuristic-based generation of MTBDD variable orderings for PRISM models. Internship report

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: 13756385

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14426413

Country of ref document: US