All Projects → PhysikaTeam → PhysIKA

PhysikaTeam / PhysIKA

Licence: GPL-2.0 license
PhysIKA: Physics-based Interactive Kinematics Architecture

Programming Languages

C++
36643 projects - #6 most used programming language
Cuda
1817 projects
c
50402 projects - #5 most used programming language
CMake
9771 projects
GLSL
2045 projects
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to PhysIKA

DOT
Decomposed Optimization Time Integration (DOT) is a domain-decomposed optimization method for fast, reliable simulation of deformation dynamics. DOT efficiently converges with frame-rate time-steps across a wide range of extreme conditions.
Stars: ✭ 37 (-59.34%)
Mutual labels:  elasticity, physics-based-animation
unity-fracture
Fracture any mesh at runtime
Stars: ✭ 634 (+596.7%)
Mutual labels:  fracture
Nek5000
our classic
Stars: ✭ 219 (+140.66%)
Mutual labels:  fluid
MSAT
MATLAB Seismic Anisotropy Toolkit
Stars: ✭ 31 (-65.93%)
Mutual labels:  elasticity
Hexo Theme Fluid
🌊 一款 Material Design 风格的 Hexo 主题 / An elegant Material-Design theme for Hexo
Stars: ✭ 3,700 (+3965.93%)
Mutual labels:  fluid
2DFluidSimulation
A simple eulerian fluid simulation using OpenGL compute shaders
Stars: ✭ 37 (-59.34%)
Mutual labels:  fluid
Fltkhs
Haskell bindings to FLTK GUI toolkit.
Stars: ✭ 187 (+105.49%)
Mutual labels:  fluid
fluid-components
Encapsulated frontend components with Fluid's ViewHelper syntax for TYPO3
Stars: ✭ 41 (-54.95%)
Mutual labels:  fluid
akka-cluster-kubernetes
Code for our talk about achieving elasticity with Akka Cluster and Kubernetes
Stars: ✭ 33 (-63.74%)
Mutual labels:  elasticity
AsFem
A Simple Finite Element Method program (AsFem)
Stars: ✭ 108 (+18.68%)
Mutual labels:  fracture
canvas-fluid-solver
Real-time fluid simulation in Javascript.
Stars: ✭ 45 (-50.55%)
Mutual labels:  fluid
PINN-elastodynamics
physics-informed neural network for elastodynamics problem
Stars: ✭ 68 (-25.27%)
Mutual labels:  elasticity
Antarctic-fracture-detection
No description or website provided.
Stars: ✭ 23 (-74.73%)
Mutual labels:  fracture
Fluid Interfaces
Natural gestures and animations inspired by Apple's WWDC18 talk "Designing Fluid Interfaces"
Stars: ✭ 2,487 (+2632.97%)
Mutual labels:  fluid
insightedge
InsightEdge Core
Stars: ✭ 22 (-75.82%)
Mutual labels:  elasticity
Expressionevaluator
A Simple Math and Pseudo C# Expression Evaluator in One C# File. Can also execute small C# like scripts
Stars: ✭ 194 (+113.19%)
Mutual labels:  fluid
react-native-blobular
The Man in Blue's awesome Blobular, ported to React Native.
Stars: ✭ 53 (-41.76%)
Mutual labels:  fluid
fluid
🐙 Code-generated, Auto-versioned, & Smart Web APIs
Stars: ✭ 37 (-59.34%)
Mutual labels:  fluid
feedingbottle
FeedingBottle is a Aircrack-ng GUI, create by Fast Light User-Interface Designer ("FLUID").
Stars: ✭ 26 (-71.43%)
Mutual labels:  fluid
sf event mgt
An event management and registration extension for TYPO3 CMS based on ExtBase and Fluid.
Stars: ✭ 46 (-49.45%)
Mutual labels:  fluid

master: Build Status dev: Build Status

Introduction

PhysIKA is an open source node-based architecture targeted at real-time simulation of versatile physical materials. Currently, it supports simulating physical phenomena ranging from fluids, elastic objects and fracture, etc. It is higly modualized and can also help the research community develop more novel algorithms.

Getting Started

The following instructions will guide you to set up an simple elastic object.

Prerequisites

  • CUDA 9.0 +
  • CMake 3.12 +

Installing

  • Download the source code;
  • Run cmake and set up both "Where is the source code" and "Where to build the binaries";
  • Click Configure;
  • If succeeded, then click Generate.

Runing an example

The following example shows how to create an elastic bunny within less than 30 lines of codes.

#include <iostream>
#include "GUI/GlutGUI/GLApp.h"
#include "Framework/Framework/SceneGraph.h"
#include "Dynamics/ParticleSystem/ParticleElasticBody.h"
#include "Dynamics/ParticleSystem/StaticBoundary.h"

using namespace Physika;

int main()
{
	SceneGraph& scene = SceneGraph::getInstance();

	std::shared_ptr<StaticBoundary<DataType3f>> root = scene.createNewScene<StaticBoundary<DataType3f>>();
	root->loadCube(Vector3f(0), Vector3f(1), true);

	std::shared_ptr<ParticleElasticBody<DataType3f>> bunny = std::make_shared<ParticleElasticBody<DataType3f>>();
	root->addParticleSystem(bunny);
	bunny->getRenderModule()->setColor(Vector3f(0, 1, 1));
	bunny->setMass(1.0);
	bunny->loadParticles("../Media/bunny/bunny_points.obj");
	bunny->loadSurface("../Media/bunny/bunny_mesh.obj");
	bunny->translate(Vector3f(0.5, 0.2, 0.5));
	bunny->setVisible(false);

	GLApp window;
	window.createWindow(1024, 768);

	window.mainLoop();

	return 0;
}

The following image shows an screenshot of the running example

License

This project is licensed under the GNU License - see the LICENSE file for details

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].