通过科学论文构建公式

时间:2019-07-16 09:35:40

标签: r formula

我正在尝试从科学论文构建R的数学形式。

在给出的示例中,我使用了164微米的变量。这是我所附论文中表3中的第一个结果。您将在此表中看到计算出的当前速度(非常干净!)。

总的来说,我希望获得两件事:侵蚀速度和沉积速度。我所附的论文是使用给定的公式进行的。我正在尝试构建一个可以通过这些公式运行数百种平均晶粒尺寸(即变量)的软件包。在理想的世界中,我的主要目标是使用给定的公式构建代码,该公式采用变量(平均粒度)并吐出可爱的数据。...我认为有可能,但是很遗憾,我的R技能不足< / p>

链接到公式:https://imgur.com/a/DEN721v?

链接到原始科学论文:https://link.springer.com/article/10.1007/s00531-008-0312-5

有5个方程,所有方程都相互补充。结果取决于我一开始输入的变量。

为我提供了四个已知值:

  • p (水密度为m ^ 3),
  • ps (颗粒密度为m ^ 3),
  • g (由于重力产生的加速度,以m / s ^ 2表示),
  • v (水的运动粘度为m ^ 2 / s)

和一个变量(记为d),其为沉积物样品的平均晶粒尺寸。

  • 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左右。

1 个答案:

答案 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

至少单位退房。

希望这会有所帮助。