From ac9e1f48a2ab46294cedd33358de435d199be012 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Thu, 30 Sep 2021 10:52:05 +0200 Subject: [PATCH 01/39] Add d2q9_fracture_dissolution (d2q9_thin_film copy) --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 101 +++++ .../d2q9_fracture_dissolution/Dynamics.c.Rt | 421 ++++++++++++++++++ models/flow/d2q9_fracture_dissolution/conf.mk | 2 + 3 files changed, 524 insertions(+) create mode 100644 models/flow/d2q9_fracture_dissolution/Dynamics.R create mode 100644 models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt create mode 100644 models/flow/d2q9_fracture_dissolution/conf.mk diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R new file mode 100644 index 000000000..59126a874 --- /dev/null +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -0,0 +1,101 @@ +# Density - table of variables of LB Node to stream +# name - variable name to stream +# dx,dy,dz - direction of streaming +# comment - additional comment + +AddDensity( name="f[0]", dx= 0, dy= 0, group="f") +AddDensity( name="f[1]", dx= 1, dy= 0, group="f") +AddDensity( name="f[2]", dx= 0, dy= 1, group="f") +AddDensity( name="f[3]", dx=-1, dy= 0, group="f") +AddDensity( name="f[4]", dx= 0, dy=-1, group="f") +AddDensity( name="f[5]", dx= 1, dy= 1, group="f") +AddDensity( name="f[6]", dx=-1, dy= 1, group="f") +AddDensity( name="f[7]", dx=-1, dy=-1, group="f") +AddDensity( name="f[8]", dx= 1, dy=-1, group="f") + + +AddDensity( name="h_Z", dx=0, dy=0, group="HZ", parameter=T) + + +# THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE +# COMMENT OUT FOR PERFORMANCE +# If present thei are used: +# As VelocityX/Y for Boundary conditions +# As mass force (+ GravitationX/Y) in fluid +#AddDensity( name="BC[0]", dx=0, dy=0, group="BC") +#AddDensity( name="BC[1]", dx=0, dy=0, group="BC") + + +AddStage("BaseIteration", "Run", + load=DensityAll$group == "f" | DensityAll$group == "HZ", + save=Fields$group=="f" | Fields$group=="HZ" + ) +AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "HZ") + +AddAction("Iteration", c("BaseIteration")) +AddAction("Init", c("BaseInit")) + + +# Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) +# name - name of the field +# type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float +# Every field must correspond to a function in "Dynamics.c". +# If one have filed [something] with type [type], one have to define a function: +# [type] get[something]() { return ...; } + +AddQuantity(name="Rho",unit="kg/m3") +AddQuantity(name="U",unit="m/s",vector=T) +AddQuantity(name="H_Z") + +# Settings - table of settings (constants) that are taken from a .xml file +# name - name of the constant variable +# comment - additional comment +# You can state that another setting is 'derived' from this one stating for example: RelaxationRate='1.0/(3*Viscosity + 0.5)' + +AddSetting( + name="RelaxationRate", + S2='1-RelaxationRate', + comment='one over relaxation time' + ) +AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') +AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) +AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) +AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) + +AddSetting(name="Height", default=1, comment='iinitial height in Z direction', zonal=T) + +AddSetting(name="BrinkmanHeightInv", default=0, zonal=T) + +AddSetting(name="GravitationX") +AddSetting(name="GravitationY") +# Globals - table of global integrals that can be monitored and optimized + +AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") +AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") +AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") + +AddSetting(name="S2", default="0", comment='MRT Sx') +AddSetting(name="S3", default="0", comment='MRT Sx') +AddSetting(name="S4", default="0", comment='MRT Sx') + +AddSetting(name="nubuffer",default=0.01, comment='Viscosity in the buffer layer (cumulant)') + +#Node types for boundaries +AddNodeType(name="EPressure", group="BOUNDARY") +AddNodeType(name="WPressure", group="BOUNDARY") + +AddNodeType(name="NVelocity", group="BOUNDARY") +AddNodeType(name="SVelocity", group="BOUNDARY") +AddNodeType(name="WVelocity", group="BOUNDARY") +AddNodeType(name="EVelocity", group="BOUNDARY") + +AddNodeType(name="NSymmetry", group="BOUNDARY") +AddNodeType(name="SSymmetry", group="BOUNDARY") + + +AddNodeType(name="Cumulant", group="COLLISION") +AddNodeType(name="Inlet", group="OBJECTIVE") +AddNodeType(name="Outlet", group="OBJECTIVE") +AddNodeType(name="Solid", group="BOUNDARY") +AddNodeType(name="Wall", group="BOUNDARY") +AddNodeType(name="MRT", group="COLLISION") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt new file mode 100644 index 000000000..8abf87b43 --- /dev/null +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -0,0 +1,421 @@ + + +#define pi 3.141592653589793116 + +CudaDeviceFunction real_t getRho(){ + return ; +} + +CudaDeviceFunction real_t getH_Z(){ + return h_Z ; +} + +CudaDeviceFunction vector_t getU(){ + real_t d = ; + vector_t u; + + + + + if (!IamBOUNDARY) { + u.x += d*BC[0]*0.5; + u.y += d*BC[1]*0.5; + } + + u.x += d*GravitationX*0.5; + u.y += d*GravitationY*0.5; + + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + + real_t K = d * 12. * nu * h_Z * h_Z; + + u.x = (u.x)/(1. + 0.5 * K) / d; + u.y = (u.y)/(1. + 0.5 * K) / d; + + u.z = 0.0; + return u; +} + +CudaDeviceFunction float2 Color() { + float2 ret; + vector_t u = getU(); + ret.x = sqrt(u.x*u.x + u.y*u.y); + if (NodeType == NODE_Solid){ + ret.y = 0; + } else { + ret.y = 1; + } + return ret; +} + +CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) +{ + + + + if ( IamBOUNDARY ) { + BC[0] = Jx / rho; + BC[1] = Jy / rho; + } else { + BC[0] = 0; + BC[1] = 0; + } + +} + +CudaDeviceFunction void Init() { + real_t rho, ux, uy; + rho = (1+Pressure*3); + ux = VelocityX; + uy = VelocityY; + + if (IamWall){ + rho = 1; + ux = 0; + uy = 0; + } + + SetEquilibrum( + rho, + ux*rho, + uy*rho + ); + + h_Z = BrinkmanHeightInv; + +} + +CudaDeviceFunction void Run() { + switch (NodeType & NODE_BOUNDARY) { + case NODE_Solid: + case NODE_Wall: + BounceBack(); + break; + case NODE_EVelocity: + EVelocity(); + break; + case NODE_WPressure: + WPressure(); + break; + case NODE_WVelocity: + WVelocity(); + break; + case NODE_EPressure: + EPressure(); + break; + case NODE_NVelocity: + NVelocity(); + break; + case NODE_SVelocity: + SVelocity(); + break; + case NODE_NSymmetry: + NSymmetry(); + break; + case NODE_SSymmetry: + SSymmetry(); + break; + } + switch (NodeType & NODE_COLLISION) + { + case NODE_MRT: + CollisionMRT(); + break; + case NODE_Cumulant: + CollisionCumulant(); + break; + } +} + +CudaDeviceFunction void BounceBack() +{ + + + + + + if ( temp != 1+Pressure*3 ) { + + } else { + + } + + + +} + +CudaDeviceFunction void EVelocity() +{ + +} + +CudaDeviceFunction void WPressure() +{ + +} + +CudaDeviceFunction void WVelocity() +{ + +} + +CudaDeviceFunction void EPressure() +{ + +} + +CudaDeviceFunction void NVelocity() +{ + +} + +CudaDeviceFunction void SVelocity() +{ + +} + +CudaDeviceFunction void NSymmetry() +{ + +} + +CudaDeviceFunction void SSymmetry() +{ + +} + +CudaDeviceFunction void CollisionMRT() +{ + + 1 + R[!selR] = EQ$Req[!selR] +?> + + + + real_t ; + real_t Usq=0; + + + + switch (NodeType & NODE_OBJECTIVE) { + case NODE_Outlet: + + AddToOutletFlux(Jx/rho/rho); + AddToPressureLoss(-(Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + case NODE_Inlet: + + AddToInletFlux(Jx/rho/rho); + AddToPressureLoss((Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + } + + + + + + + if (!IamBOUNDARY) { + real_t dJx = (GravitationX + BC[0])*rho ; + real_t dJy = (GravitationY + BC[1])*rho ; + } + + real_t dJx = GravitationX*rho ; + real_t dJy = GravitationY*rho ; + + + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t K = rho * 12. * nu * h_Z * h_Z; + + Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; + Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; + + +} + + +CudaDeviceFunction void CollisionCumulant() +{ + + real_t c[9],d; + + real_t nu = -(S2 + 1)/(6*S2 - 6); + + d = getRho(); + real_t w[5] = {1.0/(3*nu+0.5),1.,1.,1.,1.0}; // defining relaxation rate for first cummulants + if ((NodeType & NODE_BOUNDARY) != 0) w[0] = 1.0/(3*nubuffer+0.5); + +//First determing moments from density-probability function + + f[0] = f[3] + f[1] + f[0]; + f[1] = -f[3] + f[1]; + f[3] = f[1] + f[3]*2.; + f[2] = f[6] + f[5] + f[2]; + f[5] = -f[6] + f[5]; + f[6] = f[5] + f[6]*2.; + f[4] = f[7] + f[8] + f[4]; + f[8] = -f[7] + f[8]; + f[7] = f[8] + f[7]*2.; + f[0] = f[4] + f[2] + f[0]; + f[2] = -f[4] + f[2]; + f[4] = f[2] + f[4]*2.; + f[1] = f[8] + f[5] + f[1]; + f[5] = -f[8] + f[5]; + f[8] = f[5] + f[8]*2.; + f[3] = f[7] + f[6] + f[3]; + f[6] = -f[7] + f[6]; + f[7] = f[6] + f[7]*2.; + +//Cumulant calculation from moments + c[0] = f[0]; + c[1] = f[1]/f[0]; + c[3] = ( -c[1]*f[1] + f[3] )/f[0]; + c[2] = f[2]/f[0]; + c[5] = ( -c[1]*f[2] + f[5] )/f[0]; + c[6] = ( -c[5]*f[1] - c[3]*f[2] - c[1]*f[5] + f[6] )/f[0]; + c[4] = ( -c[2]*f[2] + f[4] )/f[0]; + c[8] = ( -c[1]*f[4] + f[8] - c[5]*f[2]*2. )/f[0]; + c[7] = ( -c[8]*f[1] - c[3]*f[4] - c[1]*f[8] + f[7] + ( -c[6]*f[2] - c[5]*f[5] )*2. )/f[0]; +//Cumulant relaxation: + real_t a = (c[3] + c[4]); + real_t b = (c[3] - c[4]); + +//Forcing + + if (!IamBOUNDARY) { + real_t dJx = (GravitationX + BC[0])*d ; + real_t dJy = (GravitationY + BC[1])*d ; + } + + real_t dJx = GravitationX*d ; + real_t dJy = GravitationY*d ; + + + real_t K = d * 12. * nu * h_Z * h_Z; + + real_t Jx = c[1] * d; + real_t Jy = c[2] * d; + + Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / d; + Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / d; + + c[1] = Jx / d; + c[2] = Jy / d; + + //END Forcing + + //real_t Dxu = - w[0]*(2*c[3] - c[4])/(2.*d) - w[1]*(c[3] + c[4])/d; + //real_t Dyv = - w[0]*(2*c[4] - c[3])/(2.*d) - w[1]*(c[3] + c[4])/d; +// c[1] = -c[1]; + // c[3] = (1 - w[0])*c[3] + w[0]*1./3; + c[3] = ((1 - w[1])*a + w[1]*2./3. + (1 - w[0])*b)/2.; +// c[2] =-c[2]; + // c[4] = (1 - w[0])*c[4] + w[0]*1./3; + c[4] = ((1 - w[1])*a + w[1]*2./3. - (1 - w[0])*b)/2.; + c[5] = (1- w[0])*c[5]; + c[6] = (1 - w[2])*c[6]; + c[7] = (1 - w[3])*c[7]; + c[8] = (1 - w[2])*c[8]; + + +// Moment calculation from cummulants + + f[0] = f[0]; + f[1] = c[1]*f[0]; + f[3] = c[3]*f[0] + c[1]*f[1]; + f[2] = c[2]*f[0]; + f[5] = c[5]*f[0] + c[1]*f[2]; + f[6] = c[6]*f[0] + c[5]*f[1] + c[3]*f[2] + c[1]*f[5]; + f[4] = c[4]*f[0] + c[2]*f[2]; + f[8] = c[8]*f[0] + c[1]*f[4] + c[5]*f[2]*2.; + f[7] = c[7]*f[0] + c[8]*f[1] + c[3]*f[4] + c[1]*f[8] + ( c[6]*f[2] + c[5]*f[5] )*2.; + + //Transformation from moment to density distribution function + + f[0] = -f[3] + f[0]; + f[1] = ( f[3] + f[1] )/2.; + f[3] = f[3] - f[1]; + f[2] = -f[6] + f[2]; + f[5] = ( f[6] + f[5] )/2.; + f[6] = f[6] - f[5]; + f[4] = -f[7] + f[4]; + f[8] = ( f[7] + f[8] )/2.; + f[7] = f[7] - f[8]; + f[0] = -f[4] + f[0]; + f[2] = ( f[4] + f[2] )/2.; + f[4] = f[4] - f[2]; + f[1] = -f[8] + f[1]; + f[5] = ( f[8] + f[5] )/2.; + f[8] = f[8] - f[5]; + f[3] = -f[7] + f[3]; + f[6] = ( f[7] + f[6] )/2.; + f[7] = f[7] - f[6]; + +} + + + diff --git a/models/flow/d2q9_fracture_dissolution/conf.mk b/models/flow/d2q9_fracture_dissolution/conf.mk new file mode 100644 index 000000000..e1de9f3d3 --- /dev/null +++ b/models/flow/d2q9_fracture_dissolution/conf.mk @@ -0,0 +1,2 @@ +ADJOINT=0 +TEST=TRUE From 418019063a4c863257dae9c89ea11b8e30bc1dff Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 5 Oct 2021 12:21:25 +0200 Subject: [PATCH 02/39] Add concentration with BKG collision --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 29 +- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 441 +++++++----------- 2 files changed, 182 insertions(+), 288 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 59126a874..7a460b91f 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -13,10 +13,18 @@ AddDensity( name="f[6]", dx=-1, dy= 1, group="f") AddDensity( name="f[7]", dx=-1, dy=-1, group="f") AddDensity( name="f[8]", dx= 1, dy=-1, group="f") +AddDensity( name="c[0]", dx= 0, dy= 0, group="c") +AddDensity( name="c[1]", dx= 1, dy= 0, group="c") +AddDensity( name="c[2]", dx= 0, dy= 1, group="c") +AddDensity( name="c[3]", dx=-1, dy= 0, group="c") +AddDensity( name="c[4]", dx= 0, dy=-1, group="c") +AddDensity( name="c[5]", dx= 1, dy= 1, group="c") +AddDensity( name="c[6]", dx=-1, dy= 1, group="c") +AddDensity( name="c[7]", dx=-1, dy=-1, group="c") +AddDensity( name="c[8]", dx= 1, dy=-1, group="c") AddDensity( name="h_Z", dx=0, dy=0, group="HZ", parameter=T) - # THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE # COMMENT OUT FOR PERFORMANCE # If present thei are used: @@ -25,17 +33,15 @@ AddDensity( name="h_Z", dx=0, dy=0, group="HZ", parameter=T) #AddDensity( name="BC[0]", dx=0, dy=0, group="BC") #AddDensity( name="BC[1]", dx=0, dy=0, group="BC") - AddStage("BaseIteration", "Run", - load=DensityAll$group == "f" | DensityAll$group == "HZ", - save=Fields$group=="f" | Fields$group=="HZ" + load=DensityAll$group == "f" | DensityAll$group == "c" | DensityAll$group == "HZ", + save=Fields$group=="f" | Fields$group == "c" | Fields$group=="HZ" ) -AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "HZ") +AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ" ) AddAction("Iteration", c("BaseIteration")) AddAction("Init", c("BaseInit")) - # Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) # name - name of the field # type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float @@ -46,6 +52,7 @@ AddAction("Init", c("BaseInit")) AddQuantity(name="Rho",unit="kg/m3") AddQuantity(name="U",unit="m/s",vector=T) AddQuantity(name="H_Z") +AddQuantity(name="C") # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable @@ -78,7 +85,13 @@ AddSetting(name="S2", default="0", comment='MRT Sx') AddSetting(name="S3", default="0", comment='MRT Sx') AddSetting(name="S4", default="0", comment='MRT Sx') -AddSetting(name="nubuffer",default=0.01, comment='Viscosity in the buffer layer (cumulant)') +AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') + +AddSetting(name="Concentration", default=0, zonal=TRUE) +AddSetting(name="omega_D", comment='Relaxation rate') +AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') +AddSetting(name="Inlet_concentration", default=0.0) + #Node types for boundaries AddNodeType(name="EPressure", group="BOUNDARY") @@ -92,8 +105,6 @@ AddNodeType(name="EVelocity", group="BOUNDARY") AddNodeType(name="NSymmetry", group="BOUNDARY") AddNodeType(name="SSymmetry", group="BOUNDARY") - -AddNodeType(name="Cumulant", group="COLLISION") AddNodeType(name="Inlet", group="OBJECTIVE") AddNodeType(name="Outlet", group="OBJECTIVE") AddNodeType(name="Solid", group="BOUNDARY") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 8abf87b43..0d075fbe0 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -6,12 +6,15 @@ source("lib/boundary.R") U = as.matrix(Density[Density$group=='f',c("dx","dy")]) + u = PV(c("ux","uy")) + rho = PV("rho") + J = PV("J",c("x","y")) EQ = MRT_eq(U, ortogonal=FALSE) - wi = subst(EQ$Req, Jx=0, Jy=0, Jz=0) - wi = subst(wi, rho=1) - wi = gapply(wi,function(x) x$.M, simplify=TRUE) - wi = wi %*% solve(EQ$mat) + wi = subst(EQ$Req, Jx=0, Jy=0, Jz=0) + wi = subst(wi, rho=1) + wi = gapply(wi,function(x) x$.M, simplify=TRUE) + wi = wi %*% solve(EQ$mat) wi = as.vector(wi) W = solve(EQ$mat) %*% diag(1/wi) %*% solve(t(EQ$mat)) @@ -20,76 +23,77 @@ H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) B = EQ$mat %*% t(H) - EQ = MRT_eq(U, mat=B) - + EQ = MRT_eq(U, rho, J, mat=B) - - f = PV(Density[Density$group=='f',"name"]) - rho = PV("rho") - J = PV("J",c("x","y")) - if ( any( DensityAll$group=="BC" ) ) { - BC_Velocity=PV(c('BC[0]', 'BC[1]')) - } else { - BC_Velocity=PV(c('VelocityX', 'VelocityY')) - } + f = PV(Density[Density$group=='f',"name"]) + c = PV(Density[Density$group=='c',"name"]) + + if ( any( DensityAll$group=="BC" ) ) { + BC_Velocity=PV(c('BC[0]', 'BC[1]')) + } else { + BC_Velocity=PV(c('VelocityX', 'VelocityY')) + } ?> #define pi 3.141592653589793116 CudaDeviceFunction real_t getRho(){ - return ; + return ; } CudaDeviceFunction real_t getH_Z(){ return h_Z ; } +CudaDeviceFunction real_t getC(){ + return ; +} + CudaDeviceFunction vector_t getU(){ real_t d = ; vector_t u; - + - + if (!IamBOUNDARY) { - u.x += d*BC[0]*0.5; - u.y += d*BC[1]*0.5; + u.x += d*BC[0]*0.5; + u.y += d*BC[1]*0.5; } - - u.x += d*GravitationX*0.5; - u.y += d*GravitationY*0.5; + + u.x += d*GravitationX*0.5; + u.y += d*GravitationY*0.5; - real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t nu = -(S2 + 1)/(6*S2 - 6) ; - real_t K = d * 12. * nu * h_Z * h_Z; + real_t K = d * 12. * nu * h_Z * h_Z; - u.x = (u.x)/(1. + 0.5 * K) / d; - u.y = (u.y)/(1. + 0.5 * K) / d; + u.x = (u.x)/(1. + 0.5 * K) / d; + u.y = (u.y)/(1. + 0.5 * K) / d; u.z = 0.0; return u; } CudaDeviceFunction float2 Color() { - float2 ret; - vector_t u = getU(); - ret.x = sqrt(u.x*u.x + u.y*u.y); - if (NodeType == NODE_Solid){ - ret.y = 0; - } else { - ret.y = 1; - } - return ret; + float2 ret; + vector_t u = getU(); + ret.x = sqrt(u.x*u.x + u.y*u.y); + if (NodeType == NODE_Solid){ + ret.y = 0; + } else { + ret.y = 1; + } + return ret; } CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) { - - - + C(f, EQ$feq) + ?> + if ( IamBOUNDARY ) { BC[0] = Jx / rho; BC[1] = Jy / rho; @@ -97,76 +101,84 @@ CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) BC[0] = 0; BC[1] = 0; } - + } CudaDeviceFunction void Init() { - real_t rho, ux, uy; - rho = (1+Pressure*3); - ux = VelocityX; - uy = VelocityY; - + real_t rho, C; + rho = (1+Pressure*3); + vector_t u; + u.x = VelocityX; + u.y = VelocityY; + C = Concentration; + if (IamWall){ rho = 1; - ux = 0; - uy = 0; + u.x = 0; + u.y = 0; } - + SetEquilibrum( rho, - ux*rho, - uy*rho + rho*u.x, + rho*u.y ); - - h_Z = BrinkmanHeightInv; + c[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; + c[1] = ( 2. + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )*C/18.; + c[2] = ( 2. + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )*C/18.; + c[3] = ( 2. + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )*C/18.; + c[4] = ( 2. + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )*C/18.; + c[5] = ( 1. + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )*C/36.; + c[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; + c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + + h_Z = BrinkmanHeightInv; } CudaDeviceFunction void Run() { - switch (NodeType & NODE_BOUNDARY) { - case NODE_Solid: - case NODE_Wall: - BounceBack(); - break; - case NODE_EVelocity: - EVelocity(); - break; - case NODE_WPressure: - WPressure(); - break; - case NODE_WVelocity: - WVelocity(); - break; - case NODE_EPressure: - EPressure(); - break; - case NODE_NVelocity: - NVelocity(); - break; - case NODE_SVelocity: - SVelocity(); - break; + switch (NodeType & NODE_BOUNDARY) { + case NODE_Solid: + case NODE_Wall: + BounceBack(); + break; + case NODE_EVelocity: + EVelocity(); + break; + case NODE_WPressure: + WPressure(); + break; + case NODE_WVelocity: + WVelocity(); + break; + case NODE_EPressure: + EPressure(); + break; + case NODE_NVelocity: + NVelocity(); + break; + case NODE_SVelocity: + SVelocity(); + break; case NODE_NSymmetry: - NSymmetry(); - break; + NSymmetry(); + break; case NODE_SSymmetry: - SSymmetry(); - break; - } - switch (NodeType & NODE_COLLISION) - { - case NODE_MRT: - CollisionMRT(); - break; - case NODE_Cumulant: - CollisionCumulant(); - break; - } + SSymmetry(); + break; + } + switch (NodeType & NODE_COLLISION) + { + case NODE_MRT: + CollisionMRT(); + ConcentrationCollisionBGK(); + break; + } } CudaDeviceFunction void BounceBack() { - @@ -178,244 +190,115 @@ CudaDeviceFunction void BounceBack() } - } CudaDeviceFunction void EVelocity() { - + } CudaDeviceFunction void WPressure() { - + } CudaDeviceFunction void WVelocity() { - + + real_t C = 1.0; + #define inlet_C (Inlet_concentration) + C = 6.*( inlet_C - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void EPressure() { - + + real_t C = 1.0; + C = 6.*( c[1] + c[5] + c[8] ); + c[3] = (1./ 9.) * C; + c[7] = (1./36.) * C; + c[6] = (1./36.) * C; } CudaDeviceFunction void NVelocity() { - + } CudaDeviceFunction void SVelocity() { - + } CudaDeviceFunction void NSymmetry() { - + } CudaDeviceFunction void SSymmetry() { - + } CudaDeviceFunction void CollisionMRT() { - - 1 R[!selR] = EQ$Req[!selR] -?> - - - + ?> + real_t ; - real_t Usq=0; + real_t Usq=0; - - - switch (NodeType & NODE_OBJECTIVE) { - case NODE_Outlet: - - AddToOutletFlux(Jx/rho/rho); - AddToPressureLoss(-(Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); - break; - case NODE_Inlet: - - AddToInletFlux(Jx/rho/rho); - AddToPressureLoss((Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); - break; - } - - + real_t dJx = GravitationX*rho ; + real_t dJy = GravitationY*rho ; -?> - - - - - if (!IamBOUNDARY) { - real_t dJx = (GravitationX + BC[0])*rho ; - real_t dJy = (GravitationY + BC[1])*rho ; - } - - real_t dJx = GravitationX*rho ; - real_t dJy = GravitationY*rho ; - - - real_t nu = -(S2 + 1)/(6*S2 - 6) ; - real_t K = rho * 12. * nu * h_Z * h_Z; + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t K = rho * 12. * nu * h_Z * h_Z; - Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; - Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; - - -} - - -CudaDeviceFunction void CollisionCumulant() -{ - - real_t c[9],d; - - real_t nu = -(S2 + 1)/(6*S2 - 6); - - d = getRho(); - real_t w[5] = {1.0/(3*nu+0.5),1.,1.,1.,1.0}; // defining relaxation rate for first cummulants - if ((NodeType & NODE_BOUNDARY) != 0) w[0] = 1.0/(3*nubuffer+0.5); - -//First determing moments from density-probability function - - f[0] = f[3] + f[1] + f[0]; - f[1] = -f[3] + f[1]; - f[3] = f[1] + f[3]*2.; - f[2] = f[6] + f[5] + f[2]; - f[5] = -f[6] + f[5]; - f[6] = f[5] + f[6]*2.; - f[4] = f[7] + f[8] + f[4]; - f[8] = -f[7] + f[8]; - f[7] = f[8] + f[7]*2.; - f[0] = f[4] + f[2] + f[0]; - f[2] = -f[4] + f[2]; - f[4] = f[2] + f[4]*2.; - f[1] = f[8] + f[5] + f[1]; - f[5] = -f[8] + f[5]; - f[8] = f[5] + f[8]*2.; - f[3] = f[7] + f[6] + f[3]; - f[6] = -f[7] + f[6]; - f[7] = f[6] + f[7]*2.; - -//Cumulant calculation from moments - c[0] = f[0]; - c[1] = f[1]/f[0]; - c[3] = ( -c[1]*f[1] + f[3] )/f[0]; - c[2] = f[2]/f[0]; - c[5] = ( -c[1]*f[2] + f[5] )/f[0]; - c[6] = ( -c[5]*f[1] - c[3]*f[2] - c[1]*f[5] + f[6] )/f[0]; - c[4] = ( -c[2]*f[2] + f[4] )/f[0]; - c[8] = ( -c[1]*f[4] + f[8] - c[5]*f[2]*2. )/f[0]; - c[7] = ( -c[8]*f[1] - c[3]*f[4] - c[1]*f[8] + f[7] + ( -c[6]*f[2] - c[5]*f[5] )*2. )/f[0]; -//Cumulant relaxation: - real_t a = (c[3] + c[4]); - real_t b = (c[3] - c[4]); - -//Forcing - - if (!IamBOUNDARY) { - real_t dJx = (GravitationX + BC[0])*d ; - real_t dJy = (GravitationY + BC[1])*d ; - } - - real_t dJx = GravitationX*d ; - real_t dJy = GravitationY*d ; - - - real_t K = d * 12. * nu * h_Z * h_Z; - - real_t Jx = c[1] * d; - real_t Jy = c[2] * d; - - Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / d; - Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / d; - - c[1] = Jx / d; - c[2] = Jy / d; - - //END Forcing - - //real_t Dxu = - w[0]*(2*c[3] - c[4])/(2.*d) - w[1]*(c[3] + c[4])/d; - //real_t Dyv = - w[0]*(2*c[4] - c[3])/(2.*d) - w[1]*(c[3] + c[4])/d; -// c[1] = -c[1]; - // c[3] = (1 - w[0])*c[3] + w[0]*1./3; - c[3] = ((1 - w[1])*a + w[1]*2./3. + (1 - w[0])*b)/2.; -// c[2] =-c[2]; - // c[4] = (1 - w[0])*c[4] + w[0]*1./3; - c[4] = ((1 - w[1])*a + w[1]*2./3. - (1 - w[0])*b)/2.; - c[5] = (1- w[0])*c[5]; - c[6] = (1 - w[2])*c[6]; - c[7] = (1 - w[3])*c[7]; - c[8] = (1 - w[2])*c[8]; - - -// Moment calculation from cummulants - - f[0] = f[0]; - f[1] = c[1]*f[0]; - f[3] = c[3]*f[0] + c[1]*f[1]; - f[2] = c[2]*f[0]; - f[5] = c[5]*f[0] + c[1]*f[2]; - f[6] = c[6]*f[0] + c[5]*f[1] + c[3]*f[2] + c[1]*f[5]; - f[4] = c[4]*f[0] + c[2]*f[2]; - f[8] = c[8]*f[0] + c[1]*f[4] + c[5]*f[2]*2.; - f[7] = c[7]*f[0] + c[8]*f[1] + c[3]*f[4] + c[1]*f[8] + ( c[6]*f[2] + c[5]*f[5] )*2.; - - //Transformation from moment to density distribution function - - f[0] = -f[3] + f[0]; - f[1] = ( f[3] + f[1] )/2.; - f[3] = f[3] - f[1]; - f[2] = -f[6] + f[2]; - f[5] = ( f[6] + f[5] )/2.; - f[6] = f[6] - f[5]; - f[4] = -f[7] + f[4]; - f[8] = ( f[7] + f[8] )/2.; - f[7] = f[7] - f[8]; - f[0] = -f[4] + f[0]; - f[2] = ( f[4] + f[2] )/2.; - f[4] = f[4] - f[2]; - f[1] = -f[8] + f[1]; - f[5] = ( f[8] + f[5] )/2.; - f[8] = f[8] - f[5]; - f[3] = -f[7] + f[3]; - f[6] = ( f[7] + f[6] )/2.; - f[7] = f[7] - f[6]; + Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; + Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; + } - - +CudaDeviceFunction void ConcentrationCollisionBGK() { + real_t C = getC(); + vector_t u; + u.x = f[8]-f[7]-f[6]+f[5]-f[3]+f[1]; + u.y = -f[8]-f[7]+f[6]+f[5]-f[4]+f[2]; + + real_t c_eq[9]; + c_eq[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; + c_eq[1] = ( 2. + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )*C/18.; + c_eq[2] = ( 2. + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )*C/18.; + c_eq[3] = ( 2. + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )*C/18.; + c_eq[4] = ( 2. + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )*C/18.; + c_eq[5] = ( 1. + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )*C/36.; + c_eq[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + c_eq[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; + c_eq[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + + for (int i=0; i< 9; i++) { + c[i] = c[i] + omega_D * (c_eq[i]-c[i]); + } +} \ No newline at end of file From 3ed52efbf2787425e30c7483c89aa2c3da34d96e Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 5 Oct 2021 12:48:15 +0200 Subject: [PATCH 03/39] Add first order/linear reaction --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 4 +++- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 24 +++++++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 7a460b91f..24337ecf7 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -91,7 +91,8 @@ AddSetting(name="Concentration", default=0, zonal=TRUE) AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') AddSetting(name="Inlet_concentration", default=0.0) - +AddSetting( name="C_saturation", default=1, comment='Concentration' ) +AddSetting( name="k",default=1, comment='Reaction speed coefficient' ) #Node types for boundaries AddNodeType(name="EPressure", group="BOUNDARY") @@ -110,3 +111,4 @@ AddNodeType(name="Outlet", group="OBJECTIVE") AddNodeType(name="Solid", group="BOUNDARY") AddNodeType(name="Wall", group="BOUNDARY") AddNodeType(name="MRT", group="COLLISION") +AddNodeType(name="Reaction", group="SOURCE") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 0d075fbe0..80a593f29 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -174,7 +174,11 @@ CudaDeviceFunction void Run() { CollisionMRT(); ConcentrationCollisionBGK(); break; - } + } + if (NodeType & NODE_Reaction) { + ConcentrationSource(); + } + } CudaDeviceFunction void BounceBack() @@ -301,4 +305,20 @@ CudaDeviceFunction void ConcentrationCollisionBGK() { for (int i=0; i< 9; i++) { c[i] = c[i] + omega_D * (c_eq[i]-c[i]); } -} \ No newline at end of file +} + +CudaDeviceFunction void ConcentrationSource() { + real_t C = getC(); + real_t R = k * (C_saturation - C); + + c[0] += R * 4./9.; + c[1] += R * 1./9; + c[2] += R * 1./9.; + c[3] += R * 1./9.; + c[4] += R * 1./9.; + c[5] += R * 1./36.; + c[6] += R * 1./36.; + c[7] += R * 1./36.; + c[8] += R * 1./36.; +} + From e8ace53cfbf856167a0aacc90d2a71767559c812 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 5 Oct 2021 14:56:23 +0200 Subject: [PATCH 04/39] Add h_z evolution equation --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 30 +++++++++-------- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 32 ++++++++++--------- 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 24337ecf7..211405c1f 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -42,6 +42,13 @@ AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "c" | Fie AddAction("Iteration", c("BaseIteration")) AddAction("Init", c("BaseInit")) +if (Options$fields) { +AddDensity(name="HZ_field", group="init", comment="initial h_z", parameter=TRUE) +AddStage(name="InitFromFieldsStage", main="InitFromFields", load.densities=TRUE , save. +fields=TRUE) +AddAction(name="InitFromFields", "InitFromFieldsStage") +} + # Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) # name - name of the field # type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float @@ -59,27 +66,18 @@ AddQuantity(name="C") # comment - additional comment # You can state that another setting is 'derived' from this one stating for example: RelaxationRate='1.0/(3*Viscosity + 0.5)' -AddSetting( - name="RelaxationRate", - S2='1-RelaxationRate', - comment='one over relaxation time' - ) +AddSetting(name="RelaxationRate", S2='1-RelaxationRate', comment='one over relaxation time') AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) -AddSetting(name="Height", default=1, comment='iinitial height in Z direction', zonal=T) +AddSetting(name="Height", default=1, comment='initial height in Z direction', zonal=T) AddSetting(name="BrinkmanHeightInv", default=0, zonal=T) AddSetting(name="GravitationX") AddSetting(name="GravitationY") -# Globals - table of global integrals that can be monitored and optimized - -AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") -AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") -AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") AddSetting(name="S2", default="0", comment='MRT Sx') AddSetting(name="S3", default="0", comment='MRT Sx') @@ -91,8 +89,14 @@ AddSetting(name="Concentration", default=0, zonal=TRUE) AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') AddSetting(name="Inlet_concentration", default=0.0) -AddSetting( name="C_saturation", default=1, comment='Concentration' ) -AddSetting( name="k",default=1, comment='Reaction speed coefficient' ) +AddSetting( name="C_saturation", default=1, comment='Concentration') +AddSetting( name="k",default=1, comment='Reaction speed coefficient') +AddSetting( name="C_solid", default=100, comment='Solid concentration') + +# Globals - table of global integrals that can be monitored and optimized +AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") +AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") +AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") #Node types for boundaries AddNodeType(name="EPressure", group="BOUNDARY") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 80a593f29..ace262f48 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -176,7 +176,7 @@ CudaDeviceFunction void Run() { break; } if (NodeType & NODE_Reaction) { - ConcentrationSource(); + ConcentrationSourceAndEvolveHZ(); } } @@ -287,9 +287,10 @@ CudaDeviceFunction void CollisionMRT() CudaDeviceFunction void ConcentrationCollisionBGK() { real_t C = getC(); + real_t d = getRho(); vector_t u; - u.x = f[8]-f[7]-f[6]+f[5]-f[3]+f[1]; - u.y = -f[8]-f[7]+f[6]+f[5]-f[4]+f[2]; + u.x = (f[8]-f[7]-f[6]+f[5]-f[3]+f[1])/d; + u.y = (-f[8]-f[7]+f[6]+f[5]-f[4]+f[2])/d; real_t c_eq[9]; c_eq[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; @@ -307,18 +308,19 @@ CudaDeviceFunction void ConcentrationCollisionBGK() { } } -CudaDeviceFunction void ConcentrationSource() { +CudaDeviceFunction void ConcentrationSourceAndEvolveHZ() { real_t C = getC(); real_t R = k * (C_saturation - C); - c[0] += R * 4./9.; - c[1] += R * 1./9; - c[2] += R * 1./9.; - c[3] += R * 1./9.; - c[4] += R * 1./9.; - c[5] += R * 1./36.; - c[6] += R * 1./36.; - c[7] += R * 1./36.; - c[8] += R * 1./36.; -} - + c[0] += 2 * R * 4./9.; + c[1] += 2 * R * 1./9; + c[2] += 2 * R * 1./9.; + c[3] += 2 * R * 1./9.; + c[4] += 2 * R * 1./9.; + c[5] += 2 * R * 1./36.; + c[6] += 2 * R * 1./36.; + c[7] += 2 * R * 1./36.; + c[8] += 2 * R * 1./36.; + + h_Z += 2 * R / C_solid; +} \ No newline at end of file From dcde969836faed5610cc0f7e03799d0b9077cc88 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 5 Oct 2021 16:33:26 +0200 Subject: [PATCH 05/39] Correct Dynamics.R --- models/flow/d2q9_fracture_dissolution/Dynamics.R | 7 ------- 1 file changed, 7 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 211405c1f..cc6b1a939 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -42,13 +42,6 @@ AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "c" | Fie AddAction("Iteration", c("BaseIteration")) AddAction("Init", c("BaseInit")) -if (Options$fields) { -AddDensity(name="HZ_field", group="init", comment="initial h_z", parameter=TRUE) -AddStage(name="InitFromFieldsStage", main="InitFromFields", load.densities=TRUE , save. -fields=TRUE) -AddAction(name="InitFromFields", "InitFromFieldsStage") -} - # Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) # name - name of the field # type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float From 87a43dea9522e58feb69faff6603c185e7708c23 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Thu, 7 Oct 2021 10:11:42 +0200 Subject: [PATCH 06/39] Rrun initialization of fields --- example/data/1024x256_initial_hz.png | Bin 0 -> 544030 bytes example/flow/2d/fracture_dissolution.xml | 45 ++++++++++++++++++ .../flow/d2q9_fracture_dissolution/Dynamics.R | 19 ++++---- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 8 ++-- models/flow/d2q9_fracture_dissolution/conf.mk | 3 +- 5 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 example/data/1024x256_initial_hz.png create mode 100644 example/flow/2d/fracture_dissolution.xml diff --git a/example/data/1024x256_initial_hz.png b/example/data/1024x256_initial_hz.png new file mode 100644 index 0000000000000000000000000000000000000000..646dbf0097ee439d65aebad8cf2292ec622830b5 GIT binary patch literal 544030 zcmXt<2Q=0H|Hm(G-0I?1H*R*i)lK52o4vVmlf5_Dk`b=GZXtvyWUmlHNLE&|l6jNW zHIigpd(Z#-`#a}<4(H-rd_JG|c)gy_=i?orp>~h)4BHt91j0yAR@8z(px{dy2#glI zP*BhyC@Ao_K5?;iaI%3wFmVBKQp&Be9Bt;>Ra$&ZM1)(X#;F$4yXU!j z*|3Z9CH+NDyYjf@UxlID+B98niSCvgc)Gg%9BR=;KxJfq{YpcczWsV~HI(Hx7st*F zrJ;i&A^R>V+1B#~O^S2sytVxIzj|N$Z+`hF554@N^ShAk)f=ZK*F0k(<}1G?yH9>) z=HBZuhQpqJz4IOW__ycpLe=r9&*~gDR}HU9U+20zPx=~bqAwXZW8z^rm8^N^RmPQ= z^HFWWdSh=A9z=V`i{?9u&z?1m)$KJ-t9p`fccsf5)wS5IVp1UX9L@3pcA6KdQywDZ z^wnXAQ2sLi=viz~^OnjVtTqK*}140e>hFHX_lsY z+KN?&LmH&TZtA|v-c3)7{a2etDp8y?4dcyio+{eg!QGr$CtWX9M-xc6PnptSs$zQ>1IMat_U!c^8OGxY*YFW?-+7b~Pig31 zZ9JIE=oOpTJ;tmSNkPi}`ZzL_yeLI0dP61qM~y2x7pG;8#>faLCmVa?MvS&}Cadp> z5IlFBdQs&n9B(rklJl-~v8d>`Xk$~Rirsd2_!ohs3k&t@d$dqFfh29s*Y^CHg*stj zU(^hj1+7p@ez4JQr=g{Zgpm+XO&wkBDq_K_?%Cq1 zl*u`FF&k9aMcoLc8CYZvEM7T3a`t|$$tlLdBEB;uvctV|9}6%DC?N+D$V(v2iDvfQ zJR@IXcAfA$I8JYIPd={MEvftT0}_w2=4&(c%LEb+Oao5hQ6=-hXeWbja;YybQ45Ro zibV$J1L{r1gC?a~vQ82?!T%hd$;ZU!VE)kw;5FaJ&{9+KPs?eP74X2|&Q4WEVU|L0 zQ~rd^fa5mzoe4rbIx;67gG((jkksT)P@rp36dIy#JzV<{DBQQU)Ma&#cRD0)Iy>;d z#aSw~`wHwgQOu2l!Q6ReDdpN%>_^q}nn+!wjUbD;i4k7YgXf=&uXn|SJ-{*w-HgFCqC;cuvVQA~o zFe|suY8v^*71*FXZZb7Js{KMrQPQ^rZ@w9i5$U6dj_`0^{_ah7Y*4_!?34RB%9==0 zGXwwUJ;S0QqukN=Iz{u}8+)#WlH^uRaxfo_s7?aaA3lD=ZvH60f`B$0eoIw9To;@c zHRDgv(XAXutCBgGBw}WcD((I3cJlNmP_SL~o-~b%RTK6#rfM-W!BX8f7bg$5cNm^d z_$^Di@0fZSwCfb#wHQ`$t5u=(wm9n+JtWOgZ&V^QsmM-AMQo`2CX zGhP#Jj&^qHLmy{4m?W0AQ!`7AN^Zj&%4?-0k(MYn$!pz0C3^Kkj@Py3Et=8ADl)TYCTSWb+;4{b*s}<77vZJ|NXf;f`Q64hpm-sYAmfU{Yoa^VPM-|&ph7y-!CrFf!nSsI9YHx zUaqa?f$jh5SeEeh_II$Md%e<>vA5=)d9on#-<9#e#Ql8#N=%*%a0gABZ<+kV zcQD&kh^6F!%a)1EK|t3e?d}d}zitXz8_YZ@?hD-3m!a6>F2m$CaT&^C^d!l?Tl}|z z4(eq*#5iJub}ti<0zJKkwy*Eogts!)t*tMaG_M>C26@+MJz}Dll<^L5-ss_$MST2R zCwyD_8sT9vC2)??UG~{+Eh=d9fUEi}iN|z!oEl?ORJthH*JGMKIW~ImM^LI4>v7^V z;Mp)>zb+Y`gV}|!uw=}QQJDzmrw+V%eZ1EZn@#l#(d}P;uh*~i$RTjIrPq6BiRNi z2kQNOF-nDeJ>NTn?g-*2tND7aRw=i(?o+SZFEDIUUg@DcnAGkDpXtHu^66CzOhWJH z%?0D8om%tiQFO*!WZrs0?cS5TeHHEiohhFWLe=BxE5|djjqAfFyHzsY>nF$2*X`y? zP3!!(thjx?UL%N@72ninj*fo9QD5`%q1T9{^G;s3zHl}1=Fq;W*Y`9r&-i=?i_=iK zm7ZSH`or-MGa~HaPZ1+xZ7T7ft`<=Z?d(Bsfem_N~EL$GfS4(7F zZ#fl~8>B#U>irGNAq!I%vl;_TVsD1n>{bo)p+`4o5oP&s>R#W`QLLH&`b_NWZx@^T z6g2-_VNPe@%v<#3kMrL6ay8sk+-s8ZXfYLuSId0!5XI)iJ6tMw^sPXeUOalPR%UOE zEZ4L%aF1)s;M1h{Bla;$6qlILrOgAa`2bS$r1v6kBrhtAy4+@`#v$>>v59 z{7%SAu%7NXIa2@ZECQ8l$(kJdrINS4|MzG4m2g75_afEnD#590?5xVol>E#LvFRP3 zvu(epnuE#n;1M!}(L3emUTKX-=aUayO#SWLd}hG7p+e5pn|`^?(bhkkP&J*c+`Lk( zQ+%^{v7%Lg5Kj>pMLP(x-BGp2B0s(;{|k@I(f?aom?DfkEnyR0x(HdCJ&V`XJfJr9 z*gUSO_Zz6%>UpKzu|zz0O!U_{4ox!K@}*pl;l?Arj+KR2mVwC@a17DObc! zfug&ymqVV1oq8H(33-Gkd?09Ddu3{1M66Bghhn+P+fwAsk-QaZ9Pt6Pc4m#=@__IPe2iRnZS?{kV!ms0vuE|hsbxd zGY|h+Da6U4!o*_gd+PER#asL1(c8wI?k2)XUf+b|ruO8^2kbwMKhBr|&;Q9crm$=; zuUzS}@!8kRpUWxE!`SbRCD$Z4plY%RokAUzy!*mQ=942oJf%=@C~aV5&ik(Zp!%&T zk(2!>hv=L=`4-z(n8<}pohid+zai>20!mLuajcS{l%gZSo!I7KzEv%%fX)ehy0zL_ zz#JnCo@zr3uYIA308*vi?>31Cw3k(5aMjr}VEsO+PeX-;utC1h`Uqq^uyGfQnSo}k zY$02*(*GhfkT!;iR-+!aO?r<$@M~idQ%Vvi=VnC{XGE*VZK_ANw|{qe*t+|5U?0Se zS2fn|jis{Yu031&aOx?|2cv9^BZ{8HgN1K!%H0A~-T%0i)$kD|c6f=G8s@bYru_{c= zVPWCCT{>ekZntrat*%u@i{=5CNO{f8^@L)aDj^=G^o(cqVY%V}S`Go;hTU|`)8kJ> z6VR|j*^|wu*DX-Hzo^?fx{T1nqpKkjGZ7uV6d!*$DT`w7FCH=~*ZD14I!={3`O^LB!pzjfg^t)@-{vUtMJG)(`koZFrsTI^KR4F8FE`f9CO<6ST-p#M`ZknLKX0{_ zkaX*ueL@uHjInAF-ab4lSoZ$0AEh^oUwUs|-2&C__C5!b@9?ccf&6jtYBdBdjdme4AYljY?uk(qm21yHNN5mxzjZ)*i;NQor~ySb>;|>1INa zNOCeH9yDP;pi!dl`;;iti+hN-7+a(+?%%&V(y)bW8+3b-|_3_Ps*yE&I8bHAw`m|MQlNBYxY~sue<> zeoC9~u#C47Y+6^U9_NgC25RSxqTg=yEoGJN!xIf2SI=|lAWwx&)%RuWQ-co73z$RG zD&Awx;5D=SZo{t#bVTie~rvfoJ1a!|6#d zQm~z+;WZq>N!S>41Ag-fA`^AqH(rf;eT&KNjn<7=_^@fBz2x^)Av`2 z-Xl+|aGQ6^*4T!o6}S4^a9!P=xvlSMlEja4z!-u)LA1W^QhDSM{k4Dl$jXd6=`HKxS{Z_0EN95ka#( z!O5dh^P^bqw>zI4tBUd+vGAqexY9d;}qM50ZFeFik(_I8kUBBzSovO zvHu-Iz7G2S7)5!ymZpR4or%CXp^$9h)Mu6>gA05i7X%8fRA!b8vCTVOHh#=9NQlX{ zfbu2q5mOm!%Ei-T&=ItK=b)D(9tvbOHGX)HS(r~QbS_)`Fn%aq<{%F-BEO#JJ216ZC-w`t_6>EGlhU4v+kH`gh+s z$VV&D$(;j|uSz`FpP{+y+gSU_{)9|=hVB}kwNQo*!>1HK*pr~jYbQ_u%@s|l-`lA(vsy>zHv4>frA`~NePKQ&3QEVu# z$QqLhbOhwtjmY?3YgYZAXWFzHH6GXqA@TQfWD#E<=fBQ($XbNA23w+#ddO4nx3b36 z3Zi(hkvYZ^^)#7YSR4e)f*GZ56L)ep&Z;og9~}mGrPt317!qqtgjBU9`zFKuf_)rR zza9%la9b@WY;_`)%?LKqX5r< zD{Sg4DmH}kU>3DLrGp3sLh^)NVvk#@K7L*x*1w-#G#7%@&Wfrbpc!*i;neY2=&gl1 znofgaiqbh;!o;v=wBpz!l!isO6+8D5 z;#`vSIu;*av1E@+;qQhdnN{hr;s>zbx1w)Bl}rRKy?h-YBDF$pkQ zP&FLbQt}C;DYyE-)mKTXrs-)Y29|Aej*fImHx3@4`onmqdrGKEl{X>}XKVAOSDU|P zYlh5ignp5oqCfiA(E+hb>P|?gQjM``;1VIk^LL+zhUEM+c4;bhNGV-RxWBb<_*;!X zYz7s4s#@{nXjKZaD#$Mo8ymeX!T=E&(N^z!z>NPAd;F6%6I9di@GA@^Q&akeM5IdI zUK`lN>1mIrr(uwvZCV4=cpy^Px!DtJ!i$Ou?DA>8hV%SO7@l;(u|WomWMvSmlMmp) zNaDDHSOvl|v~5@qcsQF8Hy^O?F6@0s`tN z8tie)Kn8i*#mPB>w7U9qZY6{5V6?l;Jf&g3J=9B$LuPO?JQxBO#n+=7-S-xf=WoQ0 zpGp&q>MrhUTuo8=6to-1a8D`BAdwnA5UsSK(6n}vAuhQo7_?H|;5<6F1z}~2nL!gE z_HVjunWJMfL<7<35BN(TcN5RyS;XJC+ya{kuUUoyu2vU_R;R*Wxo zTSFeI6@2giI1~=7D74G;Dqa0Nkgm${yT^T#ew!H%1x~To2jL3I`2;dur5gQFYIMO9wch7=u|KXY4@^U?3Vj^`{~?G z$k^+DSrfIoJgW4@e@#5{67Or;?-dN%RDjeD;%xpY6;m>##b({=k-B(I>qplYUQ;FN z2MTBI{c>h)#hM>T!bhYs?w*{mQbS^|f$MQ&xNk`gEdAX|EtMvdzDAYUe;HEWG*M*31F(`Y7FD z0K0yvLrS?Kt)zVQ_#IX9x)Q}iS`w9#hVl|uOwyLV?Fq*t3_r!jz_ro9y2MV&;H2qW zMLv5c`jqJT1z0_DuxZfY+j%|F{+HM=kmWGuTseAmI(g1)`J=IOb)`%O93|f{@lN-V zTET@5x3KKnaJo;R-{t7YkKyKwd=~qFV{A0)_)n<*@gKosUkA4vnSEaM6d>ifgAU`! z;o;I7yL(pQ%#W#xLHlF%W#3CqChVl2bR;`u%!sEu7f=ihjJUWtJ;iKP$#j9-tLe3A zOs&}Uz2CC^f{~=Y8Q+cHvx~j-*$I-uUCFttbx%h zz8f>+p=xJ%El&BzVo#-=`ZOxze%^RG6CqwStm*hCzO3US8%*3L-1(p1!0vXh8PC*) zF9mW4@y{#bQ`OG87|E*&<0X8-^=K86EK&G4jt&Y}(T&KQBEAu8OVprez~g`mVU`6; z!IwvHs*$`jM`7o7A)J(`_KdxP%nWHCxRQk`nJUbVr&zE7DgDqb(MB}!GK{v>RaaLc z-I+IGVl)c0j8oi6if%GVK;d`K3U!o|co0y5)x*C(o%vo>sql7`H@m=#@F)M6Pwc$} z1tKL0@eO9oc+KXIvRGQ!>7PG^d0?MDMLG%V7vDvtD7`eF($v*;-;*yO+ZcxNz*5mZ z6z4Fo728*j*JaZ=(nyYi-rCNc;;c>_aVhlE1b#G|v5{Hy_4wH*r&_V8Xt5m!a7_Ed4?-JO*C+6bypcJg!1TOim~D#rk+lYwp9^<>khqd zA{J|x>Ug#`yGfqsf-^$-InwUijHSo4I?Ev9J{+Gm;s1$8cvlXMjYd19u&f^N#>pjS zUnRhx{*oP*C_TQUi@KJVlyrw|D?_t81OmG{xmHOS~S?6jAEP{jW409;xV3`T$i;61vqb%Rx zS7rNvoWO(VfoA`iW0fACE+$fZige1u-cDqJC_z(Auf?6xc<$|;%gR$eQN@sd@FjJ$ zcCr)E#?#8p;g&w;>xKEwDOn6k^gq27-?Bf%Ty-FN`L!TY6In9km?a|pPwGY61*ZCv zA*Ya$&XA%ps#+77(|h!;D#IHv7Ag6X&a85X2Dq4H~ zN;vZ=e>0>)ORHW{)uZ90nZhIWpu;P|_0c)Xx|*j+&2I1)rhMsg2q<(V?91hhxuPmI zxLmOO)3dm2%>6y6nvh)V)L_Kk7^-a$;&VLJm zif82zt^H+N!s)9-9jBc2~H+evS^HF*AthdQ*Xxi8hD)j@XDF}F_qmgOeWXS*BV{801BIg|_-imxuVz&c*h%p@x zs#QK&tkF1Y^C!^K1o5TQ=ml)0%Its9R-ahyPr9G=DRr;;&sR~rW}yfDOI|}_n$#Wl z?e8xr*Lnp7?y@m1wy&J5*6u}*xCAaJpu&24%8)8o@$)n(JH2^^1^kTAqp3`Y5}k8X zMcwg|x*7U1RmFUlE)t!tHtJk$_>RpVf;7_BEznj%{7aHK9$7XsL3)2c$RU0>R*5BY zqF|`7b5YlA^VLC0()rAGt`tYE(_)h<>uV^iAsJz+DlsSC1h!zT& zs->HPD-MdqRDGDbHNXz5?>K)t(efgmrj%QE$oVg1iddk{#m(+kzH5Q;ez;&zsKc}y z&|(3>BVZ&GH9HLQt@3&P&M-?0l+u6C)5O4JVr=3HL4N2*3Ds0r+b|6DNcr0tKFc=M zWMFMEu;n=vX%!OdOk>9xw|P{DEMP3&8Tk(Nl;yP=(L~P?>imPhL&JiS2jrwDqb3F8 zE!d@zfmUwuprq2mSK&%mHEVnW=70ZsBAM<7tmw21F-y%)aXxB%@z8d@n4Vo}QMNO8xVr+%E9&bH|K{>3Ej%nSboVA|k9T zNlAJ?2^>2<4fzgcb&?{&Lhl{wDA#TY-XbG!OAFH~5v?Aj=3v5GLGl;FE%C5+!7F#b zNjRx%X`D(_`Qq!Yv-dP@A7Wixq*tg1wksZ*uNRyJoOD6RMiCfZ)li)BnVQKoH#m=P znf~y!>PO16;Dz8Rg#vP$#vcV{8LYUFq_ptE>e133!S|&u9)41hUr*-q&f;RcrIzVZ zz+cJeVf}1Yo$n|bLlXwqFcC^G9cHgsLg1y(Gu5WW#7g-d4}|v);1YWNj#IbW{|fiH zgGA%YG@`G(>G*30cfE`4Ba!`f;}u1E2Hys*?%Nw1D&g1LFT?1a`8#p!B`ntR9WiQQ z3Um+}-(Lc8c4q!tIr*EP&D66EzR#Y`4zVcIVeyHv#Kh%38rmOCzH%@2!M>#P1))=N zAN<9mmD~f|U!iY|T6)!|=kP#mSPADU^;r?H$oAhk7?5&&YV2}LyBl*2I$tL(F7!b2 zb?G8gczTXg<`do9y>BUfou z$)MxT(@H=O%)So)a=EPIaU}s7Gq-+6(OWsd{=iUc$U;WgNor%E~Z3WkFP70 zSQ5^d3wbJIj-f4bZ9amCS5Cfoa4l63d7(>3yfRZcA4Z$R$z(cwq3iYJoDHahj%^nT zOQ@XH-FN?62;-uOy1LOIhi`pf^*(bP5`7_NrXgd{>C?hiyBWU#>~pKL1mY?rYZRv% z&!c)F$03CWmS}T}m*yq+uAPiN;Tl=6VSPWUtg)(!Jr~3KZ>Kj+GVtNTo8iSzi9d+- zPiIgho-XT@9L%F+SxsE>eb%U}t=OxYqC5f%D`^Ijz_PoM^3Wdi{VY&*cq=C9CW`{Z zpHq1mqIu4n2|qwhrvP=TFnkezOaEq@*61|?D(q@}*J$nD{Dls+z6bTDy|$H%9}fH~ zhXVtr&xFpzO1hSjZ|FbrR2@3gc3xEz8gd0@Qal8-P!E+dyLGE+_;K}UN(l>I3lqsP z@(OZEK~pi28s@wz$bma#e5q z=(HG}qIK^QDi9sA>=V&?{Cw@9i5DwBEnVaP=KTkh1=5jGcAjuE&3& zmio7m&WE9Lw%ZW2e*+%Gw|8EAxstAn}db-s@$|jmBS=jY$rY6U=b^!m zuEgD^D}o$xn`9aArPq2pEJvSRaiS`Qh))h~Y?>$8&MC^lpoicUJoMtCZ&ueZr+=t| z!k;zoSVjLbK;|ONIe4)#xVGN3jN~-boai!;_9mv2_Bb|Ui2+c(wKMnrU1645ZQwrs zlTk@lmtMO8BWV?SG)(;S@RjjdV=PdBPS|8Q8JbRF8LecJ4*H+&0QjL_tlEF1!G6h3 zuu0g*-pSwTM}Kr{IJ0T0IU76Y#Ax&&?iS%;t%+LRoke!z;zeV#*zUP4kNSo=^W8m) zSH@}RVY58Km-gW-m`P@3b5Fj3y&TE~=~2qP6x~r=WmIk;{W6EX6!_;X$;?j{jPG|l z3D12P53$Oat2N&DmAi^2@I{IvHtF!m+C|Ih4r8gOCJqH#I@KKqa# z{0U--a+;e9hagPI5Et)qM)Sol^heTI7TIUW1+~wA*07UsF#Y_CWW}v zTPdJ1R>N_{cD$Os@A>5SOLRmv((LKLUKS#xjm97>L2=ra^Bm+TxO8d7?oRR%pk&Ow z_wJ&E0?Y(aZjm`AYI9qmSF6VhF$)a0qy4kJsryeb|5&}bc2~6Kzc1|T@ulnP-umNp zvRUN?Vt^bBBlsO?@dbIl9R#uNmX4x_zYT~`@hG>As|i{I@oKy0EXzZ`}}&< zViX7@eWg$&c{;gzO8e)&f50R(mNE^6kOC&=EH-8y-)0t{i}Jl_yk14@_qpm1NvRiY8KtzM>&B7;t}8 zdUP!}p>k*2&dVW=V$^~~(3&5|A6LIV!bDbl`b5)$fVc9D=oSy%hO6WYL1QjJGkRuK zTP^IzoU1j_m!jL)d-QB&9--**ns8NsH}NOZTmYDhU=8OW-Q4n;F9nCEiO9XHj)}yn zUg(I}k(tVO*!FEmr`Thsti;-}4>+zXlU||+`hk|9QFxhCL@`tU6KY$WxA`MCoS8=b zYc#`QrOZKWgIe`~<0!h&sF+5RAu`J>HZ}i7mexbVFf~)BT;U*4~)kAI9A{THW4jU;tW15I(0|?Q-GYXy0GpAz5!% zh6GRAzH;U0zOG!k1vwFtF)sGU{*X?kR&f@v5E6=jx1_na)ltZgCmU!+*OYFmL}TM&3?FACrcO zX4m)JEjNpNsr$dP%g+Ue-D1gjkbfiop7(eB-iM)eU&)K6+Kmts3(hL ztK2I%)vMa`Rna{=wq->{XDY5Jh6u8#^yu9*$9UGKN33avQk4 zz020qLrr%qS^hANfXX3sG+!T?lnywFFA29|Jro!)EOHjH<6=mzXP1?Sqss>@leC55 zt&u9*8&`F8TXv3|W97>~e)vc`SRei+Tde>D&Q@#I!m0J64U8xXSmxLl4`LWIrQChJ zG3TE=Ir&@GxG@?l!ymyLoI0g6l>lV7MMs`P-SDCSe_7D-aHgn~`=I=|tS(T>ThyT4 z><;R$kzeJ6hiDG*RcYEnW=J~4c?Fa~|9^)^ZCYLOdn`1o2cP57M(xIKPrD-4fX}wnE%$-e|Gxa!{qLIT9K(L(DDDR<1GNi)Okf`ye<66EmZudy2!t%6)P3 z`zDPiIpnkTqQ0z^qMY*E!CHT}z$@Edt>)qj9|$KMq)#5+?HBK^XbGO2jbCXx`2MeR zb#Q&*a4WAW`W68Rte@$Y{_3WK+&<~GLb~#pV-{UqD??#({uj|eD70Zc3doG~{=miY z#>kU(iig_WBrBVO9JUug>&NM064|1!oiwtY`6Iv$85NBo<9giQH*Yv6-9(;Q29ZuEiE^!K zjC#MyceB&7K%0sFup?H@nYwhmI-0pBSqet6huXlf+*ClG|K4jF{h#|UgMv9xL8B4q z=o>lbqft9fwLYzrNUid1(0k;+*~%<^{7)gyRT+88ROH(A_Qt)2O#eT>99~jgD?PqV ze;B8pH(+QEwfy&UTdi_5vK`p5a@g1R?Eul04n`gDOtDN*I*txt--j|N3?BG3G;h?J zm?80|!|XkO*T2Z?*nqzGo^m}%Qt{69m4Q-9CQ|IH}zT1N4)J@q&c%?Or6J9lh**F zGG6j?eF22^+Y9?Y!SJe$niUVxFl0IK;Se7k0ohfqNXq}GRqMY->Auo>P7|rK6*eAf zgR1|}_S&5iO&rqkbbr)AB{~*;`dnvLI3yZVtoH~?a9xpby@fhk&$t*`r8_C(t>~HV9vB^ROzYb-4Q0d|G6O9C!Q`8mXpJ? z``L`t><2PVq%OD|zqvu1vfNn$0`_)U zo@VznkTrOp?{FjI08A{0$hXYG(4zSg96jB9s&q>EOWtqrONa}-m@yDah`0`hGHtZ4 zq|_zgU&{fAF9C40^DZbp3sZyq9CST{)nn zW*jJqz2)zFuE`-3r$oE45Q`)Cc_td(i>NS?e}6g!WIV6J+b@MRMqeApz91GeWm&ALm>N_Bp(S%X|Zse8a6rvP+UyqGUSFMt*ur3q?|%+qR^ zm@;62mGh5&XSk)#(F)KmtwLJZyHa*`sEY}T=!@F&a}0NcgS(r|rdjRHmo#En5ePYVDV zGh$gv+PYObd}nEyf6E{JOuRp9RKoNcf`B^IWpuLwS}lL#{YyDb9pVUHbG6Pi%z-Fj z`to;t&+LtONuo#mT&-hO;sYC;YVl7;_hA+bRN&I|MuEC2T@1|?S84Oz(VMK1ZSiDF zy5NkQ8)Y3*NG|1q9lF4>C0EGZ^w2LYSAIBpa&(-7E^i^pIEToOqi>BG%nJ3+p-O)` zCO;s$Vmsa5kI(-0>Bapgp*9b`{5NMnR;YtNbr_O^feGDWvbbus=_~apf#y9=hVrLz z&e(CzGpDS>TjyU3nr5)WPpPSKHW|8CfugzWr|(!5)^n}KWW940^r-;a8i*d+DgEB} zfYVcSNj8}d^83s03VsQL#8b8iX!(blCo86Q`_pW$It;XdD4`pXI1j4;ce{m=xZ`sS zYHP2q$I!k0{GrBwZSdFVojZ^*Be5C_){oZmXQR3~It=aBgR@%7q}Fb@vTF270!XYm z0T|RwFh8!qRsZU7cCHvKZZFy;U=B#=kb(~n*^bZ!GV87ohMfW`X_0+$zn3-RI5XAd z81m=E{dfcZiy<{9vhj2;g=s7Y!G;h*0(I^5ANt_8mKua|9okFU&0PH#r zu6%V%!<(W~4m&a%_CVEL4<(`3$=73zH7<6zh0M9Z)$<2e%m9KW<;BIue)%+Srr@9T zJ(;7_Apg}EE0J){_XA(CI=VWYxP#i{R!em>APh8gAB(V+{B%soPZ#q9zQdbwYL0{B z^1@+6q1Df?Z_-fz(Qz9p++M$+ zhSSviuv4*Zfav3L6J25%1&FCA0DvSVyVq#LE$spJE^M5G0q0L@(|TXcWEXF!c%@}D z<`Ir!AgeaTLye6ezYA^FyPvgco%UN6U)=DuAZK9)uMuR|fdwTNQ>my3BOQW*o-P^) zm^U(3ifeek{pa|KnF9`_!u#t(cn$^iO!4Wp8s4Yb;~bU5=J@f>`vGQs40~UgFwY^} zA9$7F3YBobrB3S-v&jjHd%bD7xBOJ7bM$U>lt2o7T&saY@d)1o60q3$tk?-P}Q>QW*daV%O+OhA+^Q5dg zinF%P-P9iaB3(HCaZYgdzuyZ=wI=6IagnA?1kB4s>{CjI92KTt<`8rvU?4JJ8v4El$ey_j7tXMo;#%6A#01q3_E(dvYqd92Nd+R2vYL}bW6X7 zH}-4)rb<~OjY2=CovpuFtYwNYA)a&Fq%qjappsImQw03%-d@wmXr%_T>b|+#jIUTl z5qXA_BWdO)N<5-$v0iniozH-C7iK9EWl@s$9mt4}6}G4_4DeO~Lmy6ACWrkOyylV&atXTTc=AyPX%pbC zavoniDU{5wKsKvZL7sZ~;Y??0Q4w0smH)~aUJc9Vq<#?9@6jsUK@twXOzz|f2AmGF zgoS|;EgJfCPOM(lQP_CE{zbk+qRoL?^HLo8GVJp>l>-ISK#w|p3U=r0aEqCdrM>!Q zGx0O@-C0?kUfWmAwO54+-&iBrQ^%npehplJ9bG~bBGFw>^4OxTV&XkIiIHgcTKUSM zbsx$UMM3iij!}20`Hq(a#kROj0|)!@Thtb%RI3$o8PF*|_pVo~S3rLs9325Znt3;X zwy%({v%Vpem)kWPoUQ=wx(pGjpy?{{eCA)>fIZGI(No-}I1pq;P@=d^qD@qu5M1tQ zHUJm^l+@2?N*0TuO!hS#EzcTAT2_xb33u@_b6bBZdWVH4eY2@niFu|lzj@pjc>Fh1 zMSsV=O{3orkg-ha9Ov=b!jIK5H#4N~|(Wh;+x~27818kF%@UUYQFl8GINI9L_WNqz^Yj$c}nbNo0Djrmi zFEZ>T_BRE6@V#HQ+Stsr=`WDU4E0|ANEMm9_Ksl>w)PuEjE)mF_s>3Zp4 z4*hIeE$J|7sGfySQ|7nutvM_r*^X{#>o&jKNP(KO$exf!UQ8DvyFq#M>-ms zuXXq~HuNVWuaoW6RMRuWYRju0r>E^s)%uzF9FfN7VT{m&(7!x4evI%c{U4wc$Eh?P&RwRm3PX;M zmyXqC)<(os1egP*e16v?T!(zzZH{1iyA4P!a1`OsbpQs9J?3@A)1eu$;{88&<~X=v zcMZ@5aL8ugf;b!fGT%xTCJ0rj-bqq~x}? zCZhi)LZ^fcYESBj0c#NB#o;5mQ1~iu9QwxU=OtJB6nZsYTEX?*f2-TeW`!neK2j3( znn~S0vR==oz3VBBPaeC;q~6o~^Yur0#M*$uj1^bx;=&;>RL=Y`cM{}QKv}ZI(tV=S zxqu2ArG8Qb!On0vucbx%V?BqgrvPQG5&K(uO9*$$`;_QcT8{TfxObVU`NGy~MIqDD zA7(Y5eXTLgLYuoI%KRCwBUH(qvp0}<%^aRpNw3+3&tuy3;MBl0>Yc83^7qcw{^LNR zo5L2!gO9{rU?i{Y?d_e)spnkXom)LUz6~wz9IEHBwCXQnBXa& zU{4fJFFR}tiiJu6pTV!vUGVefm^04#zs*QjhdMHSJF^3Hv|pnHnF97sBH>({#DK2;`@HVm4rHhYJjR8wE z)~;qN<7Mx!h}^B(Qf?)KMK&rfMXHsxt*x8Kmpx8pNVxC+S=E51iF>;flPBl4e58_(mi~3V z?3f|(*bB03`81@f8BdM$G$`h3W{QgwG_8Zaj5E@3h0*Y977qn&F7>hK3DZA4u3wP^ z%i6l&>DLGijD77rxq4Js7n5IE!4$N&d`Tk7mV8hPp!$3lj-~7w(UuB$*u%g~R)v8i zGoP7(d%Y`5N_J{$;HVXWmk=L(C81k464dxtJ#^ z3mK#Kf-E7>+WzHC&BH<+pcl64RO5psyS{8fP7K12L+DNe;!D{DRj1@fUb5(0O}^-DHYJ8Vdl9dBw`XO;_rK`=HuBZmplkW& zW`-c50Z>VwJ5H6`)q7K7pyffc8!*dIjhC;`2+}{dZ`vO-UbFsYS?y5QTe$>M8L%rf zO)_i-Vc`XLE+twzt09-U?p;w_;Lg!e0T+#ZH{?Wf%~eJ1Au6AL{771`yQ18i zgeIiqfMaly$w0Fk*WacE$HSglf{EWZdnU0GNd2Zh?LxgYrf^IIIKNHH{J>Kj9KuMt zzml3Sr;W3)*^>|9Ih~~aY1~S znNZZcLDvH5O#VdwjywF*_6h;q%lv}oW4284Zm;^042^^r=zkz73_(-yz^Q8tSkpw#`hk%)6?YK0om(U# zXds_+xHos6>RVVh)xgqvPJq^v{Tbrv+D{HTU}m0hTe8*ntukVdeCCyV`(=cmyYKBR zkXX<@6#=h0P;`-E?LVfAbvOrx12mW^&!7Q=I}Y?8WZz9yB2hwiN;e|qm56!#;(5T{CRmXZ+{a;hG0 zo>%WX-kb#@%9Z1$1c%Da;-_?U`40DUnuUN8{CQ~)O(4B2yZU*a=yxJxwZh5O6_9b7 zsOvfVLrjD%TC(}i_ji^Eyyj@dd;Wv>3Ag<8`@|RgtIZ~@N|uS#S7~o6RlEO>rt^-c z`hEYnO&qI)I7X6A2q7yoD>HlVJ&&2ag(!p&vRC%XJhpTQ87K4DvNDdn$M61pACKSv zbson#?{nYR^}1fK=VhYMV5RW+wfdmFP(sfg+Cj5Vp#&qsI>=Jh`z@Gwm!dy-a()d= zH_!3t#*;5}F{gnpBX8UOH~R9RnO7|sdtAbj%yArfRbqMxW-u@+$d}9mL|y2=X+O|%- zO3)NGsQl(S6-1XU35%Ds$^eMrl}LsPs|GTj;Q{obzxH5o*n~a#*S(c|a*3lwFVW|1 zwi?>wlASIr?#vhD4z_O4TZxVvZpy}-t(n`?3XH_@+V-qN0PnW%_7WlB48$`|NuV4W ztBf-Jm&M{+4=&PH(o*vm}QS9 z*s-Lgo6h@e|7|}NKLKgJ56*B~kLJQ;?W}bv3a7g0ts3wJTusdKI?Lh)WusTYw9-{j zQR8veYigxJqulp~6#^NHZ~a>ty`4M|3mCu}@G6U4nQ(=TI045VX%x<;GF#?v;mkO1 z3HN`0_wyZ!+cF1XLk&HkkhGN$e<9qCw(zg!p5O6$My+H8`@sW|O#l_HueCPCnV9B1 z)XJzws!j0|IVXWphu&1($*p4$f7AZV7L)h5RhDW&?U0VY&G6Ztnhy-x z>bK(uqcYnK*_4`OP+Ks#piX4vP22teV(_EnqCed@H!kebZ5|NVO>qu@1a^hba@Qqh zzsWfKnFL-4wyV%_X)rMRdoVD>Lio%(q^X48kW`-yB+6bR<_N-{4aP`ed_M($Rkbw@ zIzBqH^K`f1%zCZP3KFk-`mh)fyv*o}hseXyS?=7GRVT41nWR@LbL1TOC=-PnBr)t3 zGd5`DQJ7fZAR?Q<{H#=~Y`~Ge&EyS*Ph`;|_4#A?X(^a7S=6EJVrrLl8V4R6_~#|4 zwX5+$+U9n@g8=Z%&V$H2{ySkCr~Y$rns=VCmvZSCSBwhix%(r1yQJ>|5_ zmr}WV@Z8dI2hg}ue<;+b7^NED^z{0BmsQiAf~AL=uD09}gvjL7S(ATL5kH2IN+!M)6tum=u0tsE&QO#KQNo3VaIc}Nj3gLzlTfjtKBix0y4@o{mTg_mO z7lp7b{SepdHa(9O9O}{GS$9UBhGOQ@4qcA@+YlnF(moUxQa@fg^YKXzl_TbtGFzIq z51WKj?D?rufYuzm)~stVv^Jk6rdk}hyY?*0+BYtoz3|}x8N%7qY6^206E?C_8jjy- z_Qvj$w#4fmyZV_t*pv+RcQDi?5k>NT9I!vV3>dQ6>Px^CuPQbui;a~F$G)ApAP8|{ zUjOnQ^&Op^(P4eEJ!FdAa{c#`iNKqImhP*l+u(K_Ffmr$^e#Zt=x*|FuU_s+Yi^Rf zo>5*2qcihlE#<%O;fY0$Z9{4GsY}7<-=;0$)92v|_cAja?m#PPGp7=f;PnBpze-zfxzXdaP;bx;o?3uGS>rZ|N-dv)U6z`LE9UB>NK66ZCDy*XZ_g=ghF@FERx~-|W1WAfaIElE_-4ai~ zmsww+On_OlcGVr#er767wtF2f!7CtulcP_CKkI;h`s^$^x{ZhG1z+o+fh>EflEyhl z@Nq?9?3oTP{T)BdOSdCk@gwmng&dvLU)*MjATs=wE= zE3D#Pp6>1*cl)jhHB38^>Ja5H3OtqD)2l%{aksm-7?s%Y>K9Hc+tzL>Q&*mWq!#s43Sq=G%%JB@>c>H_C977ISKhR}+a|H9)@yxwE6an~(*f0yFHcp&P17D!zwox4mzh$-0+oUb zG7B?uSB>hiLNai_0~^VE>&AvJtkL^5lpVujyrOtPNa_!d8=Bj`*UmW97ZKhLBLq>JFX)^=knC!OCGphh6G3RA(W0S+bLLN!D$sZsdlRQCw3 zrMAK+kFpdpRJOmT>sHQ*`q_2#n420K#y`>Mw-U)xev-I(9#OdC^RHr{uBGy_wUQ9? zaujpyY3wbM2|N#?W#PLxR0;{Kp(_(6!+kU{VVy2cKNtfyg1&gC&4=rh)w3phoa4wQ za<}`jW%ggR?dp^{)7^$w-QlmL#9Q*6-*lDqFiuIfse8&%n?}H6_YqDTnFrgq0taaw zgmmS@4FfU7zzA*R1G%b&Mm^5J_W=x6CnTb_HG1sh|Ni{N8!>W0N04;qJYo?N0U7+) z{J_-X#Vkk>k>0Fbp+hhANwNMX59Ir*H~mA0^vJ-~;f^qiZ{rTy=_-*$4}?a z+Z*sKejp=1zcLA3CrltLhXcA$8XbQEr-DYk0eX~MFurbb3)@!-<#{#&oIAUoPI*`= zYQ~eG)bqUPG6YbDbe6JuQ1s&qKw?;U7I~IPXeaw>fyovioAk`*$1CjpUsAqdHQW)< z^H^@Wk2Bx-hN02m4vtGB8lrOQAE+{(L-5JEa2&qSJn)P*5&(s6uf2n=e&mw_v#pGF zJ-pFT@e?IpjluKuq9tGQe<0_kpOPFpzF3{aI*mD%BnOp~$PO8@7CMjvn`zXei*aqzo!jkUMlt^qJ|jr+!8?6+4cT>-4dpHrgq5C>wVdfsVW& zTqe9aUzGpMx_J@nn~h{3CXloQqfwy1mQCY0+leOR!NxGBQe5|Ysj(v0*#s}xYDpdcCB^(;PB{un0%>h^>USAJerVjLCC($cQd&=sMxU2?z2 zq*^qzafSoQbjTW3sqSJeb}+f`e8ukbWb|iwrD26vg-$-q-TH0*yd5(&$?zey5|cpz zaDF?~Pi&F8;y>5@YN}za&zVxDyH4CY);$KEIa(DI$p@v|OVdE4izPYJ)Rw!5Y^W}X zS2Z)(nWfv(C?%G|K+UF3b+7IwK$|^9Sscy$x?=nvsXoDz8Y}kj6&)X&1p_@r+d7=# zw)L7Q^Zokh<;mOKew{ksgERFc7hDCCTFzoVV1hR6?0=paAQXq&EtX@>bHD_7j%5XL zzFap603~PONfHyi@(zQ{4v%d}7l)eNKT==9g*lmdfVep6dU#aXqIb6AKYvZcbAu7{ zb=s3Iti{`Ygwi4uAgd#TVJU}^epR5glgvH-gBlJ~o8q+G#WG6EdtHS*25^xyt~1pr z0IoX_)veT0r}DjMPHkhPLDquY#~4~ys*dc!fJ#=WaBO+(SAsMl+fO-0ze!v+(h|ee zHJugHvmbwEVy{EVF;!+jUIK=u1`xqWFO%QOWq0jhT)}l9HDm{fxcM4Mo4s?m#I`_ZiNmf;~OVG_{dSeF%!MqR1_$q8q@^%_&xSqj3s_`)k~L#F@XKc;Zo@Si;}_!-!?(B# z^J#Ht)F^p{&)a0l;pn*UQ>&E-(oV&wRpH-ZdhX3v#>Vo5Vi7<;!moiTq9E)izGCv^ zOuP`>t2dy^0R>U)c_F#j{)S7y$vw00&NX_XjDo{8Wo27b3j7&Ez_17RmXnJN$6omJ zqiOcjTb0AhfY?aLEFP6KNJ~V`O?;vUIw!o5@M=C}frc!isF)2e3q2b*Y|`QOcdyHb zCBm@6|3o?DUA(!S%DB9Io=Rc=p;05+{K3q|1N6R3{wOVR)C-k5gPNcY@^Cm5nftJ* zrse@zREVuzy#+@Z5Uepj_VY_iZFr~q)V@tS>2qF(EP%eZ^Ug1LqdBcZWAq^j$ChEg zM&U_c`03zw8mOX@74JXUlk8+d&otc0d*GN~`foyKcKz@bH-uS{pO@eJaH8!=TsJ2r z-rMw|&=pfBj``1SpC*lJ|+S1C*!WCv#<55CIR0-Zg{H0 z`{$~A9?_UX<6*?zNEYxLf!FOw-i}1tdy7B^(%YX`3+B`h0UnYefC!iKlC9ycpC< z8&(utVmUC#)3KE$)vgL~5@QT)~4t8^U49fsg_ zQcwEL8;i%%2I>wIwJImAV_4iW;-G(!JKp>}S!yb@?sjlyv| zUM>AvMd(dEHzRFCOOdyTF-qvJ4GsWXY5nIPb1(Ee|F^AF%nkor)^V5?-!%8zs~8u> zn8@nIdOnvXw|RXt*Hf+h2kp>EiDzv`=h>JEk79YM88FDJ+^q2|nKfyeh2z(nj%db^ zzbIE^k<#N5*5s(ju$LM?l?T+%vU)trMn8cpl*ii82v*ax2az^*HbT5wFlwblK+8mL z?p+41xyJ)po&x9uOV!+56;^f4a9swcr5-G@Z;n9f6~(xVSn1EdclK+8>n;8xebBh9 z(d^VX9kPV$h`kX$M0Rm-U{DVPeWkp<1b~}521-($;2K}r_Usi-WG+amX%N0-+dD>^ z6MOpq%v63z{dY8q(Gy`z8|em}tWZi?c|>?JB$>!^=6!q_Xe^kc3%+jd*0<;KZzOIP z1D`xf;88)nbaLe~Z6lla4gW^xSytz9NF^20PHe+X8^gs_HOO5q7u93-uypG}_jcK( zl80}t0wDIB)`G`c?@2^5$M~*;?&A$GNTnzULQ98Q=^Ug(d zG&3*}<1Z~B(oVw>q;AHbEpqY*!@kYwdFr__^f`nf@S0(d@+VE_SvCYQSR^h(t;b32 z(e8Hs>xHJ78Sx!vZ-^Hb>`l=kwvmcAYTw-Jd6TXgcSB8cp}j$VE+;4FmRNY_{*;Z8 z`d$ zU|j#Trogm(crlLAxVIYj>qI;fSv$*xFCA|WCw^@nrbb2KlokbDMSBOX#<%-y{yO$o zg}#7TA{7X#hO?j8R#cGsjgIi&f5S@7Fm+0Xxebz_i|rg?B4(6T|Cm+N^Mio)MQ@^3 ziFTlgOWm}Ee#5+7Uo8%2>Kuo_fA($<==y#WVy<$`savpd+~Kk{3uwsTVu+nu`}NPS z5e=L?2(Rn4s-VRh5T(u^*{av$B#V;X@w&OVC{t^I zwU>nWXAvO_jXlzbrX8pG$@QfAI^w6BrXGl|HayfrBQ--6 zpyfka&=UCkdd5}J8n|j84QgsiyrA2`KP0wQSKFo?zGk;3i2$y_Sa8sYb`E1UBHKqu z_?+D9xR5%O7Gpf^RZ4xx2`t91i==Zq7p<@on-_ya+lP6}%VD5$LT%z~bOc$p>r|~D z%7!t^$;(S(f!nAPgZumlo`xawm8>wyPX8+8cec1ULJ`AqX=4NFnVOv!_t+h~y;?fF z-TT8aoZWnY&b|O3&IOR)P&QU3sgK@Y;#=qT;H=o3`7ve33f0h7p^DHXpFcfG)-Of@ z10h{4$o%=nwe3w58nyF4A7s%oMJy900z7e0+q|SYP~3rr#yKDY6^JQ-deMuPe<-{= ze3)K&8Ia|L2)qq^GC3g_^=K(=v)`z)(*qjAlBqgrvAJMi1S}DqD)rN{k|Ac91&)3~ z(7Sky$bFM4CJ25UgYcP)gpY^_)C=+TzcI`y{*`!fPfc^?)YM0B?c+I2i|z2AAFiz1 zUd?(bqgpCErIJd!r!JS?sRg{-?2=uTGlfstGX^^RE|#;RDSuel*T1wK?l|tr7QOtL zK{K`qv7U=IInx>R7;>Di!j6eDILmlQ8k!#-I*jPRjrwksf;U6bxXAhIB}zID@iXsvF+f ze;kiFy%giyxF-d^4-mB2qwm0`}NB+yjcm=!pCGE;iUMvx_!W8_W1JU@>7GF+H2EAit2IR{w+bfPesN9K{{cl(cKYOQla>E~ar*cIAm=#&!(iV8!-OB+g*1hxA@cY6<66If# z^ZHDxyf=SsCr{I7s%Fr-$|V-KbD4gd-0ICMfGHMgkPuwe`{k>_@UMc(?rWy2G(YTd zT_|9eYSVS;)0zD>@|}}oeWAtZGkes@a1QO-v5y*6b91%N<^hnS?wqxP_SVWnt%b9y z{Hda5;;*Lhn7paDP|5sxkl#4{Dr9po9S5DMa->7@etKZ*mke@Q0l9i5fBtj-{xdyC zG6kMIicgNYTaGJ`VVB}81Q+vPdM2w*aJhW^Oe zj#)qy&uvmGX>jRI35p$OFaz%DFsgpt8N~BA9k$2 zn3^K`BT&RYtwj_PcfNX9w{W%lru}>_`yKS_n3fq6b18(8wcqn6ggacCk@ZDd+MOc1 zriTM_@Y84{li2OVeT7ms)U;aXq+K7L?2&()CmRX=i;n?<78%n{WIj}*OMn|YU{(9% z4fJv*X@M^atF~P9bj-2iy!lOwkt!DUCpk#%J1G~IIxHTD<);QXErFgZ7gq&v-Yc%U zvl%Yxu_gCk@6rTa&ykBY1>Y)nVjKlPltNUF-)!~YUYEDI*Ob&qhD+gJ0ndwh=; zZa2#=i;=7)+ir+l`A2(KOSqQ+74evY_RIRxU^B^%Dssh*@G6Me7H6vPDS$PG(gcXV z5lw(ZNmFnV;ofuQ>{}-RR&ED}?p4oE?~Z>~BwG}opbiDy@;zJ^Al2X9pz+SVmw;VR zi}g7-+<$*;)eB*H^bufFL>Rn;l0=ctaJX@r;nm3HyqHg+m4375`LFF*!y%i?QO#43 zw{sG(?RA3yLHyAj5RFx*BFL|`(mzK8pV1^T1Ehm81+e%-hp+b{1Ve+^27aA?Nd0Zv z)Y{ro33F#jEB#YioA*g5OWBq&_*D93w;y4hkG9HV1$X&|!8oZdIj2ML0p-jBMMOt* z)TtgosP2SSPyd)y&F1rT_BlKG7{+=>p>*)~+_&+qh*xf>{GFWa)h{(dC*NcnqThpi zN9{Y41V7&c_uwNj@~geH)SJa%(R1&Gpwh1@j8lT7;=7A(9to2F?*-ufF;+0dmgTqC zuG$E^iy*Tiw5?P2mR02HN~sFKNn(mx=E#Od7#m+w5xH_YHVjIVfOj>v>BMDf*I?jZ zeEKddDAGLWWq=umFv~}9Xr#7WXj=fU z<`Z7mp;5aUpe=*Tq(sO6T3kgP1YsR?n;e?PXSB!FcsfUXnlbD)7>#*H5krwK==VeB^!FmtzHvzaF)^Kzj?20&Hlw zNBtqfoOW+F-~QLCdkpU2C4%=aP%in4Fzn&{=m@eX6;16_)RNyi1i*SSR%aK*EoqB3 z{c`ncqjCOV?HPioo-yY1*;MxJd3N~TDBG-#DYk8!LB%+IEkM^my--6o6yLj6@F)~= z^)%8|lJJ9G&Zk*pX90c#1)hpJ=YS9x2qVH-z9Dy52u+xu5VDi}6?Eey8KIU{kF+sU zwQ7tW@#drk{5k85<*oExF9Z)&#l%0H;fw~^wdU}P0uvV}xbqVY`xJ9nqLx(zu&khf z1q&W=B|sv&9^xRQ36f7=)4viCT!F@J^b=T|0LJ##=NGXN*Wfnnr2K9ajvrE53fOTm zWBkL0BAFFhj!SAIfoR_$;t#52;}dUjWhw0pG^y@P6D=}Gp^o6Z_m#DP5hIL+vqutM zR%Fk!pHOh{&j9jQW@Px}QY1%L*R(Tx8K>i*`@fPK=wMQW7=U!i0m%Dp0~p>0lc?s4EcRKf+y6I&GBBZ zS!Wf0M$$dYTr=j30j0+Z-=l3_@Y3H8JGYEyV#>&hl$d zJsqmhb&hdB8yz~3N&Wm$q-AgO6{7u+`9t~dr?^$tUH*s3K)W(Y+zi&6Nsq*qG` zB}=c=MZADV*HYe`9S3yhT^O~Hdc*i%Ar0$+yzEO1?=Flxw#Z7>hv`glAXhDPCtg)0)nU` zvEJMqdQ0rrkV|8zWk(GvD(&eYas}@CRK2lNHf$MXll0XAOHK7AE<%}ca?%9DYSr_p z)~mzq7snwB9%qZ8K^^N}FD1^)nEbX5#`ERLx-Qn-5Dg8>^oE9nrx*s-eT<%!S@XsN zu_WpRr+TQ@rCB0JOx{`!meW8_OfKqog%M4q z7d`zF^ZjKe!sb(`@uUC1FCX$owvJ8wfE{$Cm2vp0LY7MQ(Nah`>`6SM&*rg5BXx>u zHsZ@L&53eck2s3|J{kVAND=5A;D5EQ)%Vb~Pe1XU8}2xw>lw4Lz=~VRHKRBfU8EiU zir~4+z&Q0FaYaaK(LViVa~KTlnE1A+t0wDg9dMdHk1jo&jS=0beKZm}nEaUUV%H_gbEtaRwY zOx)>ZpvTv@lOMtG(lP@Ld=l=AV73BWKg}8p(PUy5dnNzD)c$*B1NKo&MNdJc-VPiJ z?T?}%QDOO`=6j!|IjQT)@C%9xlm8Pbv=ODO$)r74F=YG=fQfxFqz2XEL^7Br}25f0ukXf66o2Z8$qpl(vkfr_kc|C|1kS^`-4WoD zqq6B0urS2>2?nz%)>g6!1-!$Dv5`hqf_`n{7BzdKAQCx{{Oj!ObrrA-`I$8O!=NI* zS5vvTmpDP(%Dey@+dCEou}m=smc1RX&}4zgT-Q;I0|}Wa(;*gNh8<_mCp;jj0@h{z zm=w!C+$Q0?RI4;^k1TU1j?u1TVcoa=;Q*fMS%66l3*l2StlQnDw%gXBDto$u>atSe zUwZfcek%ol{FA8QGx^@cA2r*1dldY0#7+eH>h-P>^&(L3>Cxya#;HK(P}!M_Nt z*pVsGVtIPE(EzlHdckBf*j+UVtRUItinH+0W#`xrSX11>R)iw04Tf~;#(9^xbF_V= z1PiB~&f9iNqW2{`<<+ffv~2X*c&Q@!+7VJ@WOhLvy6`?g(O>cMZG%&&gvo$BymS)5 z-@kYYc;KTPcDxty^7)(<0tJroX``(5se8z{FO`2^5@V^L;LkW;SPAn|0c#E#Fj1s{ zzK^W2`POZ=#>Bwe%ukOO zDhTPZxhJa*{PL>B(mqf82+E$SpjZ+{jV+T#xOEz>F;jyVLM z3)Z+oV`Nd^joPv1kY0!+!PL zMQwBMDwt))F$n|2ygDBK^L+rZ96p>} zgC9U&iV3%aV=HkIAj)Da(u-bXJk!=rDmnUTBT9GYLl_qOchKsfw~pf&g=J9uovVuV zMUE}Zd#c6Z)@kF%Q^$rJd`XX5D!D7lJ)lYnRBW^kizm=w`Z92hP$KALuPacER&@U?-_-xWpHfh;?>icyqk|ZPg@r$f`^-(2d@7 z(xVkV7UuTW3-k7n9_o~opK|g9t98tfz=Jf@8&Mxm_W-B2&Ok_nin-g_TOWhJmD>HT zPZmi8&XOe7lv>A+>wAn-X5Mv~uVo@5H8wpvG5&8G9$%%2flbxeE)&F z>wnq`rqgfcf)CC{rTP5X+|OUNjlM1#8(ji4F(gv{Raeds+iqtG&M;V%@T>|Bof5?5 zlI~pK8UDFEMr?L5X9+W&H1*q2F{9qeG6ot)#4D+)$rX2Da;BMh=4+SR%QqwuEK-YL z{Yj%iRJVE7y0Xr&2QZ4b-kLyUSNaP!4S|yegIGW7y7u>I4p5iK=Z|K`{kDXBAERp>{OV zg^Oz?05%gaO$qXe@`Dzd^F5-|ogu4x59>v?HGntt<>GR;UtPTB@2>e+Ne{4Rnoo&r z-^tigEDA%tpveEij+2JQ3wyq80|SorfLLkXY*hIXBF_T>jjnM!uaf$o?lI!;Z2BoR zXlJ#`e3(HZt1LY76*gi{{M%4QM?KX8V&B=y&Q3m>4MT8nt$KR3Fl4R!wY3-7OYRQQ z#K@M&Bz`ug`WH(OX9(KKo)OXEB)n!yG^egZPXZvE_iOoaWU0L%m7*vynjp=zoYpC` ztU0P{4yf1RgFND;S`(T8%R}lT?+L}^r8&i!)9Tyn{7UvS)_Flnp<1C6^|TQd6aF(j z{F@n%I`+(YxC@6u;=n2hq0Tu-Gazt(EW8*UKUzRI+Lb7XV0Er|3N6~u|F~d_8CWF& zjt3)bJg}OAqNW)1f9wR4m2Gn`qSuUx?!}I0Xb3>g$;(X~O7V>4?^gJz< zfi>dvqI!cJ#ln{F;GA!*ZLa|zom1n>shuOIwox@L6)>up>BpLQmW~C0a$O&1wk!-X%yk2*sge zpE0urh&8m)DZLA*Oh_Ply~nQt{2f%Xf^?+Df}LdGj`kDX?Nfu@CELl&g2q9nomocg zfuS37_^OkY*}ZTYjDnm9MH#&d4P+@lo7L z6Yx1Q@9i0Hm9j_XM!W)E4IzfOHa`En9?JBhp+0k=^RUjcQW3%6t*Iqk#(4VD<#WRi zG+f4qm!iOu4>m56hUjswD)!pcy~wEOxcMo8k2^1M_NL?UK<)6Bef>)23GOPAkYoMDhjWta^-Bt^L0nw55vP27-$XEM;^ZSn}2`H58;ekcRzy8>M7 z`|EYtS6@o>czmxw5B-mH`VX{+fJun|yqWv9BgeH#X?`ISYq9GL=e0`E*`Mo8<&&{w zN1#)(?GVaglV`Wwl4PHCT1_2~2VeA)n+hG)Kk3lrE=VrA>+VYZVHMoF*WFLVI}f1> ziPb}Z#${bdbVV*4@fFSgrTc)z%3UnxeAN_L^$ zyf9Q%&-872=Z_<$1&D5iiJGJMcaVubp*s2iqP2IFi zt;X?8!&OIA;3s(gBB8$-y_%(@Y%!aGNO!F|m?T zIv?VE*u_73Ta0kf4~rThfacdm?+7T|y*42ys57ZT=)n|{74vhIW8>c<=D_dne@f`= zj4D4}tPz(>uN&XTh6RjitLOQ0Vc8aa4RAL{^p2m8SAfqof8pjkjHuo(PzVZ^ZBZ#y zA_Xq5#eG}=%A*k-!2%0iF&mFD*Q=YRYn@=b@e`?W3#bybn~`fF+^nd5q#bW)NlcADnkTVC2c*b98Z zH^(klsG~nW&d$CKvAJ`WZC&_r+B8n*3KGV@l~tdx1Un608FZs{ZFDWsq|NrdBW-+| zoC91Hj*Cd$oqc)ztaJ9~j@Lf4c;Tme z<4e@s?v5q)U8)?0MAq8oR?uSJrICFOZJcphp3upgc8U&Lbe(dnPlpi&b0a|q4Y(484!c(%l<`5X?`x+ z6bj8J!uk6^)*dXdn{|kg%w-@U`a(giboWc@_Q^9X?YF+ZATK~9O0J!D{to|8Op~WM z9KWEH9p3Al*JS8yn8^C&XU4wb+N`_$+1-)HV`-c`WQ+H(s4ZwGc0EB~tI>?JioHh! zfOX>6X~XP8Hav^B%^AdDIWPe182RE8ckCwykp|+NH2i} zs==M|2~4r`&zM6W1>Vk~0v_C(2#7(L3d-5AyKHd?ZV?gQojmDKHs8qvlL z=C!OOWeiI$6RrnT*8X1$S&Gohc8SjGkS>%lE;ZJRZjQ`;Am$mgJ?Di!zZ6sZ7a<*L z$NJH3$EniC_p#f*sgJ{35%j9sfaFEn^ij~N*`VS+aiMLN|MZHxUt5-zNM`@v0!5Hd zx~~KrNG~&01$5QGG8-G085`1Ne@M^FP8@48fIt1W6gHcs9}!fK72e(Uftl$0bBHu| zYFTfh=i1fd4~3Yw2*4hI!vk@gFOiUQizN+#|`Q$?CL2bf!WAk;XY)><6-@w|QB@jcp#J?nLa zOW_IT0e!Sw&iiL6tm$B-z%1yB)L@-F%7{5^o7QoM7qKA(3i2=i#aNVhI+}w*fr1s# z#z3YDA2(d#-Jabb4GAz1>&&tdlND!L>Z?-#5J#9EFmG;=g4z;GomN(Dj%QKW)`Ypv zAG_jF7&C3;O;>#O^&;3yIxRyb%LDPh{I_i@aSo0*AG;14^nOp&i6EUKds@5S^;&}T<li#j)AyHZ?geVHU>8K}WM^m9U_Q%J>V+kch_KE{LT#>3US6M>>J0+nHxm`T+Jz+` z*Prz&$K(qH(S9@@{7$%YmrgFl8a4mtuXx(D!zWV$1)_!X8?dnOx@v;NzJ$|0-3z?l z7utY*O{R2O`exV7nZ_)!myL9{KeL0}s;7K*dv(c}W;>c%@9tfKehBzykk)8E@hff# zKl>o_7Y)r~bfmXY@g27Vrnds)lZ;ImJUd2{mw|FrXC_tL3ad3aE5}NLf^}m|0ZW=Z zD8hZXv``5@ArkM6F2_p_hE-64Yo(7_79)j?3`eP{xO*QuL*I3`i zU@;fh^BosIlTNdQ2&h?dMi*x1TskCtpP&; z4WgEX& z`u~nkXVmP-0FxcnV-?gRDGX5EJ4P2M&3S38kX&Th!|@4-kQ!$h0QOR@$5tI zm_t3-r&SKSHVKv|wB=F8I!R)V-f;Z^2Xz8=>y=c;fX8fm8_K5odui#WvJSg0XjSmV z>F&H_IO#1+2EN`^Mf}cdGVGdjx6!5doE#;dGfS?nP=qwZIps0ULd!w??a5%zDboUj zBG&I>ewAk9${n8rw1nT%?FAy3fn4ZS7nT%7X(=0Dn(l&7#?abw|KDUs5BiJ@uHqH3 z_^*B|Lx(_xH3n(pMzC@3@0n0!F8H-7*2{g8DMsA~WLqDI>@(_te-{_=K^MHp(cAq- z@kxiq)1mE$M9bUfO2e)0OCC&t!qM*x$EwMffhXNSxMqnlFygXpS929+NHdx@uS;UBVMG_eVl2~u zo6OEr4?qzo!5+SJl@g78KT+%sa>m`!J_^|cK;s1)q{XW)560;n$`WXwM5QdGRa6JHNlFL^w`9nuK4LSfi-YGK+)0=}-g~Tb9cohG$wv~y+#~q9+Lbtx*I5Iu5pJ*>o*)%2FT2lz!MVOOYfMRzPkd!5QW`f(t&JIyC9P zbR;Q2vf-+C7SlIdDz`v<1@IezO;P;^?tIuw2-`#NkCvBEBJ26&4D1?79dMcw=Sqh^jQaa|r!s3EYto?fOoRiZX2@Id|qkqIv}c%}

iuSgVvc!5|fa@w^aJO#EZl2MEE;@8@_! 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

4NZX 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

O0AFkQn1 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 z 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 v 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

U)~d>bjrX8Wu3|ETtUQ1mH6m}_ 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 G75P75vNVeT literal 0 HcmV?d00001 diff --git a/example/flow/2d/fracture_dissolution.xml b/example/flow/2d/fracture_dissolution.xml new file mode 100644 index 000000000..132c5a761 --- /dev/null +++ b/example/flow/2d/fracture_dissolution.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + library(png) + tab = readPNG("example/data/1024x256_initial_hz.png") + nx = dim(tab)[2] + ny = dim(tab)[1] + v = as.vector(tab[,,3]) + x = round(as.vector(Solver$Geometry$X) - 0.5) %% nx + y = round(as.vector(Solver$Geometry$Y) - 0.5) %% ny + Solver$Fields$Height [] = v[(ny - 1 - y) + ny*x + 1] + + Solver$Actions$InitFromFields() + + + + + + + + + + + + \ No newline at end of file diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index cc6b1a939..3bfd641c2 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -23,7 +23,7 @@ AddDensity( name="c[6]", dx=-1, dy= 1, group="c") AddDensity( name="c[7]", dx=-1, dy=-1, group="c") AddDensity( name="c[8]", dx= 1, dy=-1, group="c") -AddDensity( name="h_Z", dx=0, dy=0, group="HZ", parameter=T) +AddDensity( name="h_Z", dx=0, dy=0, group="HZ") # THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE # COMMENT OUT FOR PERFORMANCE @@ -33,11 +33,16 @@ AddDensity( name="h_Z", dx=0, dy=0, group="HZ", parameter=T) #AddDensity( name="BC[0]", dx=0, dy=0, group="BC") #AddDensity( name="BC[1]", dx=0, dy=0, group="BC") +AddDensity(name="Height", group="init", parameter=TRUE) +AddStage(name="InitFromFieldsStage", main="InitFromFields", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ") +AddAction(name="InitFromFields", c("InitFromFieldsStage")) + AddStage("BaseIteration", "Run", load=DensityAll$group == "f" | DensityAll$group == "c" | DensityAll$group == "HZ", save=Fields$group=="f" | Fields$group == "c" | Fields$group=="HZ" ) AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ" ) +AddStage("BaseInitFromFields", "InitFromFields", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ" ) AddAction("Iteration", c("BaseIteration")) AddAction("Init", c("BaseInit")) @@ -51,8 +56,8 @@ AddAction("Init", c("BaseInit")) AddQuantity(name="Rho",unit="kg/m3") AddQuantity(name="U",unit="m/s",vector=T) -AddQuantity(name="H_Z") -AddQuantity(name="C") +AddQuantity(name="H_Z", unit="m") +AddQuantity(name="C", unit="1/m3") # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable @@ -65,8 +70,6 @@ AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zo AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) -AddSetting(name="Height", default=1, comment='initial height in Z direction', zonal=T) - AddSetting(name="BrinkmanHeightInv", default=0, zonal=T) AddSetting(name="GravitationX") @@ -82,9 +85,9 @@ AddSetting(name="Concentration", default=0, zonal=TRUE) AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') AddSetting(name="Inlet_concentration", default=0.0) -AddSetting( name="C_saturation", default=1, comment='Concentration') -AddSetting( name="k",default=1, comment='Reaction speed coefficient') -AddSetting( name="C_solid", default=100, comment='Solid concentration') +AddSetting(name="C_saturation", default=1, comment='Concentration') +AddSetting(name="k",default=1, comment='Reaction speed coefficient') +AddSetting(name="C_solid", default=100, comment='Solid concentration') # Globals - table of global integrals that can be monitored and optimized AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index ace262f48..2b984caad 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -42,7 +42,7 @@ CudaDeviceFunction real_t getRho(){ } CudaDeviceFunction real_t getH_Z(){ - return h_Z ; + return h_Z; } CudaDeviceFunction real_t getC(){ @@ -133,8 +133,10 @@ CudaDeviceFunction void Init() { c[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - - h_Z = BrinkmanHeightInv; +} + +CudaDeviceFunction void InitFromFields() { + h_Z = Height; } CudaDeviceFunction void Run() { diff --git a/models/flow/d2q9_fracture_dissolution/conf.mk b/models/flow/d2q9_fracture_dissolution/conf.mk index e1de9f3d3..3466dda56 100644 --- a/models/flow/d2q9_fracture_dissolution/conf.mk +++ b/models/flow/d2q9_fracture_dissolution/conf.mk @@ -1,2 +1 @@ -ADJOINT=0 -TEST=TRUE +OPT="fields" \ No newline at end of file From 0713291f64178ee2278c5e3a3f62b44077d5ecfd Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 12 Oct 2021 08:44:03 +0200 Subject: [PATCH 07/39] Correction of initialization from image --- example/data/32x32.png | Bin 0 -> 3042 bytes example/flow/2d/fracture_dissolution.xml | 29 ++++++------------ .../flow/d2q9_fracture_dissolution/Dynamics.R | 19 ++++-------- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 10 ++---- 4 files changed, 19 insertions(+), 39 deletions(-) create mode 100644 example/data/32x32.png diff --git a/example/data/32x32.png b/example/data/32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..f4db923dfda50873c18efb58c6b987c2f6e06db0 GIT binary patch literal 3042 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 k>8JM|t=x} - - - @@ -21,25 +18,19 @@ - library(png) - tab = readPNG("example/data/1024x256_initial_hz.png") - nx = dim(tab)[2] - ny = dim(tab)[1] - v = as.vector(tab[,,3]) - x = round(as.vector(Solver$Geometry$X) - 0.5) %% nx - y = round(as.vector(Solver$Geometry$Y) - 0.5) %% ny - Solver$Fields$Height [] = v[(ny - 1 - y) + ny*x + 1] + library(png); + tab = readPNG("example/data/1024x256_initial_hz.png"); + Solver$Fields$Height [] = t(1+tab[,,1]/10.); - Solver$Actions$InitFromFields() + Solver$Actions$InitFromFields(); - - - - + + + - + - - + + \ No newline at end of file diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 3bfd641c2..3d770f004 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -34,16 +34,11 @@ AddDensity( name="h_Z", dx=0, dy=0, group="HZ") #AddDensity( name="BC[1]", dx=0, dy=0, group="BC") AddDensity(name="Height", group="init", parameter=TRUE) -AddStage(name="InitFromFieldsStage", main="InitFromFields", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ") -AddAction(name="InitFromFields", c("InitFromFieldsStage")) - -AddStage("BaseIteration", "Run", - load=DensityAll$group == "f" | DensityAll$group == "c" | DensityAll$group == "HZ", - save=Fields$group=="f" | Fields$group == "c" | Fields$group=="HZ" - ) -AddStage("BaseInit", "Init", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ" ) -AddStage("BaseInitFromFields", "InitFromFields", save=Fields$group=="f" | Fields$group == "c" | Fields$group == "HZ" ) +AddStage(name="InitFromFieldsStage", main="InitFromFields", load.densities=TRUE, save.fields=TRUE) +AddAction(name="InitFromFields", "InitFromFieldsStage") +AddStage("BaseIteration", "Run", load.densities=TRUE, save.fields=TRUE) +AddStage("BaseInit", "Init", load.densities=TRUE, save.fields=TRUE ) AddAction("Iteration", c("BaseIteration")) AddAction("Init", c("BaseInit")) @@ -54,8 +49,8 @@ AddAction("Init", c("BaseInit")) # If one have filed [something] with type [type], one have to define a function: # [type] get[something]() { return ...; } -AddQuantity(name="Rho",unit="kg/m3") -AddQuantity(name="U",unit="m/s",vector=T) +AddQuantity(name="Rho", unit="kg/m3") +AddQuantity(name="U", unit="m/s",vector=T) AddQuantity(name="H_Z", unit="m") AddQuantity(name="C", unit="1/m3") @@ -70,8 +65,6 @@ AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zo AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) -AddSetting(name="BrinkmanHeightInv", default=0, zonal=T) - AddSetting(name="GravitationX") AddSetting(name="GravitationY") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 2b984caad..d32b8f87c 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -173,14 +173,11 @@ CudaDeviceFunction void Run() { switch (NodeType & NODE_COLLISION) { case NODE_MRT: - CollisionMRT(); + CollisionMRT(); ConcentrationCollisionBGK(); + ConcentrationSourceAndEvolveHZ(); break; } - if (NodeType & NODE_Reaction) { - ConcentrationSourceAndEvolveHZ(); - } - } CudaDeviceFunction void BounceBack() @@ -212,8 +209,7 @@ CudaDeviceFunction void WVelocity() { real_t C = 1.0; - #define inlet_C (Inlet_concentration) - C = 6.*( inlet_C - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + C = 6.*( Inlet_concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); c[1] = (1./9.) * C; c[5] = (1./36.) * C; c[8] = (1./36.) * C; From a246f1b71fd11fa411bea6be9104e11380a04477 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Wed, 13 Oct 2021 14:54:48 +0200 Subject: [PATCH 08/39] Correction of h_Z in momentum equation --- example/data/128x32.png | Bin 0 -> 6432 bytes example/flow/2d/fracture_dissolution.xml | 24 ++++++++++-------- .../flow/d2q9_fracture_dissolution/Dynamics.R | 2 -- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 6 ++--- 4 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 example/data/128x32.png diff --git a/example/data/128x32.png b/example/data/128x32.png new file mode 100644 index 0000000000000000000000000000000000000000..6814d3e02d991df84988f65eb20acf90941fb0ec GIT binary patch literal 6432 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 bCfCe*BBDCKdT?IXItRSmb}-6Z_n-Yg>mf%O literal 0 HcmV?d00001 diff --git a/example/flow/2d/fracture_dissolution.xml b/example/flow/2d/fracture_dissolution.xml index d6a02190c..8ffa0bd8d 100644 --- a/example/flow/2d/fracture_dissolution.xml +++ b/example/flow/2d/fracture_dissolution.xml @@ -1,6 +1,6 @@ - + @@ -10,27 +10,31 @@ - + - + library(png); - tab = readPNG("example/data/1024x256_initial_hz.png"); - Solver$Fields$Height [] = t(1+tab[,,1]/10.); + tab = readPNG("example/data/128x32.png"); + Solver$Fields$Height [] = t(10+10*tab[,,1]); - Solver$Actions$InitFromFields(); + Solver$Actions$Init(); - + + + - + - - + + + + \ No newline at end of file diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 3d770f004..ca066e6c0 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -34,8 +34,6 @@ AddDensity( name="h_Z", dx=0, dy=0, group="HZ") #AddDensity( name="BC[1]", dx=0, dy=0, group="BC") AddDensity(name="Height", group="init", parameter=TRUE) -AddStage(name="InitFromFieldsStage", main="InitFromFields", load.densities=TRUE, save.fields=TRUE) -AddAction(name="InitFromFields", "InitFromFieldsStage") AddStage("BaseIteration", "Run", load.densities=TRUE, save.fields=TRUE) AddStage("BaseInit", "Init", load.densities=TRUE, save.fields=TRUE ) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index d32b8f87c..66374b8ea 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -66,7 +66,7 @@ CudaDeviceFunction vector_t getU(){ real_t nu = -(S2 + 1)/(6*S2 - 6) ; - real_t K = d * 12. * nu * h_Z * h_Z; + real_t K = d * 12. * nu / h_Z / h_Z; u.x = (u.x)/(1. + 0.5 * K) / d; u.y = (u.y)/(1. + 0.5 * K) / d; @@ -133,9 +133,7 @@ CudaDeviceFunction void Init() { c[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; -} -CudaDeviceFunction void InitFromFields() { h_Z = Height; } @@ -272,7 +270,7 @@ CudaDeviceFunction void CollisionMRT() real_t dJy = GravitationY*rho ; real_t nu = -(S2 + 1)/(6*S2 - 6) ; - real_t K = rho * 12. * nu * h_Z * h_Z; + real_t K = rho * 12. * nu / h_Z / h_Z; Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; From 16e1bdc7c1fc1d4db5b47140661df0985ef309f3 Mon Sep 17 00:00:00 2001 From: tr427605 Date: Mon, 8 Nov 2021 16:14:18 +0100 Subject: [PATCH 09/39] InitFromFields repair --- example/flow/2d/cave.xml | 46 ++++++++ example/flow/2d/fracture_dissolution.xml | 31 +++--- .../flow/d2q9_fracture_dissolution/Dynamics.R | 42 ++----- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 104 +++++++++--------- 4 files changed, 127 insertions(+), 96 deletions(-) create mode 100644 example/flow/2d/cave.xml diff --git a/example/flow/2d/cave.xml b/example/flow/2d/cave.xml new file mode 100644 index 000000000..7c5077145 --- /dev/null +++ b/example/flow/2d/cave.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + Solver$Fields$Height[] = rnorm(2048*1024, mean = 0.02048, sd=0.000002048) + + Solver$Actions$InitFromFields() + Solver$Actions$InitFromFields() + + + + + + + + + + + + + + + + + diff --git a/example/flow/2d/fracture_dissolution.xml b/example/flow/2d/fracture_dissolution.xml index 8ffa0bd8d..4afe49571 100644 --- a/example/flow/2d/fracture_dissolution.xml +++ b/example/flow/2d/fracture_dissolution.xml @@ -1,6 +1,6 @@ - - + + @@ -18,23 +18,26 @@ - library(png); - tab = readPNG("example/data/128x32.png"); - Solver$Fields$Height [] = t(10+10*tab[,,1]); + library(png) + tab = readPNG("example/data/1024_256_hz.png") - Solver$Actions$Init(); - + Solver$Fields$Height[] = 1#t(10+2*tab[,,1]) + + Solver$Actions$InitFromFields() + Solver$Actions$InitFromFields() + + - - + + - + - - - + + + - \ No newline at end of file + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index ca066e6c0..2e163fce5 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -1,8 +1,4 @@ -# Density - table of variables of LB Node to stream -# name - variable name to stream -# dx,dy,dz - direction of streaming -# comment - additional comment - +# Densieties and fields AddDensity( name="f[0]", dx= 0, dy= 0, group="f") AddDensity( name="f[1]", dx= 1, dy= 0, group="f") AddDensity( name="f[2]", dx= 0, dy= 1, group="f") @@ -23,40 +19,22 @@ AddDensity( name="c[6]", dx=-1, dy= 1, group="c") AddDensity( name="c[7]", dx=-1, dy=-1, group="c") AddDensity( name="c[8]", dx= 1, dy=-1, group="c") -AddDensity( name="h_Z", dx=0, dy=0, group="HZ") - -# THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE -# COMMENT OUT FOR PERFORMANCE -# If present thei are used: -# As VelocityX/Y for Boundary conditions -# As mass force (+ GravitationX/Y) in fluid -#AddDensity( name="BC[0]", dx=0, dy=0, group="BC") -#AddDensity( name="BC[1]", dx=0, dy=0, group="BC") +AddField( name="h_Z", dx=0, dy=0, group="HZ") +# Stages AddDensity(name="Height", group="init", parameter=TRUE) +AddStage(name="BaseIteration", main="Run", load.densities=TRUE, save.fields=TRUE) +AddStage(name="BaseInitFromFields", main="InitFromFields", load.densities=TRUE, save.fields=TRUE) +AddAction(name="Iteration", "BaseIteration") +AddAction(name="InitFromFields", "BaseInitFromFields") -AddStage("BaseIteration", "Run", load.densities=TRUE, save.fields=TRUE) -AddStage("BaseInit", "Init", load.densities=TRUE, save.fields=TRUE ) -AddAction("Iteration", c("BaseIteration")) -AddAction("Init", c("BaseInit")) - -# Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) -# name - name of the field -# type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float -# Every field must correspond to a function in "Dynamics.c". -# If one have filed [something] with type [type], one have to define a function: -# [type] get[something]() { return ...; } - +# Output quantieties AddQuantity(name="Rho", unit="kg/m3") AddQuantity(name="U", unit="m/s",vector=T) AddQuantity(name="H_Z", unit="m") AddQuantity(name="C", unit="1/m3") -# Settings - table of settings (constants) that are taken from a .xml file -# name - name of the constant variable -# comment - additional comment -# You can state that another setting is 'derived' from this one stating for example: RelaxationRate='1.0/(3*Viscosity + 0.5)' - +# Settings AddSetting(name="RelaxationRate", S2='1-RelaxationRate', comment='one over relaxation time') AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) @@ -85,7 +63,7 @@ AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") -#Node types for boundaries +# Node types for boundaries AddNodeType(name="EPressure", group="BOUNDARY") AddNodeType(name="WPressure", group="BOUNDARY") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 66374b8ea..aa761fad6 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -37,56 +37,6 @@ #define pi 3.141592653589793116 -CudaDeviceFunction real_t getRho(){ - return ; -} - -CudaDeviceFunction real_t getH_Z(){ - return h_Z; -} - -CudaDeviceFunction real_t getC(){ - return ; -} - -CudaDeviceFunction vector_t getU(){ - real_t d = ; - vector_t u; - - - - - if (!IamBOUNDARY) { - u.x += d*BC[0]*0.5; - u.y += d*BC[1]*0.5; - } - - u.x += d*GravitationX*0.5; - u.y += d*GravitationY*0.5; - - real_t nu = -(S2 + 1)/(6*S2 - 6) ; - - real_t K = d * 12. * nu / h_Z / h_Z; - - u.x = (u.x)/(1. + 0.5 * K) / d; - u.y = (u.y)/(1. + 0.5 * K) / d; - - u.z = 0.0; - return u; -} - -CudaDeviceFunction float2 Color() { - float2 ret; - vector_t u = getU(); - ret.x = sqrt(u.x*u.x + u.y*u.y); - if (NodeType == NODE_Solid){ - ret.y = 0; - } else { - ret.y = 1; - } - return ret; -} - CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) { ; +} + +CudaDeviceFunction real_t getC(){ + return ; +} + +CudaDeviceFunction real_t getH_Z(){ + return h_Z; +} + +CudaDeviceFunction vector_t getU(){ + real_t d = ; + vector_t u; + + + + + if (!IamBOUNDARY) { + u.x += d*BC[0]*0.5; + u.y += d*BC[1]*0.5; + } + + u.x += d*GravitationX*0.5; + u.y += d*GravitationY*0.5; + + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + + real_t K = d * 12. * nu / h_Z / h_Z; + + u.x = (u.x)/(1. + 0.5 * K) / d; + u.y = (u.y)/(1. + 0.5 * K) / d; + + u.z = 0.0; + return u; +} + +CudaDeviceFunction float2 Color() { + float2 ret; + vector_t u = getU(); + ret.x = sqrt(u.x*u.x + u.y*u.y); + if (NodeType == NODE_Solid){ + ret.y = 0; + } else { + ret.y = 1; + } + return ret; } \ No newline at end of file From 3748dc9cc1eb35c67eeb1e0cd8ce2ba09650f510 Mon Sep 17 00:00:00 2001 From: tr427605 Date: Wed, 17 Nov 2021 16:09:18 +0100 Subject: [PATCH 10/39] Const saturation concentration at the outlet --- example/flow/2d/cave.xml | 23 +++--- example/flow/2d/fracture_dissolution.xml | 81 +++++++++++++++---- .../flow/d2q9_fracture_dissolution/Dynamics.R | 10 ++- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 38 ++++----- 4 files changed, 102 insertions(+), 50 deletions(-) diff --git a/example/flow/2d/cave.xml b/example/flow/2d/cave.xml index 7c5077145..5f9889d7d 100644 --- a/example/flow/2d/cave.xml +++ b/example/flow/2d/cave.xml @@ -1,11 +1,11 @@ - + - - + + - + @@ -23,15 +23,14 @@ - Solver$Fields$Height[] = rnorm(2048*1024, mean = 0.02048, sd=0.000002048) + Solver$Fields$Height[] = rnorm(64*32, mean = 0.02048, sd=0.000002048) Solver$Actions$InitFromFields() Solver$Actions$InitFromFields() - - + - - + + @@ -39,8 +38,8 @@ - - - + + + diff --git a/example/flow/2d/fracture_dissolution.xml b/example/flow/2d/fracture_dissolution.xml index 4afe49571..e8b04dea4 100644 --- a/example/flow/2d/fracture_dissolution.xml +++ b/example/flow/2d/fracture_dissolution.xml @@ -1,6 +1,9 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + Solver$Fields$Height[] = rnorm(100, mean = 0.02, sd=0.01) + + Solver$Actions$InitFromFields() Solver$Actions$InitFromFields() Solver$Actions$InitFromFields() - - + + - - - - + + + + + + + + - + - + + + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 2e163fce5..1dc316c24 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -19,7 +19,7 @@ AddDensity( name="c[6]", dx=-1, dy= 1, group="c") AddDensity( name="c[7]", dx=-1, dy=-1, group="c") AddDensity( name="c[8]", dx= 1, dy=-1, group="c") -AddField( name="h_Z", dx=0, dy=0, group="HZ") +AddDensity( name="h_Z", dx=0, dy=0, group="HZ") # Stages AddDensity(name="Height", group="init", parameter=TRUE) @@ -50,11 +50,13 @@ AddSetting(name="S4", default="0", comment='MRT Sx') AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') -AddSetting(name="Concentration", default=0, zonal=TRUE) +AddSetting(name="C_init", default=0, zonal=TRUE) AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') -AddSetting(name="Inlet_concentration", default=0.0) -AddSetting(name="C_saturation", default=1, comment='Concentration') +AddSetting(name="C_inlet", default=0.0) +AddSetting(name="C_outlet", default=0.0) +AddSetting(name="C_saturation", C_outlet="C_saturation", default=1) + AddSetting(name="k",default=1, comment='Reaction speed coefficient') AddSetting(name="C_solid", default=100, comment='Solid concentration') diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index aa761fad6..a40369c3f 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -60,7 +60,7 @@ CudaDeviceFunction void Init() { vector_t u; u.x = VelocityX; u.y = VelocityY; - C = Concentration; + C = C_init; if (IamWall){ rho = 1; @@ -83,6 +83,8 @@ CudaDeviceFunction void Init() { c[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + + h_Z = 1.; } CudaDeviceFunction void InitFromFields() { @@ -158,8 +160,7 @@ CudaDeviceFunction void WPressure() CudaDeviceFunction void WVelocity() { - real_t C = 1.0; - C = 6.*( Inlet_concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + real_t C = 6.*( C_inlet - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); c[1] = (1./9.) * C; c[5] = (1./36.) * C; c[8] = (1./36.) * C; @@ -168,8 +169,7 @@ CudaDeviceFunction void WVelocity() CudaDeviceFunction void EPressure() { - real_t C = 1.0; - C = 6.*( c[1] + c[5] + c[8] ); + real_t C = 6.*( C_outlet - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); c[3] = (1./ 9.) * C; c[7] = (1./36.) * C; c[6] = (1./36.) * C; @@ -258,19 +258,21 @@ CudaDeviceFunction void ConcentrationCollisionBGK() { CudaDeviceFunction void ConcentrationSourceAndEvolveHZ() { real_t C = getC(); - real_t R = k * (C_saturation - C); - - c[0] += 2 * R * 4./9.; - c[1] += 2 * R * 1./9; - c[2] += 2 * R * 1./9.; - c[3] += 2 * R * 1./9.; - c[4] += 2 * R * 1./9.; - c[5] += 2 * R * 1./36.; - c[6] += 2 * R * 1./36.; - c[7] += 2 * R * 1./36.; - c[8] += 2 * R * 1./36.; - - h_Z += 2 * R / C_solid; + if(C <= C_saturation) { + real_t R = k * (C_saturation - C); + + c[0] += 2 * R * 4./9.; + c[1] += 2 * R * 1./9; + c[2] += 2 * R * 1./9.; + c[3] += 2 * R * 1./9.; + c[4] += 2 * R * 1./9.; + c[5] += 2 * R * 1./36.; + c[6] += 2 * R * 1./36.; + c[7] += 2 * R * 1./36.; + c[8] += 2 * R * 1./36.; + + h_Z += 2 * R / C_solid; + } } // Get functions From a954d9647a4031acacdbfb17e0f0b4210860169f Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Wed, 17 Nov 2021 19:07:28 +0100 Subject: [PATCH 11/39] Change h_Z from field to density --- models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index a40369c3f..95da9d8cf 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -84,7 +84,7 @@ CudaDeviceFunction void Init() { c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - h_Z = 1.; + h_Z = 1.0; } CudaDeviceFunction void InitFromFields() { From 1d283dca1cb582c1f10014cfc5482b0fed653379 Mon Sep 17 00:00:00 2001 From: tr427605 Date: Fri, 19 Nov 2021 17:06:18 +0100 Subject: [PATCH 12/39] Haight_parameter added --- models/flow/d2q9_fracture_dissolution/Dynamics.R | 3 ++- models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 1dc316c24..44a7b1d9e 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -22,7 +22,7 @@ AddDensity( name="c[8]", dx= 1, dy=-1, group="c") AddDensity( name="h_Z", dx=0, dy=0, group="HZ") # Stages -AddDensity(name="Height", group="init", parameter=TRUE) +AddDensity(name="Height_parameter", group="init", parameter=TRUE) AddStage(name="BaseIteration", main="Run", load.densities=TRUE, save.fields=TRUE) AddStage(name="BaseInitFromFields", main="InitFromFields", load.densities=TRUE, save.fields=TRUE) AddAction(name="Iteration", "BaseIteration") @@ -50,6 +50,7 @@ AddSetting(name="S4", default="0", comment='MRT Sx') AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') +AddSetting(name="Height", default=1, zonal=TRUE) AddSetting(name="C_init", default=0, zonal=TRUE) AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 95da9d8cf..a921dbdef 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -84,11 +84,11 @@ CudaDeviceFunction void Init() { c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - h_Z = 1.0; + h_Z = Height; } CudaDeviceFunction void InitFromFields() { - h_Z = Height; + h_Z = Height_parameter; } CudaDeviceFunction void Run() { @@ -258,7 +258,7 @@ CudaDeviceFunction void ConcentrationCollisionBGK() { CudaDeviceFunction void ConcentrationSourceAndEvolveHZ() { real_t C = getC(); - if(C <= C_saturation) { + if(C < C_saturation) { real_t R = k * (C_saturation - C); c[0] += 2 * R * 4./9.; From 67555bb89a11e1552b506cbbaff945515ce7ef7f Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Fri, 19 Nov 2021 20:23:07 +0100 Subject: [PATCH 13/39] AddSetting C_saturation corrected --- models/flow/d2q9_fracture_dissolution/Dynamics.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 44a7b1d9e..f14e2d91f 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -56,7 +56,7 @@ AddSetting(name="omega_D", comment='Relaxation rate') AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') AddSetting(name="C_inlet", default=0.0) AddSetting(name="C_outlet", default=0.0) -AddSetting(name="C_saturation", C_outlet="C_saturation", default=1) +AddSetting(name="C_saturation", default=1) AddSetting(name="k",default=1, comment='Reaction speed coefficient') AddSetting(name="C_solid", default=100, comment='Solid concentration') From 77db5bff311e20ceefa5c21965f5650660dc08bc Mon Sep 17 00:00:00 2001 From: tr427605 Date: Fri, 3 Dec 2021 12:36:23 +0100 Subject: [PATCH 14/39] Add pressure quantity --- example/flow/2d/fr.xml | 57 +++++++++++++++++++ .../flow/d2q9_fracture_dissolution/Dynamics.R | 1 + .../d2q9_fracture_dissolution/Dynamics.c.Rt | 4 ++ 3 files changed, 62 insertions(+) create mode 100644 example/flow/2d/fr.xml diff --git a/example/flow/2d/fr.xml b/example/flow/2d/fr.xml new file mode 100644 index 000000000..31136142e --- /dev/null +++ b/example/flow/2d/fr.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index f14e2d91f..c5529f215 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -30,6 +30,7 @@ AddAction(name="InitFromFields", "BaseInitFromFields") # Output quantieties AddQuantity(name="Rho", unit="kg/m3") +AddQuantity(name="Pressure", unit="Pa") AddQuantity(name="U", unit="m/s",vector=T) AddQuantity(name="H_Z", unit="m") AddQuantity(name="C", unit="1/m3") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index a921dbdef..91d1554f2 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -281,6 +281,10 @@ CudaDeviceFunction real_t getRho(){ return ; } +CudaDeviceFunction real_t getPressure(){ + return ( - 1.)/3.; +} + CudaDeviceFunction real_t getC(){ return ; } From 9bd63fce0b3d2433254900d88fa28f9e6c7c2bfa Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Thu, 16 Dec 2021 19:06:01 +0100 Subject: [PATCH 15/39] d2q5 MRT for solute with reaction --- example/flow/2d/fr.xml | 42 ++- .../flow/d2q9_fracture_dissolution/Dynamics.R | 28 +- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 279 +++++++++--------- 3 files changed, 190 insertions(+), 159 deletions(-) diff --git a/example/flow/2d/fr.xml b/example/flow/2d/fr.xml index 31136142e..fef93e7be 100644 --- a/example/flow/2d/fr.xml +++ b/example/flow/2d/fr.xml @@ -5,16 +5,16 @@ - + - + - - + + - + @@ -23,16 +23,19 @@ - - + + + + - - - - + + + + + - + - - - + + + + + + + + + + + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index c5529f215..c7068c5c2 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -14,10 +14,6 @@ AddDensity( name="c[1]", dx= 1, dy= 0, group="c") AddDensity( name="c[2]", dx= 0, dy= 1, group="c") AddDensity( name="c[3]", dx=-1, dy= 0, group="c") AddDensity( name="c[4]", dx= 0, dy=-1, group="c") -AddDensity( name="c[5]", dx= 1, dy= 1, group="c") -AddDensity( name="c[6]", dx=-1, dy= 1, group="c") -AddDensity( name="c[7]", dx=-1, dy=-1, group="c") -AddDensity( name="c[8]", dx= 1, dy=-1, group="c") AddDensity( name="h_Z", dx=0, dy=0, group="HZ") @@ -41,7 +37,6 @@ AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0 AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) - AddSetting(name="GravitationX") AddSetting(name="GravitationY") @@ -51,19 +46,30 @@ AddSetting(name="S4", default="0", comment='MRT Sx') AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') +AddSetting(name="Omega_D", SC1="1-Omega_D", default=0, comment='one over concentration relaxation rate') +AddSetting(name="D", Omega_D="1.0/(3*D+0.5)", default=0.16666666, comment='Diffusivity') AddSetting(name="Height", default=1, zonal=TRUE) AddSetting(name="C_init", default=0, zonal=TRUE) -AddSetting(name="omega_D", comment='Relaxation rate') -AddSetting(name="D", omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') AddSetting(name="C_inlet", default=0.0) AddSetting(name="C_outlet", default=0.0) AddSetting(name="C_saturation", default=1) - AddSetting(name="k",default=1, comment='Reaction speed coefficient') AddSetting(name="C_solid", default=100, comment='Solid concentration') +AddSetting(name="SC1", default="0", comment='MRT CSx') +AddSetting(name="SC2", default="0", comment='MRT CSx') + +# AddSetting(name="Omega_D", default=0, comment='SRT concetration relaxation rate') +# AddSetting(name="Omega_D_even", default=0, comment='TRT even concetration relaxation rate') +# AddSetting(name="Omega_D_odd", Omega_D _even="(1.0 - 0.5*Omega_D_odd)/((MagicNumber_D-0.25)*Omega_D_odd + 0.5)", default=0, comment='TRT odd concetration relaxation rate') +# AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') + +# AddSetting(name="D", Omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') +# AddSetting(name="D", Omega_D_odd="1.0/(3*D+0.5)", default=0.16666666, comment='Diffusivity') + + # Globals - table of global integrals that can be monitored and optimized -AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") +AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") @@ -76,6 +82,10 @@ AddNodeType(name="SVelocity", group="BOUNDARY") AddNodeType(name="WVelocity", group="BOUNDARY") AddNodeType(name="EVelocity", group="BOUNDARY") +AddNodeType(name="WPressureWConcentration", group="BOUNDARY") +AddNodeType(name="EPressureEConcentration", group="BOUNDARY") +AddNodeType(name="WVelocityWConcentration", group="BOUNDARY") + AddNodeType(name="NSymmetry", group="BOUNDARY") AddNodeType(name="SSymmetry", group="BOUNDARY") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 91d1554f2..7a563c7ed 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -5,84 +5,47 @@ source("lib/feq.R") source("lib/boundary.R") - U = as.matrix(Density[Density$group=='f',c("dx","dy")]) - u = PV(c("ux","uy")) - rho = PV("rho") - J = PV("J",c("x","y")) + U = as.matrix(Density[Density$group=='f',c("dx","dy")]) - EQ = MRT_eq(U, ortogonal=FALSE) - wi = subst(EQ$Req, Jx=0, Jy=0, Jz=0) + fMRT = MRT_eq(U, ortogonal=FALSE) + wi = subst(fMRT$Req, Jx=0, Jy=0, Jz=0) wi = subst(wi, rho=1) wi = gapply(wi,function(x) x$.M, simplify=TRUE) - wi = wi %*% solve(EQ$mat) + wi = wi %*% solve(fMRT$mat) wi = as.vector(wi) - W = solve(EQ$mat) %*% diag(1/wi) %*% solve(t(EQ$mat)) + W = solve(fMRT$mat) %*% diag(1/wi) %*% solve(t(fMRT$mat)) i = rev(1:nrow(W)) H = chol(W[i,i])[i,i] H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) - B = EQ$mat %*% t(H) + B = fMRT$mat %*% t(H) - EQ = MRT_eq(U, rho, J, mat=B) - - f = PV(Density[Density$group=='f',"name"]) - c = PV(Density[Density$group=='c',"name"]) + fMRT = MRT_eq(U, mat=B) - if ( any( DensityAll$group=="BC" ) ) { - BC_Velocity=PV(c('BC[0]', 'BC[1]')) - } else { - BC_Velocity=PV(c('VelocityX', 'VelocityY')) - } -?> + f = PV(Density[Density$group=='f',"name"]) + rho = PV("rho") + J = PV("J",c("x","y")) -#define pi 3.141592653589793116 + CU = as.matrix(Density[Density$group=='c',c("dx","dy")]) + + c = PV(Density[Density$group=='c',"name"]) + C = PV("C") + JC = PV("JC",c("x","y")) + + cMRT = MRT_eq(CU, C, JC) -CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) -{ - - - if ( IamBOUNDARY ) { - BC[0] = Jx / rho; - BC[1] = Jy / rho; - } else { - BC[0] = 0; - BC[1] = 0; - } - -} + BC_Velocity=PV(c('VelocityX', 'VelocityY')) +?> CudaDeviceFunction void Init() { - real_t rho, C; - rho = (1+Pressure*3); + real_t rho = (1 + Pressure*3); + real_t C = C_init; vector_t u; u.x = VelocityX; u.y = VelocityY; - C = C_init; - - if (IamWall){ - rho = 1; - u.x = 0; - u.y = 0; - } - - SetEquilibrum( - rho, - rho*u.x, - rho*u.y - ); - - c[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; - c[1] = ( 2. + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )*C/18.; - c[2] = ( 2. + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )*C/18.; - c[3] = ( 2. + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )*C/18.; - c[4] = ( 2. + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )*C/18.; - c[5] = ( 1. + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )*C/36.; - c[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - c[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; - c[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; + + SetEquilibrum_f(rho, rho*u.x, rho*u.y); + SetEquilibrum_c(C, C*u.x, C*u.y); h_Z = Height; } @@ -103,12 +66,21 @@ CudaDeviceFunction void Run() { case NODE_WPressure: WPressure(); break; + case NODE_WPressureWConcentration: + WPressureWConcentration(); + break; case NODE_WVelocity: WVelocity(); break; + case NODE_WVelocityWConcentration: + WVelocityWConcentration(); + break; case NODE_EPressure: EPressure(); break; + case NODE_EPressureEConcentration: + EPressureEConcentration(); + break; case NODE_NVelocity: NVelocity(); break; @@ -126,98 +98,112 @@ CudaDeviceFunction void Run() { { case NODE_MRT: CollisionMRT(); - ConcentrationCollisionBGK(); - ConcentrationSourceAndEvolveHZ(); + //CollisionBGK_c(); + //Reaction(); break; } } -CudaDeviceFunction void BounceBack() +CudaDeviceFunction void SetEquilibrum_f(real_t rho, real_t Jx, real_t Jy) { - + +} - +CudaDeviceFunction void SetEquilibrum_c(real_t C, real_t JCx, real_t JCy) +{ + +} - if ( temp != 1+Pressure*3 ) { - - } else { - - } - - +CudaDeviceFunction void BounceBack() +{ + } CudaDeviceFunction void EVelocity() { - + } CudaDeviceFunction void WPressure() { - + +} + +CudaDeviceFunction void WPressureWConcentration() +{ + + c[1] = C_inlet - c[0] - c[2] - c[3] - c[4]; } CudaDeviceFunction void WVelocity() { - - real_t C = 6.*( C_inlet - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); - c[1] = (1./9.) * C; - c[5] = (1./36.) * C; - c[8] = (1./36.) * C; + +} + +CudaDeviceFunction void WVelocityWConcentration() +{ + + c[1] = C_inlet - c[0] - c[2] - c[3] - c[4]; } CudaDeviceFunction void EPressure() { - - real_t C = 6.*( C_outlet - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); - c[3] = (1./ 9.) * C; - c[7] = (1./36.) * C; - c[6] = (1./36.) * C; + +} + +CudaDeviceFunction void EPressureEConcentration() +{ + + c[3] = C_outlet - c[0] - c[1] - c[2] - c[4]; } CudaDeviceFunction void NVelocity() { - + } CudaDeviceFunction void SVelocity() { - + } CudaDeviceFunction void NSymmetry() { - + } CudaDeviceFunction void SSymmetry() { - + } -CudaDeviceFunction void CollisionMRT() -{ - 1 - R[!selR] = EQ$Req[!selR] - ?> + selR = fMRT$order > 1 + R[!selR] = fMRT$Req[!selR] +?> real_t ; real_t Usq=0; - +?> real_t dJx = GravitationX*rho ; real_t dJy = GravitationY*rho ; @@ -227,18 +213,49 @@ CudaDeviceFunction void CollisionMRT() Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; - + + + + real_t C, JCx, JCy; + 0 + C(R[selR], (R - cMRT$Req)[selR]); + C(R[selR], (R * S)[selR]); +?> +// -- Reaction + if(C < C_saturation) { + real_t Q = k * (C_saturation - C); + real_t dC = 2*Q; + real_t dh_Z = 2*Q/C_solid; + C += dC; + h_Z += dh_Z; + } + + } -CudaDeviceFunction void ConcentrationCollisionBGK() { +/*CudaDeviceFunction void CollisionBGK_c() { real_t C = getC(); real_t d = getRho(); vector_t u; - u.x = (f[8]-f[7]-f[6]+f[5]-f[3]+f[1])/d; - u.y = (-f[8]-f[7]+f[6]+f[5]-f[4]+f[2])/d; + u.x = (f[8]-f[7]-f[6]+f[5]-f[3]+f[1])/d; + u.y = (-f[8]-f[7]+f[6]+f[5]-f[4]+f[2])/d; real_t c_eq[9]; c_eq[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; @@ -252,30 +269,30 @@ CudaDeviceFunction void ConcentrationCollisionBGK() { c_eq[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; for (int i=0; i< 9; i++) { - c[i] = c[i] + omega_D * (c_eq[i]-c[i]); + c[i] = c[i] + Omega_D * (c_eq[i]-c[i]); } -} +}*/ -CudaDeviceFunction void ConcentrationSourceAndEvolveHZ() { +/*CudaDeviceFunction void Reaction() { real_t C = getC(); if(C < C_saturation) { - real_t R = k * (C_saturation - C); - - c[0] += 2 * R * 4./9.; - c[1] += 2 * R * 1./9; - c[2] += 2 * R * 1./9.; - c[3] += 2 * R * 1./9.; - c[4] += 2 * R * 1./9.; - c[5] += 2 * R * 1./36.; - c[6] += 2 * R * 1./36.; - c[7] += 2 * R * 1./36.; - c[8] += 2 * R * 1./36.; - - h_Z += 2 * R / C_solid; + real_t Q = k * (C_saturation - C); + + c[0] += 2 * Q * 4./9.; + c[1] += 2 * Q * 1./9.; + c[2] += 2 * Q * 1./9.; + c[3] += 2 * Q * 1./9.; + c[4] += 2 * Q * 1./9.; + c[5] += 2 * Q * 1./36.; + c[6] += 2 * Q * 1./36.; + c[7] += 2 * Q * 1./36.; + c[8] += 2 * Q * 1./36.; + + h_Z += 2 * Q / C_solid; } -} +}*/ -// Get functions +// --- Macroscopic output quantieties --- CudaDeviceFunction real_t getRho(){ return ; @@ -299,12 +316,6 @@ CudaDeviceFunction vector_t getU(){ - - if (!IamBOUNDARY) { - u.x += d*BC[0]*0.5; - u.y += d*BC[1]*0.5; - } - u.x += d*GravitationX*0.5; u.y += d*GravitationY*0.5; From 1dedf63983d6d9e805461d374b0bec20b02d8a6b Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 20 Dec 2021 23:19:02 +0100 Subject: [PATCH 16/39] Names refactor --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 23 +++--- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 72 +++++-------------- 2 files changed, 29 insertions(+), 66 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index c7068c5c2..0fd3618af 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -33,7 +33,7 @@ AddQuantity(name="C", unit="1/m3") # Settings AddSetting(name="RelaxationRate", S2='1-RelaxationRate', comment='one over relaxation time') -AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') +AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.166666667, comment='viscosity') AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) @@ -46,26 +46,27 @@ AddSetting(name="S4", default="0", comment='MRT Sx') AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') -AddSetting(name="Omega_D", SC1="1-Omega_D", default=0, comment='one over concentration relaxation rate') -AddSetting(name="D", Omega_D="1.0/(3*D+0.5)", default=0.16666666, comment='Diffusivity') AddSetting(name="Height", default=1, zonal=TRUE) -AddSetting(name="C_init", default=0, zonal=TRUE) -AddSetting(name="C_inlet", default=0.0) -AddSetting(name="C_outlet", default=0.0) +AddSetting(name="ConcentrationRelaxationRate", SC2="1-ConcentrationRelaxationRate", default=0, comment='one over concentration relaxation time') +AddSetting(name="Diffusivity", ConcentrationRelaxationRate="1.0/(3*Diffusivity+0.5)", default=0.166666667, comment='diffusivity') +AddSetting(name="Concentration", default=0, comment='inlet/outlet/init concentration', zonal=T) AddSetting(name="C_saturation", default=1) AddSetting(name="k",default=1, comment='Reaction speed coefficient') AddSetting(name="C_solid", default=100, comment='Solid concentration') AddSetting(name="SC1", default="0", comment='MRT CSx') AddSetting(name="SC2", default="0", comment='MRT CSx') +AddSetting(name="SC3", default="0", comment='MRT CSx') -# AddSetting(name="Omega_D", default=0, comment='SRT concetration relaxation rate') -# AddSetting(name="Omega_D_even", default=0, comment='TRT even concetration relaxation rate') -# AddSetting(name="Omega_D_odd", Omega_D _even="(1.0 - 0.5*Omega_D_odd)/((MagicNumber_D-0.25)*Omega_D_odd + 0.5)", default=0, comment='TRT odd concetration relaxation rate') + +# AddSetting(name="ConcentrationRelaxationRate_even", default=0, comment='TRT even concetration relaxation rate') +# AddSetting(name="ConcentrationRelaxationRate_odd", ConcentrationRelaxationRate_even="(1.0 - 0.5*ConcentrationRelaxationRate_odd)/((MagicNumber_D-0.25)*ConcentrationRelaxationRate_odd + 0.5)", default=0, comment='TRT odd concetration relaxation rate') # AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') -# AddSetting(name="D", Omega_D='1.0/(3*D+0.5)', default=0.16666666, comment='Diffusivity') -# AddSetting(name="D", Omega_D_odd="1.0/(3*D+0.5)", default=0.16666666, comment='Diffusivity') +# AddSetting(name="SC_even", default="0", comment='MRT CSx') +# AddSetting(name="SC_odd", default="0", comment='MRT CSx') +# AddSetting(name="Diffusivity", ConcentrationRelaxationRate='1.0/(3*Diffusivity+0.5)', default=0.16666666, comment='Diffusivity') +# AddSetting(name="Diffusivity", ConcentrationRelaxationRate_odd="1.0/(3*Diffusivity+0.5)", default=0.16666666, comment='Diffusivity') # Globals - table of global integrals that can be monitored and optimized diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 7a563c7ed..da379df0b 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -32,14 +32,14 @@ C = PV("C") JC = PV("JC",c("x","y")) - cMRT = MRT_eq(CU, C, JC) + cMRT = MRT_eq(CU, C, JC, order=2) BC_Velocity=PV(c('VelocityX', 'VelocityY')) ?> CudaDeviceFunction void Init() { real_t rho = (1 + Pressure*3); - real_t C = C_init; + real_t C = Concentration; vector_t u; u.x = VelocityX; u.y = VelocityY; @@ -98,8 +98,6 @@ CudaDeviceFunction void Run() { { case NODE_MRT: CollisionMRT(); - //CollisionBGK_c(); - //Reaction(); break; } } @@ -136,7 +134,7 @@ CudaDeviceFunction void WPressure() CudaDeviceFunction void WPressureWConcentration() { - c[1] = C_inlet - c[0] - c[2] - c[3] - c[4]; + c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; } CudaDeviceFunction void WVelocity() @@ -147,7 +145,7 @@ CudaDeviceFunction void WVelocity() CudaDeviceFunction void WVelocityWConcentration() { - c[1] = C_inlet - c[0] - c[2] - c[3] - c[4]; + c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; } CudaDeviceFunction void EPressure() @@ -158,7 +156,7 @@ CudaDeviceFunction void EPressure() CudaDeviceFunction void EPressureEConcentration() { - c[3] = C_outlet - c[0] - c[1] - c[2] - c[4]; + c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; } CudaDeviceFunction void NVelocity() @@ -222,20 +220,18 @@ CudaDeviceFunction void CollisionMRT() { 1 + R[!selR] = cMRT$Req[!selR] ?> real_t C, JCx, JCy; 0 C(R[selR], (R - cMRT$Req)[selR]); C(R[selR], (R * S)[selR]); ?> -// -- Reaction +/* -- Reaction if(C < C_saturation) { real_t Q = k * (C_saturation - C); real_t dC = 2*Q; @@ -243,55 +239,15 @@ CudaDeviceFunction void CollisionMRT() { C += dC; h_Z += dh_Z; } +*/ } -/*CudaDeviceFunction void CollisionBGK_c() { - real_t C = getC(); - real_t d = getRho(); - vector_t u; - u.x = (f[8]-f[7]-f[6]+f[5]-f[3]+f[1])/d; - u.y = (-f[8]-f[7]+f[6]+f[5]-f[4]+f[2])/d; - - real_t c_eq[9]; - c_eq[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*C*2./9.; - c_eq[1] = ( 2. + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )*C/18.; - c_eq[2] = ( 2. + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )*C/18.; - c_eq[3] = ( 2. + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )*C/18.; - c_eq[4] = ( 2. + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )*C/18.; - c_eq[5] = ( 1. + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )*C/36.; - c_eq[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - c_eq[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*C/36.; - c_eq[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*C/36.; - - for (int i=0; i< 9; i++) { - c[i] = c[i] + Omega_D * (c_eq[i]-c[i]); - } -}*/ - -/*CudaDeviceFunction void Reaction() { - real_t C = getC(); - if(C < C_saturation) { - real_t Q = k * (C_saturation - C); - - c[0] += 2 * Q * 4./9.; - c[1] += 2 * Q * 1./9.; - c[2] += 2 * Q * 1./9.; - c[3] += 2 * Q * 1./9.; - c[4] += 2 * Q * 1./9.; - c[5] += 2 * Q * 1./36.; - c[6] += 2 * Q * 1./36.; - c[7] += 2 * Q * 1./36.; - c[8] += 2 * Q * 1./36.; - - h_Z += 2 * Q / C_solid; - } -}*/ - // --- Macroscopic output quantieties --- CudaDeviceFunction real_t getRho(){ @@ -303,7 +259,13 @@ CudaDeviceFunction real_t getPressure(){ } CudaDeviceFunction real_t getC(){ - return ; + real_t C = ; + +// real_t Q = k * (C_saturation - C); +// real_t dC = Q; +// C += dC; + + return C; } CudaDeviceFunction real_t getH_Z(){ From 39dfd6d3f9501a7f1c86dee006f458e173e320cc Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 20 Dec 2021 23:34:36 +0100 Subject: [PATCH 17/39] merge conflict resolution --- example/flow/2d/fr.xml | 48 ++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 27 deletions(-) diff --git a/example/flow/2d/fr.xml b/example/flow/2d/fr.xml index 31136142e..15cf5faf8 100644 --- a/example/flow/2d/fr.xml +++ b/example/flow/2d/fr.xml @@ -1,7 +1,7 @@ - - + + @@ -18,40 +18,34 @@ - + - - + + + + - - - - + + - + + + - + + + - - - - - + + + + + From 544753166a1b742e174324ec965628125aa6bf17 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 21 Dec 2021 12:26:42 +0100 Subject: [PATCH 18/39] Names refactor --- example/flow/2d/fr.xml | 35 ++++++------------- .../flow/d2q9_fracture_dissolution/Dynamics.R | 13 ++++--- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 21 +++++------ 3 files changed, 27 insertions(+), 42 deletions(-) diff --git a/example/flow/2d/fr.xml b/example/flow/2d/fr.xml index fef93e7be..e5ad5ebbf 100644 --- a/example/flow/2d/fr.xml +++ b/example/flow/2d/fr.xml @@ -2,7 +2,7 @@ - + @@ -27,41 +27,26 @@ - - - - + + - + - + - - - - + + - + - - + + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 0fd3618af..b0557a85b 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -15,7 +15,7 @@ AddDensity( name="c[2]", dx= 0, dy= 1, group="c") AddDensity( name="c[3]", dx=-1, dy= 0, group="c") AddDensity( name="c[4]", dx= 0, dy=-1, group="c") -AddDensity( name="h_Z", dx=0, dy=0, group="HZ") +AddDensity( name="h", dx=0, dy=0, group="HZ") # Stages AddDensity(name="Height_parameter", group="init", parameter=TRUE) @@ -26,9 +26,9 @@ AddAction(name="InitFromFields", "BaseInitFromFields") # Output quantieties AddQuantity(name="Rho", unit="kg/m3") -AddQuantity(name="Pressure", unit="Pa") +AddQuantity(name="P", unit="Pa") AddQuantity(name="U", unit="m/s",vector=T) -AddQuantity(name="H_Z", unit="m") +AddQuantity(name="H", unit="m") AddQuantity(name="C", unit="1/m3") # Settings @@ -50,20 +50,19 @@ AddSetting(name="Height", default=1, zonal=TRUE) AddSetting(name="ConcentrationRelaxationRate", SC2="1-ConcentrationRelaxationRate", default=0, comment='one over concentration relaxation time') AddSetting(name="Diffusivity", ConcentrationRelaxationRate="1.0/(3*Diffusivity+0.5)", default=0.166666667, comment='diffusivity') AddSetting(name="Concentration", default=0, comment='inlet/outlet/init concentration', zonal=T) -AddSetting(name="C_saturation", default=1) +AddSetting(name="Saturation", default=1) AddSetting(name="k",default=1, comment='Reaction speed coefficient') -AddSetting(name="C_solid", default=100, comment='Solid concentration') +AddSetting(name="SolidConcentration", default=100, comment='Solid concentration') AddSetting(name="SC1", default="0", comment='MRT CSx') AddSetting(name="SC2", default="0", comment='MRT CSx') AddSetting(name="SC3", default="0", comment='MRT CSx') +# AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') # AddSetting(name="ConcentrationRelaxationRate_even", default=0, comment='TRT even concetration relaxation rate') # AddSetting(name="ConcentrationRelaxationRate_odd", ConcentrationRelaxationRate_even="(1.0 - 0.5*ConcentrationRelaxationRate_odd)/((MagicNumber_D-0.25)*ConcentrationRelaxationRate_odd + 0.5)", default=0, comment='TRT odd concetration relaxation rate') -# AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') -# AddSetting(name="SC_even", default="0", comment='MRT CSx') # AddSetting(name="SC_odd", default="0", comment='MRT CSx') # AddSetting(name="Diffusivity", ConcentrationRelaxationRate='1.0/(3*Diffusivity+0.5)', default=0.16666666, comment='Diffusivity') # AddSetting(name="Diffusivity", ConcentrationRelaxationRate_odd="1.0/(3*Diffusivity+0.5)", default=0.16666666, comment='Diffusivity') diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index da379df0b..59306e3e2 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -47,11 +47,11 @@ CudaDeviceFunction void Init() { SetEquilibrum_f(rho, rho*u.x, rho*u.y); SetEquilibrum_c(C, C*u.x, C*u.y); - h_Z = Height; + h = Height; } CudaDeviceFunction void InitFromFields() { - h_Z = Height_parameter; + h = Height_parameter; } CudaDeviceFunction void Run() { @@ -206,7 +206,7 @@ CudaDeviceFunction void CollisionMRT() { real_t dJy = GravitationY*rho ; real_t nu = -(S2 + 1)/(6*S2 - 6) ; - real_t K = rho * 12. * nu / h_Z / h_Z; + real_t K = rho * 12. * nu / h / h; Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; @@ -224,6 +224,7 @@ CudaDeviceFunction void CollisionMRT() { R[!selR] = cMRT$Req[!selR] ?> real_t C, JCx, JCy; + ; } -CudaDeviceFunction real_t getPressure(){ +CudaDeviceFunction real_t getP(){ return ( - 1.)/3.; } @@ -268,8 +269,8 @@ CudaDeviceFunction real_t getC(){ return C; } -CudaDeviceFunction real_t getH_Z(){ - return h_Z; +CudaDeviceFunction real_t getH(){ + return h; } CudaDeviceFunction vector_t getU(){ @@ -281,9 +282,9 @@ CudaDeviceFunction vector_t getU(){ u.x += d*GravitationX*0.5; u.y += d*GravitationY*0.5; - real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t nu = -(S2 + 1)/(6*S2 - 6); - real_t K = d * 12. * nu / h_Z / h_Z; + real_t K = d * 12. * nu / h / h; u.x = (u.x)/(1. + 0.5 * K) / d; u.y = (u.y)/(1. + 0.5 * K) / d; From 80a8a615b5d18b415c4536e2cf9b81ac03e9d99e Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 21 Dec 2021 14:49:34 +0100 Subject: [PATCH 19/39] Concentration d2q9 and TRT --- example/flow/2d/fr.xml | 14 +++---- .../flow/d2q9_fracture_dissolution/Dynamics.R | 12 ++++-- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 41 +++++++++++++++---- 3 files changed, 47 insertions(+), 20 deletions(-) diff --git a/example/flow/2d/fr.xml b/example/flow/2d/fr.xml index e5ad5ebbf..00e65e269 100644 --- a/example/flow/2d/fr.xml +++ b/example/flow/2d/fr.xml @@ -5,7 +5,7 @@ - + @@ -32,21 +32,21 @@ - + - - + + - + - - + + diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index b0557a85b..48d64f961 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -14,6 +14,10 @@ AddDensity( name="c[1]", dx= 1, dy= 0, group="c") AddDensity( name="c[2]", dx= 0, dy= 1, group="c") AddDensity( name="c[3]", dx=-1, dy= 0, group="c") AddDensity( name="c[4]", dx= 0, dy=-1, group="c") +AddDensity( name="c[5]", dx= 1, dy= 1, group="c") +AddDensity( name="c[6]", dx=-1, dy= 1, group="c") +AddDensity( name="c[7]", dx=-1, dy=-1, group="c") +AddDensity( name="c[8]", dx= 1, dy=-1, group="c") AddDensity( name="h", dx=0, dy=0, group="HZ") @@ -54,10 +58,10 @@ AddSetting(name="Saturation", default=1) AddSetting(name="k",default=1, comment='Reaction speed coefficient') AddSetting(name="SolidConcentration", default=100, comment='Solid concentration') -AddSetting(name="SC1", default="0", comment='MRT CSx') -AddSetting(name="SC2", default="0", comment='MRT CSx') -AddSetting(name="SC3", default="0", comment='MRT CSx') -# AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') +AddSetting(name="SC2", default="0", comment='MRT concentration Sx') +AddSetting(name="SC3", default="0", comment='MRT concentration Sx') +AddSetting(name="SC4", default="0", comment='MRT concentration Sx') +AddSetting(name="MagicNumber_D", default=0.25, comment='TRT concetration magic number') # AddSetting(name="ConcentrationRelaxationRate_even", default=0, comment='TRT even concetration relaxation rate') diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 59306e3e2..09b8b81d3 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -134,7 +134,13 @@ CudaDeviceFunction void WPressure() CudaDeviceFunction void WPressureWConcentration() { - c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +//d2q5 +//c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +//d2q9 + real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void WVelocity() @@ -145,7 +151,13 @@ CudaDeviceFunction void WVelocity() CudaDeviceFunction void WVelocityWConcentration() { - c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +//d2q5 +//c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +//d2q9 + real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void EPressure() @@ -156,7 +168,13 @@ CudaDeviceFunction void EPressure() CudaDeviceFunction void EPressureEConcentration() { - c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; +//d2q5 +//c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; +//d2q9 + real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); + c[3] = (1./ 9.) * C; + c[7] = (1./36.) * C; + c[6] = (1./36.) * C; } CudaDeviceFunction void NVelocity() @@ -224,23 +242,28 @@ CudaDeviceFunction void CollisionMRT() { R[!selR] = cMRT$Req[!selR] ?> real_t C, JCx, JCy; - + real_t omega_even = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); + real_t SC_even = 1. - omega_even; 0 C(R[selR], (R - cMRT$Req)[selR]); C(R[selR], (R * S)[selR]); ?> -/* -- Reaction - if(C < C_saturation) { - real_t Q = k * (C_saturation - C); +// -- Reaction + if(C < Saturation) { + real_t Q = k * (Saturation - C); real_t dC = 2*Q; real_t dh = 2*Q/SolidConcentration; C += dC; h += dh; } -*/ + ; -// real_t Q = k * (C_saturation - C); +// real_t Q = k * (Saturation - C); // real_t dC = Q; // C += dC; From 623705fd0e22ea7df7aec8a3dbd06fdee58adbd1 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 31 Jan 2022 10:15:03 +0100 Subject: [PATCH 20/39] Incompressible equilibrium distirbution implementation --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 6 +- .../d2q9_fracture_dissolution/Dynamics.c.Rt | 185 ++++++++++++------ 2 files changed, 132 insertions(+), 59 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 48d64f961..6ce656957 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -41,8 +41,8 @@ AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0 AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) -AddSetting(name="GravitationX") -AddSetting(name="GravitationY") +AddSetting(name="GravitationX",default=0, comment='body/external acceleration', zonal=TRUE) +AddSetting(name="GravitationY",default=0, comment='body/external acceleration', zonal=TRUE) AddSetting(name="S2", default="0", comment='MRT Sx') AddSetting(name="S3", default="0", comment='MRT Sx') @@ -51,6 +51,7 @@ AddSetting(name="S4", default="0", comment='MRT Sx') AddSetting(name="nubuffer", default=0.01, comment='Viscosity in the buffer layer (cumulant)') AddSetting(name="Height", default=1, zonal=TRUE) + AddSetting(name="ConcentrationRelaxationRate", SC2="1-ConcentrationRelaxationRate", default=0, comment='one over concentration relaxation time') AddSetting(name="Diffusivity", ConcentrationRelaxationRate="1.0/(3*Diffusivity+0.5)", default=0.166666667, comment='diffusivity') AddSetting(name="Concentration", default=0, comment='inlet/outlet/init concentration', zonal=T) @@ -98,4 +99,5 @@ AddNodeType(name="Outlet", group="OBJECTIVE") AddNodeType(name="Solid", group="BOUNDARY") AddNodeType(name="Wall", group="BOUNDARY") AddNodeType(name="MRT", group="COLLISION") +AddNodeType(name="IncompressibleSRT", group="COLLISION") AddNodeType(name="Reaction", group="SOURCE") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index 09b8b81d3..f8af77b1b 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -1,30 +1,30 @@ CudaDeviceFunction void Init() { - real_t rho = (1 + Pressure*3); + real_t rho = (1 + Pressure*3); real_t C = Concentration; vector_t u; - u.x = VelocityX; + u.x = VelocityX; u.y = VelocityY; - SetEquilibrum_f(rho, rho*u.x, rho*u.y); + SetEquilibrum_f(rho, rho*u.x, rho*u.y); SetEquilibrum_c(C, C*u.x, C*u.y); h = Height; @@ -56,8 +56,8 @@ CudaDeviceFunction void InitFromFields() { CudaDeviceFunction void Run() { switch (NodeType & NODE_BOUNDARY) { - case NODE_Solid: - case NODE_Wall: + case NODE_Solid: + case NODE_Wall: BounceBack(); break; case NODE_EVelocity: @@ -99,13 +99,16 @@ CudaDeviceFunction void Run() { case NODE_MRT: CollisionMRT(); break; + case NODE_IncompressibleSRT: + CollisionIncompressibleSRT(); + break; } } CudaDeviceFunction void SetEquilibrum_f(real_t rho, real_t Jx, real_t Jy) { } @@ -116,6 +119,18 @@ CudaDeviceFunction void SetEquilibrum_c(real_t C, real_t JCx, real_t JCy) ?> } +CudaDeviceFunction void SetIncompressibleEquilibrium_SRT(real_t phi_x[9], real_t Phi, vector_t u){ + phi_x[0] = ( 2*X + ( -u.y*u.y - u.x*u.x )*3. )*2./9.; + phi_x[1] = ( 2*X + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )/18.; + phi_x[2] = ( 2*X + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )/18.; + phi_x[3] = ( 2*X + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )/18.; + phi_x[4] = ( 2*X + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )/18.; + phi_x[5] = ( X + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )/36.; + phi_x[6] = ( X + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )/36.; + phi_x[7] = ( X + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )/36.; + phi_x[8] = ( X + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )/36.; +} + CudaDeviceFunction void BounceBack() { @@ -138,9 +153,9 @@ CudaDeviceFunction void WPressureWConcentration() //c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; //d2q9 real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); - c[1] = (1./9.) * C; - c[5] = (1./36.) * C; - c[8] = (1./36.) * C; + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void WVelocity() @@ -155,9 +170,9 @@ CudaDeviceFunction void WVelocityWConcentration() //c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; //d2q9 real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); - c[1] = (1./9.) * C; - c[5] = (1./36.) * C; - c[8] = (1./36.) * C; + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void EPressure() @@ -172,9 +187,9 @@ CudaDeviceFunction void EPressureEConcentration() //c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; //d2q9 real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); - c[3] = (1./ 9.) * C; - c[7] = (1./36.) * C; - c[6] = (1./36.) * C; + c[3] = (1./ 9.) * C; + c[7] = (1./36.) * C; + c[6] = (1./36.) * C; } CudaDeviceFunction void NVelocity() @@ -197,28 +212,85 @@ CudaDeviceFunction void SSymmetry() } +// --- Collision operators --- + +CudaDeviceFunction void CollisionIncompressibleSRT() { + real_t d = getRho(); + vector_t u; + u.x = (( f[8]-f[7]-f[6]+f[5]-f[3]+f[1] )/d + GravitationX/ConcentrationRelaxationRate ); + u.y = ((-f[8]-f[7]+f[6]+f[5]-f[4]+f[2] )/d + GravitationY/ConcentrationRelaxationRate ); + real_t C = getC(); + + real_t phi_x[9]; + SetIncompressibleEquilibrium_SRT(phi_x, d, u); + for (int i=0; i< 9; i++) { + f[i] = f[i] + RelaxationRate*(phi_x[i]-f[i]); + } + SetIncompressibleEquilibrium_SRT(phi_x, C, u); + for (int i=0; i< 9; i++) { + c[i] = c[i] + ConcentrationRelaxationRate*(phi_x[i]-c[i]); + } +} + +CudaDeviceFunction void CollisionMRT_f() { + 1 + R[!selR] = fMRT$Req[!selR] +?> + + real_t ; + real_t Usq=0; + + + real_t dJx = GravitationX*rho ; + real_t dJy = GravitationY*rho ; + + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t K = rho * 12. * nu / h / h; + + Jx = Jx + dJx - K*(Jx+dJx*0.5)/(1. + 0.5 * K) / rho; + Jy = Jy + dJy - K*(Jy+dJy*0.5)/(1. + 0.5 * K) / rho; + + +} + CudaDeviceFunction void CollisionMRT() { 1 - R[!selR] = fMRT$Req[!selR] + R = PV("R", 1:nrow(U)-1); + selR = fMRT$order > 1 + R[!selR] = fMRT$Req[!selR] ?> - real_t ; + real_t ; real_t Usq=0; real_t dJx = GravitationX*rho ; real_t dJy = GravitationY*rho ; @@ -231,29 +303,29 @@ CudaDeviceFunction void CollisionMRT() { 1 R[!selR] = cMRT$Req[!selR] ?> - real_t C, JCx, JCy; + real_t C, JCx, JCy; real_t omega_even = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); real_t SC_even = 1. - omega_even; 0 C(R[selR], (R - cMRT$Req)[selR]); - C(R[selR], (R * S)[selR]); + C(R[selR], (R * S)[selR]); ?> // -- Reaction if(C < Saturation) { @@ -269,21 +341,20 @@ CudaDeviceFunction void CollisionMRT() { C(c, R %*% solve(cMRT$mat), float=F); #endregion second population ?> - } // --- Macroscopic output quantieties --- CudaDeviceFunction real_t getRho(){ - return ; + return ; } CudaDeviceFunction real_t getP(){ - return ( - 1.)/3.; + return ( - 1.)/3.; } CudaDeviceFunction real_t getC(){ - real_t C = ; + real_t C = ; // real_t Q = k * (Saturation - C); // real_t dC = Q; @@ -293,12 +364,12 @@ CudaDeviceFunction real_t getC(){ } CudaDeviceFunction real_t getH(){ - return h; + return h; } CudaDeviceFunction vector_t getU(){ - real_t d = ; - vector_t u; + real_t d = ; + vector_t u; @@ -312,8 +383,8 @@ CudaDeviceFunction vector_t getU(){ u.x = (u.x)/(1. + 0.5 * K) / d; u.y = (u.y)/(1. + 0.5 * K) / d; - u.z = 0.0; - return u; + u.z = 0.0; + return u; } CudaDeviceFunction float2 Color() { From c9908e2625e06d20fb06962baf89d02453872fc6 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Wed, 2 Feb 2022 15:54:39 +0100 Subject: [PATCH 21/39] Incompressible equlibrium for flow --- example/flow/2d/fracture.xml | 73 +++++++++++++++++++ .../d2q9_fracture_dissolution/Dynamics.c.Rt | 42 +++++++---- 2 files changed, 100 insertions(+), 15 deletions(-) create mode 100644 example/flow/2d/fracture.xml diff --git a/example/flow/2d/fracture.xml b/example/flow/2d/fracture.xml new file mode 100644 index 000000000..23d14402f --- /dev/null +++ b/example/flow/2d/fracture.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index f8af77b1b..d91a76a5d 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -119,16 +119,28 @@ CudaDeviceFunction void SetEquilibrum_c(real_t C, real_t JCx, real_t JCy) ?> } -CudaDeviceFunction void SetIncompressibleEquilibrium_SRT(real_t phi_x[9], real_t Phi, vector_t u){ - phi_x[0] = ( 2*X + ( -u.y*u.y - u.x*u.x )*3. )*2./9.; - phi_x[1] = ( 2*X + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )/18.; - phi_x[2] = ( 2*X + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )/18.; - phi_x[3] = ( 2*X + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )/18.; - phi_x[4] = ( 2*X + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )/18.; - phi_x[5] = ( X + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )/36.; - phi_x[6] = ( X + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )/36.; - phi_x[7] = ( X + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )/36.; - phi_x[8] = ( X + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )/36.; +CudaDeviceFunction void SetIncompressibleEquilibrium(real_t phi[9], real_t Phi, vector_t u){ + phi[0] = ( 2*Phi + ( -u.y*u.y - u.x*u.x )*3. )*2./9.; + phi[1] = ( 2*Phi + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )/18.; + phi[2] = ( 2*Phi + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )/18.; + phi[3] = ( 2*Phi + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )/18.; + phi[4] = ( 2*Phi + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )/18.; + phi[5] = ( Phi + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )/36.; + phi[6] = ( Phi + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )/36.; + phi[7] = ( Phi + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )/36.; + phi[8] = ( Phi + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )/36.; +} + +CudaDeviceFunction void SetEquilibrium(real_t phi[9], real_t Phi, vector_t u){ + phi[0] = ( 2. + ( -u.y*u.y - u.x*u.x )*3. )*Phi*2./9.; + phi[1] = ( 2. + ( -u.y*u.y + ( 1 + u.x )*u.x*2. )*3. )*Phi/18.; + phi[2] = ( 2. + ( -u.x*u.x + ( 1 + u.y )*u.y*2. )*3. )*Phi/18.; + phi[3] = ( 2. + ( -u.y*u.y + ( -1 + u.x )*u.x*2. )*3. )*Phi/18.; + phi[4] = ( 2. + ( -u.x*u.x + ( -1 + u.y )*u.y*2. )*3. )*Phi/18.; + phi[5] = ( 1. + ( ( 1 + u.y )*u.y + ( 1 + u.x + u.y*3. )*u.x )*3. )*Phi/36.; + phi[6] = ( 1. + ( ( 1 + u.y )*u.y + ( -1 + u.x - u.y*3. )*u.x )*3. )*Phi/36.; + phi[7] = ( 1. + ( ( -1 + u.y )*u.y + ( -1 + u.x + u.y*3. )*u.x )*3. )*Phi/36.; + phi[8] = ( 1. + ( ( -1 + u.y )*u.y + ( 1 + u.x - u.y*3. )*u.x )*3. )*Phi/36.; } CudaDeviceFunction void BounceBack() @@ -221,14 +233,14 @@ CudaDeviceFunction void CollisionIncompressibleSRT() { u.y = ((-f[8]-f[7]+f[6]+f[5]-f[4]+f[2] )/d + GravitationY/ConcentrationRelaxationRate ); real_t C = getC(); - real_t phi_x[9]; - SetIncompressibleEquilibrium_SRT(phi_x, d, u); + real_t phi_eq[9]; + SetIncompressibleEquilibrium(phi_eq, d, u); for (int i=0; i< 9; i++) { - f[i] = f[i] + RelaxationRate*(phi_x[i]-f[i]); + f[i] = f[i] + RelaxationRate*(phi_eq[i]-f[i]); } - SetIncompressibleEquilibrium_SRT(phi_x, C, u); + SetEquilibrium(phi_eq, C, u); for (int i=0; i< 9; i++) { - c[i] = c[i] + ConcentrationRelaxationRate*(phi_x[i]-c[i]); + c[i] = c[i] + ConcentrationRelaxationRate*(phi_eq[i]-c[i]); } } From bfff3b07f5566b3d0507e9f9bd3c553207be50c2 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 10 May 2022 09:37:12 +0200 Subject: [PATCH 22/39] IncompressibleMRT implementation --- .../flow/d2q9_fracture_dissolution/Dynamics.R | 1 + .../d2q9_fracture_dissolution/Dynamics.c.Rt | 89 ++++++++++++++++++- 2 files changed, 88 insertions(+), 2 deletions(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index 6ce656957..b822bf26f 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -100,4 +100,5 @@ AddNodeType(name="Solid", group="BOUNDARY") AddNodeType(name="Wall", group="BOUNDARY") AddNodeType(name="MRT", group="COLLISION") AddNodeType(name="IncompressibleSRT", group="COLLISION") +AddNodeType(name="IncompressibleMRT", group="COLLISION") AddNodeType(name="Reaction", group="SOURCE") diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt index d91a76a5d..e1749bbd7 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.c.Rt @@ -20,11 +20,21 @@ H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) B = fMRT$mat %*% t(H) - fMRT = MRT_eq(U, mat=B) - f = PV(Density[Density$group=='f',"name"]) rho = PV("rho") J = PV("J",c("x","y")) + u = PV("u",c("x","y")) + + fMRT = MRT_eq(U, mat=B) + fMRT_incomp = MRT_eq(U, mat=B) + + c_sq = 1/3 + Feq = function( d, u ) { + wi*((u %*% t(U))*( 1/ c_sq) + ((u %*% t(U)) * (u %*% t(U)))*(1/(c_sq*c_sq*2)) - sum(u*u)*(1/(c_sq*2)) + d) + } + + fMRT_incomp$feq = Feq(rho,u) + fMRT_incomp$Req = Feq(rho,u) %*% fMRT_incomp$mat CU = as.matrix(Density[Density$group=='c',c("dx","dy")]) @@ -102,6 +112,9 @@ CudaDeviceFunction void Run() { case NODE_IncompressibleSRT: CollisionIncompressibleSRT(); break; + case NODE_IncompressibleMRT: + CollisionIncompressibleMRT(); + break; } } @@ -355,6 +368,78 @@ CudaDeviceFunction void CollisionMRT() { ?> } +CudaDeviceFunction void CollisionIncompressibleMRT() { + 1 + R[!selR] = fMRT_incomp$Req[!selR] +?> + real_t ; + real_t Usq=0; + + real_t dux = GravitationX; + real_t duy = GravitationY; + + real_t nu = -(S2 + 1)/(6*S2 - 6) ; + real_t K = rho * 12. * nu / h / h; + + ux = ux + dux - K*(ux+dux*0.5)/(1. + 0.5 * K) / rho; + uy = uy + duy - K*(uy+duy*0.5)/(1. + 0.5 * K) / rho; + + + + 1 + R[!selR] = cMRT$Req[!selR] +?> + real_t C, JCx, JCy; + real_t omega_even = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); + real_t SC_even = 1. - omega_even; + 0 + C(R[selR], (R - cMRT$Req)[selR]); + C(R[selR], (R * S)[selR]); +?> +// -- Reaction + if(C < Saturation) { + real_t Q = k * (Saturation - C); + real_t dC = 2*Q; + real_t dh = 2*Q/SolidConcentration; + C += dC; + h += dh; + } + + +} + // --- Macroscopic output quantieties --- CudaDeviceFunction real_t getRho(){ From cf487f24935628bff047e6c6ec1e7276d5ff0c40 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 16 May 2022 14:16:32 +0200 Subject: [PATCH 23/39] Concentration in kg/m3 --- models/flow/d2q9_fracture_dissolution/Dynamics.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/flow/d2q9_fracture_dissolution/Dynamics.R b/models/flow/d2q9_fracture_dissolution/Dynamics.R index b822bf26f..449b44dbd 100644 --- a/models/flow/d2q9_fracture_dissolution/Dynamics.R +++ b/models/flow/d2q9_fracture_dissolution/Dynamics.R @@ -33,7 +33,7 @@ AddQuantity(name="Rho", unit="kg/m3") AddQuantity(name="P", unit="Pa") AddQuantity(name="U", unit="m/s",vector=T) AddQuantity(name="H", unit="m") -AddQuantity(name="C", unit="1/m3") +AddQuantity(name="C", unit="kg/m3") # Settings AddSetting(name="RelaxationRate", S2='1-RelaxationRate', comment='one over relaxation time') From bf421e8b8190942ebf6aaf29c192b09c03db23e8 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Fri, 27 May 2022 16:33:27 +0200 Subject: [PATCH 24/39] Initial copy from d2q9 --- models/flow/d2q9_fracture/Description.md | 8 + models/flow/d2q9_fracture/Dynamics.R | 85 +++++++ models/flow/d2q9_fracture/Dynamics.c.Rt | 269 +++++++++++++++++++++++ models/flow/d2q9_fracture/conf.mk | 3 + 4 files changed, 365 insertions(+) create mode 100644 models/flow/d2q9_fracture/Description.md create mode 100644 models/flow/d2q9_fracture/Dynamics.R create mode 100644 models/flow/d2q9_fracture/Dynamics.c.Rt create mode 100644 models/flow/d2q9_fracture/conf.mk diff --git a/models/flow/d2q9_fracture/Description.md b/models/flow/d2q9_fracture/Description.md new file mode 100644 index 000000000..e9bf8e383 --- /dev/null +++ b/models/flow/d2q9_fracture/Description.md @@ -0,0 +1,8 @@ +The `d2q9` model is a basic 2D Lattice Boltzmann Method model for flow +simulation. + +It is a implementation of a simple Multiple-Relaxation-Time collision +operator. + +The model has one [option](/basics/options/): BC. This option turns on +custom fields for setting non-standard profiles on inlets and other things. diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R new file mode 100644 index 000000000..5aef9ffb4 --- /dev/null +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -0,0 +1,85 @@ +# Density - table of variables of LB Node to stream +# name - variable name to stream +# dx,dy,dz - direction of streaming +# comment - additional comment + +AddDensity( name="f[0]", dx= 0, dy= 0, group="f") +AddDensity( name="f[1]", dx= 1, dy= 0, group="f") +AddDensity( name="f[2]", dx= 0, dy= 1, group="f") +AddDensity( name="f[3]", dx=-1, dy= 0, group="f") +AddDensity( name="f[4]", dx= 0, dy=-1, group="f") +AddDensity( name="f[5]", dx= 1, dy= 1, group="f") +AddDensity( name="f[6]", dx=-1, dy= 1, group="f") +AddDensity( name="f[7]", dx=-1, dy=-1, group="f") +AddDensity( name="f[8]", dx= 1, dy=-1, group="f") + +#AddField(name="f[1]", dx=1); + +# THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE +# COMMENT OUT FOR PERFORMANCE +# If present thei are used: +# As VelocityX/Y for Boundary conditions +# As mass force (+ GravitationX/Y) in fluid +if (Options$bc) { + AddDensity( name="BC[0]", group="BC", parameter=TRUE) + AddDensity( name="BC[1]", group="BC", parameter=TRUE) +} + + +# Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) +# name - name of the field +# type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float +# Every field must correspond to a function in "Dynamics.c". +# If one have filed [something] with type [type], one have to define a function: +# [type] get[something]() { return ...; } + +AddQuantity(name="Rho",unit="kg/m3") +AddQuantity(name="U",unit="m/s",vector=T) + + + +# Settings - table of settings (constants) that are taken from a .xml file +# name - name of the constant variable +# comment - additional comment +# You can state that another setting is 'derived' from this one stating for example: RelaxationRate='1.0/(3*Viscosity + 0.5)' + +AddSetting( + name="RelaxationRate", + S2='1-RelaxationRate', + comment='one over relaxation time' + ) +AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') +AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) +AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) +AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) + +AddSetting(name="GravitationX") +AddSetting(name="GravitationY") +# Globals - table of global integrals that can be monitored and optimized + +AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") +AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") +AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") + +AddSetting(name="S2", default="0", comment='MRT Sx') +AddSetting(name="S3", default="0", comment='MRT Sx') +AddSetting(name="S4", default="0", comment='MRT Sx') + + +#Node types for boundaries +AddNodeType(name="EPressure", group="BOUNDARY") +AddNodeType(name="WPressure", group="BOUNDARY") + +AddNodeType(name="NVelocity", group="BOUNDARY") +AddNodeType(name="SVelocity", group="BOUNDARY") +AddNodeType(name="WVelocity", group="BOUNDARY") +AddNodeType(name="EVelocity", group="BOUNDARY") + +AddNodeType(name="NSymmetry", group="BOUNDARY") +AddNodeType(name="SSymmetry", group="BOUNDARY") + +AddNodeType(name="Inlet", group="OBJECTIVE") +AddNodeType(name="Outlet", group="OBJECTIVE") +AddNodeType(name="Solid", group="BOUNDARY") +AddNodeType(name="Wall", group="BOUNDARY") +AddNodeType(name="MRT", group="COLLISION") diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt new file mode 100644 index 000000000..27ebb980d --- /dev/null +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -0,0 +1,269 @@ + + +#define pi 3.141592653589793116 + +CudaDeviceFunction real_t getRho(){ + return ; +} + +CudaDeviceFunction vector_t getU(){ + real_t d = ; + vector_t u; + + u.x /= d; + u.y /= d; + + if (!IamBOUNDARY) { + u.x += BC[0]*0.5; + u.y += BC[1]*0.5; + } + + u.x += GravitationX*0.5; + u.y += GravitationY*0.5; + u.z = 0.0; + return u; +} + +CudaDeviceFunction float2 Color() { + float2 ret; + vector_t u = getU(); + ret.x = sqrt(u.x*u.x + u.y*u.y); + if (NodeType == NODE_Solid){ + ret.y = 0; + } else { + ret.y = 1; + } + return ret; +} + +CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) +{ + + + + if ( IamBOUNDARY ) { + BC[0] = Jx / rho; + BC[1] = Jy / rho; + } else { + BC[0] = 0; + BC[1] = 0; + } + +} + +CudaDeviceFunction void Init() { + real_t rho, ux, uy; + rho = (1+Pressure*3); + ux = VelocityX; + uy = VelocityY; + if (IamWall){ + rho = 1; + ux = 0; + uy = 0; + } + SetEquilibrum( + rho, + ux*rho, + uy*rho + ); +} + +CudaDeviceFunction void Run() { + switch (NodeType & NODE_BOUNDARY) { + case NODE_Solid: + case NODE_Wall: + BounceBack(); + break; + case NODE_EVelocity: + EVelocity(); + break; + case NODE_WPressure: + WPressure(); + break; + case NODE_WVelocity: + WVelocity(); + break; + case NODE_EPressure: + EPressure(); + break; + case NODE_NVelocity: + NVelocity(); + break; + case NODE_SVelocity: + SVelocity(); + break; + case NODE_NSymmetry: + NSymmetry(); + break; + case NODE_SSymmetry: + SSymmetry(); + break; + } + if (NodeType & NODE_MRT) + { + CollisionMRT(); + } +} + +CudaDeviceFunction void BounceBack() +{ + + if ( temp != 1+Pressure*3 ) { + + } else { + + } + +} + +CudaDeviceFunction void EVelocity() +{ + +} + +CudaDeviceFunction void WPressure() +{ + +} + +CudaDeviceFunction void WVelocity() +{ + +} + +CudaDeviceFunction void EPressure() +{ + +} + +CudaDeviceFunction void NVelocity() +{ + +} + +CudaDeviceFunction void SVelocity() +{ + +} + +CudaDeviceFunction void NSymmetry() +{ + +} + +CudaDeviceFunction void SSymmetry() +{ + +} + +CudaDeviceFunction void CollisionMRT() +{ + + 1 + R[!selR] = EQ$Req[!selR] +?> + + + + real_t ; + real_t Usq=0; + + + + switch (NodeType & NODE_OBJECTIVE) { + case NODE_Outlet: + + AddToOutletFlux(Jx/rho/rho); + AddToPressureLoss(-(Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + case NODE_Inlet: + + AddToInletFlux(Jx/rho/rho); + AddToPressureLoss((Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + } + + + + + if (!IamBOUNDARY) { + Jx = Jx + (GravitationX + BC[0])*rho ; + Jy = Jy + (GravitationY + BC[1])*rho ; + } + + Jx = Jx + GravitationX*rho; + Jy = Jy + GravitationY*rho; + + + +} + diff --git a/models/flow/d2q9_fracture/conf.mk b/models/flow/d2q9_fracture/conf.mk new file mode 100644 index 000000000..3e710337e --- /dev/null +++ b/models/flow/d2q9_fracture/conf.mk @@ -0,0 +1,3 @@ +ADJOINT=0 +TEST=TRUE +OPT="bc*autosym" From 12ae3a275a0ee337820b0081a6d35049a9a98239 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Fri, 27 May 2022 22:25:04 +0200 Subject: [PATCH 25/39] Add Brinkman force --- models/flow/d2q9_fracture/Dynamics.R | 12 ++++++++--- models/flow/d2q9_fracture/Dynamics.c.Rt | 28 +++++++++++++++++++++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 5aef9ffb4..804404f93 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -13,6 +13,8 @@ AddDensity( name="f[6]", dx=-1, dy= 1, group="f") AddDensity( name="f[7]", dx=-1, dy=-1, group="f") AddDensity( name="f[8]", dx= 1, dy=-1, group="f") +AddDensity( name="h", dx=0, dy=0, group="HZ") + #AddField(name="f[1]", dx=1); # THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE @@ -25,7 +27,6 @@ if (Options$bc) { AddDensity( name="BC[1]", group="BC", parameter=TRUE) } - # Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) # name - name of the field # type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float @@ -34,9 +35,9 @@ if (Options$bc) { # [type] get[something]() { return ...; } AddQuantity(name="Rho",unit="kg/m3") +AddQuantity(name="P", unit="Pa") AddQuantity(name="U",unit="m/s",vector=T) - - +AddQuantity(name="H", unit="m") # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable @@ -55,6 +56,9 @@ AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zona AddSetting(name="GravitationX") AddSetting(name="GravitationY") + +AddSetting(name="Height", default=1, zonal=TRUE) + # Globals - table of global integrals that can be monitored and optimized AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") @@ -83,3 +87,5 @@ AddNodeType(name="Outlet", group="OBJECTIVE") AddNodeType(name="Solid", group="BOUNDARY") AddNodeType(name="Wall", group="BOUNDARY") AddNodeType(name="MRT", group="COLLISION") + +AddNodeType(name="Brinkman", group="OBJECTIVE") diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 27ebb980d..6265adb3c 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -22,8 +22,6 @@ EQ = MRT_eq(U, mat=B) - - f = PV(Density[Density$group=='f',"name"]) rho = PV("rho") J = PV("J",c("x","y")) @@ -39,6 +37,10 @@ CudaDeviceFunction real_t getRho(){ return ; } + +CudaDeviceFunction real_t getP(){ + return ( - 1.)/3.; +} CudaDeviceFunction vector_t getU(){ real_t d = ; @@ -54,10 +56,21 @@ CudaDeviceFunction vector_t getU(){ u.x += GravitationX*0.5; u.y += GravitationY*0.5; - u.z = 0.0; + + real_t nu = -(S2 + 1)/(6*S2 - 6); + real_t K = 6. * nu / h / h; + + u.x = u.x - K*u.x*d*0.5; + u.x = u.y - K*u.y*d*0.5; + + u.z = 0.0; return u; } +CudaDeviceFunction real_t getH(){ + return h; +} + CudaDeviceFunction float2 Color() { float2 ret; vector_t u = getU(); @@ -103,6 +116,8 @@ CudaDeviceFunction void Init() { ux*rho, uy*rho ); + + h = Height; } CudaDeviceFunction void Run() { @@ -261,9 +276,14 @@ CudaDeviceFunction void CollisionMRT() Jy = Jy + GravitationY*rho; + if (NodeType & NODE_Brinkman) { + real_t nu = -(S2 + 1)/(6*S2 - 6); + real_t K = 6. * nu / h / h; + Jx = Jx - K*Jx; + Jy = Jy - K*Jy; + } } - From 096d9eaa46893dc16828da4a51b5515781e529b5 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Fri, 27 May 2022 22:35:03 +0200 Subject: [PATCH 26/39] Brinkman force correction --- models/flow/d2q9_fracture/Dynamics.c.Rt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 6265adb3c..300a2ae65 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -58,10 +58,10 @@ CudaDeviceFunction vector_t getU(){ u.y += GravitationY*0.5; real_t nu = -(S2 + 1)/(6*S2 - 6); - real_t K = 6. * nu / h / h; + real_t K = 12. * nu / h / h; u.x = u.x - K*u.x*d*0.5; - u.x = u.y - K*u.y*d*0.5; + u.y = u.y - K*u.y*d*0.5; u.z = 0.0; return u; @@ -278,7 +278,7 @@ CudaDeviceFunction void CollisionMRT() if (NodeType & NODE_Brinkman) { real_t nu = -(S2 + 1)/(6*S2 - 6); - real_t K = 6. * nu / h / h; + real_t K = 12. * nu / h / h; Jx = Jx - K*Jx; Jy = Jy - K*Jy; } From 5d1030d43f4b9e3d9e9fcf8c4c5ce94fc6bf8366 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Sat, 28 May 2022 17:27:33 +0200 Subject: [PATCH 27/39] d2q9 concentration without source --- models/flow/d2q9_fracture/Dynamics.R | 128 +++++++++++-------- models/flow/d2q9_fracture/Dynamics.c.Rt | 163 ++++++++++++++++-------- 2 files changed, 184 insertions(+), 107 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 804404f93..4d41a1cd6 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -3,19 +3,29 @@ # dx,dy,dz - direction of streaming # comment - additional comment -AddDensity( name="f[0]", dx= 0, dy= 0, group="f") -AddDensity( name="f[1]", dx= 1, dy= 0, group="f") -AddDensity( name="f[2]", dx= 0, dy= 1, group="f") -AddDensity( name="f[3]", dx=-1, dy= 0, group="f") -AddDensity( name="f[4]", dx= 0, dy=-1, group="f") -AddDensity( name="f[5]", dx= 1, dy= 1, group="f") -AddDensity( name="f[6]", dx=-1, dy= 1, group="f") -AddDensity( name="f[7]", dx=-1, dy=-1, group="f") -AddDensity( name="f[8]", dx= 1, dy=-1, group="f") - -AddDensity( name="h", dx=0, dy=0, group="HZ") - -#AddField(name="f[1]", dx=1); +AddDensity(name = "f[0]", dx = 0, dy = 0, group = "f") +AddDensity(name = "f[1]", dx = 1, dy = 0, group = "f") +AddDensity(name = "f[2]", dx = 0, dy = 1, group = "f") +AddDensity(name = "f[3]", dx = -1, dy = 0, group = "f") +AddDensity(name = "f[4]", dx = 0, dy = -1, group = "f") +AddDensity(name = "f[5]", dx = 1, dy = 1, group = "f") +AddDensity(name = "f[6]", dx = -1, dy = 1, group = "f") +AddDensity(name = "f[7]", dx = -1, dy = -1, group = "f") +AddDensity(name = "f[8]", dx = 1, dy = -1, group = "f") + +AddDensity(name = "h", dx = 0, dy = 0, group = "HZ") + +AddDensity(name = "c[0]", dx = 0, dy = 0, group = "c") +AddDensity(name = "c[1]", dx = 1, dy = 0, group = "c") +AddDensity(name = "c[2]", dx = 0, dy = 1, group = "c") +AddDensity(name = "c[3]", dx = -1, dy = 0, group = "c") +AddDensity(name = "c[4]", dx = 0, dy = -1, group = "c") +AddDensity(name = "c[5]", dx = 1, dy = 1, group = "c") +AddDensity(name = "c[6]", dx = -1, dy = 1, group = "c") +AddDensity(name = "c[7]", dx = -1, dy = -1, group = "c") +AddDensity(name = "c[8]", dx = 1, dy = -1, group = "c") + +# AddField(name="f[1]", dx=1); # THIS QUANTITIES ARE NEEDED FOR PYTHON INTEGRATION EXAMPLE # COMMENT OUT FOR PERFORMANCE @@ -23,69 +33,79 @@ AddDensity( name="h", dx=0, dy=0, group="HZ") # As VelocityX/Y for Boundary conditions # As mass force (+ GravitationX/Y) in fluid if (Options$bc) { - AddDensity( name="BC[0]", group="BC", parameter=TRUE) - AddDensity( name="BC[1]", group="BC", parameter=TRUE) + AddDensity(name = "BC[0]", group = "BC", parameter = TRUE) + AddDensity(name = "BC[1]", group = "BC", parameter = TRUE) } # Quantities - table of fields that can be exported from the LB lattice (like density, velocity etc) # name - name of the field # type - C type of the field, "real_t" - for single/double float, and "vector_t" for 3D vector single/double float # Every field must correspond to a function in "Dynamics.c". -# If one have filed [something] with type [type], one have to define a function: +# If one have filed [something] with type [type], one have to define a function: # [type] get[something]() { return ...; } -AddQuantity(name="Rho",unit="kg/m3") -AddQuantity(name="P", unit="Pa") -AddQuantity(name="U",unit="m/s",vector=T) -AddQuantity(name="H", unit="m") +AddQuantity(name = "Rho", unit = "kg/m3") +AddQuantity(name = "P", unit = "Pa") +AddQuantity(name = "U", unit = "m/s", vector = T) +AddQuantity(name = "H", unit = "m") +AddQuantity(name = "C", unit = "kg/m3") # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable # comment - additional comment # You can state that another setting is 'derived' from this one stating for example: RelaxationRate='1.0/(3*Viscosity + 0.5)' -AddSetting( - name="RelaxationRate", - S2='1-RelaxationRate', - comment='one over relaxation time' - ) -AddSetting(name="Viscosity", RelaxationRate='1.0/(3*Viscosity + 0.5)', default=0.16666666, comment='viscosity') -AddSetting(name="VelocityX", default=0, comment='inlet/outlet/init velocity', zonal=T) -AddSetting(name="VelocityY", default=0, comment='inlet/outlet/init velocity', zonal=T) -AddSetting(name="Pressure", default=0, comment='inlet/outlet/init density', zonal=T) +AddSetting(name = "RelaxationRate", S2 = "1-RelaxationRate", comment = "one over relaxation time") +AddSetting(name = "Viscosity", RelaxationRate = "1.0/(3*Viscosity + 0.5)", default = 0.16666666, comment = "viscosity") +AddSetting(name = "VelocityX", default = 0, comment = "inlet/outlet/init velocity", zonal = T) +AddSetting(name = "VelocityY", default = 0, comment = "inlet/outlet/init velocity", zonal = T) +AddSetting(name = "Pressure", default = 0, comment = "inlet/outlet/init density", zonal = T) +AddSetting(name = "GravitationX", default = 0, comment = "body/external acceleration", zonal = T) +AddSetting(name = "GravitationY", default = 0, comment = "body/external acceleration", zonal = T) -AddSetting(name="GravitationX") -AddSetting(name="GravitationY") +AddSetting(name = "S2", default = "0", comment = "MRT Sx") +AddSetting(name = "S3", default = "0", comment = "MRT Sx") +AddSetting(name = "S4", default = "0", comment = "MRT Sx") -AddSetting(name="Height", default=1, zonal=TRUE) +AddSetting(name = "Height", default = 1, zonal = TRUE) -# Globals - table of global integrals that can be monitored and optimized +AddSetting(name = "ConcentrationRelaxationRate", SC2 = "1-ConcentrationRelaxationRate", default = 0, comment = "one over concentration relaxation time") +AddSetting(name = "Diffusivity", ConcentrationRelaxationRate = "1.0/(3*Diffusivity+0.5)", default = 0.166666667, comment = "diffusivity") +AddSetting(name = "Concentration", default = 0, comment = "inlet/outlet/init concentration", zonal = T) +# AddSetting(name = "Saturation", default = 1, comment = "Saturation concentration") +# AddSetting(name = "ReactionConstant", default = 1, comment = "Reaction speed coefficient") +# AddSetting(name = "SolidConcentration", default = 1, comment = "Solid concentration") -AddGlobal(name="PressureLoss", comment='pressure loss', unit="1mPa") -AddGlobal(name="OutletFlux", comment='pressure loss', unit="1m2/s") -AddGlobal(name="InletFlux", comment='pressure loss', unit="1m2/s") +AddSetting(name = "SC2", default = "0", comment = "MRT concentration SCx") +AddSetting(name = "SC3", default = "0", comment = "MRT concentration SCx") +AddSetting(name = "SC4", default = "0", comment = "MRT concentration SCx") +AddSetting(name = "MagicNumber_D", default = 0.25, comment = "TRT concetration magic number") -AddSetting(name="S2", default="0", comment='MRT Sx') -AddSetting(name="S3", default="0", comment='MRT Sx') -AddSetting(name="S4", default="0", comment='MRT Sx') +# Globals - table of global integrals that can be monitored and optimized +AddGlobal(name = "PressureLoss", comment = "pressure loss", unit = "1mPa") +AddGlobal(name = "OutletFlux", comment = "pressure loss", unit = "1m2/s") +AddGlobal(name = "InletFlux", comment = "pressure loss", unit = "1m2/s") + +# Node types for boundaries +AddNodeType(name = "EPressure", group = "BOUNDARY") +AddNodeType(name = "WPressure", group = "BOUNDARY") -#Node types for boundaries -AddNodeType(name="EPressure", group="BOUNDARY") -AddNodeType(name="WPressure", group="BOUNDARY") +AddNodeType(name = "NVelocity", group = "BOUNDARY") +AddNodeType(name = "SVelocity", group = "BOUNDARY") +AddNodeType(name = "WVelocity", group = "BOUNDARY") +AddNodeType(name = "EVelocity", group = "BOUNDARY") -AddNodeType(name="NVelocity", group="BOUNDARY") -AddNodeType(name="SVelocity", group="BOUNDARY") -AddNodeType(name="WVelocity", group="BOUNDARY") -AddNodeType(name="EVelocity", group="BOUNDARY") +AddNodeType(name = "NSymmetry", group = "BOUNDARY") +AddNodeType(name = "SSymmetry", group = "BOUNDARY") -AddNodeType(name="NSymmetry", group="BOUNDARY") -AddNodeType(name="SSymmetry", group="BOUNDARY") +AddNodeType(name = "WPressureWConcentration", group = "BOUNDARY") +AddNodeType(name = "EPressureEConcentration", group = "BOUNDARY") -AddNodeType(name="Inlet", group="OBJECTIVE") -AddNodeType(name="Outlet", group="OBJECTIVE") -AddNodeType(name="Solid", group="BOUNDARY") -AddNodeType(name="Wall", group="BOUNDARY") -AddNodeType(name="MRT", group="COLLISION") +AddNodeType(name = "Inlet", group = "OBJECTIVE") +AddNodeType(name = "Outlet", group = "OBJECTIVE") +AddNodeType(name = "Solid", group = "BOUNDARY") +AddNodeType(name = "Wall", group = "BOUNDARY") +AddNodeType(name = "MRT", group = "COLLISION") -AddNodeType(name="Brinkman", group="OBJECTIVE") +AddNodeType(name = "Brinkman", group = "OBJECTIVE") \ No newline at end of file diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 300a2ae65..5f2dbad3a 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -5,35 +5,42 @@ source("lib/feq.R") source("lib/boundary.R") +# Creating variables for symbolic computations + f = PV(Density[Density$group=='f',"name"]) + c = PV(Density[Density$group=='c',"name"]) + rho = PV("rho") + J = PV("J",c("x","y")) + u = PV("u",c("x","y")) + C = PV("C") + if ( Options$bc ) { + BC_Velocity = PV(c('BC[0]', 'BC[1]')) + } else { + BC_Velocity = PV(c('VelocityX', 'VelocityY')) + } + +# Extracting velocity sets U = as.matrix(Density[Density$group=='f',c("dx","dy")]) + CU = as.matrix(Density[Density$group=='c',c("dx","dy")]) - EQ = MRT_eq(U, ortogonal=FALSE) - wi = subst(EQ$Req, Jx=0, Jy=0, Jz=0) - wi = subst(wi, rho=1) - wi = gapply(wi,function(x) x$.M, simplify=TRUE) - wi = wi %*% solve(EQ$mat) - wi = as.vector(wi) +# Creating objects which store all MRT needed information - W = solve(EQ$mat) %*% diag(1/wi) %*% solve(t(EQ$mat)) - i = rev(1:nrow(W)) - H = chol(W[i,i])[i,i] - H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) - B = EQ$mat %*% t(H) + # fMRT = MRT_eq(U, ortogonal=FALSE) + # wi = subst(fMRT$Req, Jx=0, Jy=0, Jz=0) + # wi = subst(wi, rho=1) + # wi = gapply(wi,function(x) x$.M, simplify=TRUE) + # wi = wi %*% solve(fMRT$mat) + # wi = as.vector(wi) - EQ = MRT_eq(U, mat=B) + # W = solve(fMRT$mat) %*% diag(1/wi) %*% solve(t(fMRT$mat)) + # i = rev(1:nrow(W)) + # H = chol(W[i,i])[i,i] + # H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) + # B = fMRT$mat %*% t(H) - f = PV(Density[Density$group=='f',"name"]) - rho = PV("rho") - J = PV("J",c("x","y")) - if ( Options$bc ) { - BC_Velocity=PV(c('BC[0]', 'BC[1]')) - } else { - BC_Velocity=PV(c('VelocityX', 'VelocityY')) - } + fMRT = MRT_eq(U, rho, J, order=2) + cMRT = MRT_eq(CU, C, C*u, order=2) ?> -#define pi 3.141592653589793116 - CudaDeviceFunction real_t getRho(){ return ; } @@ -71,6 +78,10 @@ CudaDeviceFunction real_t getH(){ return h; } +CudaDeviceFunction real_t getC(){ + return ; +} + CudaDeviceFunction float2 Color() { float2 ret; vector_t u = getU(); @@ -83,11 +94,12 @@ CudaDeviceFunction float2 Color() { return ret; } -CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) -{ +CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy, real_t C, real_t ux, real_t uy) { @@ -102,10 +114,11 @@ CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy) } CudaDeviceFunction void Init() { - real_t rho, ux, uy; + real_t rho, ux, uy, C; rho = (1+Pressure*3); ux = VelocityX; uy = VelocityY; + C = Concentration; if (IamWall){ rho = 1; ux = 0; @@ -114,7 +127,10 @@ CudaDeviceFunction void Init() { SetEquilibrum( rho, ux*rho, - uy*rho + uy*rho, + C, + ux, + uy ); h = Height; @@ -176,32 +192,32 @@ CudaDeviceFunction void BounceBack() CudaDeviceFunction void EVelocity() { - + } CudaDeviceFunction void WPressure() { - + } CudaDeviceFunction void WVelocity() { - + } CudaDeviceFunction void EPressure() { - + } CudaDeviceFunction void NVelocity() { - + } CudaDeviceFunction void SVelocity() { - + } CudaDeviceFunction void NSymmetry() @@ -214,30 +230,46 @@ CudaDeviceFunction void SSymmetry() } -CudaDeviceFunction void CollisionMRT() +CudaDeviceFunction void WPressureWConcentration() { + +//d2q5 +// c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +//d2q9 + real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; +} - +//d2q5 +// c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; +//d2q9 + real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); + c[3] = (1./ 9.) * C; + c[7] = (1./36.) * C; + c[6] = (1./36.) * C; +} +CudaDeviceFunction void CollisionMRT() +{ +// refion f population + 1 - R[!selR] = EQ$Req[!selR] + selR = fMRT$order > 1 + R[!selR] = fMRT$Req[!selR] ?> - - - real_t ; real_t Usq=0; - switch (NodeType & NODE_OBJECTIVE) { @@ -245,7 +277,6 @@ CudaDeviceFunction void CollisionMRT() AddToOutletFlux(Jx/rho/rho); AddToPressureLoss(-(Jx/rho)/rho*((rho-1.)/3. + Usq/rho/2.)); @@ -261,9 +292,8 @@ CudaDeviceFunction void CollisionMRT() } @@ -283,7 +313,34 @@ CudaDeviceFunction void CollisionMRT() Jy = Jy - K*Jy; } +// endregion f population +// region c population + 0 + RC[!selCR] = cMRT$Req[!selCR] +?> + real_t ; + real_t ux, uy; + ux = f[8] - f[7] - f[6] + f[5] - f[3] + f[1]; + uy = -f[8] - f[7] + f[6] + f[5] - f[4] + f[2]; + real_t omega_even = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); + real_t SC_even = 1. - omega_even; + +// endregion c population } From 4aef7907a89b1d43c87edd576e952d5c3068b500 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Sat, 28 May 2022 17:56:27 +0200 Subject: [PATCH 28/39] Adding concentration BCs --- models/flow/d2q9_fracture/Dynamics.c.Rt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 5f2dbad3a..2fd4fb307 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -166,6 +166,12 @@ CudaDeviceFunction void Run() { case NODE_SSymmetry: SSymmetry(); break; + case NODE_WPressureWConcentration: + WPressureWConcentration(); + break; + case NODE_EPressureEConcentration: + EPressureEConcentration(); + break; } if (NodeType & NODE_MRT) { From eb6523b6bc8bbe632a30729c8a7100d92edfba6f Mon Sep 17 00:00:00 2001 From: tr427605 Date: Sat, 28 May 2022 18:39:17 +0200 Subject: [PATCH 29/39] d2q5 concentration --- models/flow/d2q9_fracture/Dynamics.R | 8 ++++---- models/flow/d2q9_fracture/Dynamics.c.Rt | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 4d41a1cd6..203237934 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -20,10 +20,10 @@ AddDensity(name = "c[1]", dx = 1, dy = 0, group = "c") AddDensity(name = "c[2]", dx = 0, dy = 1, group = "c") AddDensity(name = "c[3]", dx = -1, dy = 0, group = "c") AddDensity(name = "c[4]", dx = 0, dy = -1, group = "c") -AddDensity(name = "c[5]", dx = 1, dy = 1, group = "c") -AddDensity(name = "c[6]", dx = -1, dy = 1, group = "c") -AddDensity(name = "c[7]", dx = -1, dy = -1, group = "c") -AddDensity(name = "c[8]", dx = 1, dy = -1, group = "c") +# AddDensity(name = "c[5]", dx = 1, dy = 1, group = "c") +# AddDensity(name = "c[6]", dx = -1, dy = 1, group = "c") +# AddDensity(name = "c[7]", dx = -1, dy = -1, group = "c") +# AddDensity(name = "c[8]", dx = 1, dy = -1, group = "c") # AddField(name="f[1]", dx=1); diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 2fd4fb307..82dbbc568 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -240,24 +240,24 @@ CudaDeviceFunction void WPressureWConcentration() { //d2q5 -// c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; //d2q9 - real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); - c[1] = (1./9.) * C; - c[5] = (1./36.) * C; - c[8] = (1./36.) * C; +// real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); +// c[1] = (1./9.) * C; +// c[5] = (1./36.) * C; +// c[8] = (1./36.) * C; } CudaDeviceFunction void EPressureEConcentration() { //d2q5 -// c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; +c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; //d2q9 - real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); - c[3] = (1./ 9.) * C; - c[7] = (1./36.) * C; - c[6] = (1./36.) * C; +// real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); +// c[3] = (1./ 9.) * C; +// c[7] = (1./36.) * C; +// c[6] = (1./36.) * C; } CudaDeviceFunction void CollisionMRT() From c749a45f2d3effea377085a06ff65a4daa7d0cac Mon Sep 17 00:00:00 2001 From: tr427605 Date: Sun, 29 May 2022 00:29:59 +0200 Subject: [PATCH 30/39] Reaction added --- models/flow/d2q9_fracture/Dynamics.R | 20 +++++---- models/flow/d2q9_fracture/Dynamics.c.Rt | 58 +++++++++++++++++-------- 2 files changed, 52 insertions(+), 26 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 203237934..8a5442aab 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -20,10 +20,10 @@ AddDensity(name = "c[1]", dx = 1, dy = 0, group = "c") AddDensity(name = "c[2]", dx = 0, dy = 1, group = "c") AddDensity(name = "c[3]", dx = -1, dy = 0, group = "c") AddDensity(name = "c[4]", dx = 0, dy = -1, group = "c") -# AddDensity(name = "c[5]", dx = 1, dy = 1, group = "c") -# AddDensity(name = "c[6]", dx = -1, dy = 1, group = "c") -# AddDensity(name = "c[7]", dx = -1, dy = -1, group = "c") -# AddDensity(name = "c[8]", dx = 1, dy = -1, group = "c") +AddDensity(name = "c[5]", dx = 1, dy = 1, group = "c") +AddDensity(name = "c[6]", dx = -1, dy = 1, group = "c") +AddDensity(name = "c[7]", dx = -1, dy = -1, group = "c") +AddDensity(name = "c[8]", dx = 1, dy = -1, group = "c") # AddField(name="f[1]", dx=1); @@ -72,16 +72,17 @@ AddSetting(name = "Height", default = 1, zonal = TRUE) AddSetting(name = "ConcentrationRelaxationRate", SC2 = "1-ConcentrationRelaxationRate", default = 0, comment = "one over concentration relaxation time") AddSetting(name = "Diffusivity", ConcentrationRelaxationRate = "1.0/(3*Diffusivity+0.5)", default = 0.166666667, comment = "diffusivity") AddSetting(name = "Concentration", default = 0, comment = "inlet/outlet/init concentration", zonal = T) -# AddSetting(name = "Saturation", default = 1, comment = "Saturation concentration") -# AddSetting(name = "ReactionConstant", default = 1, comment = "Reaction speed coefficient") -# AddSetting(name = "SolidConcentration", default = 1, comment = "Solid concentration") +AddSetting(name = "Saturation", default = 1, comment = "Saturation concentration") +AddSetting(name = "ReactionConstant", default = 1, comment = "Reaction speed coefficient") +AddSetting(name = "SolidConcentration", default = 1, comment = "Solid concentration") +AddSetting(name = "Sherwood", default = 8, comment = "Sherwood number") + AddSetting(name = "SC2", default = "0", comment = "MRT concentration SCx") AddSetting(name = "SC3", default = "0", comment = "MRT concentration SCx") AddSetting(name = "SC4", default = "0", comment = "MRT concentration SCx") AddSetting(name = "MagicNumber_D", default = 0.25, comment = "TRT concetration magic number") - # Globals - table of global integrals that can be monitored and optimized AddGlobal(name = "PressureLoss", comment = "pressure loss", unit = "1mPa") AddGlobal(name = "OutletFlux", comment = "pressure loss", unit = "1m2/s") @@ -108,4 +109,5 @@ AddNodeType(name = "Solid", group = "BOUNDARY") AddNodeType(name = "Wall", group = "BOUNDARY") AddNodeType(name = "MRT", group = "COLLISION") -AddNodeType(name = "Brinkman", group = "OBJECTIVE") \ No newline at end of file +AddNodeType(name = "Brinkman", group = "OBJECTIVE") +AddNodeType(name = "Reaction", group = "OBJECTIVE") \ No newline at end of file diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 82dbbc568..5958d9710 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -61,15 +61,18 @@ CudaDeviceFunction vector_t getU(){ u.y += BC[1]*0.5; } + // half of the source added u.x += GravitationX*0.5; u.y += GravitationY*0.5; - real_t nu = -(S2 + 1)/(6*S2 - 6); - real_t K = 12. * nu / h / h; + if (NodeType & NODE_Brinkman) { + real_t nu = -(S2 + 1)/(6*S2 - 6); + real_t K = 12. * nu / h / h; - u.x = u.x - K*u.x*d*0.5; - u.y = u.y - K*u.y*d*0.5; - + u.x = u.x - K*u.x*0.5; + u.y = u.y - K*u.y*0.5; + } + u.z = 0.0; return u; } @@ -79,7 +82,18 @@ CudaDeviceFunction real_t getH(){ } CudaDeviceFunction real_t getC(){ - return ; + real_t C = ; + + // half of the source added + if (NodeType & NODE_Reaction) { + if(C < Saturation) { + real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + real_t Q = ReactionConstant_eff * (Saturation - C); + C += Q; + } + } + + return C; } CudaDeviceFunction float2 Color() { @@ -240,24 +254,24 @@ CudaDeviceFunction void WPressureWConcentration() { //d2q5 -c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; +// c[1] = Concentration - c[0] - c[2] - c[3] - c[4]; //d2q9 -// real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); -// c[1] = (1./9.) * C; -// c[5] = (1./36.) * C; -// c[8] = (1./36.) * C; + real_t C = 6.*( Concentration - (c[0] + c[2] + c[4] + c[3] + c[7] + c[6]) ); + c[1] = (1./9.) * C; + c[5] = (1./36.) * C; + c[8] = (1./36.) * C; } CudaDeviceFunction void EPressureEConcentration() { //d2q5 -c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; +// c[3] = Concentration - c[0] - c[1] - c[2] - c[4]; //d2q9 -// real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); -// c[3] = (1./ 9.) * C; -// c[7] = (1./36.) * C; -// c[6] = (1./36.) * C; + real_t C = 6.*( Concentration - ( c[0] + c[2] + c[4] + c[1] + c[5] + c[8] ) ); + c[3] = (1./ 9.) * C; + c[7] = (1./36.) * C; + c[6] = (1./36.) * C; } CudaDeviceFunction void CollisionMRT() @@ -341,10 +355,20 @@ CudaDeviceFunction void CollisionMRT() SC[cMRT$order == 2] = PV("SC2") SC[cMRT$order == 3] = PV("SC_even") SC[cMRT$order == 4] = PV("SC2") - C(RC, c %*% cMRT$mat); C(RC[selCR], (RC - cMRT$Req)[selCR]); C(RC[selCR], (RC * SC)[selCR]); +?> + if (NodeType & NODE_Reaction) { + if(C < Saturation) { + real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + real_t Q = ReactionConstant_eff * (Saturation - C); + C = C + 2*Q; + } else { + C = Saturation; + } + } + From fa8eb371af949907da6605e21fb5ea44b53e9d53 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Sun, 29 May 2022 16:44:17 +0200 Subject: [PATCH 31/39] Incompressible MRT for fluid --- models/flow/d2q9_fracture/Dynamics.R | 3 +- models/flow/d2q9_fracture/Dynamics.c.Rt | 178 +++++++++++++++++------- 2 files changed, 133 insertions(+), 48 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 8a5442aab..02156f855 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -108,6 +108,7 @@ AddNodeType(name = "Outlet", group = "OBJECTIVE") AddNodeType(name = "Solid", group = "BOUNDARY") AddNodeType(name = "Wall", group = "BOUNDARY") AddNodeType(name = "MRT", group = "COLLISION") +AddNodeType(name = "IncompressibleMRT", group = "COLLISION") AddNodeType(name = "Brinkman", group = "OBJECTIVE") -AddNodeType(name = "Reaction", group = "OBJECTIVE") \ No newline at end of file +AddNodeType(name = "Reaction", group = "OBJECTIVE") diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 5958d9710..587fcad8f 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -23,8 +23,7 @@ CU = as.matrix(Density[Density$group=='c',c("dx","dy")]) # Creating objects which store all MRT needed information - - # fMRT = MRT_eq(U, ortogonal=FALSE) + # fMRT = MRT_eq(U, ortogonal=FALSE) # wi = subst(fMRT$Req, Jx=0, Jy=0, Jz=0) # wi = subst(wi, rho=1) # wi = gapply(wi,function(x) x$.M, simplify=TRUE) @@ -36,9 +35,20 @@ # H = chol(W[i,i])[i,i] # H = H * c(1,sqrt(3)/3,sqrt(3)/3,sqrt(2),sqrt(2),1,sqrt(6)/3,sqrt(6)/3,2) # B = fMRT$mat %*% t(H) + # fMRT = MRT_eq(U, mat=B) fMRT = MRT_eq(U, rho, J, order=2) cMRT = MRT_eq(CU, C, C*u, order=2) + + # incomp_feq returns incompressible equilibrium distribution + incomp_feq = function( d, u ) { + weights = c(4./9., 1./9., 1./9., 1./9., 1./9., 1./36., 1./36., 1./36., 1./36.) + c_sq = 1/3. + weights*((u %*% t(U))*( 1/ c_sq) + ((u %*% t(U)) * (u %*% t(U)))*(1/(c_sq*c_sq*2)) - sum(u*u)*(1/(c_sq*2)) + d) + } + fMRT_incomp = MRT_eq(U, rho, u, order=2) + fMRT_incomp$feq = incomp_feq(rho,u) + fMRT_incomp$Req = incomp_feq(rho,u) %*% fMRT_incomp$mat ?> CudaDeviceFunction real_t getRho(){ @@ -109,11 +119,16 @@ CudaDeviceFunction float2 Color() { } CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy, real_t C, real_t ux, real_t uy) { + switch (NodeType & NODE_COLLISION) { + case NODE_MRT: + + break; + case NODE_IncompressibleMRT: + + break; + } @@ -152,45 +167,52 @@ CudaDeviceFunction void Init() { CudaDeviceFunction void Run() { switch (NodeType & NODE_BOUNDARY) { - case NODE_Solid: - case NODE_Wall: - BounceBack(); - break; - case NODE_EVelocity: - EVelocity(); - break; - case NODE_WPressure: - WPressure(); - break; - case NODE_WVelocity: - WVelocity(); - break; - case NODE_EPressure: - EPressure(); - break; - case NODE_NVelocity: - NVelocity(); - break; - case NODE_SVelocity: - SVelocity(); - break; - case NODE_NSymmetry: - NSymmetry(); + case NODE_Solid: + case NODE_Wall: + BounceBack(); + break; + case NODE_EVelocity: + EVelocity(); + break; + case NODE_WPressure: + WPressure(); + break; + case NODE_WVelocity: + WVelocity(); + break; + case NODE_EPressure: + EPressure(); + break; + case NODE_NVelocity: + NVelocity(); + break; + case NODE_SVelocity: + SVelocity(); + break; + case NODE_NSymmetry: + NSymmetry(); + break; + case NODE_SSymmetry: + SSymmetry(); + break; + case NODE_WPressureWConcentration: + WPressureWConcentration(); + break; + case NODE_EPressureEConcentration: + EPressureEConcentration(); + break; + } + + switch (NodeType & NODE_COLLISION) { + case NODE_MRT: + CollisionMRT(); break; - case NODE_SSymmetry: - SSymmetry(); + case NODE_IncompressibleMRT: + CollisionIncompressibleMRT(); break; - case NODE_WPressureWConcentration: - WPressureWConcentration(); - break; - case NODE_EPressureEConcentration: - EPressureEConcentration(); - break; - } - if (NodeType & NODE_MRT) - { - CollisionMRT(); } + + ConcentrationCollisionMRT(); } CudaDeviceFunction void BounceBack() @@ -276,7 +298,6 @@ CudaDeviceFunction void EPressureEConcentration() CudaDeviceFunction void CollisionMRT() { -// refion f population 1 @@ -336,8 +357,72 @@ CudaDeviceFunction void CollisionMRT() C( R[selR], (R + fMRT$Req)[selR]) C( f, R %*% solve(fMRT$mat), float=F) ?> -// endregion f population -// region c population +} + +CudaDeviceFunction void CollisionIncompressibleMRT() +{ + 1 + R[!selR] = fMRT_incomp$Req[!selR] +?> + real_t ; + real_t Usq=0; + + + switch (NodeType & NODE_OBJECTIVE) { + case NODE_Outlet: + + AddToOutletFlux(ux/rho); + AddToPressureLoss(-ux/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + case NODE_Inlet: + + AddToInletFlux(ux/rho); + AddToPressureLoss(ux/rho*((rho-1.)/3. + Usq/rho/2.)); + break; + } + + + + + if (!IamBOUNDARY) { + ux = ux + GravitationX + BC[0]; + uy = uy + GravitationY + BC[1]; + } + + ux = ux + GravitationX*rho; + uy = uy + GravitationY*rho; + + + if (NodeType & NODE_Brinkman) { + real_t nu = -(S2 + 1)/(6*S2 - 6); + real_t K = 12. * nu / h / h; + ux = ux - K*ux; + uy = uy - K*uy; + } + +} + +CudaDeviceFunction void ConcentrationCollisionMRT() { 0 @@ -372,5 +457,4 @@ CudaDeviceFunction void CollisionMRT() C(RC[selCR], (RC + cMRT$Req)[selCR]); C(c, RC %*% solve(cMRT$mat), float=F); ?> -// endregion c population -} +} \ No newline at end of file From b636b3450b83bdea71d6ef786a47e839e34d8719 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 30 May 2022 10:59:39 +0200 Subject: [PATCH 32/39] Relaxation C changes --- models/flow/d2q9_fracture/Dynamics.c.Rt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 587fcad8f..f8ed22d3c 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -432,14 +432,14 @@ CudaDeviceFunction void ConcentrationCollisionMRT() { real_t ux, uy; ux = f[8] - f[7] - f[6] + f[5] - f[3] + f[1]; uy = -f[8] - f[7] + f[6] + f[5] - f[4] + f[2]; - real_t omega_even = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); - real_t SC_even = 1. - omega_even; + real_t omega_odd = 2.*(2.-ConcentrationRelaxationRate)/(ConcentrationRelaxationRate*(4.*MagicNumber_D-1.)+2.); + real_t SC_odd = 1. - omega_odd; Date: Mon, 30 May 2022 20:14:53 +0200 Subject: [PATCH 33/39] Concentration SRT --- models/flow/d2q9_fracture/Dynamics.c.Rt | 61 ++++++++++++++++--------- 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index f8ed22d3c..eec727fce 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -49,6 +49,10 @@ fMRT_incomp = MRT_eq(U, rho, u, order=2) fMRT_incomp$feq = incomp_feq(rho,u) fMRT_incomp$Req = incomp_feq(rho,u) %*% fMRT_incomp$mat + +# SRT concentration + c_eq = PV(c(paste("c_eq[",1:9,"]",sep=""))) + SC2 = PV("SC2") ?> CudaDeviceFunction real_t getRho(){ @@ -94,14 +98,14 @@ CudaDeviceFunction real_t getH(){ CudaDeviceFunction real_t getC(){ real_t C = ; - // half of the source added - if (NodeType & NODE_Reaction) { - if(C < Saturation) { - real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); - real_t Q = ReactionConstant_eff * (Saturation - C); - C += Q; - } - } + // // half of the source added + // if (NodeType & NODE_Reaction) { + // if(C < Saturation) { + // real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + // real_t Q = ReactionConstant_eff * (Saturation - C); + // C += Q; + // } + // } return C; } @@ -166,6 +170,21 @@ CudaDeviceFunction void Init() { } CudaDeviceFunction void Run() { + doBC(); + + switch (NodeType & NODE_COLLISION) { + case NODE_MRT: + CollisionMRT(); + break; + case NODE_IncompressibleMRT: + CollisionIncompressibleMRT(); + break; + } + + ConcentrationCollisionSRT(); +} + +CudaDeviceFunction void doBC() { switch (NodeType & NODE_BOUNDARY) { case NODE_Solid: case NODE_Wall: @@ -202,17 +221,6 @@ CudaDeviceFunction void Run() { EPressureEConcentration(); break; } - - switch (NodeType & NODE_COLLISION) { - case NODE_MRT: - CollisionMRT(); - break; - case NODE_IncompressibleMRT: - CollisionIncompressibleMRT(); - break; - } - - ConcentrationCollisionMRT(); } CudaDeviceFunction void BounceBack() @@ -438,8 +446,8 @@ CudaDeviceFunction void ConcentrationCollisionMRT() { SC = PV("SC",1:nrow(CU)-1); SC[cMRT$order == 1] = PV("SC_odd") SC[cMRT$order == 2] = PV("SC2") - SC[cMRT$order == 3] = PV("SC3") - SC[cMRT$order == 4] = PV("SC4") + SC[cMRT$order == 3] = PV("SC_odd") + SC[cMRT$order == 4] = PV("SC2") C(RC, c %*% cMRT$mat); C(RC[selCR], (RC - cMRT$Req)[selCR]); C(RC[selCR], (RC * SC)[selCR]); @@ -457,4 +465,15 @@ CudaDeviceFunction void ConcentrationCollisionMRT() { C(RC[selCR], (RC + cMRT$Req)[selCR]); C(c, RC %*% solve(cMRT$mat), float=F); ?> +} + +CudaDeviceFunction void ConcentrationCollisionSRT() { + real_t C = ; + real_t ux, uy; + ux = f[8]-f[7]-f[6]+f[5]-f[3]+f[1]; + uy = -f[8]-f[7]+f[6]+f[5]-f[4]+f[2]; + + real_t c_eq[9]; + + } \ No newline at end of file From 72a8787391493ff11f46dfeffa4b6f37880a8ffe Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 31 May 2022 13:09:34 +0200 Subject: [PATCH 34/39] NodeTypes refactor --- models/flow/d2q9_fracture/Dynamics.R | 4 +- models/flow/d2q9_fracture/Dynamics.c.Rt | 81 +++++++++++++++++-------- 2 files changed, 59 insertions(+), 26 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 02156f855..3b65c3258 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -110,5 +110,5 @@ AddNodeType(name = "Wall", group = "BOUNDARY") AddNodeType(name = "MRT", group = "COLLISION") AddNodeType(name = "IncompressibleMRT", group = "COLLISION") -AddNodeType(name = "Brinkman", group = "OBJECTIVE") -AddNodeType(name = "Reaction", group = "OBJECTIVE") +# +AddNodeType(name = "Internal", group = "OBJECTIVE") diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index eec727fce..78132a2e8 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -55,6 +55,7 @@ SC2 = PV("SC2") ?> +// -- Macroscopic quantieties getters -- CudaDeviceFunction real_t getRho(){ return ; } @@ -79,7 +80,7 @@ CudaDeviceFunction vector_t getU(){ u.x += GravitationX*0.5; u.y += GravitationY*0.5; - if (NodeType & NODE_Brinkman) { + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { real_t nu = -(S2 + 1)/(6*S2 - 6); real_t K = 12. * nu / h / h; @@ -98,14 +99,14 @@ CudaDeviceFunction real_t getH(){ CudaDeviceFunction real_t getC(){ real_t C = ; - // // half of the source added - // if (NodeType & NODE_Reaction) { - // if(C < Saturation) { - // real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); - // real_t Q = ReactionConstant_eff * (Saturation - C); - // C += Q; - // } - // } + // half of the source added + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { + if(C < Saturation) { + real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + real_t Q = ReactionConstant * (Saturation - C); + C += Q; + } + } return C; } @@ -122,6 +123,7 @@ CudaDeviceFunction float2 Color() { return ret; } +// -- Initialisation and running simulation -- CudaDeviceFunction void SetEquilibrum(real_t rho, real_t Jx, real_t Jy, real_t C, real_t ux, real_t uy) { switch (NodeType & NODE_COLLISION) { case NODE_MRT: @@ -171,17 +173,7 @@ CudaDeviceFunction void Init() { CudaDeviceFunction void Run() { doBC(); - - switch (NodeType & NODE_COLLISION) { - case NODE_MRT: - CollisionMRT(); - break; - case NODE_IncompressibleMRT: - CollisionIncompressibleMRT(); - break; - } - - ConcentrationCollisionSRT(); + doCollision(); } CudaDeviceFunction void doBC() { @@ -223,6 +215,20 @@ CudaDeviceFunction void doBC() { } } +CudaDeviceFunction void doCollision() { + switch (NodeType & NODE_COLLISION) { + case NODE_MRT: + CollisionMRT(); + break; + case NODE_IncompressibleMRT: + CollisionIncompressibleMRT(); + break; + } + + ConcentrationCollisionSRT(); +} + +// -- BCs -- CudaDeviceFunction void BounceBack() { - if (NodeType & NODE_Brinkman) { + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { real_t nu = -(S2 + 1)/(6*S2 - 6); real_t K = 12. * nu / h / h; Jx = Jx - K*Jx; @@ -418,7 +425,7 @@ CudaDeviceFunction void CollisionIncompressibleMRT() uy = uy + GravitationY*rho; - if (NodeType & NODE_Brinkman) { + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { real_t nu = -(S2 + 1)/(6*S2 - 6); real_t K = 12. * nu / h / h; ux = ux - K*ux; @@ -452,10 +459,10 @@ CudaDeviceFunction void ConcentrationCollisionMRT() { C(RC[selCR], (RC - cMRT$Req)[selCR]); C(RC[selCR], (RC * SC)[selCR]); ?> - if (NodeType & NODE_Reaction) { + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { if(C < Saturation) { real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); - real_t Q = ReactionConstant_eff * (Saturation - C); + real_t Q = ReactionConstant * (Saturation - C); C = C + 2*Q; } else { C = Saturation; @@ -476,4 +483,30 @@ CudaDeviceFunction void ConcentrationCollisionSRT() { real_t c_eq[9]; + + if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { + if(C < Saturation) { + real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + real_t Q = ReactionConstant * (Saturation - C); + c[0] += 2*Q * 4./9.; + c[1] += 2*Q * 1./9; + c[2] += 2*Q * 1./9.; + c[3] += 2*Q * 1./9.; + c[4] += 2*Q * 1./9.; + c[5] += 2*Q * 1./36.; + c[6] += 2*Q * 1./36.; + c[7] += 2*Q * 1./36.; + c[8] += 2*Q * 1./36.; + } else { + c[0] = Saturation * 4./9.; + c[1] = Saturation * 1./9; + c[2] = Saturation * 1./9.; + c[3] = Saturation * 1./9.; + c[4] = Saturation * 1./9.; + c[5] = Saturation * 1./36.; + c[6] = Saturation * 1./36.; + c[7] = Saturation * 1./36.; + c[8] = Saturation * 1./36.; + } + } } \ No newline at end of file From 9462580bacb8ef1d6a7c7928db761bbb4140ad06 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 6 Jun 2022 14:51:48 +0200 Subject: [PATCH 35/39] Uniform ReactionConstant --- models/flow/d2q9_fracture/Dynamics.c.Rt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 78132a2e8..e71b9593a 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -102,7 +102,7 @@ CudaDeviceFunction real_t getC(){ // half of the source added if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { if(C < Saturation) { - real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + // real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); real_t Q = ReactionConstant * (Saturation - C); C += Q; } @@ -486,7 +486,7 @@ CudaDeviceFunction void ConcentrationCollisionSRT() { if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { if(C < Saturation) { - real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + // real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); real_t Q = ReactionConstant * (Saturation - C); c[0] += 2*Q * 4./9.; c[1] += 2*Q * 1./9; From ea2423a2e8712dba3ab712732a1471172adc3e61 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Mon, 6 Jun 2022 16:47:34 +0200 Subject: [PATCH 36/39] Height_parameter added --- models/flow/d2q9_fracture/Dynamics.R | 9 ++++++++- models/flow/d2q9_fracture/Dynamics.c.Rt | 6 +++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index 3b65c3258..e548e2b32 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -50,6 +50,13 @@ AddQuantity(name = "U", unit = "m/s", vector = T) AddQuantity(name = "H", unit = "m") AddQuantity(name = "C", unit = "kg/m3") +# Stages +AddDensity(name = "Height_parameter", group = "init", parameter = TRUE) +AddStage(name = "BaseIteration", main = "Run", load.densities = TRUE, save.fields = TRUE) +AddStage(name = "BaseInitFromFields", main = "InitFromFields", load.densities = TRUE, save.fields = TRUE) +AddAction(name = "Iteration", "BaseIteration") +AddAction(name = "InitFromFields", "BaseInitFromFields") + # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable # comment - additional comment @@ -111,4 +118,4 @@ AddNodeType(name = "MRT", group = "COLLISION") AddNodeType(name = "IncompressibleMRT", group = "COLLISION") # -AddNodeType(name = "Internal", group = "OBJECTIVE") +AddNodeType(name = "Internal", group = "OBJECTIVE") \ No newline at end of file diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index e71b9593a..5c503f5df 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -171,6 +171,10 @@ CudaDeviceFunction void Init() { h = Height; } +CudaDeviceFunction void InitFromFields() { + h = Height_parameter; +} + CudaDeviceFunction void Run() { doBC(); doCollision(); @@ -461,7 +465,7 @@ CudaDeviceFunction void ConcentrationCollisionMRT() { ?> if ((NodeType & NODE_OBJECTIVE) == NODE_Internal) { if(C < Saturation) { - real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); + // real_t ReactionConstant_eff = ReactionConstant * Diffusivity * Sherwood / (Diffusivity * Sherwood + 2*ReactionConstant*h); real_t Q = ReactionConstant * (Saturation - C); C = C + 2*Q; } else { From e59c96ae089e9870b0d1fdd615deb34f51842379 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 7 Jun 2022 14:43:08 +0200 Subject: [PATCH 37/39] TRT and magicNumber added --- models/flow/d2q9_fracture/Dynamics.R | 1 + models/flow/d2q9_fracture/Dynamics.c.Rt | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index e548e2b32..fe72560e1 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -73,6 +73,7 @@ AddSetting(name = "GravitationY", default = 0, comment = "body/external accelera AddSetting(name = "S2", default = "0", comment = "MRT Sx") AddSetting(name = "S3", default = "0", comment = "MRT Sx") AddSetting(name = "S4", default = "0", comment = "MRT Sx") +AddSetting(name = "MagicNumber", default = 0.25, comment = "TRT magic number") AddSetting(name = "Height", default = 1, zonal = TRUE) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 5c503f5df..d2fd4caec 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -324,11 +324,13 @@ CudaDeviceFunction void CollisionMRT() ?> real_t ; real_t Usq=0; + real_t omega_odd = 2.*(1.+S2)/((1.-S2)*(4.*MagicNumber-1.)+2.); + real_t S_odd = 1. - omega_odd; From 4f8a7917e20ed6373a285fc2f77618380d60804e Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Tue, 7 Jun 2022 17:53:13 +0200 Subject: [PATCH 38/39] Adding h evolution (naive) --- models/flow/d2q9_fracture/Dynamics.c.Rt | 1 + 1 file changed, 1 insertion(+) diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index d2fd4caec..65f8207eb 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -503,6 +503,7 @@ CudaDeviceFunction void ConcentrationCollisionSRT() { c[6] += 2*Q * 1./36.; c[7] += 2*Q * 1./36.; c[8] += 2*Q * 1./36.; + h += 2*Q/SolidConcentration; } else { c[0] = Saturation * 4./9.; c[1] = Saturation * 1./9; From 946498e23ecee5390ad8ff2ba3fed498d75a0e62 Mon Sep 17 00:00:00 2001 From: Tadeusz Rymarz Date: Wed, 8 Jun 2022 12:57:22 +0200 Subject: [PATCH 39/39] Add hEvolution step --- models/flow/d2q9_fracture/Dynamics.R | 3 +++ models/flow/d2q9_fracture/Dynamics.c.Rt | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/models/flow/d2q9_fracture/Dynamics.R b/models/flow/d2q9_fracture/Dynamics.R index fe72560e1..8b7ba4fc2 100644 --- a/models/flow/d2q9_fracture/Dynamics.R +++ b/models/flow/d2q9_fracture/Dynamics.R @@ -54,8 +54,10 @@ AddQuantity(name = "C", unit = "kg/m3") AddDensity(name = "Height_parameter", group = "init", parameter = TRUE) AddStage(name = "BaseIteration", main = "Run", load.densities = TRUE, save.fields = TRUE) AddStage(name = "BaseInitFromFields", main = "InitFromFields", load.densities = TRUE, save.fields = TRUE) +AddStage(name = "BasehEvolution", main = "hEvolution", load.densities = TRUE, save.fields = TRUE) AddAction(name = "Iteration", "BaseIteration") AddAction(name = "InitFromFields", "BaseInitFromFields") +AddAction(name = "hEvolution", "BasehEvolution") # Settings - table of settings (constants) that are taken from a .xml file # name - name of the constant variable @@ -84,6 +86,7 @@ AddSetting(name = "Saturation", default = 1, comment = "Saturation concentration AddSetting(name = "ReactionConstant", default = 1, comment = "Reaction speed coefficient") AddSetting(name = "SolidConcentration", default = 1, comment = "Solid concentration") AddSetting(name = "Sherwood", default = 8, comment = "Sherwood number") +AddSetting(name = "hTimeStep", default = 1, comment = "h evolution time step in pseudo-steady state approach") AddSetting(name = "SC2", default = "0", comment = "MRT concentration SCx") diff --git a/models/flow/d2q9_fracture/Dynamics.c.Rt b/models/flow/d2q9_fracture/Dynamics.c.Rt index 65f8207eb..36c011ff7 100644 --- a/models/flow/d2q9_fracture/Dynamics.c.Rt +++ b/models/flow/d2q9_fracture/Dynamics.c.Rt @@ -175,6 +175,12 @@ CudaDeviceFunction void InitFromFields() { h = Height_parameter; } +CudaDeviceFunction void hEvolution() { + real_t C = ; + real_t Q = ReactionConstant * (Saturation - C); + h += hTimeStep*2*Q/SolidConcentration; +} + CudaDeviceFunction void Run() { doBC(); doCollision(); @@ -503,7 +509,7 @@ CudaDeviceFunction void ConcentrationCollisionSRT() { c[6] += 2*Q * 1./36.; c[7] += 2*Q * 1./36.; c[8] += 2*Q * 1./36.; - h += 2*Q/SolidConcentration; + // h += 2*Q/SolidConcentration; } else { c[0] = Saturation * 4./9.; c[1] = Saturation * 1./9;

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