Title: New simulation algorithm and architecture for Game Physics
1New simulation algorithm and architecture for
Game Physics
Michael LinPresident CEOReality Matrix Inc.
michael_at_reality-matrix.com
2What we will be going through?
- Algorithm
- Combine the rigid-body and deformable body
dynamics all together. - Parallel able and distributable algorithm
- Industry level computational continuum algorithm
- Compare to FEM, traditional explicit FEM
- Simple, Fast, and Accuracy
- Architecture
- Vector form of physics architecture, from concept
to modeling - Extensible architecture
- How we can do that?
- Using the new algorithm from new concept!
3Targets on this presentation
- Rigid body V.S. Deformable body
- Major applications for Game or 3D VR
- Cloth Simulation, Deformable Body Simulationetc
- Behavior of Collided Bodies, Impacted Effects
- Major points of considerations
- Material properties introduce the difference of
deformation - Object colliding behavior influenced by impact
factors, e.g. high-speed or the shape of
penetration - No real rigid body in the world!
- Its only the thing that has high stiffness
material properties!
4Algorithm and Architecture
- Concept -gt Mathematical Modeling -gt Algorithm -gt
Programming architecture - Concept
- Newtonian, Objects forms from particles
- Deformation caused by rigid body motion
- Mathematical Modeling
- Only consider the numerical modeling, no exact
solution included! - Algorithm
- Explicit integration causes the simple
computational architecture - Programming Architecture
- Based on simple architecture to the parallable
and extensible programming architecture
5Review on traditional methods
- The particle-spring modeling
- The simplest, widely used in the game industry
- The spring or spring-damper modeling that can not
fully described the material internal forces. - FEM, The Finite Element Method
- It is based on small deformation assumption and
variational method. - It costs time to days and large memory
requirement by its matrix solving process. High
programming complexities. - It may not convergence and cause errors.
- BEM, The Boundary Element Method
- By using the Greens function, its faster then
FEM. - Its difficult to prepare the preprocessing data
and not easy to apply. - DEM, The Discrete Element Method
- It change the particle-spring model to use the
rigid-body-spring model. - It also can not fully described the internal
force of material in the deformation process.
6Key Concepts
- No nonlinearity at all, we solve the nonlinear of
material and nonlinear of geometry in a linear
way! - Newtonian, Balancing forces, and Principle of
Virtual Work - How we can convert the deformations to rigid-body
kinematics modeling? - Large deformation Rigid-Body Motion Small
Deformation - Object comes from particles, and deformation of
body comes from particle movements. - Internal forces of the body comes from small
deformation, not related to the rigid motion.
7Mathematics Modeling
- Explicit time integration causes the simple, time
stepping and real-time architecture. - By using balancing (Virtual works, variation)
method, we can solve the distribution of internal
forces. - Simple equilibrium math, causes the fundamental
of soluble numerical model. - We can solve the small deformation of object by
the rigid motions.
8Algorithm
- Causing the simplicity of mathematical modeling,
we can describe versatile of systems, including
rigid-bodies, deformable bodies there're solid
and fluid simulation. - Causing the simplicity of mathematical modeling,
we can integrate it into other algorithms. - The new algorithm is not including traditional
abilities, also support the advanced simulation
ability. - Parallel algorithm based on the simplicity.
- The algorithm combines the different stages of
rigid-body motion, deformation process and
fracture simulation.
9Our knowledge base
- Rigid-Body Kinematics and Dynamics
- To compute the particle movement
- The Finite Element Method
- To compute the piece of bodys internal forces
(cohesion forces) - Numerical Integration Method
- To compute the stepping of displacement, to form
the trend of body movements. - We can use implicit or explicit integration
method. But the explicit method causes the simple
programming architecture. - Explicit algorithm causes the vector form of
programming architecture.
10Our key technology Zigma
- Modeling of algorithm and mechanical math
modeling. - The estimate method of the rigid-body movement.
- Estimate the internal forces in the body more
accuracy. - We use the incorrect explicit integration method
to become the self-equilibrium system. - The vector architecture forms the foundation of
parallelism.
11A Review on Game Physics Approaches
- A rigid body type description
- Matrix form, describe the whole object
- Using 3x4 float points
- A mesh type description
- Vertex type description, for each vertex
- For deformable body
12Rigid Body
- A rigid body by Newton
- A continuum can be defined by a group of
particles, they connected to each other. - the rigid-body type description, cannot to
describe the deformable body movement.
13Deformable body
- why do we need a deformable body?
- In the latest game, the existence of deformable
body is everywhere. Just like the real world we
lived, thats only the deformable body. The
rigid-body actually does not really exist in the
world. - All about the cloth system, wave and water
effects, theyre everywhere. Even we can use the
vertex shader technology, it is an operation
about the mesh level or using the particle
method. Thats different from rigid body
descriptions.
14The finite element method
- In fact, in the engineering field, let go back
1970, people develop the finite element method to
solve the deformable body simulations, in
actually words we say, structure analysis. - From now, we have saw many faces and keywords,
continuity, non-continuity, rigid-body,
deformable body, they seems troublesome.
Actually, we will put all together in our
algorithm in below.
15Whats the difficulty about the FEM in game
industry?
- A problem about the consuming of the
computational power - A problem about the memory consuming
- Finite element method is based on small
deformation assumption. - In the small deformation assumptions, the finite
element method has its difficulties on analysis
the large deformation about bodies, including
cloth or fracture phenomenon.
16Deformation
- Deformation, in mechanics analysis, we usually
separate it into large deformation and small
deformation analysis. - In the small deformation assumptions, the finite
element method has its difficulties on analysis
the large deformation about bodies, including
cloth or fracture phenomenon. - Because the clothing problem, itself a large
deformation process. In mechanics, its a
nonlinear problem. The nonlinearity will be
included geometry and material nonlinearity.
17Material Modeling
- Hooks law
- (dF) (k)(dX)
- it is the basic concept of the constitutive law
in material mechanics. That describes the
stress-strain relationships. - The material will cause the permanent deformation
and fluid type it will need the complex
mathematics and physics modeling. They are usual
described of partial differential equations.
18An introduction to a game physics algorithm
- The modeling is similar to the classical
approaches used in structures and mechanical
vibrations. The physical concept is easy to
incorporate with other physical phenomena. - The computer codes are small and simple.
- The algorithm is straightforward. Special
numerical techniques are not required.
19Why we dont use traditional FEM?
- The computing power of finite element is too
huge, its unable to use in the real time gaming
purpose. - The finite element is using the matrix solving
techniques to expand its domain it can not be
applied on limited memory storage console
platforms. - The basic is that the finite element is based on
SMALL-DEFORMATION. So it naturally can not be
applied to large deformation calculations. Well
describe that below. - The finite element method is can not to handle
the fracture problem in nature, because it needs
the continuity about an element. - Of course, most of the finite element codes have
been adopted into parallel forms on super
computers. But naturally it is a matrix form
solving problem, if we can use the vector type
algorithm, then it will take the most advantage
in modern vector accelerated chips.
20Explicit finite element method
- The explicit finite element method its since
1970, from the national laboratory in Livermore
and Argon. It is widely used on nuclear
simulation and reactor safety simulations. It is
most widely used on explosion and penetration
topics. It is so-called transient finite element
analysis or explicit finite element analysis. - We adopted it into the game industry for several
years research. - Something was wrong in traditional explicit
finite element method, we will prove that in
below.
21Our approach Intrinsic Vector form FEM
- Compute the motion and deformation due to the
application of non-equilibrium external forces.
Mathematically, it can solve displacement, force
or mixed boundary value problems. The essential
boundary conditions do not have to be prescribed.
- Handle multiple continuous bodies and their
interactions. - Handle body fragmentation or merger based on
prescribed failure criteria. - Compute crack initiation, and crack propagation
in a continuous body. - Compute very large deformation.
- Handle complicated, inelastic, or discontinuous
material properties. - Compute transient response. With a slowly applied
force or a dynamic relaxation process, obtain
quasi-static response.
22Matrix form and Vector form
- Matrix form is highly coupled. That means it is a
sequence about the row and column operations.
Instead of the matrix architecture, purely vector
form is very easy to use the hardware and
software acceleration features to improve the
solving speed. - The matrix method widely knows is related to the
level of square. In the common language in
physics, that is dependent on the degree of
freedom. - The vector form solving architecture, it just
grows in linear with the degree of freedom. This
is benefit for memory consuming issue.
23Zigma Technology
- The Zigma technology, or by its neutrality, we
call it vector form intrinsic finite element
analysis. - Our demands
- First, it deals with a lot of continuous body
combine with rigid body movements and they can
interact with each other. - Second, it deals with the non-linearity and
discontinuous material effectively. - Third, it deals with the geometry deformation
about the continuum.
24Target
- This approach can be stable to handling the basic
problem from one continuum into multiple
continua. - Handling the large rigid-body motion and
deformation at the same time - Handling the unbalance forces work corresponding
to the rigid body motion - Handling the complex material properties modeling
- Handling single continua into multiple bodies
- Handling the single continuum interact to other
bodies - Handling the unbalance forces
- Calculating the deformation precisely, that means
handle the deformation in large rotation - Avoiding the iterations
25Nonlinear continuum mechanics
- The real object has obviously geometric
deformation while destroy and cracking. - Nonlinear continuum mechanics once have deeper
discussion to the large deformation theory such
as Malvern. - To apply the nonlinear continuum mechanics to the
large deformation process, it brings a lot of
restriction from the initial shape definition.
26Current form and Init form
- Because in practices problems, the real time
shape and the initial shape usually has great
difference. At the same time, some mathematics
requirements may not be satisfied, something like
the positive defines about the matrix. - We noticed that in some literatures about the
large deformation analysis, like the elastica
problems and rubber elasticity problems, they
most add the moderately large deformation
assumptions.
27Large displacement deformation
- In finite element analysis, large displacement
and large deformation is a subject paid
attention. - When the practical problems involving the
complicated object geometry and changes about the
material properties, the algorithms mostly use
the iterative method to solve such problems.
28Our idea
- To set up a practically algorithm that can
predict the object is destroyed and cracking, it
should not be limited with the amount of the
deformation and displacement. - Meanwhile, it should be stable and precisely to
obtain the results. On such basis, we adopted
some explicit algorithms to a new simulation
algorithm and concepts. - Use the current form as the basic frame to define
the incremental stress and incremental strain. We
also use the incremental constitutive law.
29accuracy
- For an elastic body is passing through the
moderate or similar to the initial form
deformation process, it might not be so complete
and accuracy as the total analysis. - Because the error occurs in each incremental
calculation, and its accumulated.
30Our approach
- the vector form of equation of motion
- explicit time integration
- the co-rotational coordinate method to separate
the rigid body motion and deformation - the moving convected coordinate method to
handling the large deformation and large
displacement parts. - We dont have the variational form in our
approach and also dont use the partial
differential equation by the expression about the
stress.
31Our approach
- It deal with a lot of continua and combine with
rigid body and they interact with each other. - It deal with the nonlinearity and discontinuous
material effectively. - It deal with the geometry deformation of the
continuum.
32Displacement and Deformation
- Since the continuum is deformable, the procedure
needs to handle the rigid body movement and
deformation at the same time. - The rigid body displacement can be far greater
than deformation.
33The moving convected coordinate architecture
- definition about the strain, stress and virtual
works - It derives an incremental process to calculate
the large displace and large deformation
movement.
34Our idea
- Adopt the incremental calculation to setup an
explicit deformation procedure. In this
procedure, avoid to use the iterations. - Use the current form as the basic frame to define
the incremental stress and incremental strain. We
will also use the incremental constitutive law.
35Co-rotational coordinate approach
- We assumed that theres fixed global frame and a
co-rotational frame fowling the element rotated
and translated. - We can describe any displacement of a point
within the element as two parts
36Large displacement
- However, we can prove that, when the large
displacement causes the object with large
rotations, the traditional co-rotation method is
lake of the accuracy. So if it does not add the
improvement, it is only suitable for limited
large displacement motions. - Second, the co-rotational method seems unsuitable
for two or three dimensional problems. - This is because the large displacement and large
deformation usually happens simultaneously in a
continuum. The simplify modeling is not suitable
for small deformation adding on large rigid body
movements.
37The basic assumptions and discretization
- We consider a body It is composed by multiple
rigid bodies and deformable continua. - When the body is applied by external forces, each
body will change their direction and position,
and might change their geometry shape. - Some of them will collide each other or assemble
to a new continuum. For any one of them, it might
be separated into more individuals too.
38Equations of motion
- Equations of motion
- is the reaction force vector that is the external
force. - is the resistance force vector comes from the a
continuum media around a particle, that is
global internal force vector.
39- The commonly used method of discretization is
that we divide a continuum in to several proper
sub-regions that is also elements. - However, the rule of division is arbitrary in
theoretically. So the particle and the node
should not be in the same place.
40Element analysis
- For each element, they dont have mass property
so itself satisfy the static equilibrium. - are the internal forces acting on elements or
nodes that are the element internal nodal forces. - In traditional finite element analysis, we can
define the nodal forces by the virtual work
principle. That is
41- The summation about the global nodal internal
forces acting on each node is sum of element
nodal internal forces. - In the same way, we can process the definition
about the element external forces in the same way
as follows - is the external force vector on alpha node of k
element.
42FEM Shape function
- When we calculate the virtual work d, we can use
the traditional finite element method. - The function N satisfy the basic continuity
requirement and on the boundary of element.
43the virtual external work
- According to d'Alembert theory, we consider the
virtual external work for each element by the
inertia forces, - is the nodal mass for alpha element.
44Summarize
- On the node, the motion of the particle satisfy
-
- Within the element, the internal nodal forces
satisfy - And the displacement vector satisfy the
Cn-continuity. - On the boundary surfaces, force and displacement
satisfy the boundary conditions. - On the contact surfaces, force and displacement
satisfy the collision conditions or the
continuity condition.
45Some conclusions
- This algorithm about the bodies basically
simulates a limited number of particles. This is
different from traditional finite element method
that needs the system equilibrium. - The absolute displacement of the objects nodes
comes from the equations of motion. The
displacement on each objects displacement is the
same so the continuity condition is satisfied
between the elements. - This approach we purposed introduces the
co-rotational method to separate the rigid body
displacement by deformation displacement.
46Time integration Explicit or Implicit methods
- We use explicit time integration, that is
convenient for handling the non-elastic and
non-continues material properties. - It is avoid the iterations in solving the
equations of motion. - However, the basic theory on finite element is
not limit to explicit time integration methods.
Other time integration methods, like Newmark-beta
implicit time integration method, is suitable to
solve the equations of motion.
47Vector form FEM
- According the Newtons basic assumption, we
define a continuum as a group of particle mass
assemblage. So the finite element calculation is
to formulate a set of vector equation. - Adopting the explicit time integration method to
solve the particle motion. - Adopting the co-rotational frame architecture to
resolute the rigid body displacement and
deformable displacement. - We purpose a moving convected material reference
frame approach to formulate the large deformation
and large displacement approach.
48Traditional Explicit Finite Element
- X is the global position vector on time 0 of a
particle within the continuum - when time t, its global position is x-head
- the deformation gradient is Fd
49Traditional Co-rotational coordinate
- If we set a co-rotation coordinate fixed on a
particle and assume that the Fd has no rotational
deformation, then dX and dX-head can be treated
as the relative position by the co-rotational
coordinate. - Let the particle doing the rigid body rotation R,
then - If then
50Lagrangian strain Cauchy Stress
- Lagrangian strain
- The Cauchy stress from X to x
51- If we define the Cauchy stress is sigma-head from
X to x-head, then sigma-head is also the Cauchy
stress within the co-rotational coordinate. - We can compare the two equations listed above,
- So the Piola stress function S and the strain
function E, does not change with the rotation.
52- To simplify the fem analysis and make the shape
function to satisfy the boundary condition of
continuity, we set another co-rotation frame. - So we change the position vector X , x and x
prime to transform as X-head, Q is the
transformation matrix
53- Although the constitutive equation has to satisfy
the principle of objectivity, or the principle of
material frame indifference, Malvern. - According to this principle , the form of S has
to satisfy - So S and S-head comes from the same type. This
conclusion is the same with traditional
co-rotational coordinate.
54Some conclusion
- In our approach, the co-rotational coordinate
definition seems different form traditional. We
not limited to small deformation and principle of
superposition. - The transformation matrix and rotational matrix
can be different, so the co-rotational coordinate
can be set in another way. - But the definition of strain, E-prime, or the
constitutive equation S, and the form of
calculation about the virtual internal work is
the same with traditional co-rotational method.
55- the Piola stress seems the same in our approach
by global coordinate and co-rotational
coordinate, the Cauchy stress is not the same. - If the rotational matrix and transformation
matrix comes the same, then
56Whats going wrong?
- When large deformation come with large rotation,
the deformation and rigid body motion can not be
defined separately. - When particle mass was moving by external force,
the transformation matrix is including
deformation and rotation the superposition is no
longer exist!
57- we use the vector form finite element method to
handling the large displacement and large
deformation. - the Piola stress seems the same in our approach
by global coordinate and co-rotational
coordinate, the Cauchy stress is not the same.
58- When the current form of object is obviously
different from the initial form, some mathematics
condition may not be satisfied. - For example the deformation gradient, we often
assume it as the positive definite, when the
large strain comes, Jacobian may be positive. - So in planning the computing process, it seems to
be suitable by using the incremental of
deformation.
59Nonlinear Material Modeling
- To handle the large deformation material
properties, in the past we usually use the
total-stress-strain relationship. For example for
the rubber elasticity proposed neo-Kookea
material and Moony-Rivlin material, Green and
Adkins, Murnaghan and so on. - We thought that they are because the traditional
mechanics of large deformation approach to
formulate the simple geometry model, to make a
assumption to be corresponding the equilibrium
equations and analytic solutions.
60Some benefits
- Fist, if we reduce the increment of force, the
total stress-strain relationship, according to
the differential and mean-value theory, we can
express them using the linear incremental
relationship. We compare the total stress model
and plastic flow theory about the elastic-plastic
materials we might see the advantage of the
incremental model. - Second, when an object is going through the large
deformation, it can not maintain the homogenous
deformation state. That means, the history of
large deformation is no longer a proportional
loading process. It should be use the incremental
form of constitutive equation.So using the
incremental constitutive law is reasonable and
simple.
61Incremental stress and strain
- The incremental stress, incremental strain and
the virtual work can be expressed as follows - Where,
62Incremental Constitutive Law
- If large deformation process can be expressed by
incremental stress and incremental displacement
as a basis, then the material model can be
expressed be incremental method. - When an object is going through the large
deformation, it can not maintain the homogenous
deformation state. - That means, the history of large deformation is
no longer a proportional loading process. It
should be use the incremental form of
constitutive equation.
63Some considerations about the fracture algorithm
- If the material model is non continuous,
something like traditional elastic-plastic
material model or viscous elastic material type,
it should be added in the iteration process in
formulating the equation sets. - After the object is cracked, the geometry form of
the body will have great changes. For a small
individual, it will face to large displacement
and rigid body motion on it. - Our approach mainly focus on a new vector form
algorithm about continuum and naturally support
fracture simulation, nonlinear material models,
large deformation and the core support the
parallel and distributed computing from
mathematically to code architecture.
64The real-time fragmentation method
- The judgment of nodal failure criterion
- The failure process
- This is a general algorithm can be adapted to any
kind of mesh types.
65- Basically, we just use the maximum principle
stress direction to judge the direction about the
failure. When the internal tensile strength in
exceed the material tensile strength, of course,
thats why the object will be break.
66- First, we should set up the unit vector for each
element and nodes. In co-rotational coordinate,
this unit vector will rotate by time and geometry
changes. So it should be updated on each time
step will be the correct boundary position of the
element. - When the system is receiving the permit about the
failure along the element boundary, we start the
failure procedures. In element-based method, we
are happy to use the nodal connect table because
it is simple.
67Fragmentation
68Issues about the synchronization
- In parallel computing for large computational
project, the synchronization is a very important
issue. - Too much or under considerations will cause the
system performance down or loss control of each
CPU. That will cause the whole system crash and
give us the wrong answer. - Thats we should notice about parallel and
nonparallel part in the algorithm and codes.
69Generalization
- Our approach has introduced a general description
of particle motion. The handling of finite
element rigid body motion with deformation is
different from the classical continuum mechanics.
70Progress
- We may assume that mass points are inside the
element, and the total number varies according to
the stress or deformation intensity. Their
positions may also be adjusted, and thus give a
more accurate stress distribution. - To satisfy continuity requirements of a
continuum, we choose to use the standard element
shape functions to calculate internal forces
acting on the mass particle. Our approach is not
limited to that. For specific physical problems,
we may choose to use a mixture of different
models for the calculation. They include finite
difference procedures with differential
equations, formulas deduced from test data and
mathematical analyses. - Since our approach assumes that the body is a
collection of particles, different models can be
calculated independently and then assembled for
each particle.
71Outlook
- Failure analysis
- Program based on our approach can be developed to
provide quantitative predictions of the
initiation of failure, subsequent failure
sequence and a total collapse or disintegration
of the structure. - Penetration mechanics
- Our approach is able to model moving projectiles,
multiple continuous media, and fragmentation.
Thus, it is possible to study the time history of
entire penetration process as a function of
projectile geometry, traveling speed, impact
angle and material properties.
72- Impact and collision
- Explicit finite elements have been effectively
implemented to conduct safety analyses of reactor
structures, to evaluate crash-worthiness of
trucks and automobiles, and to model explosion
and demolition.
73- Thank you
- Were happy to cooperate with anyone who loves
game physics and interest about more advanced
algorithm. - Reality Matrix Inc.
- Zigma Technology.
- michael_at_reality-matrix.com
- I am welcome for your email