Physiology model - Printable Version +- Obi Official Forum (https://obi.virtualmethodstudio.com/forum) +-- Forum: Obi Users Category (https://obi.virtualmethodstudio.com/forum/forum-1.html) +--- Forum: General (https://obi.virtualmethodstudio.com/forum/forum-5.html) +--- Thread: Physiology model (/thread-2433.html) |
Physiology model - jagiellonczyk14 - 19-08-2020 I am thinking about creating an advanced Physiology model in the span of 1-2 years . I will need to buy all your packages and I understand that until I will pay for your expertise I will not get detailed answer (and it is fair), I just need to know is it possible at all . Those blue shapes are cells I would like to use cloth and water package to simulate situation that :
My Background: I am programming for 4 years now (Kotlin, javascript, java, python, some C#) , However I did only tiny game in Unity, so my knowledge in area of games, animations, physics modelling is limited for now However learning is something that I am well practiced in , I am also lecturer at university where I teached between others physiology, neurology, pathophysiology and anatomy. You are advertising also as a CPU library, to be honest I do not understand why it is so good (surely my question is caused by my ignorance) but from math perspective I suppose that physics animations are like highly advanced complex matrix operations, and matrix operations are usually better suited to GPU Also I want to stress that it will be used for educational not scientific purposes so I do not need absolute correctness , just to make it look and behave quite realistically. I know that some models are already present and possible to purchase by universities but They do not show all of the things that I would like to implement, Hence my inquiry. I intend to first do some demo and then try to get on its basis funding to hire some help. However first is it possible to do in unity what i describe below using your technologies. RE: Physiology model - josemendez - 21-08-2020 Hi there! Getting this to run in realtime using a particle-based engine is a challenge to say the least. If I understood correctly, the space around cells (interstitial?) is filled with fluid, but in many cases the gap is so thin you'd need crazy high resolution (very small particles) to accurately model it. Also, the inside of the cell is filled with fluid too, so the entire scene is represented by particles. Going 3D instead of 2D adds to the challenge, as it is many times more expensive. The cost of the simulation grows proportional to the amount of particles, so if you need -say- 10.000 particles to fill one square unit (100x100), you'd need one million (100x100x100) to fill one cubic unit. That's a lot. Current state of the art in GPU based PBD simulations (Nvidia Flex) can simulate comfortably up to around 65.000 - 80.000 particles, more than that starts to be a problem. In short, this is a significant amount of work (months, if not years), and completely out of Obi's reach. I'd recommend looking for a customized solution, that can benefit from shortcuts/optimizations specific to your use case. It would also be beneficial to consider alternative, non fully lagrangian (not fully particle-based) simulation methods. I'm talking about MPM/FLIP/PIC. These use a combination of grids/particles, where equations are solved on a grid, and quantities transferred to particles for advection. This allows for less numerical dissipation and way more particles in the simulation, as particles do not directly interact with each other (see this for an example: https://www.youtube.com/watch?v=z2ASmsHRMpc). It also lends itself well to elastic/viscous behavior. It's not unconditionally stable like XPBD (the method used by Obi), but in your case this is not a showstopper as very high velocities or violent motions are not expected. Doing this kind of simulation on the GPU is not always immediately beneficial. Running anything on the GPU has a high fixed cost. If your simulation is small enough, it will run slower in the GPU, up until you reach a given amount of particles and CPU performance starts to degrade. In addition to this, the GPU is already quite busy with rendering tasks in a typical game. For these reasons, in many games where simulation is not the main feature it's better to use the CPU. Not in your case though, as simulation is the focal point of the project and you can probably get away with very simple rendering, so if possible this should be implemented in the GPU. The author of the video in the link above, Grant Kot, is an expert in MPM so he might be able to give you advice. Let me know if I can be of further help, RE: Physiology model - jagiellonczyk14 - 21-08-2020 I am extremely gratefull for shared expertise. I will investigate path that You suggested and get back with some results, so all would benefit. One more time thanks! |