Using taichi's legacy mls-mpm method for fast fluid sim.
Requirements: python3.5, python3.6, or python3.7 (3.8 and 3.9 do not work)
The following instructions pulled from: https://taichi.readthedocs.io/en/stable/legacy_installation.html
I'll assume you're using python3.7. Oh, and also I was unable to get this dumb thing working through pyenv either.
This is how you install the taichi legacy library. It'll compile the thing from source. (I recommend you put install.py
in your home directory)
python3.7 -m pip install colorama numpy Pillow flask scipy pybind11 flask_cors GitPython yapf distro requests PyQt5 psutil
wget https://raw.githubusercontent.com/yuanming-hu/taichi/legacy/install.py
python3.7 install.py
Restart your shell (or source ~/.bashrc
). Then install the fluid library https://github.com/yuanming-hu/taichi_mpm
ti install mpm
You can verify the install by running an example script.
python3.7 layersim3d_factory.py configs/test1.yaml
The output should look like:
[T 06/18/21 11:05:07.494] [logging.cpp:Logger@67] Taichi core started. Thread ID = 17990
Loading module mpm
delta_x = 0.006622516556291391
task_id = test1
[T 06/18/21 11:05:07.795] [/home/albert/taichi/python/taichi/dynamics/mpm.py:__init__@52] log_fn = /home/albert/taichi/outputs/mpm/test1/log.txt
[D 06/18/21 11:05:07.810] [mpm.cpp:initialize@28]
grid_block_size(): {
vec: (4, 4, 8)
}
[T 06/18/21 11:05:07.810] [mpm.cpp:initialize@29] BaseParticle size: 208 B
[I 06/18/21 11:05:07.811] [mpm.cpp:initialize@54] Created SPGrid of size 256
[I 06/18/21 11:05:07.824] [mesh.h:operator()@94] Adding mesh, fn=$mpm/cube_smooth_coarse.obj
[T 06/18/21 11:05:07.851] [rigid_body.cpp:operator()@108] Adding a solid rigid body
[D 06/18/21 11:05:07.852] [rigid_body.cpp:initialize_mass_and_inertia@142]
this->mass: 594.49
The outputs will be stored in the taichi legacy source folder. (the same place you ran the install.py
script). For me:
~/taichi/outputs/mpm/
The output data is in the frames/*.bgeo
files. You can visualize them using Houdini Apprentice
There are more examples here: https://github.com/yuanming-hu/taichi_mpm/tree/master/scripts/mls-cpic