Nothing
# Newton's Law of Cooling
# Models the cooling of a cup of coffee left in a room (ACB)
# see http://en.wikipedia.org/wiki/Heat_conduction#Newton.27s_law_of_cooling
require(PBSddesolve)
if (!require(PBSmodelling)) stop("The package PBSmodelling must be installed for this demo")
local(env=.PBSddeEnv, expr={
closeWin("window")
#store working directory
if (!exists("oldwd") || getwd() != system.file(package = "PBSddesolve")) {
oldwd <- getwd()
setwd(system.file(package = "PBSddesolve"))
}
runPlot <- function() {
#extract variables from window
getWinVal(scope="L")
# `y' is the estimated value of the variable at time `t'
# y[1] represents the temperature of a cup of coffee at a given time `t'.
# dy/dt ~ y - room tempurature.
# so we can write dy/dt = -rho(y - roomTemp)
myGrad <- function(t, y) {
y1 <- -rho*(y[1]-Tenv)
return(y1)
}
#solve the ODE from t0..t1 - (ignore hbsize, setting to zero may crash)
x <- dde(y=Tcup, func=myGrad, times=seq(t0,t1,length=100), hbsize=0)
frame(); resetGraph();
plot(x, type="l", main="Cooling of a cup of coffee", ylab="Tempurature", xlab="Time")
}
#restore working directory once demo is done
#onClose <- function() { setwd(oldwd); }
# Now handled by `.onClosePBSddeExamples`
createWin("demo_files/cooling_win.txt")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.