#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-2008, Washington University in St. Louis. * Portions Copyright (c) 2002-2008. Nathan A. Baker * Portions Copyright (c) 1999-2002. The Regents of the University of California. * Portions Copyright (c) 1995. Michael Holst * * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * - Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * - Neither the name of Washington University in St. Louis nor the names of its * contributors may be used to endorse or promote products derived from this * software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * *
|
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.
|