APBS
1.4.1
|
Header file for front end auxiliary routines. More...
Go to the source code of this file.
Data Structures | |
struct | AtomForce |
Structure to hold atomic forces. More... | |
Macros | |
#define | APBSRC 13 |
Return code for APBS during failure. | |
Typedefs | |
typedef struct AtomForce | AtomForce |
Define AtomForce type. | |
Functions | |
VEXTERNC Vparam * | loadParameter (NOsh *nosh) |
Loads and returns parameter object. More... | |
VEXTERNC int | loadMolecules (NOsh *nosh, Vparam *param, Valist *alist[NOSH_MAXMOL]) |
Load the molecules given in NOsh into atom lists. More... | |
VEXTERNC void | killMolecules (NOsh *nosh, Valist *alist[NOSH_MAXMOL]) |
Destroy the loaded molecules. More... | |
VEXTERNC int | loadDielMaps (NOsh *nosh, Vgrid *dielXMap[NOSH_MAXMOL], Vgrid *dielYMap[NOSH_MAXMOL], Vgrid *dielZMap[NOSH_MAXMOL]) |
Load the dielectric maps given in NOsh into grid objects. More... | |
VEXTERNC void | killDielMaps (NOsh *nosh, Vgrid *dielXMap[NOSH_MAXMOL], Vgrid *dielYMap[NOSH_MAXMOL], Vgrid *dielZMap[NOSH_MAXMOL]) |
Destroy the loaded dielectric. More... | |
VEXTERNC int | loadKappaMaps (NOsh *nosh, Vgrid *kappa[NOSH_MAXMOL]) |
Load the kappa maps given in NOsh into grid objects. More... | |
VEXTERNC void | killKappaMaps (NOsh *nosh, Vgrid *kappa[NOSH_MAXMOL]) |
Destroy the loaded kappa maps. More... | |
VEXTERNC int | loadPotMaps (NOsh *nosh, Vgrid *pot[NOSH_MAXMOL]) |
Load the potential maps given in NOsh into grid objects. More... | |
VEXTERNC void | killPotMaps (NOsh *nosh, Vgrid *pot[NOSH_MAXMOL]) |
Destroy the loaded potential maps. More... | |
VEXTERNC int | loadChargeMaps (NOsh *nosh, Vgrid *charge[NOSH_MAXMOL]) |
Load the charge maps given in NOsh into grid objects. More... | |
VEXTERNC void | killChargeMaps (NOsh *nosh, Vgrid *charge[NOSH_MAXMOL]) |
Destroy the loaded charge maps. More... | |
VEXTERNC void | printPBEPARM (PBEparm *pbeparm) |
Print out generic PBE params loaded from input. More... | |
VEXTERNC void | printMGPARM (MGparm *mgparm, double realCenter[3]) |
Print out MG-specific params loaded from input. More... | |
VEXTERNC int | initMG (int icalc, NOsh *nosh, MGparm *mgparm, PBEparm *pbeparm, double realCenter[3], Vpbe *pbe[NOSH_MAXCALC], Valist *alist[NOSH_MAXMOL], Vgrid *dielXMap[NOSH_MAXMOL], Vgrid *dielYMap[NOSH_MAXMOL], Vgrid *dielZMap[NOSH_MAXMOL], Vgrid *kappaMap[NOSH_MAXMOL], Vgrid *chargeMap[NOSH_MAXMOL], Vpmgp *pmgp[NOSH_MAXCALC], Vpmg *pmg[NOSH_MAXCALC], Vgrid *potMap[NOSH_MAXMOL]) |
Initialize an MG calculation. More... | |
VEXTERNC void | killMG (NOsh *nosh, Vpbe *pbe[NOSH_MAXCALC], Vpmgp *pmgp[NOSH_MAXCALC], Vpmg *pmg[NOSH_MAXCALC]) |
Kill structures initialized during an MG calculation. More... | |
VEXTERNC int | solveMG (NOsh *nosh, Vpmg *pmg, MGparm_CalcType type) |
Solve the PBE with MG. More... | |
VEXTERNC int | setPartMG (NOsh *nosh, MGparm *mgparm, Vpmg *pmg) |
Set MG partitions for calculating observables and performing I/O. More... | |
VEXTERNC int | energyMG (NOsh *nosh, int icalc, Vpmg *pmg, int *nenergy, double *totEnergy, double *qfEnergy, double *qmEnergy, double *dielEnergy) |
Calculate electrostatic energies from MG solution. More... | |
VEXTERNC void | killEnergy () |
Kill arrays allocated for energies. More... | |
VEXTERNC int | forceMG (Vmem *mem, NOsh *nosh, PBEparm *pbeparm, MGparm *mgparm, Vpmg *pmg, int *nforce, AtomForce **atomForce, Valist *alist[NOSH_MAXMOL]) |
Calculate forces from MG solution. More... | |
VEXTERNC void | killForce (Vmem *mem, NOsh *nosh, int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC]) |
Free memory from MG force calculation. More... | |
VEXTERNC void | storeAtomEnergy (Vpmg *pmg, int icalc, double **atomEnergy, int *nenergy) |
Store energy in arrays for future use. More... | |
VEXTERNC int | writedataFlat (NOsh *nosh, Vcom *com, const char *fname, double totEnergy[NOSH_MAXCALC], double qfEnergy[NOSH_MAXCALC], double qmEnergy[NOSH_MAXCALC], double dielEnergy[NOSH_MAXCALC], int nenergy[NOSH_MAXCALC], double *atomEnergy[NOSH_MAXCALC], int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC]) |
Write out information to a flat file. More... | |
VEXTERNC int | writedataXML (NOsh *nosh, Vcom *com, const char *fname, double totEnergy[NOSH_MAXCALC], double qfEnergy[NOSH_MAXCALC], double qmEnergy[NOSH_MAXCALC], double dielEnergy[NOSH_MAXCALC], int nenergy[NOSH_MAXCALC], double *atomEnergy[NOSH_MAXCALC], int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC]) |
Write out information to an XML file. More... | |
VEXTERNC int | writedataMG (int rank, NOsh *nosh, PBEparm *pbeparm, Vpmg *pmg) |
Write out observables from MG calculation to file. More... | |
VEXTERNC int | writematMG (int rank, NOsh *nosh, PBEparm *pbeparm, Vpmg *pmg) |
Write out operator matrix from MG calculation to file. More... | |
VEXTERNC double | returnEnergy (Vcom *com, NOsh *nosh, double totEnergy[NOSH_MAXCALC], int iprint) |
Access net local energy. More... | |
VEXTERNC int | printEnergy (Vcom *com, NOsh *nosh, double totEnergy[NOSH_MAXCALC], int iprint) |
Combine and pretty-print energy data (deprecated...see printElecEnergy) More... | |
VEXTERNC int | printElecEnergy (Vcom *com, NOsh *nosh, double totEnergy[NOSH_MAXCALC], int iprint) |
Combine and pretty-print energy data. More... | |
VEXTERNC int | printApolEnergy (NOsh *nosh, int iprint) |
Combine and pretty-print energy data. More... | |
VEXTERNC int | printForce (Vcom *com, NOsh *nosh, int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC], int i) |
Combine and pretty-print force data (deprecated...see printElecForce) More... | |
VEXTERNC int | printElecForce (Vcom *com, NOsh *nosh, int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC], int i) |
Combine and pretty-print force data. More... | |
VEXTERNC int | printApolForce (Vcom *com, NOsh *nosh, int nforce[NOSH_MAXCALC], AtomForce *atomForce[NOSH_MAXCALC], int i) |
Combine and pretty-print force data. More... | |
VEXTERNC void | startVio () |
Wrapper to start MALOC Vio layer. More... | |
VEXTERNC int | energyAPOL (APOLparm *apolparm, double sasa, double sav, double atomsasa[], double atomwcaEnergy[], int numatoms) |
Calculate non-polar energies. More... | |
VEXTERNC int | forceAPOL (Vacc *acc, Vmem *mem, APOLparm *apolparm, int *nforce, AtomForce **atomForce, Valist *alist, Vclist *clist) |
Calculate non-polar forces. More... | |
VEXTERNC int | initAPOL (NOsh *nosh, Vmem *mem, Vparam *param, APOLparm *apolparm, int *nforce, AtomForce **atomForce, Valist *alist) |
Upperlevel routine to the non-polar energy and force routines. More... | |
VEXTERNC void | printFEPARM (int icalc, NOsh *nosh, FEMparm *feparm, Vfetk *fetk[NOSH_MAXCALC]) |
Print out FE-specific params loaded from input. More... | |
VEXTERNC int | energyFE (NOsh *nosh, int icalc, Vfetk *fetk[NOSH_MAXCALC], int *nenergy, double *totEnergy, double *qfEnergy, double *qmEnergy, double *dielEnergy) |
Calculate electrostatic energies from FE solution. More... | |
VPUBLIC Vrc_Codes | initFE (int icalc, NOsh *nosh, FEMparm *feparm, PBEparm *pbeparm, Vpbe *pbe[NOSH_MAXCALC], Valist *alist[NOSH_MAXMOL], Vfetk *fetk[NOSH_MAXCALC]) |
Initialize FE solver objects. More... | |
VEXTERNC void | killFE (NOsh *nosh, Vpbe *pbe[NOSH_MAXCALC], Vfetk *fetk[NOSH_MAXCALC], Gem *gem[NOSH_MAXMOL]) |
Kill structures initialized during an FE calculation. More... | |
VEXTERNC int | preRefineFE (int i, FEMparm *feparm, Vfetk *fetk[NOSH_MAXCALC]) |
Pre-refine mesh before solve. More... | |
VEXTERNC int | partFE (int i, NOsh *nosh, FEMparm *feparm, Vfetk *fetk[NOSH_MAXCALC]) |
Partition mesh (if applicable) More... | |
VEXTERNC int | solveFE (int i, PBEparm *pbeparm, FEMparm *feparm, Vfetk *fetk[NOSH_MAXCALC]) |
Solve-estimate-refine. More... | |
VEXTERNC int | postRefineFE (int icalc, FEMparm *feparm, Vfetk *fetk[NOSH_MAXCALC]) |
Estimate error, mark mesh, and refine mesh after solve. More... | |
VEXTERNC int | writedataFE (int rank, NOsh *nosh, PBEparm *pbeparm, Vfetk *fetk) |
Write FEM data to files. More... | |
VEXTERNC Vrc_Codes | loadMeshes (NOsh *nosh, Gem *gm[NOSH_MAXMOL]) |
Load the meshes given in NOsh into geometry objects. More... | |
VEXTERNC void | killMeshes (NOsh *nosh, Gem *alist[NOSH_MAXMOL]) |
Destroy the loaded meshes. More... | |
Header file for front end auxiliary routines.
* * 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-2012 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 routines.h.