Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

vacc.c File Reference

Class Vacc methods. More...

#include "apbscfg.h"
#include "apbs/vacc.h"
#include "apbs/apolparm.h"
#include "mc/mc.h"

Include dependency graph for vacc.c:

Include dependency graph

Functions

VPUBLIC unsigned long int Vacc_memChk (Vacc *thee)
 Get number of bytes in this object and its members.

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.

VPUBLIC VaccVacc_ctor (Valist *alist, Vclist *clist, double surf_density)
 Construct the accessibility object.

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.

VPUBLIC void Vacc_dtor (Vacc **thee)
 Destroy object.

VPUBLIC void Vacc_dtor2 (Vacc *thee)
 FORTRAN stub to destroy object.

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).

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).

VPUBLIC double Vacc_splineAccAtom (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, Vatom *atom)
 Report spline-based accessibility for a given atom.

VPRIVATE double splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, VclistCell *cell)
 Fast spline-based surface computation subroutine.

VPUBLIC double Vacc_splineAcc (Vacc *thee, double center[VAPBS_DIM], double win, double infrad)
 Report spline-based accessibility.

VPUBLIC void Vacc_splineAccGrad (Vacc *thee, double center[VAPBS_DIM], double win, double infrad, double *grad)
 Report gradient of spline-based accessibility.

VPUBLIC double Vacc_molAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility.

VPUBLIC double Vacc_fastMolAcc (Vacc *thee, double center[VAPBS_DIM], double radius)
 Report molecular accessibility quickly.

VPUBLIC double Vacc_SASA (Vacc *thee, double radius)
 Build the solvent accessible surface (SAS) and calculate the solvent accessible surface area.

VPUBLIC double Vacc_totalSASA (Vacc *thee, double radius)
 Return the total solvent accessible surface area (SASA).

VPUBLIC double Vacc_atomSASA (Vacc *thee, double radius, Vatom *atom)
 Return the atomic solvent accessible surface area (SASA).

VPUBLIC VaccSurfVaccSurf_ctor (Vmem *mem, double probe_radius, int nsphere)
 Allocate and construct the surface object; do not assign surface points to positions.

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.

VPUBLIC void VaccSurf_dtor (VaccSurf **thee)
 Destroy the surface object and free its memory.

VPUBLIC void VaccSurf_dtor2 (VaccSurf *thee)
 Destroy the surface object.

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.

VPUBLIC VaccSurfVaccSurf_refSphere (Vmem *mem, int npts)
 Set up an array of points for a reference sphere of unit radius.

VPUBLIC VaccSurfVacc_atomSASPoints (Vacc *thee, double radius, Vatom *atom)
 Get the set of points for this atom's solvent-accessible surface.

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).

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).

VPUBLIC void Vacc_atomdSAV (Vacc *thee, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible volume.

VPUBLIC void Vacc_atomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Get the derivatve of solvent accessible area.

VPUBLIC void Vacc_totalAtomdSASA (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA)
 Testing purposes only.

VPUBLIC void Vacc_totalAtomdSAV (Vacc *thee, double dpos, double srad, Vatom *atom, double *dSA, Vclist *clist)
 Total solvent accessible volume.

VPUBLIC double Vacc_totalSAV (Vacc *thee, Vclist *clist, APOLparm *apolparm, double radius)
 Return the total solvent accessible volume (SAV).

VPUBLIC int Vacc_wcaEnergy (Vacc *acc, APOLparm *apolparm, Valist *alist, Vclist *clist)
 Return the WCA integral energy.

VPUBLIC int Vacc_wcaForceAtom (Vacc *thee, APOLparm *apolparm, Vclist *clist, Vatom *atom, double *force)
 Return the WCA integral force.


Detailed Description

Class Vacc methods.

Author:
Nathan Baker
Version:
Id
vacc.c 1100 2007-06-25 17:02:52Z sobolevnrm
Attention:
 *
 * 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-2007.  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.
 *
 * 

Function Documentation

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:
center  Accessibility object
radius  Position to test
atomID  Radius of probe ID of atom to ignore

Here is the call graph for this function:

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:
center  Accessibility object
win  Point at which the acc is to be evaluated
infrad  Spline window
cell  Radius to inflate atomic radius Cell of atom objects

Here is the call graph for this function:

VPRIVATE int Vacc_allocate Vacc thee  ) 
 

Allocate (and clear) space for storage

Here is the call graph for this function:

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

Check and store parameters passed to constructor

Here is the call graph for this function:


Generated on Thu Jul 12 11:49:56 2007 for APBS by doxygen 1.3.4