R中reactran的扩散反应模型

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,

我试图在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, 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”不会更改。