The first are what kinds of things I am planning on simulating in materials, in order to make the simulation as applicable as possible to different types of materials, as there are a lot of different phenomena I need to consider. I do not plan on implementing or utilizing all of these, but there are a few which are extremely important.
Phenomena
- Particles
- SPH!
- Heat Transfer
- How heat is transferred from particle to particle
- Phase Changes
- Particles of Different Types: Solids, Liquids, Gases
- Viscosity
- Closely Associated with Heat/Deformation
- Multi-Phase Flow
- Interaction Between Particles of Different Types
- Buoyancy
- As you get particles of varying densities or different materials, the less dense material rises according to the buoyancy equation, bubbles IE
- Surface-Tension
- Cohesion of particles near the surface interface.
- Fluid-Air Interface
- Inter-Facial Tension
- Cohesion/Repulsion interactions of particles between different phases or different materials
- Fluid-Fluid,Fluid-Solid Interface
- Spatial Hashing / Uniform Grid
- Speed Up search for Neighbors/Collisions between Particles, optimized for/on GPU)
- SPH Simulation for Deformable Solids
- Elasticity and Rotation of Deformable Solids during Simulation
- Based on "Corrated SPH for deformable solids", to allow for better rigid body dynamics using SPH
- Adaptive Sampling
- Larger Particles for Less Detailed Areas, Smaller Particles for More Detailed Areas during Sim
- Surface Extraction
- Creating a mesh from particle data.
- Marching Cubes, Blobbies, Screen Space Meshes, etc.
updated by a neighborhood of other particles based on a kernel function which is usually applies a Gaussian
weight by distance from other particles surrounding it. Most if not all particle attributes discussed would be
updated this method, including velocity/acceleration, heat transfer, etc.
Particle Structure
- Basic Particle Attributes
- Position
- Velocity
- Acceleration
- Area
- Mass
- Radius (Uniform or Adaptive Size?)
- Advanced Particle Attributes
- Temperature
- Viscosity
- Density
- Pressure
- Stress Tensor
- Phase (Solid/Liquid/Gas/Oobleck?)
Additional Forces
- Temperature of the Air
- Gravity
- Immovable (SOLID) Particles
- Containers for more Interesting Fluid Flow
There are two interesting points which I have found through reading and observation. The first is that there have been few attempts to apply SPH to rigid body dynamics apart from a paper called "Corrated SPH for deformable solids", which uses additional attributes to account for dynamics such as rotation and shear, which I think will be extremely useful.
The other is that surface tension (and perhaps other cohesive forces) play an extremely large part in determining the shape and structure of flow in things such as lava and highly viscous materials. There is only one method I could find for defining surface tension for SPH which is described here: http://portal.acm.org/citation.cfm?id=846298 but the original paper describing the method is here: http://onlinelibrary.wiley.com/doi/10.1002/1097-0363(20000615)33:3%3C333::AID-FLD11%3E3.0.CO;2-7/abstract
However I can't access the latter paper...do we have access to this library? Either way I am unsure if this surface tension force will work well for what I am trying to accomplish, given that it is for extremely small scale surface tension effects for low viscosity flows.