APBS  1.5
vacc.c File Reference

Class Vacc methods. More...

#include "vacc.h"
Include dependency graph for vacc.c:

Go to the source code of this file.

Functions

VPUBLIC unsigned long int Vacc_memChk (Vacc *thee)
 Get number of bytes in this object and its members. More...
 
VPRIVATE int ivdwAccExclus (Vacc *thee, double center[3], double radius, int atomID)
 Determines if a point is within the union of the spheres centered at the atomic centers with radii equal to the sum of their van der Waals radii and the probe radius. Does not include contributions from the specified atom. More...
 
VPUBLIC VaccVacc_ctor (Valist *alist, Vclist *clist, double surf_density)
 Construct the accessibility object. More...
 
VPRIVATE int Vacc_storeParms (Vacc *thee, Valist *alist, Vclist *clist, double surf_density)
 
VPRIVATE int Vacc_allocate (Vacc *thee)
 
VPUBLIC int Vacc_ctor2 (Vacc *thee, Valist *alist, Vclist *clist, double surf_density)
 FORTRAN stub to construct the accessibility object. More...
 
VPUBLIC void Vacc_dtor (Vacc **thee)
 Destroy object. More...
 
VPUBLIC void Vacc_dtor2 (Vacc *thee)
 FORTRAN stub to destroy object. More...
 
VPUBLIC double Vacc_vdwAcc (Vacc *thee, double center[3])
 
VPUBLIC double Vacc_ivdwAcc (Vacc *thee, double center[3], double radius)
 
VPUBLIC void Vacc_splineAccGradAtomNorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by the accessibility value due to that atom at that point (see Vpmg_splineAccAtom) More...
 
VPUBLIC void Vacc_splineAccGradAtomUnnorm (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom (see Vpmg_splineAccAtom) More...
 
VPUBLIC double Vacc_splineAccAtom (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom)
 Report spline-based accessibility for a given atom. More...
 
VPRIVATE double splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, VclistCell *cell)
 Fast spline-based surface computation subroutine. More...
 
VPUBLIC double Vacc_splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad)
 Report spline-based accessibility. More...
 
VPUBLIC void Vacc_splineAccGrad (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, double *grad)
 Report gradient of spline-based accessibility. More...
 
VPUBLIC double Vacc_molAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility. More...
 
VPUBLIC double Vacc_fastMolAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility quickly. More...
 
VPUBLIC void Vacc_writeGMV (Vacc *thee, double radius, int meth, Gem *gm, char *iodev, char *iofmt, char *iohost, char *iofile)
 
VPUBLIC double Vacc_SASA (Vacc *thee, double radius)
 Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area. More...
 
VPUBLIC double Vacc_totalSASA (Vacc *thee, double radius)
 Return the total solvent accessible surface area (SASA) More...
 
VPUBLIC double Vacc_atomSASA (Vacc *thee, double radius, Vatom *atom)
 Return the atomic solvent accessible surface area (SASA) More...
 
VPUBLIC VaccSurfVaccSurf_ctor (Vmem *mem, double probe_radius, int nsphere)
 Allocate and construct the surface object; do not assign surface points to positions. More...
 
VPUBLIC int VaccSurf_ctor2 (VaccSurf *thee, Vmem *mem, double probe_radius, int nsphere)
 Construct the surface object using previously allocated memory; do not assign surface points to positions. More...
 
VPUBLIC void VaccSurf_dtor (VaccSurf **thee)
 Destroy the surface object and free its memory. More...
 
VPUBLIC void VaccSurf_dtor2 (VaccSurf *thee)
 Destroy the surface object. More...
 
VPUBLIC VaccSurfVacc_atomSurf (Vacc *thee, Vatom *atom, VaccSurf *ref, double prad)
 Set up an array of points corresponding to the SAS due to a particular atom. More...
 
VPUBLIC VaccSurfVaccSurf_refSphere (Vmem *mem, int npts)
 Set up an array of points for a reference sphere of unit radius. More...
 
VPUBLIC VaccSurfVacc_atomSASPoints (Vacc *thee, double radius, Vatom *atom)
 Get the set of points for this atom's solvent-accessible surface. More...
 
VPUBLIC void Vacc_splineAccGradAtomNorm4 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 4th order accessibility value due to that atom at that point (see Vpmg_splineAccAtom) More...
 
VPUBLIC void Vacc_splineAccGradAtomNorm3 (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom, double *grad)
 Report gradient of spline-based accessibility with respect to a particular atom normalized by a 3rd order accessibility value due to that atom at that point (see Vpmg_splineAccAtom) More...
 
VPUBLIC void Vacc_atomdSAV (Vacc *thee, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible volume. More...
 
VPRIVATE double Vacc_SASAPos (Vacc *thee, double radius)
 
VPRIVATE double Vacc_atomSASAPos (Vacc *thee, double radius, Vatom *atom, int mode)
 
VPUBLIC void Vacc_atomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible area. More...
 
VPUBLIC void Vacc_totalAtomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Testing purposes only. More...
 
VPUBLIC void Vacc_totalAtomdSAV (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA, Vclist *clist)
 Total solvent accessible volume. More...
 
VPUBLIC double Vacc_totalSAV (Vacc *thee, Vclist *clist, APOLparm *apolparm, double radius)
 Return the total solvent accessible volume (SAV) More...
 
int Vacc_wcaEnergyAtom (Vacc *thee, APOLparm *apolparm, Valist *alist, Vclist *clist, int iatom, double *value)
 Calculate the WCA energy for an atom. More...
 
VPUBLIC int Vacc_wcaEnergy (Vacc *acc, APOLparm *apolparm, Valist *alist, Vclist *clist)
 Return the WCA integral energy. More...
 
VPUBLIC int Vacc_wcaForceAtom (Vacc *thee, APOLparm *apolparm, Vclist *clist, Vatom *atom, double *force)
 Return the WCA integral force. More...
 

Detailed Description

Class Vacc methods.

Author
Nathan Baker
Version
$Id$
Attention
*
* APBS -- Adaptive Poisson-Boltzmann Solver
*
*  Nathan A. Baker (nathan.baker@pnnl.gov)
*  Pacific Northwest National Laboratory
*
*  Additional contributing authors listed in the code documentation.
*
* Copyright (c) 2010-2014 Battelle Memorial Institute. Developed at the
* Pacific Northwest National Laboratory, operated by Battelle Memorial
* Institute, Pacific Northwest Division for the U.S. Department of Energy.
*
* Portions Copyright (c) 2002-2010, Washington University in St. Louis.
* Portions Copyright (c) 2002-2010, 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 the developer 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.
*
* 

Definition in file vacc.c.

Function Documentation

◆ ivdwAccExclus()

VPRIVATE int ivdwAccExclus ( Vacc thee,
double  center[3],
double  radius,
int  atomID 
)

Determines if a point is within the union of the spheres centered at the atomic centers with radii equal to the sum of their van der Waals radii and the probe radius. Does not include contributions from the specified atom.

Returns
1 if accessible (outside the inflated van der Waals radius), 0 otherwise
Author
Nathan Baker
Parameters
centerAccessibility object
radiusPosition to test
atomIDRadius of probe ID of atom to ignore

Definition at line 80 of file vacc.c.

◆ splineAcc()

VPRIVATE double splineAcc ( Vacc thee,
double  center[VAPBS_DIM],
double  win,
double  infrad,
VclistCell cell 
)

Fast spline-based surface computation subroutine.

Returns
Spline value
Author
Todd Dolinsky and Nathan Baker
Parameters
centerAccessibility object
winPoint at which the acc is to be evaluated
infradSpline window
cellRadius to inflate atomic radius Cell of atom objects

Definition at line 493 of file vacc.c.

◆ Vacc_allocate()

VPRIVATE int Vacc_allocate ( Vacc thee)

Allocate (and clear) space for storage

Definition at line 193 of file vacc.c.

◆ Vacc_storeParms()

VPRIVATE int Vacc_storeParms ( Vacc thee,
Valist alist,
Vclist clist,
double  surf_density 
)

Check and store parameters passed to constructor

Definition at line 148 of file vacc.c.