Contains declarations for class Vpmg. More...
#include "maloc/maloc.h"
#include "apbs/vhal.h"
#include "apbs/vpmgp.h"
#include "apbs/vacc.h"
#include "apbs/vcap.h"
#include "apbs/vpbe.h"
#include "apbs/vgrid.h"
#include "apbs/mgparm.h"
#include "apbs/pbeparm.h"
Go to the source code of this file.
Data Structures | |
struct | sVpmg |
Contains public data members for Vpmg class/module. More... | |
Typedefs | |
typedef struct sVpmg | Vpmg |
Declaration of the Vpmg class as the Vpmg structure. | |
Functions | |
unsigned long int | Vpmg_memChk (Vpmg *thee) |
Return the memory used by this structure (and its contents) in bytes. | |
Vpmg * | Vpmg_ctor (Vpmgp *parms, Vpbe *pbe, int focusFlag, Vpmg *pmgOLD, MGparm *mgparm, PBEparm_calcEnergy energyFlag) |
Constructor for the Vpmg class (allocates new memory). | |
int | Vpmg_ctor2 (Vpmg *thee, Vpmgp *parms, Vpbe *pbe, int focusFlag, Vpmg *pmgOLD, MGparm *mgparm, PBEparm_calcEnergy energyFlag) |
FORTRAN stub constructor for the Vpmg class (uses previously-allocated memory). | |
void | Vpmg_dtor (Vpmg **thee) |
Object destructor. | |
void | Vpmg_dtor2 (Vpmg *thee) |
FORTRAN stub object destructor. | |
int | Vpmg_fillco (Vpmg *thee, Vsurf_Meth surfMeth, double splineWin, Vchrg_Meth chargeMeth, int useDielXMap, Vgrid *dielXMap, int useDielYMap, Vgrid *dielYMap, int useDielZMap, Vgrid *dielZMap, int useKappaMap, Vgrid *kappaMap, int useChargeMap, Vgrid *chargeMap) |
Fill the coefficient arrays prior to solving the equation. | |
int | Vpmg_solve (Vpmg *thee) |
Solve the PBE using PMG. | |
int | Vpmg_solveLaplace (Vpmg *thee) |
Solve Poisson's equation with a homogeneous Laplacian operator using the solvent dielectric constant. This solution is performed by a sine wave decomposition. | |
double | Vpmg_energy (Vpmg *thee, int extFlag) |
Get the total electrostatic energy. | |
double | Vpmg_qfEnergy (Vpmg *thee, int extFlag) |
Get the "fixed charge" contribution to the electrostatic energy. | |
double | Vpmg_qfAtomEnergy (Vpmg *thee, Vatom *atom) |
Get the per-atom "fixed charge" contribution to the electrostatic energy. | |
double | Vpmg_qmEnergy (Vpmg *thee, int extFlag) |
Get the "mobile charge" contribution to the electrostatic energy. | |
double | Vpmg_dielEnergy (Vpmg *thee, int extFlag) |
Get the "polarization" contribution to the electrostatic energy. | |
double | Vpmg_dielGradNorm (Vpmg *thee) |
Get the integral of the gradient of the dielectric function. | |
int | Vpmg_force (Vpmg *thee, double *force, int atomID, Vsurf_Meth srfm, Vchrg_Meth chgm) |
Calculate the total force on the specified atom in units of k_B T/AA. | |
int | Vpmg_qfForce (Vpmg *thee, double *force, int atomID, Vchrg_Meth chgm) |
Calculate the "charge-field" force on the specified atom in units of k_B T/AA. | |
int | Vpmg_dbForce (Vpmg *thee, double *dbForce, int atomID, Vsurf_Meth srfm) |
Calculate the dielectric boundary forces on the specified atom in units of k_B T/AA. | |
int | Vpmg_ibForce (Vpmg *thee, double *force, int atomID, Vsurf_Meth srfm) |
Calculate the osmotic pressure on the specified atom in units of k_B T/AA. | |
void | Vpmg_setPart (Vpmg *thee, double lowerCorner[3], double upperCorner[3], int bflags[6]) |
Set partition information which restricts the calculation of observables to a (rectangular) subset of the problem domain. | |
void | Vpmg_unsetPart (Vpmg *thee) |
Remove partition restrictions. | |
int | Vpmg_fillArray (Vpmg *thee, double *vec, Vdata_Type type, double parm, Vhal_PBEType pbetype) |
Fill the specified array with accessibility values. | |
VPUBLIC void | Vpmg_fieldSpline4 (Vpmg *thee, int atomID, double field[3]) |
Computes the field at an atomic center using a stencil based on the first derivative of a 5th order B-spline. | |
double | Vpmg_qfPermanentMultipoleEnergy (Vpmg *thee, int atomID) |
Computes the permanent multipole electrostatic hydration energy (the polarization component of the hydration energy currently computed in TINKER). | |
void | Vpmg_qfPermanentMultipoleForce (Vpmg *thee, int atomID, double force[3], double torque[3]) |
Computes the q-Phi Force for permanent multipoles based on 5th order B-splines. | |
void | Vpmg_ibPermanentMultipoleForce (Vpmg *thee, int atomID, double force[3]) |
Compute the ionic boundary force for permanent multipoles. | |
void | Vpmg_dbPermanentMultipoleForce (Vpmg *thee, int atomID, double force[3]) |
Compute the dielectric boundary force for permanent multipoles. | |
void | Vpmg_qfDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *induced, int atomID, double force[3], double torque[3]) |
q-Phi direct polarization force between permanent multipoles and induced dipoles, which are induced by the sum of the permanent intramolecular field and the permanent reaction field. | |
void | Vpmg_qfNLDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *nlInduced, int atomID, double force[3], double torque[3]) |
q-Phi direct polarization force between permanent multipoles and non-local induced dipoles based on 5th Order B-Splines. Keep in mind that the "non-local" induced dipooles are just a mathematical quantity that result from differentiation of the AMOEBA polarization energy. | |
void | Vpmg_ibDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *induced, int atomID, double force[3]) |
Ionic boundary direct polarization force between permanent multipoles and induced dipoles, which are induced by the sum of the permanent intramolecular field and the permanent reaction field. | |
void | Vpmg_ibNLDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *nlInduced, int atomID, double force[3]) |
Ionic boundary direct polarization force between permanent multipoles and non-local induced dipoles based on 5th order Keep in mind that the "non-local" induced dipooles are just a mathematical quantity that result from differentiation of the AMOEBA polarization energy. | |
void | Vpmg_dbDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *induced, int atomID, double force[3]) |
Dielectric boundary direct polarization force between permanent multipoles and induced dipoles, which are induced by the sum of the permanent intramolecular field and the permanent reaction field. | |
void | Vpmg_dbNLDirectPolForce (Vpmg *thee, Vgrid *perm, Vgrid *nlInduced, int atomID, double force[3]) |
Dielectric bounday direct polarization force between permanent multipoles and non-local induced dipoles. Keep in mind that the "non-local" induced dipooles are just a mathematical quantity that result from differentiation of the AMOEBA polarization energy. | |
void | Vpmg_qfMutualPolForce (Vpmg *thee, Vgrid *induced, Vgrid *nlInduced, int atomID, double force[3]) |
Mutual polarization force for induced dipoles based on 5th order B-Splines. This force arises due to self-consistent convergence of the solute induced dipoles and reaction field. | |
void | Vpmg_ibMutualPolForce (Vpmg *thee, Vgrid *induced, Vgrid *nlInduced, int atomID, double force[3]) |
Ionic boundary mutual polarization force for induced dipoles based on 5th order B-Splines. This force arises due to self-consistent convergence of the solute induced dipoles and reaction field. | |
void | Vpmg_dbMutualPolForce (Vpmg *thee, Vgrid *induced, Vgrid *nlInduced, int atomID, double force[3]) |
Dielectric boundary mutual polarization force for induced dipoles based on 5th order B-Splines. This force arises due to self-consistent convergence of the solute induced dipoles and reaction field. | |
void | Vpmg_printColComp (Vpmg *thee, char path[72], char title[72], char mxtype[3], int flag) |
Print out a column-compressed sparse matrix in Harwell-Boeing format. |
Contains declarations for class Vpmg.
* * 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-2009, Washington University in St. Louis. * Portions Copyright (c) 2002-2009. 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. * *