#include "apbscfg.h"
#include "apbs/vpmg.h"
Include dependency graph for vpmg-private.h:
This graph shows which files directly or indirectly include this file:
Go to the source code of this file.
Functions | |
VPRIVATE double | bspline2 (double x) |
Evaluate a cubic B-spline. | |
VPRIVATE double | dbspline2 (double x) |
Evaluate a cubic B-spline derivative. | |
VPRIVATE double | VFCHI4 (int i, double f) |
Return 2.5 plus difference of i - f. | |
VPRIVATE double | bspline4 (double x) |
Evaluate a 5th Order B-Spline (4th order polynomial). | |
VPRIVATE double | dbspline4 (double x) |
Evaluate a 5th Order B-Spline derivative (4th order polynomial). | |
VPRIVATE double | d2bspline4 (double x) |
Evaluate the 2nd derivative of a 5th Order B-Spline. | |
VPRIVATE double | d3bspline4 (double x) |
Evaluate the 3rd derivative of a 5th Order B-Spline. | |
VPRIVATE double | Vpmg_polarizEnergy (Vpmg *thee, int extFlag) |
Determines energy from polarizeable charge and interaction with fixed charges according to Rocchia et al. | |
VPRIVATE double | Vpmg_qfEnergyPoint (Vpmg *thee, int extFlag) |
Calculates charge-potential energy using summation over delta function positions (i.e. something like an Linf norm). | |
VPRIVATE double | Vpmg_qfEnergyVolume (Vpmg *thee, int extFlag) |
Calculates charge-potential energy as integral over a volume. | |
VPRIVATE void | Vpmg_splineSelect (int srfm, Vacc *acc, double *gpos, double win, double infrad, Vatom *atom, double *force) |
Selects a spline based surface method from either VSM_SPLINE, VSM_SPLINE5 or VSM_SPLINE7. | |
VPRIVATE void | focusFillBound (Vpmg *thee, Vpmg *pmg) |
For focusing, fill in the boundaries of the new mesh based on the potential values in the old mesh. | |
VPRIVATE void | bcfl1 (double size, double *apos, double charge, double xkappa, double pre1, double *gxcf, double *gycf, double *gzcf, double *xf, double *yf, double *zf, int nx, int ny, int nz) |
Increment all boundary points by pre1*(charge/d)*(exp(-xkappa*(d-size))/(1+xkappa*size) to add the effect of the Debye-Huckel potential due to a single charge. | |
VPRIVATE void | bcfl2 (double size, double *apos, double charge, double *dipole, double *quad, double xkappa, double eps_p, double eps_w, double T, double *gxcf, double *gycf, double *gzcf, double *xf, double *yf, double *zf, int nx, int ny, int nz) |
Increment all boundary points to include the Debye-Huckel potential due to a single multipole site. (truncated at quadrupole). | |
VPRIVATE void | multipolebc (double r, double kappa, double eps_p, double eps_w, double rad, double tsr[3]) |
This routine serves bcfl2. It returns (in tsr) the contraction independent portion of the Debye-Huckel potential tensor for a spherical ion with a central charge, dipole and quadrupole. See the code for an in depth description. | |
VPRIVATE double | bcfl1sp (double size, double *apos, double charge, double xkappa, double pre1, double *pos) |
Calculate pre1*(charge/d)*(exp(-xkappa*(d-size))/(1+xkappa*size) due to a specific ion at a specific point. | |
VPRIVATE void | bcCalc (Vpmg *thee) |
Fill boundary condition arrays. | |
VPRIVATE void | fillcoCoef (Vpmg *thee) |
Top-level driver to fill all operator coefficient arrays. | |
VPRIVATE void | fillcoCoefMap (Vpmg *thee) |
Fill operator coefficient arrays from pre-calculated maps. | |
VPRIVATE void | fillcoCoefMol (Vpmg *thee) |
Fill operator coefficient arrays from a molecular surface calculation. | |
VPRIVATE void | fillcoCoefMolIon (Vpmg *thee) |
Fill ion (nonlinear) operator coefficient array from a molecular surface calculation. | |
VPRIVATE void | fillcoCoefMolDiel (Vpmg *thee) |
Fill differential operator coefficient arrays from a molecular surface calculation. | |
VPRIVATE void | fillcoCoefMolDielNoSmooth (Vpmg *thee) |
Fill differential operator coefficient arrays from a molecular surface calculation without smoothing. | |
VPRIVATE void | fillcoCoefMolDielSmooth (Vpmg *thee) |
Fill differential operator coefficient arrays from a molecular surface calculation with smoothing. | |
VPRIVATE void | fillcoCoefSpline (Vpmg *thee) |
Fill operator coefficient arrays from a spline-based surface calculation. | |
VPRIVATE void | fillcoCoefSpline3 (Vpmg *thee) |
Fill operator coefficient arrays from a 5th order polynomial based surface calculation. | |
VPRIVATE void | fillcoCoefSpline4 (Vpmg *thee) |
Fill operator coefficient arrays from a 7th order polynomial based surface calculation. | |
VPRIVATE Vrc_Codes | fillcoCharge (Vpmg *thee) |
Top-level driver to fill source term charge array. | |
VPRIVATE Vrc_Codes | fillcoChargeMap (Vpmg *thee) |
Fill source term charge array from a pre-calculated map. | |
VPRIVATE void | fillcoChargeSpline1 (Vpmg *thee) |
Fill source term charge array from linear interpolation. | |
VPRIVATE void | fillcoChargeSpline2 (Vpmg *thee) |
Fill source term charge array from cubic spline interpolation. | |
VPRIVATE void | fillcoPermanentMultipole (Vpmg *thee) |
Fill source term charge array for the use of permanent multipoles. | |
VPRIVATE void | fillcoInducedDipole (Vpmg *thee) |
Fill source term charge array for use of induced dipoles. | |
VPRIVATE void | fillcoNLInducedDipole (Vpmg *thee) |
Fill source term charge array for non-local induced dipoles. | |
VPRIVATE void | extEnergy (Vpmg *thee, Vpmg *pmgOLD, PBEparm_calcEnergy extFlag, double partMin[3], double partMax[3], int bflags[6]) |
For focusing, set external energy data members in new Vpmg object based on energy calculations on old Vpmg object from regions outside the indicated partition. | |
VPRIVATE void | qfForceSpline1 (Vpmg *thee, double *force, int atomID) |
Charge-field force due to a linear spline charge function. | |
VPRIVATE void | qfForceSpline2 (Vpmg *thee, double *force, int atomID) |
Charge-field force due to a cubic spline charge function. | |
VPRIVATE void | qfForceSpline4 (Vpmg *thee, double *force, int atomID) |
Charge-field force due to a quintic spline charge function. | |
VPRIVATE void | zlapSolve (Vpmg *thee, double **solution, double **source, double **work1) |
Calculate the solution to Poisson's equation with a simple Laplacian operator and zero-valued Dirichlet boundary conditions. Store the solution in thee->u. | |
VPRIVATE void | markSphere (double rtot, double *tpos, int nx, int ny, int nz, double hx, double hy, double hzed, double xmin, double ymin, double zmin, double *array, double markVal) |
Mark the grid points inside a sphere with a particular value. This marks by resetting the the grid points inside the sphere to the specified value. | |
VPRIVATE double | Vpmg_qmEnergySMPBE (Vpmg *thee, int extFlag) |
Vpmg_qmEnergy for SMPBE. |
* * APBS -- Adaptive Poisson-Boltzmann Solver * * Nathan A. Baker (baker@biochem.wustl.edu) * Dept. of Biochemistry and Molecular Biophysics * Center for Computational Biology * Washington University in St. Louis * * Additional contributing authors listed in the code documentation. * * Copyright (c) 2002-2006. Washington University in St. Louis. * All Rights Reserved. * Portions Copyright (c) 1999-2002. The Regents of the University of * California. * Portions Copyright (c) 1995. Michael Holst. * * This file is part of APBS. * * APBS is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * APBS is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with APBS; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Linking APBS statically or dynamically with other modules is making a * combined work based on APBS. Thus, the terms and conditions of the GNU * General Public License cover the whole combination. * * SPECIAL GPL EXCEPTION * In addition, as a special exception, the copyright holders of APBS * give you permission to combine the APBS program with free software * programs and libraries that are released under the GNU LGPL or with * code included in releases of ISIM, Ion Simulator Interface, PMV, PyMOL * SMOL, VMD, and Vision. Such combined software may be linked with APBS and * redistributed together in original or modified form as mere aggregation * without requirement that the entire work be under the scope of the GNU * General Public License. This special exception permission is also extended * to any software listed in the SPECIAL GPL EXCEPTION clauses by the PMG, * FEtk, MC, or MALOC libraries. * * Note that people who make modified versions of APBS are not obligated * to grant this special exception for their modified versions; it is * their choice whether to do so. The GNU General Public License gives * permission to release a modified version without this exception; this * exception also makes it possible to release a modified version which * carries forward this exception. * *
|
Fill boundary condition arrays.
|
Here is the call graph for this function:
|
Increment all boundary points by pre1*(charge/d)*(exp(-xkappa*(d-size))/(1+xkappa*size) to add the effect of the Debye-Huckel potential due to a single charge.
|
|
Calculate pre1*(charge/d)*(exp(-xkappa*(d-size))/(1+xkappa*size) due to a specific ion at a specific point.
|
|
Increment all boundary points to include the Debye-Huckel potential due to a single multipole site. (truncated at quadrupole).
|
Here is the call graph for this function:
|
Evaluate a cubic B-spline.
|
|
Evaluate a 5th Order B-Spline (4th order polynomial).
|
|
Evaluate the 2nd derivative of a 5th Order B-Spline.
|
|
Evaluate the 3rd derivative of a 5th Order B-Spline.
|
|
Evaluate a cubic B-spline derivative.
|
|
Evaluate a 5th Order B-Spline derivative (4th order polynomial).
|
|
For focusing, set external energy data members in new Vpmg object based on energy calculations on old Vpmg object from regions outside the indicated partition.
|
Here is the call graph for this function:
|
Top-level driver to fill source term charge array.
|
Here is the call graph for this function:
|
Fill source term charge array from a pre-calculated map.
|
Here is the call graph for this function:
|
Fill source term charge array from linear interpolation.
|
Here is the call graph for this function:
|
Fill source term charge array from cubic spline interpolation.
|
Here is the call graph for this function:
|
Top-level driver to fill all operator coefficient arrays.
|
Here is the call graph for this function:
|
Fill operator coefficient arrays from pre-calculated maps.
|
Here is the call graph for this function:
|
Fill operator coefficient arrays from a molecular surface calculation.
|
Here is the call graph for this function:
|
Fill differential operator coefficient arrays from a molecular surface calculation.
|
Here is the call graph for this function:
|
Fill differential operator coefficient arrays from a molecular surface calculation without smoothing.
|
Here is the call graph for this function:
|
Fill differential operator coefficient arrays from a molecular surface calculation with smoothing. Molecular surface, dielectric smoothing following an implementation of Bruccoleri, et al. J Comput Chem 18 268-276 (1997). This algorithm uses a 9 point harmonic smoothing technique - the point in question and all grid points 1/sqrt(2) grid spacings away.
|
Here is the call graph for this function:
|
Fill ion (nonlinear) operator coefficient array from a molecular surface calculation.
|
Here is the call graph for this function:
|
Fill operator coefficient arrays from a spline-based surface calculation.
|
Here is the call graph for this function:
|
Fill operator coefficient arrays from a 5th order polynomial based surface calculation.
|
Here is the call graph for this function:
|
Fill operator coefficient arrays from a 7th order polynomial based surface calculation.
|
Here is the call graph for this function:
|
Fill source term charge array for use of induced dipoles.
|
|
Fill source term charge array for non-local induced dipoles.
|
|
Fill source term charge array for the use of permanent multipoles.
|
Here is the call graph for this function:
|
For focusing, fill in the boundaries of the new mesh based on the potential values in the old mesh.
|
Here is the call graph for this function:
|
Mark the grid points inside a sphere with a particular value. This marks by resetting the the grid points inside the sphere to the specified value.
|
|
This routine serves bcfl2. It returns (in tsr) the contraction independent portion of the Debye-Huckel potential tensor for a spherical ion with a central charge, dipole and quadrupole. See the code for an in depth description.
|
|
Charge-field force due to a linear spline charge function.
|
Here is the call graph for this function:
|
Charge-field force due to a cubic spline charge function.
|
Here is the call graph for this function:
|
Charge-field force due to a quintic spline charge function.
|
Here is the call graph for this function:
|
Return 2.5 plus difference of i - f.
|
|
Determines energy from polarizeable charge and interaction with fixed charges according to Rocchia et al.
|
Here is the call graph for this function:
|
Calculates charge-potential energy using summation over delta function positions (i.e. something like an Linf norm).
|
Here is the call graph for this function:
|
Calculates charge-potential energy as integral over a volume.
|
Here is the call graph for this function:
|
Vpmg_qmEnergy for SMPBE.
|
Here is the call graph for this function:
|
Selects a spline based surface method from either VSM_SPLINE, VSM_SPLINE5 or VSM_SPLINE7.
|
Here is the call graph for this function:
|
Calculate the solution to Poisson's equation with a simple Laplacian operator and zero-valued Dirichlet boundary conditions. Store the solution in thee->u.
|