R中reactran的扩散反应模型
我试图在deSolve包中使用reacTran实现一个反应扩散PDE。然而,依赖于时间的反应项不起作用。任何关于如何实施的建议都将不胜感激R中reactran的扩散反应模型,r,R,我试图在deSolve包中使用reacTran实现一个反应扩散PDE。然而,依赖于时间的反应项不起作用。任何关于如何实施的建议都将不胜感激 library(ReacTran) library(deSolve) N <- 1000 xgrid <- setup.grid.1D(x.up = 0, x.down = 10, N = N) x <- xgrid$x.mid D.coeff <- 1 k <- 1 Diffusion <- function (t,
library(ReacTran)
library(deSolve)
N <- 1000
xgrid <- setup.grid.1D(x.up = 0, x.down = 10, N = N)
x <- xgrid$x.mid
D.coeff <- 1
k <- 1
Diffusion <- function (t, Y, parms){
tran <- tran.1D(C = Y, C.up = 0, C.down = 0, D = D.coeff, dx = xgrid)-k*t
reac <- -kt
return(list(tran$dC+reac))
}
# Set initial conditions as gaussian distribution
C0 <- 10 #Initial concentration (mg/L)
X0 <- 5 #Location of initial concentration (m)
sig <- .2 #Spread of Gaussian distribution
C <- rep(0,N) #matrix
Yini <- C+C0*exp(-((x-X0)/sig)^2)
parms1 <- list(D=D.coeff, k=k)
times <- seq(from = 0, to = 5, by = 0.01)
print(system.time(
out <- ode.1D(y = Yini, times = times, func = Diffusion,
parms = parms1, dimens = N)))
库(ReacTran)
图书馆(deSolve)
N“不工作”的确切含义是什么?您应该问一个特定的编程问题。弄清楚你的问题是什么。很抱歉没有弄清楚。在tran.1D表达式末尾或作为reac项添加k*t项时,“out”不会更改。