yjhp1016 / taichi_LBM3D

A 3D sparse LBM solver implemented using Taichi
MIT License
268 stars 36 forks source link

两相驱替 #25

Open RiverNight666 opened 4 months ago

RiverNight666 commented 4 months ago

老师,您好。我是一个刚接触LBM的小白。我在使用2Phase的过程中遇到了一些问题。 我不明白为什么我用的默认的例子它的两相不进行驱替。图片如下 图片

yjhp1016 commented 4 months ago

可能是驱动力不够或者表面张力太大,里面初始化的参数需要调整,另外这个模拟很难,需要跑很多步。

建议你先读下这篇论文可能就知道需要怎么调整参数了,这个代码就是这篇文章的一个复现 Prediction of capillary hysteresis in a porous material using lattice-Boltzmann methods and comparison to experimental data and a morphological pore network model https://scholar.google.com/scholar?oi=bibs&cluster=10617077284738717967&btnI=1&hl=en B Ahrenholz, J Tölke, P Lehmann, A Peters, A Kaestner… - Advances in Water Resources, 2008

RiverNight666 @.***> 于 2024年3月22日周五 上午2:27写道:

老师,您好。我是一个刚接触LBM的小白。我在使用2Phase的过程中遇到了一些问题。 我不明白为什么我用的默认的例子它的两相不进行驱替。图片如下 default.png (view on web) https://github.com/yjhp1016/taichi_LBM3D/assets/150781240/dd2e3544-4336-4ad7-875c-0b7a6aabe003

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQA6Z6JSTICJPKZCEDTYZOJI3AVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYDCNJUHE3DCNA . You are receiving this because you are subscribed to this thread.Message ID: @.***>

RiverNight666 commented 4 months ago

感谢老师,我通过调整fx、capa、时间步长,模型已经能够正常运行。但是遇到了新的问题。图中phase的范围是-1-1.3,我猜测它是非润湿相到润湿相的一个范围。为什么中间驱替的颜色是白色的?它代表的是相的混合吗?如果我只想让蓝色驱替红色,我应该怎么做?感谢老师的辛勤解答,图片如下: 图片

yjhp1016 commented 4 months ago

你可能需要rescale一下可视化的range. 试试看有没有变化

RiverNight666 @.***> 于 2024年3月23日周六 上午9:52写道:

感谢老师,我通过调整fx、capa、时间步长,模型已经能够正常运行。但是遇到了新的问题。图中phase的范围是-1-1.3,我猜测它是非润湿相到润湿相的一个范围。为什么中间驱替的颜色是白色的?它代表的是相的混合吗?如果我只想让蓝色驱替红色,我应该怎么做?感谢老师的辛勤解答,图片如下: default.png (view on web) https://github.com/yjhp1016/taichi_LBM3D/assets/150781240/c7c2465c-7742-4d89-974d-d9a8e40b4229

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2016430688, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQE22TOKJ2DYZGFZIMLYZVGFTAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWGQZTANRYHA . You are receiving this because you commented.Message ID: @.***>

RiverNight666 commented 4 months ago

老师,你好,非常感谢您的帮助。老师请问如何根据生成的数据如何获得毛管力曲线呢?

RiverNight666 commented 4 months ago

老师,你好,请问代码可以导出压力场呢?哪个参数代表压力

RiverNight666 commented 4 months ago

@ti.func def Compute_Pressure(i, j, k): pressure = 0.0 for s in range(19): pressure += w[s] e_f[s] (rho[i j, k] + rho_r[i, j, k] + rho_b[i, j, k]) return pressure

@ti.kernel def Update_Pressure(): for i, j, k in rho: if (i < nx and j < ny and k < nz and solid[i, j, k] == 0): pressure[i, j, k] = Compute_Pressure(i, j, k) 我是通过这些代码生成的压力场

yjhp1016 commented 4 months ago

这个是另一个话题理论上不是这个库的问题😊😃😄😃😊😃

这个可以有多种办法,主要还是模拟实验中的过程。

一种是动态相对渗透率测试,就是最开始样本都是水,然后一直注油,然后到这个过程中时刻记录两相的渗透率和饱和度,然后需要做修正得到相对渗透率(这个和实验室做动态相渗是一样的,修正方法也一样,需要先学习相关知识了解具体操作过程)

另一种是静态相对渗透率测量,也和实验室类似,需要哪个饱和度的相渗就注入这个饱和度的油水混合物(程序的话需要稍微更改phase边界程序来实现这个)当程序运行稳定,渗透率稳定后就可以记录下来,就得到了这个饱和度的相渗。这个过程很慢,需要有耐心,另外需要选择合适的REV

RiverNight666 @.***> 于 2024年4月1日周一 下午5:04写道:

老师,你好,非常感谢您的帮助。老师请问如何根据生成的数据如何获得毛管力曲线呢?

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2029444318, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQA2SWX46UZNLZ4WLOTY3EPKLAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMRZGQ2DIMZRHA . You are receiving this because you commented.Message ID: @.***>

RiverNight666 commented 3 months ago

老师你好,若一次模拟驱替所需要的时间太久,请问在下一次使用时,代码有继续执行上一次任务的指令吗?

yjhp1016 commented 3 months ago

这个还没有。。。

RiverNight666 @.***> 于 2024年5月10日周五 上午2:22写道:

老师你好,若一次模拟驱替所需要的时间太久,请问在下一次使用时,代码有继续执行上一次任务的指令吗?

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2103683075, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQBKQYCNQ4ZTGYDXLRDZBQOOPAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBTGY4DGMBXGU . You are receiving this because you commented.Message ID: @.***>

hangqqq commented 2 months ago

Hi,Dr.Yang I am currently employing static relative permeability measurement techniques to simulate factors affecting two-phase flow. How should I modify the boundary conditions in my simulation program?

yjhp1016 commented 2 months ago

Boundary conditions are explained in the example code with comment (at the beginning part of the code). Also you can find some discussion in previous posts.

A reminder: for two phase flow simulation, you need to set flow BC and also phase colour BC

On Tue, 28 May 2024 at 09:34, hangqqq @.***> wrote:

Hi,Dr.Yang I am currently employing static relative permeability measurement techniques to simulate factors affecting two-phase flow. How should I modify the boundary conditions in my simulation program?

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2134644817, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQCT7ABDIVYWAESOBUDZEQ6PXAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZUGY2DIOBRG4 . You are receiving this because you commented.Message ID: @.***>

hangqqq commented 2 months ago

I use sum(v)/ V volume  to calculate the flow. How do I set the phase color BC?

---原始邮件--- 发件人: "Jianhui @.> 发送时间: 2024年5月28日(周二) 下午4:59 收件人: @.>; 抄送: @.**@.>; 主题: Re: [yjhp1016/taichi_LBM3D] 两相驱替 (Issue #25)

Boundary conditions are explained in the example code with comment (at the beginning part of the code). Also you can find some discussion in previous posts.

A reminder: for two phase flow simulation, you need to set flow BC and also phase colour BC

On Tue, 28 May 2024 at 09:34, hangqqq @.***> wrote:

> Hi,Dr.Yang > I am currently employing static relative permeability measurement > techniques to simulate factors affecting two-phase flow. How should I > modify the boundary conditions in my simulation program? > > — > Reply to this email directly, view it on GitHub > <https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2134644817&gt;, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AJEDKQCT7ABDIVYWAESOBUDZEQ6PXAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZUGY2DIOBRG4&gt; > . > You are receiving this because you commented.Message ID: > @.***> >

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

yjhp1016 commented 2 months ago

line34-39: bc_psi_x_left, psi_x_left = 1, -1.0 # boundary condition for phase-field: 0 = periodic, bc_psi_x_right, psi_x_right = 0, 1.0 # 1 = constant value on the boundary, value = -1.0 phase1 or 1.0 = phase 2 bc_psi_y_left, psi_y_left = 0, 1.0 bc_psi_y_right, psi_y_right = 0, 1.0 bc_psi_z_left, psi_z_left = 0, 1.0 bc_psi_z_right, psi_z_right = 0, 1.0

On Tue, 28 May 2024 at 11:46, hangqqq @.***> wrote:

I use sum(v)/ V volume  to calculate the flow. How do I set the phase color BC?

---原始邮件--- 发件人: "Jianhui @.> 发送时间: 2024年5月28日(周二) 下午4:59 收件人: @.>; 抄送: @.**@.>; 主题: Re: [yjhp1016/taichi_LBM3D] 两相驱替 (Issue #25)

Boundary conditions are explained in the example code with comment (at the beginning part of the code). Also you can find some discussion in previous posts.

A reminder: for two phase flow simulation, you need to set flow BC and also phase colour BC

On Tue, 28 May 2024 at 09:34, hangqqq @.***> wrote:

> Hi,Dr.Yang > I am currently employing static relative permeability measurement > techniques to simulate factors affecting two-phase flow. How should I > modify the boundary conditions in my simulation program? > > — > Reply to this email directly, view it on GitHub > < https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2134644817&gt;,

> or unsubscribe > < https://github.com/notifications/unsubscribe-auth/AJEDKQCT7ABDIVYWAESOBUDZEQ6PXAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZUGY2DIOBRG4&gt;

> . > You are receiving this because you commented.Message ID: > @.***> >

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you commented.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2134910768, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQFRTTVEDKHDFPNLUBDZEROBRAVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMZUHEYTANZWHA . You are receiving this because you commented.Message ID: @.***>

hangqqq commented 1 month ago

Hi,This left boundary is where the two phases meet, so where is the right boundary then?"

1 2
yjhp1016 commented 1 month ago

In this case, only left BC is set as fix color boundary, right boundary is still periodic (if they're not set as "special" boundary condition, they are periodic BC as default)

On Wed, 3 Jul 2024 at 09:15, hangqqq @.***> wrote:

Hi,This left boundary is where the two phases meet, so where is the right boundary then?" 1.png (view on web) https://github.com/yjhp1016/taichi_LBM3D/assets/140054215/018e9ff9-4d66-4bef-92b7-797b3570002a 2.png (view on web) https://github.com/yjhp1016/taichi_LBM3D/assets/140054215/6bf60867-5e39-4ef2-b811-98258e0abec5

— Reply to this email directly, view it on GitHub https://github.com/yjhp1016/taichi_LBM3D/issues/25#issuecomment-2205382292, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJEDKQGPL4P5WFFCFP6HQJLZKOXK5AVCNFSM6AAAAABFCRL5KGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBVGM4DEMRZGI . You are receiving this because you commented.Message ID: @.***>