yjhp1016 / taichi_lbm3d Goto Github PK
View Code? Open in Web Editor NEWA 3D sparse LBM solver implemented using Taichi
License: MIT License
A 3D sparse LBM solver implemented using Taichi
License: MIT License
Hi, I am trying to verify the performance on an A100 PCIe version.
However, I can't get the expected performance reported in your paper.
Currently I am getting 467 MLUPs for cavity example with 400^3 cubic and 86 MLUPs for non-sparse case for 2phase with 256^3.
Besides, in your paper, it is reported that "The performance of the NVIDIA A100 GPU reached over 900 MLUPS for single-phase flow and 500 for two-phase flow with surface tension." in conclusion section. However in table 1, the max MLUPs for 2-phase is 310. Is this typo or other reasons?
Hello Dr. Yang, I have questions about the color-gradient multiphase model. For the phase boundary, you showed in the example that the left side is the fixed phase1 boundary (value=-1) and the right side is the periodic boundary. When calculating, I found that, The value of phase1 will also run to the right. So I want to know what is the reason for this?
Dear Dr. Yang
I want to compare the simulated results with the analytical results for the plane poiseuille flow problem, but the simulated maximum velocity is far from the analytical one. the parameters and the code is shown as follow:
the simulated result is:
array([0. , 0.00529185, 0.01337433, 0.01914818, 0.02261291,
0.0237679 , 0.02261291, 0.01914818, 0.01337433, 0.00529183,
0. ], dtype=float32)
but the analytical maximum velocity should be 0.1
I see your paper mentioned the use of halfway bounce-back boundary conditions for the poiseuille flow, how to make it? could you please give to some suggestions?
Hi,
This is Ruoyu. I found a small issue in the function meq_vec:
@ti.func
def meq_vec(rho_local,u):
out = ti.Vector([0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0])
out[0] = rho_local; out[3] = u[0]; out[5] = u[1]; out[7] = u[2];
out[1] = u.dot(u); out[9] = 2u.xu.x-u.yu.y-u.zu.z; out[11] = u.yu.y-u.zu.z
out[13] = u.xu.y; out[14] = u.yu.z; out[15] = u.x*u.z
return out
All the non-zero meq component should have density component, but the meq[k] except for meq[0] does not contain rho_local.
Regards,
Ruoyu
Hi there, I am working on the two phases flow simulation in a fractured porous media (coal sample with cleat network). Would you please advise if I can use my own 3D CT scanned model? Alternatively without the CT scan geometry, how to create a counterpart of a digital twin of porous media (with or without fractures) In Taichi graphic system?
Dear author, hello. I am very interested in your developed work, but I encountered some issues during the trial. 1. After running the "lbm_solver_3d_2phase.py" file in the "2 phase" module, I generated a vtr file, but I am unable to open and read it in ParaView. Could you please advise me on how to view the simulation results? 2. Additionally, I would like to output specific frames of the model for further research. Do you have any suggestions?
Your code is really useful. Thank you very much for your contribution. I encountered a problem while using the program. I noticed that when using the gridToVTK function to output the simulation results, there was a line of commented code: # cellData={"pressure": pressure}, but there seemed to be no pressure parameter defined in all the codes. How can I export pressure for a simulation?
Hello, Professor!
I have encountered a problem with the example you provided in img_ftb1131.txt. The file LBM_3D_SinglePhase_Solver.py provides two tau_f.
when I use the self.tau_f=3.0*self.niu+0.5
The permeability results are as follows:
when I use the self.tau_f=self.niu/3.0+0.5
The permeability results are as follows:
老师您好。
K = q * u (viscosity)/(fy) 是计算绝对渗透率的公式。取参数niu=0.1 ,fy = 1.0e-6,那么代入到公式中得到的K的结果的物理单位是什么?
如果需要根据分辨率进行调整,假设分辨率是3μm/voxel,在原始K计算值的基础上乘以9,就能得到单位是μm2的结果了吗?
Dear Dr.Yang,
I am a LBM learner about multiphase flow in porous media. Your work is so excellent, and we can spend more time in the physicis problem itself.
When I run the 'lbm_solver_3d_2phase.py' in the folder '2phase', something strange happens. The invading phase is appeared at the outlet after 10000 steps, but the invading phase doesnot breakthrough at that moment. Is this caused by the small body force when using periodic boudary condition?
Thank you very much for your contribution. I encountered an issue while using the program. I noticed that when using the gridToVTK function to output the simulation results, the simulated velocity cannot be visualized in ParaView, while solid and rho have no problems, as shown in the figure below. I hope to receive your assistance.
Hi Jianhui,
My name is Ruoyu Li, a PhD student working on LBMs. I would like to contribute to Taichi-LBM with the use of mpi4py to parallelize taichi jobs on multiple GPUs. Now I'm in the testing phase. Is it possible to know your wechat id to ease communications? My email is [email protected]. Thank you.
Regards,
Ruoyu
Dear author,
Hello. Thank you very much for publishing your work. I am greatly benefited from studying. In the post-processing stage, I have a question. When processing a group in Paraview, I chose the "rho" option, but the images in each step did not change. What is the reason for this? Is it a normal phenomenon?
I hope to receive your answer.
Dear developers of taichi_LBM3D:
My name is Ruoyu Li, a reactive LBM researcher. Your work is an amazing HPC attempt on Python. I am deeply inspired by your work. Thanks.
I have a question regarding Taichi run on supercomputers. When I run a simple Taichi GPU job on TACC, the supercomputer maintained by the University of Texas system, I could not find the GPU node active. My doubt was confirmed by setting (arch = ti.cuda and arch=ti.cpu). The run times are equal. After a TACC technical staff viewed my error file, he thought it is probably the issue on Taichi instead of the TACC side.
My question is do you have experiences using supercomputers? If yes, have you encountered the same issue? I will attach my code and error file. Any help is deeply appreciated.
Regards,
Ruoyu
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.