SOFA (Simulation Open Framework Architecture)
Encyclopedia
SOFA is an Open Source framework primarily targeted at real-time physical simulation, with an emphasis on medical simulation. It is mostly intended for the research community to help develop newer algorithms, but can also be used as an efficient prototyping tool or as a physics engine
Physics engine
A physics engine is computer software that provides an approximate simulation of certain physical systems, such as rigid body dynamics , soft body dynamics, and fluid dynamics, of use in the domains of computer graphics, video games and film. Their main uses are in video games , in which case the...

. Based on an advanced software architecture, it allows to:
  • Create complex and evolving simulations by combining new algorithms with existing algorithms
  • Modify most parameters of the simulation (deformable behavior, surface representation, solver, constraints, collision algorithm, ...) by simply editing a XML file
  • Build complex models from simpler ones using a scene graph
    Scene graph
    A scene graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games. Examples of such programs include Acrobat 3D, Adobe Illustrator, AutoCAD, CorelDRAW, OpenSceneGraph, OpenSG, VRML97, and X3D....

     description
  • Efficiently simulate the dynamics of interacting objects using abstract equation solvers
  • Reuse and easily compare a variety of available methods
  • Transparently parallelize complex computations using semantics based on data dependencies
  • Use new generations of GPUs through the CUDA API to greatly improve computation times


Currently, SOFA contains:
  • Deformable models
    Soft body dynamics
    Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

    : mass-springs, linear and co-rotational FEM
    Finite element method
    The finite element method is a numerical technique for finding approximate solutions of partial differential equations as well as integral equations...

  • Rigid models
    Rigid body
    In physics, a rigid body is an idealization of a solid body of finite size in which deformation is neglected. In other words, the distance between any two given points of a rigid body remains constant in time regardless of external forces exerted on it...

    : articulated bodies based on penalties or reduced coordinates
  • Fluid models: SPH
    Smoothed particle hydrodynamics
    Smoothed-particle hydrodynamics is a computational method used for simulating fluid flows. It has been used in many fields of research, including astrophysics, ballistics, volcanology, and oceanography...

    , Eulerian (preliminary)
  • Collision models: spheres, triangular meshes, distance fields (preliminary); with AABB-tree or octree bounding volume hierarchies
  • Collision detection
    Collision detection
    Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...

     methods: proximity, continuous (preliminary)
  • Collision response methods: (implicit) penalties, LCP-based constraints
  • Mechanical integration schemes: Euler explicit, RK2
    Runge–Kutta methods
    In numerical analysis, the Runge–Kutta methods are an important family of implicit and explicit iterative methods for the approximation of solutions of ordinary differential equations. These techniques were developed around 1900 by the German mathematicians C. Runge and M.W. Kutta.See the article...

    , RK4
    Runge–Kutta methods
    In numerical analysis, the Runge–Kutta methods are an important family of implicit and explicit iterative methods for the approximation of solutions of ordinary differential equations. These techniques were developed around 1900 by the German mathematicians C. Runge and M.W. Kutta.See the article...

    , static, implicit euler using PCG (Projected Conjugate Gradient)

See also

  • Graphics processing unit
    Graphics processing unit
    A graphics processing unit or GPU is a specialized circuit designed to rapidly manipulate and alter memory in such a way so as to accelerate the building of images in a frame buffer intended for output to a display...

     (GPU)
  • Soft body dynamics
    Soft body dynamics
    Soft body dynamics is a field of computer graphics that focuses on visually realistic physical simulations of the motion and properties of deformable objects . The applications are mostly in video games and film. Unlike in simulation of rigid bodies, the shape of soft bodies can change, meaning...

  • Rigid body dynamics
    Rigid body dynamics
    In physics, rigid body dynamics is the study of the motion of rigid bodies. Unlike particles, which move only in three degrees of freedom , rigid bodies occupy space and have geometrical properties, such as a center of mass, moments of inertia, etc., that characterize motion in six degrees of...

  • Collision detection
    Collision detection
    Collision detection typically refers to the computational problem of detecting the intersection of two or more objects. While the topic is most often associated with its use in video games and other physical simulations, it also has applications in robotics...


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK