Description Usage Arguments Examples
Computes field value at point (x,y,z)
1 | cmf_fval_xyz(ft, mol, alpha, x, y, z)
|
ft |
|
mol |
|
alpha |
|
x |
|
y |
|
z |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | ##---- Should be DIRECTLY executable !! ----
##-- ==> Define data, use random,
##-- or do help(data=index) for the standard data sets.
## The function is currently defined as
cmf_fval_xyz <- function(ft, mol, alpha, x, y, z) {
fval <- 0.0
natoms <- length(mol$atoms)
for (iatom in 1:natoms) {
atom <- mol$atoms[[iatom]]
dist2 <- (x - atom$x)^2 + (y - atom$y)^2 + (z - atom$z)^2
if (ft == "q") {
fval <- fval + atom$pch * exp(- alpha * dist2 / 2.0)
} else if (ft == "vdw") {
dist2rel <- dist2 / (tripos_Rvdw[[atom$syb]])^2
fval <- fval + tripos_Evdw[[atom$syb]] * exp(- alpha * dist2rel / 2.0)
} else if (ft == "logp") {
fval <- fval + atom$hydroph * exp(- alpha * dist2 / 2.0)
} else if (ft == "abra") {
fval <- fval + atom$abraham_a * exp(- alpha * dist2 / 2.0)
} else if (ft == "abrb") {
fval <- fval + atom$abraham_b * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_q") {
fval <- fval + atom$mop_q * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_dn") {
fval <- fval + atom$mop_dn * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_de") {
fval <- fval + atom$mop_de * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_pis") {
fval <- fval + atom$mop_pis * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_homo") {
fval <- fval + atom$mop_homo * exp(- alpha * dist2 / 2.0)
} else if (ft == "mop_lumo") {
fval <- fval + atom$mop_lumo * exp(- alpha * dist2 / 2.0)
} else if (ft == "ind") {
fval <- fval + exp(- alpha * dist2 / 2.0)
} else if (ft %in% tripos_atom_types) {
if (ft == atom$syb) {
fval <- fval + exp(- alpha * dist2 / 2.0)
}
}
}
fval
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.