我正在尝试从科学论文构建R的数学形式。
在给出的示例中,我使用了164微米的变量。这是我所附论文中表3中的第一个结果。您将在此表中看到计算出的当前速度(非常干净!)。
总的来说,我希望获得两件事:侵蚀速度和沉积速度。我所附的论文是使用给定的公式进行的。我正在尝试构建一个可以通过这些公式运行数百种平均晶粒尺寸(即变量)的软件包。在理想的世界中,我的主要目标是使用给定的公式构建代码,该公式采用变量(平均粒度)并吐出可爱的数据。...我认为有可能,但是很遗憾,我的R技能不足< / p>
链接到公式:https://imgur.com/a/DEN721v?
链接到原始科学论文:https://link.springer.com/article/10.1007/s00531-008-0312-5
有5个方程,所有方程都相互补充。结果取决于我一开始输入的变量。
为我提供了四个已知值:
和一个变量(记为d),其为沉积物样品的平均晶粒尺寸。
例如,如果我的平均晶粒尺寸为164μm,则将其输入为1.64e-4。
寻求帮助,因为我的结果肯定还没有达到应有的水平。
p <- 1027.4 #water density (m^3)
ps <- 2650 #grain density (m^3)
g <- 9.81 #acceleration due to gravity (m/s^2)
v <- 1.4313e-6 #kinematic viscosity of water (m^2/s)
z100 <- 100 #level above seabed (cms)
d <- 1.64e-4 #variable (mean grain size in microns)
公式1
D1 <- 9.81*(ps-p)
D2 <- (p*v)^2
D3 <- (D1/D2)
D4 <- D3^(1/3)
D5 <- D4*d
D <- D5 #Dimensionless grain size
D
公式2.3
1 - exp(-0.001374634317)
Tcr1 <- -0.020*D
Tcr2 <- 1 - exp(Tcr1)
Tcr3 <- 0.055*Tcr2
Tcr4 <- 0.30/1+(1.2*D)
Tcr5 <- Tcr4 + Tcr3
Tcr6 <- 9.81*(ps-p)
Tcr7 <- Tcr6*d
Tcr8 <- Tcr7*Tcr5
Tcr <- Tcr8 #threshold bed shear stress (N/m^2)
exp(Tcr1)
Tcr
Ucr1 <- Tcr/p
Ucr2 <- sqrt(Ucr1)
Ucr <- Ucr2 #critical shear velocity
公式3
z0 <- d/12 #roughness length
z0
公式4
Ue1 <- z100/z0
Ue2 <- Ucr/0.41
Ue3 <- log(Ue1)
Ue4 <- Ue2*Ue3
Ue <- Ue4 # critical current velocity erosional threshold from particle size distribution
Ue
公式5
Usetl1 <- 10.36^(2)
Usetl2 <- D^(3)
Usetl3 <- 1.049*Usetl2
Usetl4 <- Usetl1 + Usetl3
Usetl5 <- Usetl4^(1/2)
Usetl6 <- Usetl5 - 10.36
Usetl7 <- v/d
Usetl8 <- Usetl7*Usetl6
Usetl <- Usetl8
结果以cm / s表示,应在20-50 cm / s左右。
答案 0 :(得分:2)
好的,让我们从头开始尝试。
p <- 1027.4 #water density (m^3)
ps <- 2650 #grain density (m^3)
g <- 9.81 #acceleration due to gravity (m/s^2)
v <- 1.4313e-6 #kinematic viscosity of water (m^2/s)
z100 <- 100 #level above seabed (cms)
d <- 1.64e-4 #variable (mean grain size in microns)
如果平均晶粒尺寸应为微米,则该最后一个值不正确。它以米为单位。
D <- d * (g * (ps - p) / (p * v^2))^(1/3)
结果是3.22。您的公式有误; (p * v)^2
而不是p * (v^2)
。
Tcr <- g * (ps - p) * d * (.3 / (1 + 1.2 * D) + .055 * (1 - exp(-.02 * D)) )
同样,您的公式中有一个错误:.3/1 + 1.2 * D
而不是.3/(1 + 1.2 * D)
。结果是.17。
Ucr <- sqrt(Tcr / p)
结果为0.01。
z0 = d / 12
结果为1.37E-5。
Ue <- Ucr / .41 * log(z100 / z0)
结果是0.50。不知道为什么我们要计算它。我们应该将它与Uset进行比较吗?
Uset <- v / d * ( sqrt(10.36^2 + 1.049 * D^3) - 10.36)
结果为.01(.0137014)。
这不是您说的应该得到的,但是与您得到的不同。另外,假设不是每秒厘米而是每秒米,那么每秒约为1厘米。
现在,让我们检查一下单位。首先,在指定单位时需要格外小心。水和谷物的密度不是m^3
;是kg * m^-3
。
首先,D。p是无声的(存在于分子和分母中):
m * (m * s^-2 / (m^4 * s^-2))^(1/3) =
m * (1/m^3)^(1/3) = m / m = 1
好的,无单位。
接下来,Tcr:公式的右半部分是无单位的(仅取决于D)。否则,
m * s^-2 * kg * m^-3 * m = (m * kg * s^-2) * m^-2 = N / m^2.
好的,也可以。
好,现在是Uset的公式。同样,等式右边的右部分是无单位的。其余的是
m^2 * s / m = m / s
至少单位退房。
希望这会有所帮助。