WO2005038560A3 - Method for providing physics simulation data - Google Patents

Method for providing physics simulation data Download PDF

Info

Publication number
WO2005038560A3
WO2005038560A3 PCT/US2004/030687 US2004030687W WO2005038560A3 WO 2005038560 A3 WO2005038560 A3 WO 2005038560A3 US 2004030687 W US2004030687 W US 2004030687W WO 2005038560 A3 WO2005038560 A3 WO 2005038560A3
Authority
WO
WIPO (PCT)
Prior art keywords
simulation data
physics simulation
providing
physics
providing physics
Prior art date
Application number
PCT/US2004/030687
Other languages
French (fr)
Other versions
WO2005038560A2 (en
Inventor
Curtis Davis
Manju Hegde
Otto A Schmid
Monier Maher
Jean Pierre Bordes
Original Assignee
Ageia Technologies Inc
Curtis Davis
Manju Hegde
Otto A Schmid
Monier Maher
Jean Pierre Bordes
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 Ageia Technologies Inc, Curtis Davis, Manju Hegde, Otto A Schmid, Monier Maher, Jean Pierre Bordes filed Critical Ageia Technologies Inc
Publication of WO2005038560A2 publication Critical patent/WO2005038560A2/en
Publication of WO2005038560A3 publication Critical patent/WO2005038560A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • A63F13/10
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • A63F13/577Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6009Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
    • A63F2300/6018Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content where the game content is authored by the player, e.g. level editor or by game device at runtime, e.g. level is created from music data on CD
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/64Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car

Abstract

A method of providing physics data within a game program or simulation using a hardware-based physics processing unit having unique architecture designed to efficiently calculate physics related data.
PCT/US2004/030687 2003-10-02 2004-09-20 Method for providing physics simulation data WO2005038560A2 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US50752703P 2003-10-02 2003-10-02
US60/507,527 2003-10-02
US10/715,370 2003-11-19
US10/715,370 US7739479B2 (en) 2003-10-02 2003-11-19 Method for providing physics simulation data

Publications (2)

Publication Number Publication Date
WO2005038560A2 WO2005038560A2 (en) 2005-04-28
WO2005038560A3 true WO2005038560A3 (en) 2006-05-18

Family

ID=34396352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2004/030687 WO2005038560A2 (en) 2003-10-02 2004-09-20 Method for providing physics simulation data

Country Status (2)

Country Link
US (1) US7739479B2 (en)
WO (1) WO2005038560A2 (en)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9626824B2 (en) * 2000-10-11 2017-04-18 Igt Game result graphical verification on remote clients
US7353149B2 (en) * 2001-04-25 2008-04-01 Telekinesys Research Limited Method and apparatus for simulating dynamic contact of objects
US7363199B2 (en) * 2001-04-25 2008-04-22 Telekinesys Research Limited Method and apparatus for simulating soft object movement
US7526456B2 (en) * 2004-01-22 2009-04-28 Nvidia Corporation Method of operation for parallel LCP solver
US20080119278A1 (en) * 2004-09-28 2008-05-22 Gadacz Nicholas M Database Communications for a Gaming Network
US8061562B2 (en) 2004-10-12 2011-11-22 S.C. Johnson & Son, Inc. Compact spray device
ZA200703607B (en) 2004-10-12 2009-01-28 Johnson & Son Inc S C Compact spray device
US7475001B2 (en) * 2004-11-08 2009-01-06 Nvidia Corporation Software package definition for PPU enabled system
US7620530B2 (en) * 2004-11-16 2009-11-17 Nvidia Corporation System with PPU/GPU architecture
US7788071B2 (en) * 2004-12-03 2010-08-31 Telekinesys Research Limited Physics simulation apparatus and method
US20060142079A1 (en) * 2004-12-29 2006-06-29 Igt Universal progressive game pool
US7565279B2 (en) * 2005-03-07 2009-07-21 Nvidia Corporation Callbacks in asynchronous or parallel execution of a physics simulation
US7289941B2 (en) * 2005-03-07 2007-10-30 Ageia Technologies, Inc. System and method providing variable complexity in a physics simulation
US7580821B2 (en) 2005-08-10 2009-08-25 Nvidia Corporation Application programming interface for fluid simulations
US20070067517A1 (en) * 2005-09-22 2007-03-22 Tzu-Jen Kuo Integrated physics engine and related graphics processing system
US9059946B2 (en) * 2005-09-29 2015-06-16 Broadcom Corporation Passive optical network (PON) packet processor
US7643753B2 (en) 2005-09-29 2010-01-05 Broadlight Ltd. Enhanced passive optical network (PON) processor
US7590137B1 (en) * 2005-11-22 2009-09-15 Xilinx, Inc. Parameterizable compact network processor for low-level communication with an integrated circuit
WO2007089271A2 (en) * 2006-01-27 2007-08-09 Ageia Technologies, Inc. Application programming interface for fluid simulations
WO2007148266A1 (en) * 2006-06-19 2007-12-27 Ambx Uk Limited Game enhancer
US8223159B1 (en) * 2006-06-20 2012-07-17 Nvidia Corporation System and method for transferring data between unrelated API contexts on one or more GPUs
US7583262B2 (en) * 2006-08-01 2009-09-01 Thomas Yeh Optimization of time-critical software components for real-time interactive applications
US8206215B2 (en) * 2006-08-31 2012-06-26 Igt Gaming machine systems and methods with memory efficient historical video re-creation
US20100029377A1 (en) * 2006-10-03 2010-02-04 Canterbury Stephen A Shared physics engine in a wagering game system
US7933858B2 (en) * 2007-03-23 2011-04-26 Autodesk, Inc. General framework for graphical simulations
US20090005138A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation User Creatable Machines
US8040351B1 (en) * 2007-07-31 2011-10-18 Nvidia Corporation Using a geometry shader to perform a hough transform
US8065127B2 (en) * 2007-09-24 2011-11-22 Siemens Corporation Particle system architecture in a multi-body physics simulation
US8069124B2 (en) 2008-03-26 2011-11-29 Intel Corporation Combining speculative physics modeling with goal-based artificial intelligence
US20090326888A1 (en) * 2008-06-30 2009-12-31 Bader Aleksey A Vectorized parallel collision detection pipeline
WO2010083272A1 (en) * 2009-01-15 2010-07-22 Simquest Llc Interactive simulation of biological tissue
CN101782930B (en) * 2009-01-21 2012-08-22 国际商业机器公司 Method and device for carrying out molecular dynamics simulation on multiprocessor system
US8303387B2 (en) * 2009-05-27 2012-11-06 Zambala Lllp System and method of simulated objects and applications thereof
US8745494B2 (en) * 2009-05-27 2014-06-03 Zambala Lllp System and method for control of a simulated object that is associated with a physical location in the real world environment
US20100306825A1 (en) 2009-05-27 2010-12-02 Lucid Ventures, Inc. System and method for facilitating user interaction with a simulated object associated with a physical location
US20110081959A1 (en) * 2009-10-01 2011-04-07 Wms Gaming, Inc. Representing physical state in gaming systems
WO2011053303A1 (en) * 2009-10-30 2011-05-05 Intel Corporation Two way communication support for heterogenous processors of a computer platform
US9119655B2 (en) 2012-08-03 2015-09-01 Stryker Corporation Surgical manipulator capable of controlling a surgical instrument in multiple modes
US8909506B2 (en) * 2011-05-31 2014-12-09 Sony Corporation Program, information storage medium, information processing system, and information processing method for controlling a movement of an object placed in a virtual space
US9984489B2 (en) 2011-07-27 2018-05-29 Dreamworks Animation L.L.C. Fluid dynamics framework for animated special effects
WO2013043684A2 (en) 2011-09-19 2013-03-28 S. C. Johnson & Son, Inc. Spray dispenser
US20130297460A1 (en) 2012-05-01 2013-11-07 Zambala Lllp System and method for facilitating transactions of a physical product or real life service via an augmented reality environment
US9226796B2 (en) 2012-08-03 2016-01-05 Stryker Corporation Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path
KR102235965B1 (en) 2012-08-03 2021-04-06 스트리커 코포레이션 Systems and methods for robotic surgery
US9108782B2 (en) 2012-10-15 2015-08-18 S.C. Johnson & Son, Inc. Dispensing systems with improved sensing capabilities
US9317112B2 (en) 2013-11-19 2016-04-19 Microsoft Technology Licensing, Llc Motion control of a virtual environment
US11397694B2 (en) 2019-09-17 2022-07-26 Micron Technology, Inc. Memory chip connecting a system on a chip and an accelerator chip
US11163490B2 (en) * 2019-09-17 2021-11-02 Micron Technology, Inc. Programmable engine for data movement
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US11836529B2 (en) 2019-12-17 2023-12-05 Red Hat, Inc. Iterative workload processing having a mandatory processing task and a preferred processing task
US11376502B2 (en) * 2020-05-28 2022-07-05 Microsoft Technology Licensing, Llc Adjudicating fault in a virtual simulation environment
US11726817B2 (en) 2020-09-25 2023-08-15 Red Hat, Inc. Scheduling multiple processes with varying delay sensitivity
US11847743B2 (en) * 2021-05-04 2023-12-19 Sony Interactive Entertainment Inc. Voice driven modification of physical properties and physics parameterization in a closed simulation loop for creating static assets in computer simulations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664162A (en) * 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5938530A (en) * 1995-12-07 1999-08-17 Kabushiki Kaisha Sega Enterprises Image processing device and image processing method
US20050041031A1 (en) * 2003-08-18 2005-02-24 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887235A (en) * 1982-12-17 1989-12-12 Symbolics, Inc. Symbolic language data processing system
JPS62226257A (en) * 1986-03-27 1987-10-05 Toshiba Corp Arithmetic processor
US5010477A (en) * 1986-10-17 1991-04-23 Hitachi, Ltd. Method and apparatus for transferring vector data between parallel processing system with registers & logic for inter-processor data communication independents of processing operations
US4933846A (en) * 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US5123095A (en) * 1989-01-17 1992-06-16 Ergo Computing, Inc. Integrated scalar and vector processors with vector addressing by the scalar processor
US5966528A (en) 1990-11-13 1999-10-12 International Business Machines Corporation SIMD/MIMD array processor with vector processing
CA2069711C (en) * 1991-09-18 1999-11-30 Donald Edward Carmon Multi-media signal processor computer system
JPH06505848A (en) * 1991-12-26 1994-06-30 アルテラ コーポレーション Crossbar switch with zero standby power based on EPROM
JPH07504054A (en) 1992-02-18 1995-04-27 アプル・コンピュータ・インコーポレーテッド Programming model for coprocessors in computer systems
US5666497A (en) * 1995-03-08 1997-09-09 Texas Instruments Incorporated Bus quieting circuits, systems and methods
WO1996041279A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Computer system having a dedicated multimedia engine including multimedia memory
US5748983A (en) * 1995-06-07 1998-05-05 Advanced Micro Devices, Inc. Computer system having a dedicated multimedia engine and multimedia memory having arbitration logic which grants main memory access to either the CPU or multimedia engine
US5818452A (en) * 1995-08-07 1998-10-06 Silicon Graphics Incorporated System and method for deforming objects using delta free-form deformation
US5796400A (en) * 1995-08-07 1998-08-18 Silicon Graphics, Incorporated Volume-based free form deformation weighting
US5692211A (en) * 1995-09-11 1997-11-25 Advanced Micro Devices, Inc. Computer system and method having a dedicated multimedia engine and including separate command and data paths
US5765022A (en) * 1995-09-29 1998-06-09 International Business Machines Corporation System for transferring data from a source device to a target device in which the address of data movement engine is determined
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5870627A (en) * 1995-12-20 1999-02-09 Cirrus Logic, Inc. System for managing direct memory access transfer in a multi-channel system using circular descriptor queue, descriptor FIFO, and receive status queue
US6317819B1 (en) * 1996-01-11 2001-11-13 Steven G. Morton Digital signal processor containing scalar processor and a plurality of vector processors operating from a single instruction
KR100269106B1 (en) * 1996-03-21 2000-11-01 윤종용 Multiprocessor graphics system
US5898892A (en) * 1996-05-17 1999-04-27 Advanced Micro Devices, Inc. Computer system with a data cache for providing real-time multimedia data to a multimedia engine
US6058465A (en) 1996-08-19 2000-05-02 Nguyen; Le Trong Single-instruction-multiple-data processing in a multimedia signal processor
US5812147A (en) 1996-09-20 1998-09-22 Silicon Graphics, Inc. Instruction methods for performing data formatting while moving data between memory and a vector register file
US5892691A (en) * 1996-10-28 1999-04-06 Reel/Frame 8218/0138 Pacific Data Images, Inc. Method, apparatus, and software product for generating weighted deformations for geometric models
JP3681026B2 (en) * 1997-03-27 2005-08-10 株式会社ソニー・コンピュータエンタテインメント Information processing apparatus and method
US6324623B1 (en) * 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
JPH1165989A (en) 1997-08-22 1999-03-09 Sony Computer Entertainment:Kk Information processor
US6223198B1 (en) * 1998-08-14 2001-04-24 Advanced Micro Devices, Inc. Method and apparatus for multi-function arithmetic
JP3597360B2 (en) * 1997-11-17 2004-12-08 株式会社リコー Modeling method and recording medium
US6317820B1 (en) 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US6366998B1 (en) * 1998-10-14 2002-04-02 Conexant Systems, Inc. Reconfigurable functional units for implementing a hybrid VLIW-SIMD programming model
JP3017986B1 (en) * 1998-11-26 2000-03-13 コナミ株式会社 Game system and computer-readable storage medium
JP2000222590A (en) * 1999-01-27 2000-08-11 Nec Corp Method and device for processing image
US6266998B1 (en) * 1999-04-01 2001-07-31 DRäGERWERK AKTIENGESELLSCHAFT System for measuring the concentration of gases
US6341318B1 (en) 1999-08-10 2002-01-22 Chameleon Systems, Inc. DMA data streaming
JP2001188748A (en) * 1999-12-27 2001-07-10 Matsushita Electric Ind Co Ltd Data transferring device
GB0005750D0 (en) 2000-03-10 2000-05-03 Mathengine Plc Image display apparatus and method
US6608631B1 (en) * 2000-05-02 2003-08-19 Pixar Amination Studios Method, apparatus, and computer program product for geometric warps and deformations
US7058750B1 (en) * 2000-05-10 2006-06-06 Intel Corporation Scalable distributed memory and I/O multiprocessor system
US6967658B2 (en) * 2000-06-22 2005-11-22 Auckland Uniservices Limited Non-linear morphing of faces and their dynamics
US6779049B2 (en) 2000-12-14 2004-08-17 International Business Machines Corporation Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism
US6867770B2 (en) * 2000-12-14 2005-03-15 Sensable Technologies, Inc. Systems and methods for voxel warping
DE10106023A1 (en) 2001-02-09 2002-08-29 Fraunhofer Ges Forschung Method and device for collision detection of objects
US7231500B2 (en) * 2001-03-22 2007-06-12 Sony Computer Entertainment Inc. External data interface in a computer architecture for broadband networks
US6526491B2 (en) * 2001-03-22 2003-02-25 Sony Corporation Entertainment Inc. Memory protection system and method for computer architecture for broadband networks
US6966837B1 (en) * 2001-05-10 2005-11-22 Best Robert M Linked portable and video game systems
US6754732B1 (en) * 2001-08-03 2004-06-22 Intervoice Limited Partnership System and method for efficient data transfer management
US7120653B2 (en) * 2002-05-13 2006-10-10 Nvidia Corporation Method and apparatus for providing an integrated file system
US20040075623A1 (en) * 2002-10-17 2004-04-22 Microsoft Corporation Method and system for displaying images on multiple monitors
GB2399900B (en) * 2003-03-27 2005-10-05 Micron Technology Inc Data reording processor and method for use in an active memory device
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7421303B2 (en) * 2004-01-22 2008-09-02 Nvidia Corporation Parallel LCP solver and system incorporating same
US7236170B2 (en) * 2004-01-29 2007-06-26 Dreamworks Llc Wrap deformation using subdivision surfaces
US20050251644A1 (en) 2004-05-06 2005-11-10 Monier Maher Physics processing unit instruction set architecture
US7386636B2 (en) 2005-08-19 2008-06-10 International Business Machines Corporation System and method for communicating command parameters between a processor and a memory flow controller
JP2007293533A (en) * 2006-04-24 2007-11-08 Toshiba Corp Processor system and data transfer method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5664162A (en) * 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
US5938530A (en) * 1995-12-07 1999-08-17 Kabushiki Kaisha Sega Enterprises Image processing device and image processing method
US20050041031A1 (en) * 2003-08-18 2005-02-24 Nvidia Corporation Adaptive load balancing in a multi-processor graphics processing system

Also Published As

Publication number Publication date
US7739479B2 (en) 2010-06-15
US20050075154A1 (en) 2005-04-07
WO2005038560A2 (en) 2005-04-28

Similar Documents

Publication Publication Date Title
WO2005038560A3 (en) Method for providing physics simulation data
WO2005038561A3 (en) System incorporating physics processing unit
WO2004090835A3 (en) Methods for computer-assisted role-playing of life skills simulations
GB0615041D0 (en) System and method for providing a haptic effect to a musical instrument
SG133608A1 (en) Method to determine the value of process parameters based on scatterometry data
NO20054953D0 (en) Procedure and program for fracture plan reconstruction
AU2003272681A1 (en) Cross-enterprise gaming server
WO2005066660A3 (en) Processing seismic data representing a physical system
WO2007053766A3 (en) Cooling components across a continuum
IL185716A0 (en) Apparatus and method for computer modeling type 1 diabetes
AU2003253405A1 (en) Method, data processing device and computer program product for processing data
AU2002952700A0 (en) Simulation player
ZA200803770B (en) System and method for providing computer gaming
GB0323695D0 (en) Computer implemented trading system
GB2400531B (en) Method of synchronizng streams of real time data
EP2022549A4 (en) Data computing unit for music game, data computing program for music game, and data computing method for music game
AU2002364048A1 (en) Method and board game for teaching vocabulary
AU2003248716A1 (en) An athletic game learning tool, capture system, and simulator
EP1513622A4 (en) Methods, systems, and computer program products for simulating biomembranes using coarse grain models
EP1676095A4 (en) Computer simulation model for determining damage to the human central nervous system
AU2003292709A1 (en) Game machine and control method of computer
DE60315645D1 (en) GAME CONTROL METHOD
AU2003292671A1 (en) Two-dimensional bar code system, two-dimensional bar code generating method and computer program
WO2006000793A3 (en) Modelling body tissue characteristics
EP1942412A4 (en) Computer system and method for activating basic program therein

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase