📄 semilagranianfluidadvect.fp
字号:
!!FP1.0
#2d FLUID ADVECT
DECLARE TexPARA = {0,0,0,0};
#Velocity[J][I]
TEX R0, f[WPOS], TEX0, RECT;
MUL R0, R0.xyxy, TexPARA.xxxx;
SUB R1, f[WPOS].xyxy, R0;
# for modify
#SUBC R2, R1, {0.0, 0.0, 0.0, 0.0};
#MOVR R1(LE), {0.0, 0.0, 0.0, 0.0};
#SUBC R2, R1, TexPARA.wwww;
#MOVR R1(GE), TexPARA.wwww;
#
#R1---X
#R0---F
FLR R0, R1;
ADD R2, R0, {1,1,1,1};
SUB R1.xy, R1, R0;
SUB R1.zw, R2, R1;
MUL R1.xyzw, R1.zzxx, R1.wywy;
#interpolate 4 nodes together
#(i0,j0)
TEX R2, R0.xyww, TEX1, RECT;
#(i0,j1)
TEX R3, R0.xwww, TEX1, RECT;
#(i1,j0)
TEX R4, R0.zyww, TEX1, RECT;
#(i1,j1)
TEX R5, R0.zwww, TEX1, RECT;
MUL R6, R2, R1.xxxx;
MAD R6, R3, R1.yyyy, R6;
MAD R6, R4, R1.zzzz, R6;
MAD R6, R5, R1.wwww, R6;
#import the boundary condition
TEX R2, f[WPOS], TEX2, RECT;
MUL o[COLR], R2, R6;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -