Nothing
## ----ch01,out.width='3.2in'----------------------------------------------
library(crone)
sdata <- load_structure("carbon_dioxide")
sdata$a # Length of unit cell
rtmp <- structure_gauss(sdata)
sdata$Z # Only two atoms in this structure?
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho),
ylim=c(-1,max(rtmp$rr)))
segments(sdata$x[1],0,sdata$x[2],0,lwd=2)
points(sdata$x[1],0,pch=16,cex=3,col="red")
points(sdata$x[2],0,pch=16,cex=3,col="grey")
abline(v=0.5*sdata$a,lty=2,col="blue")
## ----ch02----------------------------------------------------------------
sdata$x0
sdata$Z
sdata$occ
## ----ch03----------------------------------------------------------------
xx <- sdata$a-sdata$x0[1]
xx
# The two oxygens have same distance from the carbon
sdata$x0[2]-sdata$x0[1]
xx-sdata$x0[2]
## ----ch04,out.width='3.2in'----------------------------------------------
sdata_exp <- expand_to_cell(sdata)
# We can see that there are two oxygens and one carbon now
sdata_exp$Z
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho),
ylim=c(-1,max(rtmp$rr)))
segments(sdata_exp$x[1],0,sdata_exp$x[3],0,lwd=2)
points(sdata_exp$x[1],0,pch=16,cex=3,col="red")
points(sdata_exp$x[2],0,pch=16,cex=3,col="grey")
points(sdata_exp$x[3],0,pch=16,cex=3,col="red")
abline(v=0.5*sdata_exp$a,lty=2,col="blue")
## ----ch05,out.width='3.2in'----------------------------------------------
sdata$occ
sdata$occ[2] <- 1 # Change carbon occupancy to 1
rtmp <- structure_gauss(sdata)
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho),
ylim=c(-1,max(rtmp$rr)))
## ----ch06,out.width='3.2in'----------------------------------------------
sdata$occ
sdata$occ[2] <- 0.3 # Change carbon occupancy to 0.3
rtmp <- structure_gauss(sdata)
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho),
ylim=c(-1,max(rtmp$rr)))
## ----ch07----------------------------------------------------------------
hidx = -3:3
ftmp <- strufac(hidx,sdata)
# Structure factors corresponding to -1 and 1
c(ftmp$Fmod[3],ftmp$Fmod[5])
c(ftmp$Fpha[3],ftmp$Fpha[5])
# Structure factors corresponding to -2 and 2
c(ftmp$Fmod[2],ftmp$Fmod[6])
c(ftmp$Fpha[2],ftmp$Fpha[6])
# Structure factors corresponding to -2 and 2
c(ftmp$Fmod[1],ftmp$Fmod[7])
c(ftmp$Fpha[1],ftmp$Fpha[7])
## ----ch08,out.width='3.8in'----------------------------------------------
sdata <- list()
# Unit cell length is fixed at 50 angstroms
sdata$a <- 50
# Symmetry
sdata$SG <- "P-1"
# Populate half the cell
set.seed(9196)
sdata$x0 <- runif(5,min=0,max=0.5*sdata$a)
# Light elements
set.seed(9197)
sdata$Z <- sample(c(3:9,11:17),size=5,replace=FALSE)
sdata$Z
# Cold atoms
sdata$B <- rep(0,length=5)
# Standard occupancies
sdata$occ <- rep(1,length=5)
# Generate and display electron density
rtmp <- structure_gauss(sdata)
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho))
## ----ch09----------------------------------------------------------------
names(atoms)
# Find atom names corresponding to given Z
idx <- c()
for (i in 1:5) {
jdx <- which(atoms$Z == sdata$Z[i])
idx <- c(idx,jdx)
}
atoms[idx,]
# These are the elements
atoms$anames[idx]
## ----ch10,out.width='3.2in'----------------------------------------------
xgrid <- seq(-0.5*sdata$a,0.5*sdata$a,length=1000)
rtmp <- structure_gauss(sdata,x=xgrid)
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho))
## ----ch11,out.width='3.2in'----------------------------------------------
xgrid <- seq(-0.04*sdata$a,0.04*sdata$a,length=1000)
rtmp <- structure_gauss(sdata,x=xgrid)
plot(rtmp$x,rtmp$rr,type="l",xlab="x",ylab=expression(rho))
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.