CN104239277B - Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation - Google Patents

Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation Download PDF

Info

Publication number
CN104239277B
CN104239277B CN201410405053.1A CN201410405053A CN104239277B CN 104239277 B CN104239277 B CN 104239277B CN 201410405053 A CN201410405053 A CN 201410405053A CN 104239277 B CN104239277 B CN 104239277B
Authority
CN
China
Prior art keywords
matrix
granule
adjacent particles
discrete
particle
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201410405053.1A
Other languages
Chinese (zh)
Other versions
CN104239277A (en
Inventor
刘春�
施斌
王宝军
张丹
索文斌
顾凯
吴静红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201410405053.1A priority Critical patent/CN104239277B/en
Publication of CN104239277A publication Critical patent/CN104239277A/en
Application granted granted Critical
Publication of CN104239277B publication Critical patent/CN104239277B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention relates to a rapid discrete-element numerical-value calculating method which is applicable to GPU (Graphics Processing Unit) scalar-matrix operation. The rapid discrete-element numerical-value calculating method comprises the following steps of (1) establishing an adjacent particle matrix and a particle discrete-element accumulating model; storing adjacent particle numbers which are possibly in contact with particles into the corresponding lines of the adjacent particle matrix Pn from NO.1 to NO.m, and filling line-length differences with m+1 dummy particle numbers; (2) realizing the scalar-matrix iterative calculation of particle stress; transforming the coordinates and the attributes of adjacent particles into a m*n matrix mode corresponding to the adjacent particle matrix on the basis of the adjacent particle matrix; obtaining a particle primary-stress matrix Fn0 (the size of the matrix is m*n) through matrix calculation in discrete-element iterative operation; (3) filtering stress calculating results by using a contact-relation matrix to finish iterative calculation; calculating a contact-relation boolean matrix Bc according to factors, such as stress, screening out a practical stress unit in the Fn0 by utilizing the Bc to obtain a practical particle-stress matrix Fn, calculating a resultant force and finishing particle motion simulation.

Description

Suitable for the fast discrete unit numerical computation method of GPU Scalar matrix computings
Technical field
The present invention relates to granular discrete-element simulation, is particularly suited for the quick calculation method of GPU Scalar matrix computings.
Background technology
Distinct element method is a kind of Main Numerical analogy method for solving the problems, such as discontinuous media, can be with dynamic analog rock mass Large deformation, rupture failure, in fields such as ground, mining and metallurgy, environment, pharmacy relatively broad application is achieved.For a long time, due to The huge amount of calculation of distinct element method, it calculates granule generally thousand of to tens of thousands of, significantly limit the development of discrete element with Using.In recent years, GPU (graphics processing unit) relies on its powerful dense matrix data computing capability, in general-purpose computations neck The application in domain is more and more extensive, such as imaging of medical, oil-gas exploration and scientific algorithm.At aspects such as floating-point operation, matrix calculus, GPU can provide the performance of decades of times or even up to a hundred times of CPU, can significantly improve numerical computations speed.But, due to discrete Unit's simulation is related to large deformation and abstriction, discrete element granule annexation and unfixed etc. reason of connection quantity, and it was calculated Journey lacks Scalar matrix computing feature, has difficulties on the quick Scalar matrix computings of GPU are realized.Accordingly, it would be desirable to using specific side Method improves the computational efficiency of distinct element method to realize discrete element GPU Scalar matrix computings.
The content of the invention
For computationally intensive, the low problem of computational efficiency for overcoming distinct element method to exist.The present invention seeks to, propose a kind of Suitable for the fast discrete unit numerical computation method of GPU Scalar matrix computings.By setting up specific adjacent particles matrix, realize pure The GPU computings of matrix.The method is all calculated and can realized by matrix operationss, can effectively improve the calculating effect of distinct element method Rate, realizes large-scale granular discrete-element simulation, and can be further used for ultra-large granular discrete-element parallel computation, realizes The Fast simulation of complicated geotechnical engineering problems.
The present invention is to solve the technical scheme that the quick computational problem of discrete element is proposed, a kind of suitable for GPU Scalar matrix fortune The fast discrete unit numerical computation method of calculation.Its step includes:
(1) adjacent particles matrix and granular discrete-element Mathematical Model of heaped-up are set up;By granule by 1 to m numbering, it would be possible to each The adjacent particles numbering of granule (centrophyten) contact is stored in the corresponding line of adjacent particles matrix Pn, i.e. the rows of matrix Pn i-th For the adjacent particles numbering of the centrophyten of i, (each granule can be centrophyten to record number, and it is relative to neighbouring Grain, i.e., these adjacent particles are all near Current central granule);The m+1 void granule numbering fillings of matrix different rows difference in length;
Each granule can be centrophyten, and it is relative to adjacent particles;I.e. these adjacent particles are all current Near " centrophyten ";I.e. the adjacent particles of the i-th rows of Pn record number i granule are numbered.
(2) realize that Scalar matrix iterates to calculate numerical density;Based on adjacent particles matrix, adjacent particles coordinate and attribute are turned Chemical conversion m*n matrix forms corresponding with adjacent particles matrix.In discrete element interative computation, at the beginning of obtaining granule by matrix calculus Step stress matrix F n0(matrix size m*n).
(3) Force Calculation result is filtered using contact relation matrix, completes iterative calculation.According to factors such as stress Contact relation Boolean matrix Bc is calculated, using Bc Fn is filtered out0In actual loading unit, obtain granule actual loading matrix, Calculate and make a concerted effort and complete granule motion simulation.
Step 10 builds initial granular discrete-element Mathematical Model of heaped-up, and granule is by 1 open numbering to m;Numbered according to granule, will The geometric parameter and mechanics parameter of granule is stored in each array;
Step 11 is obtained the adjacent particles of each granule by conventional method, may contact granule, and it is stored line by line In adjacent particles matrix Pn;The adjacent particles numbering of each granule is stored in adjacent particles matrix corresponding line, matrix size For m*n, i.e. m rows n row;
Particle habit is changed into m*n forms corresponding with Pn matrixes by step 12, and carries out Scalar matrix discrete element numerical computations (being specifically shown in step 20-26), obtains preliminary stress matrix F n of granule0(m*n);In preliminary stress matrix and adjacent particles matrix Granule numbering is corresponded, and have recorded the adjacent intergranular primary action power of granule;
Step 13 records the connection of granule and contact condition using contact relation Boolean matrix Bc;Contact relation matrix with Adjacent particles matrix is corresponded, and whether contact relation matrix record adjacent particles contact with centrophyten, i.e., with the presence or absence of power Effect.Calculate granule contact relation Boolean matrix Bc (being specifically shown in step 30-36), due in adjacent particles matrix only part Grain has contact relation with centrophyten, by preliminary stress matrix F n0Bc is multiplied by item by item obtains granule actual loading matrix F n (m*n Matrix).
Step 14 is calculated with joint efforts according to discrete element granule and motion calculation carries out granule motion simulation.According to actual loading square Battle array is asked for making a concerted effort suffered by each granule, and calculates granule motion by classical mechanics method.(being specifically shown in step 30-36)
Step 15 realizes the dynamic analog of granular discrete-element by continuous iteration.
Step 16 obtains numerical simulation final result.
Step 20-26 describes the preliminary stress matrix procedures of step 11-12 Scalar matrix iterative calculation granule in detail:
Step 20 is input into the adjacent particles array of each granule, and the attribute array of all granules, including radius (R), Coordinate (P [X, Y, Z]), positive stiffness factor (Kn) and quality (M), array size is m*1, i.e. m rows 1 and arranges.
Step 21 builds adjacent particles matrix Pn.By number order is line by line stored in the adjacent particles array of granule neighbouring In granule matrix.Granule matrix Pn is m*n matrixes, that is, have m rows and n row, and the i-th line number value represents neighbouring numbered as i granules Grain numbering.Because the adjacent particles number of each granule is different, the width n of Pn matrixes is true by the adjacent particles array row most grown It is fixed.In Pn there is dummy cell in the shorter row of length, be filled with empty granule numbering m+1;
Step 22 increases m+1 void particle habit values at attribute array end, and calculates the corresponding attribute square of adjacent particles matrix Battle array (m*n).Due to there is m+1 elements in Pn, need finally to increase a property value for numbering m+1 void granule in attribute array, To ensure that matrix algorithm correctly runs;Pn is updated in attribute array and obtains adjacent particles attribute matrix.
Step 23 obtains centrophyten poor with the x coordinate of adjacent particles according to granule coordinates matrix and adjacent particles matrix Value matrix dPnX, dPnY, dPnZ, its size is m*n.
Step 24 is calculated distance matrix dPn between centrophyten and adjacent particles:
DPn=sqrt (dPnX.^2+dPnY.^2+dPnZ.^2);(by gauged distance formula)
Step 25 further obtains relative displacement Sn between granule:
Sn=dPn- (R*ones (1, n)+R ' are (Pn));
Wherein R*ones (1, n) it is particle radius array (m*1);R ' is (Pn) the radius array that increases empty granule;The right Section 2 R*ones (1, n)+R ' (Pn) centered on granule and adjacent particles radius sum.One binomial difference is particle surface Distance, that is, obtain relative displacement matrix (size m*n) between granule.
Step 26 calculates intergranular preliminary positive force (Fn0), i.e., positive stiffness factor matrix (Kn) is relative and between granule The product item by item of transposed matrix (Sn):
Fn0=Kn.*Sn;
In formula, Kn and Sn is m*n matrixes, and element is multiplied item by item in the two matrix, obtains size and just makees for the preliminary of m*n Firmly matrix F n0
Step 30-36 describes step 13-14 contact relation Boolean matrix in detail and calculates actual loading and discrete element calculating stream Journey:
Step 30 is input into preliminary positive force matrix F n of granule0With granule connection Boolean matrix Bb (being m*n matrixes). Whether Bb is corresponded with adjacent particles matrix, be have recorded and whether have between granule and adjacent particles connecting forces, i.e., allow pulling force to make With.
Step 31 is according to Fn0Granule connection matrix Bb is updated, when pulling force exceedes particular value (stretching resistance matrix value) between granule When, connection fracture between granule.Realized by matrix Boolean calculation:
Bb=(Bb&Fn0<Fnmax), Matlab matrixes instruction, similarly hereinafter;
Wherein FnmaxFor stretching resistance matrix (m*n) between granule.
Step 32 is according to Fn0Calculate and press between granule active force (pressure is negative) Boolean matrix Bp:
Bp=(Fn0<0);
Step 33 calculates interparticle contact relation Boolean matrix Bc, that is, to indicate and whether have actual force between granule.Granule Between actual force include pressure and pulling force, therefore, Bc to granule connection matrix Bb and pressure active force matrix Bp by taking union Obtain:
Bc=(Bb | Bp);
Step 34 is according to Fn0Calculate actual loading Fn between granule.In adjacent particles matrix and not all adjacent particles all with Present granule has contact relation, and by the screening of contact relation Boolean matrix actual forward power is obtained:
Fn=Fn0.*Bc;
In contact relation matrix, there is contact to be 1, contactless is 0.
Fn is decomposed into FnX, FnY, FnZ vector form by step 35.With reference to coordinate difference between the granule obtained in step 23 Matrix dPnX, dPnY, dPnZ (i.e. positive force direction), can be decomposed into coordinate vector form D nX, FnY, FnZ by Fn.Granule institute By being with joint efforts adjacent particles to its active force sum, i.e., take on actual loading matrix line direction and:
FX=sum (FnX, 2);Matlab matrixes are instructed, similarly hereinafter;
FY=sum (FnY, 2);
FZ=sum (FnZ, 2);
Numerical density is F=[FX, FY, FZ] (m*3 matrixes).
Step 36 calculates component motion of the granule in xyz directions according to classical mechanics.
Distinct element method is a kind of Computational Mechanicses method, similar with FInite Element.It resolves into material a series of with spy Fixed discrete element granule, and intergranular stress and motion are calculated by Newtonian mechanics, so as to the deformation of simulation material and broken It is bad.
Step 20-26 is the refinement of step 11-12, and step 30-36 is the refinement of step 13-14.Fig. 1 is ensemble stream Journey.
The invention has the beneficial effects as follows:Realize that all discrete elements are calculated to complete with Scalar matrix form of calculation, it is fast to realize Fast GPU computings, significantly improve the efficiency of discrete element calculating.This method avoids needing constantly in conventional discrete unit computational methods It is circulated operation to calculate contact, stress and motion of each granule etc., but by based on adjacent particles matrix and contact Relation Boolean matrix realizes distinct element method Scalar matrix rapid computations.Can be reached by using these methods calculating, discrete element The speed of general tens times of business software, is capable of achieving the dynamic analog of million granules on single personal computer.And based on Scalar matrix Discrete element numerical computations, can easily carry out calculating segmentation, be conducive to the parallel computation of further ultra-large discrete element.
Actual loading matrix by obtaining granule of the invention, calculates finally by conventional discrete unit method and completes granule dynamic Simulation.In numerical procedure, all properties data are recorded in corresponding matrix based on adjacent particles matrix, and are adopted Use Scalar matrix computing.Therefore, the method is applied to GPU (graphics processing unit) high speed matrix operationss, significantly improves discrete The speed of first numerical method, can realize the dynamic analog of million granules on single personal computer.
Description of the drawings
Fig. 1 fast discretes unit's numerical computations population structure and operation principle flow chart;
The computing of Fig. 2 Scalar matrix obtains the preliminary stress matrix procedures figure of granule;
Fig. 3 contact relation matrix calculus actual loadings and distinct element method calculation flow chart.
Specific embodiment
Fig. 1 is the population structure and operation principle that this method is implemented.It is characterized in combining adjacent particles matrix Pn and contact Relation Boolean matrix Bc realizes that Scalar matrix discrete element is calculated.
Step 10 builds initial granular discrete-element Mathematical Model of heaped-up, and granule is by 1 open numbering to m.According to numbering, by granule Geometric parameter and mechanics parameter be stored in each array.
Step 11 obtains the adjacent particles (may contact granule) of each granule by conventional method, and it is stored line by line In adjacent particles matrix Pn.Accompanying drawing 1a gives adjacent particles matrix, and the adjacent particles numbering of each granule is stored in matrix In corresponding line, matrix size is m*n, i.e. m rows n row.
Particle habit is changed into m*n forms corresponding with Pn matrixes by step 12, and carries out Scalar matrix discrete element numerical computations (being specifically shown in step 20-26), obtains preliminary stress matrix F n of granule0(m*n).In preliminary stress matrix and adjacent particles matrix Granule numbering is corresponded, and have recorded the adjacent intergranular primary action power of granule.
Step 13 calculates granule contact relation Boolean matrix Bc, and obtains granule actual loading matrix F n.Due to neighbouring Only partial particulate has contact relation with centrophyten in grain matrix, and the company of granule must be recorded using contact relation Boolean matrix Bc Connect and contact condition.Such as accompanying drawing 1b, contact relation matrix is corresponded with adjacent particles matrix, and record adjacent particles whether with Centrophyten is contacted, i.e., with the presence or absence of the effect of power.Further, by preliminary stress matrix F n0Bc is multiplied by item by item obtains granule reality Border stress matrix F n (m*n matrixes).
Step 14 is made a concerted effort and motion calculation according to discrete element granule.Close according to suffered by actual loading matrix asks for each granule Power, and granule motion is calculated by classical mechanics method.
Step 15 realizes the dynamic analog of granular discrete-element by continuous iteration.
Step 16 obtains numerical simulation final result.
Fig. 2 is the preliminary stress matrix procedures figure of Scalar matrix iterative calculation granule.It is characterized according to adjacent particles matrix structure Corresponding particle habit matrix is built, and granule and adjacent particles intermolecular forces matrix are obtained by Scalar matrix computing.Step 20-26 For the refinement explanation of step 11-12.
Step 20 is input into the adjacent particles array of each granule, and the attribute array of all granules, such as radius (R), Coordinate (P [X, Y, Z]), positive stiffness factor (Kn) and quality (M) etc., array size is m*1, i.e. m rows 1 and arranges.
Step 21 builds adjacent particles matrix Pn.By number order is line by line stored in the adjacent particles array of granule neighbouring In granule matrix.Granule matrix Pn is m*n matrixes, that is, have m rows and n row, and the i-th line number value represents neighbouring numbered as i granules Grain numbering.Because the adjacent particles number of each granule is different, the width n of Pn matrixes is true by the adjacent particles array row most grown It is fixed.In Pn there is dummy cell in the shorter row of length, be filled with empty granule numbering m+1.Such as accompanying drawing 2a, granule 2 (the second row) is gathered around There are most adjacent particles, its last element is 5.And other row relevant positions are then filled with numbering m+1.Because granule is compiled Number by 1 to m, in further matrix operationss, numbering m+1 can be distinguished.
Step 22 increases m+1 void particle habit values at attribute array end, and calculates the corresponding attribute square of adjacent particles matrix Battle array (m*n).Due to there is m+1 elements in Pn, need finally to increase a property value for numbering m+1 void granule in attribute array, To ensure that matrix algorithm correctly runs.Further, Pn is updated in attribute array and obtains attribute matrix.Such as granule x coordinate Array is PX ' (m+1 element), then corresponding adjacent particles x coordinate matrix be PX ' (Pn) (instruction of Matlab matrixes).
Step 23 obtains centrophyten poor with the x coordinate of adjacent particles according to granule coordinates matrix and adjacent particles matrix Value matrix dPnX, dPnY, dPnZ, its size is m*n.Specifically can be obtained by following formula (by taking dPnX as an example):
DPnX=PX ' (Pn)-PX*ones (1, n);(Matlab matrixes are instructed, similarly hereinafter)
Formula the right Section 1 obtains adjacent particles coordinate in the x direction;Section 2 obtains centrophyten in the x direction Coordinate.PX is m*1 matrixes, and ones (1, n) obtain being worth the 1*n matrixes for being all 1, the two multiplications obtains m*n matrixes, its often behavior The x coordinate value of centrophyten;One binomial difference obtains adjacent particles and centrophyten matrix of differences in the x direction.Equally Ground, can obtain adjacent particles and centrophyten matrix of differences dPnY in the y and z directions and dPnZ.
Step 24 is calculated distance matrix dPn between centrophyten and adjacent particles:
DPn=sqrt (dPnX.^2+dPnY.^2+dPnZ.^2);
Step 25 further obtains relative displacement Sn between granule:
Sn=dPn- (R*ones (1, n)+R ' are (Pn));
Wherein R is particle radius array (m*1);R ' is the radius array for increasing empty granule;The right Section 2 centered on Grain and the radius sum of adjacent particles.One binomial difference is the distance of particle surface, that is, obtain relative displacement matrix between granule (big Little m*n).
Step 26 calculates intergranular preliminary positive force (Fn0), i.e., positive stiffness factor matrix (Kn) is relative and between granule The product item by item of transposed matrix (Sn):
Fn0=Kn.*Sn;
In formula, Kn and Sn is m*n matrixes, and element is multiplied item by item in the two matrix, obtains size and just makees for the preliminary of m*n Firmly matrix F n0.Accompanying drawing 2b is preliminary positive force matrix schematic diagram, and it is corresponded with adjacent particles matrix, and be have recorded Positive acting power between granule and adjacent particles.Preliminary positive force matrix is intergranular possible active force, due to neighbouring Unit in granule matrix may not contact (i.e. without pressure and tension force effect) with centrophyten, need further using contact Relation Boolean matrix is filtering out actual active force.
Fig. 3 is contact relation matrix calculus actual loading and discrete element calculation flow chart.It is characterized in setting up contact relation Boolean matrix obtains intergranular actual force filtering preliminary positive force matrix, and completes discrete element numerical computations.Step Rapid 30-36 is the refinement explanation of step 13-14.
Step 30 is input into preliminary positive force matrix F n of granule0With granule connection Boolean matrix Bb (being m*n matrixes). Whether Bb is corresponded with adjacent particles matrix, be have recorded and whether have between granule and adjacent particles connecting forces, i.e., allow pulling force to make With.
Step 31 is according to Fn0Granule connection matrix Bb is updated, when pulling force exceedes particular value between granule, is connected between granule disconnected Split.Can be realized by matrix Boolean calculation:
Bb=(Bb&Fn0<Fnmax) (Matlab matrixes are instructed, similarly hereinafter)
Wherein FnmaxFor stretching resistance matrix (m*n) between granule.
Step 32 is according to Fn0Calculate and press between granule active force (pressure is negative) Boolean matrix Bp:
Bp=(Fn0<0);
Step 33 calculates interparticle contact relation Boolean matrix Bc, that is, to indicate and whether have actual force between granule.Granule Between actual force include pressure and pulling force, therefore, Bc to granule connection matrix Bb and pressure active force matrix Bp by taking union Obtain:
Bc=(Bb | Bp);
Accompanying drawing 3a is Bc matrix schematic diagrams, and its size is m*n, is corresponded with adjacent particles matrix element, and be have recorded With the presence or absence of contact and the effect of power between granule.
Step 34 is according to Fn0Calculate actual loading Fn between granule.In adjacent particles matrix and not all adjacent particles all with Present granule has contact relation, and by the screening of contact relation Boolean matrix actual forward power is obtained:
Fn=Fn0.*Bc;
In contact relation matrix, there is contact to be 1, contactless is 0.Preliminary positive force Fn in accompanying drawing 2b0With accompanying drawing Granule contact Boolean matrix in 3a is multiplied item by item, then obtain actual positive force matrix F n between the granule in accompanying drawing 3b.
Fn is decomposed into FnX, FnY, FnZ vector form by step 35.With reference to coordinate difference between the granule obtained in step 23 Matrix dPnX, dPnY, dPnZ (i.e. positive force direction), can be decomposed into coordinate vector form D nX, FnY, FnZ by Fn.Granule institute By being with joint efforts adjacent particles to its active force sum, i.e., take on actual loading matrix line direction and:
FX=sum (FnX, 2);(Matlab matrixes are instructed, similarly hereinafter)
FY=sum (FnY, 2);
FZ=sum (FnZ, 2);
Numerical density is F=[FX, FY, FZ] (m*3 matrixes).
Step 36 calculates component motion of the granule in xyz directions according to classical mechanics.As in the x direction component is calculated For:
AX=FX./M;
VX=VX+AX*dT;
PX=PX+VX*dT;
M is granular mass array in formula, and AX is x directional accelerations, and VX is x directions speed, and PX is granule x directions coordinate, DT is iteration time step-length.
Example above gives the method for realizing that discrete element positive force is calculated with interative computation Scalar matrix computing.Similarly, Tangential force and torque etc. can also be calculated by similar approach between granule, so as to realize the Scalar matrix computing of granular discrete-element.

Claims (2)

1., suitable for the fast discrete unit numerical computation method of GPU Scalar matrix computings, it is characterized in that step includes:
1)Set up adjacent particles matrix and granular discrete-element Mathematical Model of heaped-up;By granule by 1 to m numbering, it would be possible to contact with granule Adjacent particles numbering be stored in the corresponding line of adjacent particles matrix Pn, row difference in length with m+1 void granule numbering filling;
2)Realize that Scalar matrix iterates to calculate numerical density;Based on adjacent particles matrix, adjacent particles coordinate and attribute are changed into M*n matrix forms corresponding with adjacent particles matrix;In discrete element interative computation, obtain granule by matrix calculus and tentatively receive Torque battle array Fn0、Matrix size m*n;
3)Force Calculation result is filtered using contact relation matrix, completes iterative calculation;Calculated according to factors such as stress Contact relation Boolean matrix Bc, using Bc Fn is filtered out0In actual loading unit, obtain granule actual loading matrix F n, count Calculate and make a concerted effort and complete granule motion simulation;
Step 1)The step of setting up adjacent particles matrix and granular discrete-element Mathematical Model of heaped-up:
Step 10 builds initial granular discrete-element Mathematical Model of heaped-up, and granule is by 1 open numbering to m;Numbered according to granule, by granule Geometric parameter and mechanics parameter be stored in each array;
Step 11 is obtained the adjacent particles of each granule by conventional method, may contact granule, and it is stored in line by line neighbour In nearly granule matrix Pn;The adjacent particles numbering of each granule is stored in adjacent particles matrix corresponding line, and matrix size is m* N, i.e. m rows n are arranged;
Particle habit is changed into m*n forms corresponding with Pn matrixes by step 12, and carries out Scalar matrix discrete element numerical computations, is obtained Preliminary stress matrix F n of granule0, m*n ranks;Preliminary stress matrix is corresponded with granule numbering in adjacent particles matrix, record Granule adjacent intergranular primary action power;
Step 13 records the connection of granule and contact condition using contact relation Boolean matrix Bc;Contact relation matrix with it is neighbouring Granule matrix is corresponded, and whether contact relation matrix record adjacent particles contact with centrophyten, i.e., with the presence or absence of the work of power With;Granule contact relation Boolean matrix Bc is calculated, because only partial particulate contacts pass with centrophyten in adjacent particles matrix System, by preliminary stress matrix F n0Bc is multiplied by item by item obtains granule actual loading matrix F n, m*n matrix;
Step 14 is calculated with joint efforts according to discrete element granule and motion calculation carries out granule motion simulation;According to actual loading Matrix Calculating Take each granule suffered with joint efforts, and granule motion is calculated by classical mechanics method;It is specifically shown in step(30)-(36);
Step(30)Preliminary positive force matrix F n of input granule0Connect Boolean matrix Bb, be m*n matrixes with granule;Bb with Adjacent particles matrix is corresponded, and be have recorded and whether have between granule and adjacent particles connecting forces, i.e., whether allow pulling force effect;
Step(31)According to Fn0Granule connection matrix Bb is updated, when pulling force is stretching resistance matrix value more than particular value between granule, Connection fracture between granule;Realized by matrix Boolean calculation:
Bb=(Bb&Fn0<Fnmax), Matlab matrixes instruction, similarly hereinafter;
Wherein FnmaxFor stretching resistance matrix m*n between granule;
Step(32)According to Fn0It is negative Boolean matrix Bp to calculate and press between granule active force, pressure:
Bp=(Fn0< 0);
Step(33)Interparticle contact relation Boolean matrix Bc is calculated, that is, to be indicated and whether have actual force between granule;Between granule Actual force includes pressure and pulling force, therefore, Bc to granule connection matrix Bb and pressure active force matrix Bp by taking union and obtaining Arrive:
Bc=(Bb|Bp);
Step(34)According to Fn0Calculate actual loading Fn between granule;In adjacent particles matrix and not all adjacent particles all with currently Granule has contact relation, and by the screening of contact relation Boolean matrix actual forward power is obtained:
Fn=Fn0*Bc;
In contact relation matrix, there is contact to be 1, contactless is 0;
Step(35)Fn is decomposed into into FnX, FnY, FnZ vector form;With reference to coordinate difference between the granule obtained in step 23 Matrix dPnX, dPnY, dPnZ are positive force direction, and Fn is decomposed into into coordinate vector form D nX, FnY, FnZ;Granule institute By being with joint efforts adjacent particles to its active force sum, i.e., take on actual loading matrix line direction and:
FX=sum(FnX, 2);Matlab matrixes are instructed, similarly hereinafter;
FY=sum(FnY, 2);
FZ=sum(FnZ, 2);
Numerical density is F=[FX, FY, FZ], m*3 matrixes;
Step(36)Component motion of the granule in xyz directions is calculated according to classical mechanics;
Step 15 realizes the dynamic analog of granular discrete-element by continuous iteration;
Step 16 obtains numerical simulation final result.
2. the fast discrete unit numerical computation method suitable for GPU Scalar matrix computings according to claim 1, is characterized in that The preliminary stress matrix procedures of Scalar matrix iterative calculation granule;Corresponding particle habit matrix is built according to adjacent particles matrix, and Granule and adjacent particles intermolecular forces matrix are obtained by Scalar matrix computing;
Step 20 is input into the adjacent particles array of each granule, and the attribute array of all granules, including radius R, coordinate P [X, Y, Z], positive stiffness factor Kn and mass M, array size is m*1, i.e. m rows 1 and arranges;
Step 21 builds adjacent particles matrix Pn;By number the adjacent particles array of granule is stored in line by line adjacent particles by order In matrix;Granule matrix Pn is m*n matrixes, that is, have m rows and n row, and the i-th line number value represents the adjacent particles volume numbered as i granules Number;Because the adjacent particles number of each granule is different, the width n of Pn matrixes is determined by the adjacent particles array row most grown;Pn Be present dummy cell in the shorter row of middle length, filled with empty granule numbering m+1;Step 22 increases empty of m+1 at attribute array end Grain property value, and calculate the corresponding attribute matrix m*n of adjacent particles matrix;Due to there is m+1 elements in Pn, need in attribute number Group finally increases a property value for numbering m+1 void granule, to ensure that matrix algorithm correctly runs;Pn is updated to into attribute array In obtain adjacent particles attribute matrix;Step 23 obtains centrophyten with neighbour according to granule coordinates matrix and adjacent particles matrix X coordinate matrix of differences dPnX of nearly granule, dPnY, dPnZ, its size is m*n;Step 24 be calculated centrophyten with Distance matrix dPn between adjacent particles:
dPn=sqrt(dPnX2+ dPnY2+dPnZ2);
Step 25 further obtains relative displacement Sn between granule:
Sn=dPn-(R*ones(1,n)+R’(Pn));
Wherein R* ones (1, n) it is particle radius array m*1;R ' is (Pn) the radius array that increases empty granule;The right second R*ones (1, n)+R ' (Pn) centered on granule and adjacent particles radius sum;One binomial difference for particle surface away from From it is m*n to obtain relative displacement matrix, size between granule;
Step 26 calculates intergranular preliminary positive force Fn0, i.e., relative displacement matrix Sn between positive stiffness factor matrix K n and granule Product item by item:
Fn0=Kn*Sn;
In formula, Kn and Sn is m*n matrixes, and element is multiplied item by item in the two matrix, obtains the preliminary positive force that size is m*n Matrix F n0
CN201410405053.1A 2014-08-15 2014-08-15 Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation Active CN104239277B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410405053.1A CN104239277B (en) 2014-08-15 2014-08-15 Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410405053.1A CN104239277B (en) 2014-08-15 2014-08-15 Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation

Publications (2)

Publication Number Publication Date
CN104239277A CN104239277A (en) 2014-12-24
CN104239277B true CN104239277B (en) 2017-04-12

Family

ID=52227375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410405053.1A Active CN104239277B (en) 2014-08-15 2014-08-15 Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation

Country Status (1)

Country Link
CN (1) CN104239277B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105866855B (en) * 2015-01-22 2018-04-06 中国石油天然气股份有限公司 A kind of analysis method of geologic-tectonic evolution and deformation process
CN106201931B (en) * 2016-08-10 2019-01-18 长沙中部翼天智能装备科技有限公司 A kind of hypervelocity matrix operation coprocessor system
CN107330227A (en) * 2017-07-31 2017-11-07 南京大学 Consider the discrete Meta Model and method for numerical simulation of the Rock And Soil triaxial test of film effect
CN109977505B (en) * 2019-03-13 2024-02-09 南京大学 Discrete element pore system quick searching method based on GPU matrix calculation
CN110781448B (en) * 2019-11-04 2024-03-12 南京大学 Discrete element neighbor searching and solving method and system based on complete matrix calculation
CN110929430B (en) * 2019-12-31 2023-04-11 浙江交通职业技术学院 Modulus calculation method for randomly filling silicon carbide particles in diesel engine particle catcher
CN113656656B (en) * 2021-07-21 2024-01-26 南京南力科技有限公司 Efficient neighbor retrieval method and system for wide-grading discrete element particle system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984829A (en) * 2014-05-22 2014-08-13 李笑宇 Discrete element method based method for improving particle discrete contact detection efficiency

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103229177B (en) * 2010-09-15 2016-08-24 联邦科学与工业研究组织 discrete element method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984829A (en) * 2014-05-22 2014-08-13 李笑宇 Discrete element method based method for improving particle discrete contact detection efficiency

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A fast scalable implementation of the two-dimensional triangular Discrete Element Method on a GPU platform;Lin Zhang etc.;《Advances in Engineering Software》;20121120;第70–80页 *
基于GPU的颗粒离散元计算方法研究;常新正;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130915(第9期);摘要、第3章3.1,3.2,第4章4.2,4.3,4.4 *
基于离散元理论的振动筛分数值模拟程序开发;孙 鹏等;《中国制造业信息化》;20120331;第41卷(第5期);第71-73页 *
离散元法研究的评述;刘凯欣等;《力学进展》;20031125;第33卷(第4期);第483-490页 *

Also Published As

Publication number Publication date
CN104239277A (en) 2014-12-24

Similar Documents

Publication Publication Date Title
CN104239277B (en) Rapid discrete-element numerical-value calculating method applicable to GPU (Graphics Processing Unit) scalar-matrix operation
Recuero et al. A high-fidelity approach for vehicle mobility simulation: Nonlinear finite element tires operating on granular material
Yang et al. Intra: 3d intracranial aneurysm dataset for deep learning
Raji et al. Model for the deformation in agricultural and food particulate materials under bulk compressive loading using discrete element method. I: Theory, model development and validation
WO2018180263A1 (en) Information processing device, information processing method, and computer-readable storage medium
JP2015530636A (en) Particle flow simulation system and method
WO2008021652A9 (en) Computer simulation of physical processes
JP5644872B2 (en) Simulation apparatus, simulation method, and program
US20140288906A1 (en) Analysis device, analysis method, analysis program, and recording medium
Singh et al. Accurate and efficient solution of bivariate population balance equations using unstructured grids
Chen et al. Hrnet: Hamiltonian rescaling network for image downscaling
Sierakowski GPU-centric resolved-particle disperse two-phase flow simulation using the Physalis method
Crous et al. The potential of graphical processing units to solve hydraulic network equations
CN109753682A (en) A kind of finite element matrix analogy method based on the end GPU
Recuero et al. ANCF continuum-based soil plasticity for wheeled vehicle off-road mobility
Va et al. Parallel Cloth Simulation Using OpenGL Shading Language.
Carrillo et al. Design of a large scale discrete element soil model for high performance computing systems
Serban et al. An integrated framework for high-performance, high-fidelity simulation of ground vehicle-tyre-terrain interaction
Cetinaslan Position‐based simulation of elastic models on the GPU with energy aware gauss‐seidel algorithm
CN110909473B (en) Dynamic fluid-solid interaction simulation method based on SP H and shape matching mixed model
De Cola et al. Concurrent adaptive mass-conserving comminution of granular materials using rigid elements
Zhang et al. Correlation mechanism of friction behavior and topological properties of the contact network during powder compaction
Luo Dealing with extremely large deformation by nearest-nodes FEM with algorithm for updating element connectivity
Alart et al. Parallel computational strategies for multicontact problems: Applications to cellular and granular media
Hou et al. Simulation of heat conduction in fluids on GPU with particle method.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant