|
VEXTERNC unsigned long int | Vpmg_memChk (Vpmg *thee) |
| Return the memory used by this structure (and its contents) in bytes.
|
|
VEXTERNC Vpmg * | Vpmg_ctor (Vpmgp *parms, Vpbe *pbe, int focusFlag, Vpmg *pmgOLD, MGparm *mgparm, PBEparm_calcEnergy energyFlag) |
| Constructor for the Vpmg class (allocates new memory)
|
|
VEXTERNC 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)
|
|
VEXTERNC void | Vpmg_dtor (Vpmg **thee) |
| Object destructor.
|
|
VEXTERNC void | Vpmg_dtor2 (Vpmg *thee) |
| FORTRAN stub object destructor.
|
|
VEXTERNC 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 usePotMap, Vgrid *potMap, int useChargeMap, Vgrid *chargeMap) |
| Fill the coefficient arrays prior to solving the equation.
|
|
VEXTERNC int | Vpmg_solve (Vpmg *thee) |
| Solve the PBE using PMG.
|
|
VEXTERNC 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.
|
|
VEXTERNC double | Vpmg_energy (Vpmg *thee, int extFlag) |
| Get the total electrostatic energy.
|
|
VEXTERNC double | Vpmg_qfEnergy (Vpmg *thee, int extFlag) |
| Get the "fixed charge" contribution to the electrostatic energy.
|
|
VEXTERNC double | Vpmg_qfAtomEnergy (Vpmg *thee, Vatom *atom) |
| Get the per-atom "fixed charge" contribution to the electrostatic energy.
|
|
VEXTERNC double | Vpmg_qmEnergy (Vpmg *thee, int extFlag) |
| Get the "mobile charge" contribution to the electrostatic energy.
|
|
VEXTERNC double | Vpmg_dielEnergy (Vpmg *thee, int extFlag) |
| Get the "polarization" contribution to the electrostatic energy.
|
|
VEXTERNC double | Vpmg_dielGradNorm (Vpmg *thee) |
| Get the integral of the gradient of the dielectric function.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC void | Vpmg_unsetPart (Vpmg *thee) |
| Remove partition restrictions.
|
|
VEXTERNC int | Vpmg_fillArray (Vpmg *thee, double *vec, Vdata_Type type, double parm, Vhal_PBEType pbetype, PBEparm *pbeparm) |
| 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.
|
|
VEXTERNC 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).
|
|
VEXTERNC 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.
|
|
VEXTERNC void | Vpmg_ibPermanentMultipoleForce (Vpmg *thee, int atomID, double force[3]) |
| Compute the ionic boundary force for permanent multipoles.
|
|
VEXTERNC void | Vpmg_dbPermanentMultipoleForce (Vpmg *thee, int atomID, double force[3]) |
| Compute the dielectric boundary force for permanent multipoles.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VEXTERNC 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.
|
|
VPRIVATE void | bcolcomp (int *iparm, double *rparm, int *iwork, double *rwork, double *values, int *rowind, int *colptr, int *flag) |
| Build a column-compressed matrix in Harwell-Boeing format.
|
|
VPRIVATE void | bcolcomp2 (int *iparm, double *rparm, int *nx, int *ny, int *nz, int *iz, int *ipc, double *rpc, double *ac, double *cc, double *values, int *rowind, int *colptr, int *flag) |
| Build a column-compressed matrix in Harwell-Boeing format.
|
|
VPRIVATE void | bcolcomp3 (int *nx, int *ny, int *nz, int *ipc, double *rpc, double *ac, double *cc, double *values, int *rowind, int *colptr, int *flag) |
| Build a column-compressed matrix in Harwell-Boeing format.
|
|
VPRIVATE void | bcolcomp4 (int *nx, int *ny, int *nz, int *ipc, double *rpc, double *oC, double *cc, double *oE, double *oN, double *uC, double *values, int *rowind, int *colptr, int *flag) |
| Build a column-compressed matrix in Harwell-Boeing format.
|
|
VPRIVATE void | pcolcomp (int *nrow, int *ncol, int *nnzero, double *values, int *rowind, int *colptr, char *path, char *title, char *mxtype) |
| Print a column-compressed matrix in Harwell-Boeing format.
|
|
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 | 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 | 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 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 | 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.
|
|
VPRIVATE double | Vpmg_qmEnergyNONLIN (Vpmg *thee, int extFlag) |
|