APBS
1.5
|
Files | |
file | apbs.h |
Header file for header dependencies. | |
file | main.c |
APBS "front end" program using formatted input files. | |
file | routines.h |
Header file for front end auxiliary routines. | |
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 | |
int | main (int argc, char **argv) |
The main APBS function. 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 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... | |
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... | |
VEXTERNC int energyAPOL | ( | APOLparm * | apolparm, |
double | sasa, | ||
double | sav, | ||
double | atomsasa[], | ||
double | atomwcaEnergy[], | ||
int | numatoms | ||
) |
Calculate non-polar energies.
sasa | APOLparm object |
sav | Solvent accessible surface area |
atomsasa | Solvent accessible volume |
atomwcaEnergy | Array for SASA per atom * |
numatoms | Array for WCA energy per atom * Number of atoms (or size of the above arrays) * |
Definition at line 4666 of file routines.c.
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.
nosh | Object with parsed input file parameters |
icalc | Index of calculation |
fetk | FE object array |
nenergy | Set to number of entries in energy arrays |
totEnergy | Set to total energy (in kT) |
qfEnergy | Set to charge-potential energy (in kT) |
qmEnergy | Set to mobile ion energy (in kT) |
dielEnergy | Set to polarization energy (in kT) |
Calculates the electrostatic energies from an FE calculation.
< FE-specific parameters
< PBE-specific parameters
If we're not ignoring this particular NOsh object because it has been rendered invalid, call the Vfetk object's energy calculation function. The flag differences specified have to do with setting specific calculation restrictions (see color variable documentation in function code).
nosh | Object with parsed input file parameters |
icalc | Calculation index |
fetk | FE object array |
nenergy | Set to number of entries in energy arrays |
totEnergy | Set to total energy (in kT) |
qfEnergy | Set to charge-potential energy (in kT) |
qmEnergy | Set to mobile ion energy (in kT) |
dielEnergy | Set to polarization energy (in kT) |
Definition at line 4171 of file routines.c.
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.
nosh | Object with parsed input file parameters |
icalc | Index of calculation |
pmg | MG object |
nenergy | Set to number of entries in energy arrays |
totEnergy | Set to total energy (in kT) |
qfEnergy | Set to charge-potential energy (in kT) |
qmEnergy | Set to mobile ion energy (in kT) |
dielEnergy | Set to polarization energy (in kT) |
Definition at line 1561 of file routines.c.
VEXTERNC int forceAPOL | ( | Vacc * | acc, |
Vmem * | mem, | ||
APOLparm * | apolparm, | ||
int * | nforce, | ||
AtomForce ** | atomForce, | ||
Valist * | alist, | ||
Vclist * | clist | ||
) |
Calculate non-polar forces.
acc | Accessiblity object |
mem | Memory manager |
apolparm | Apolar calculation parameter object |
nforce | Number of atomic forces to calculate statements for |
atomForce | Object for storing atom forces |
alist | Atom list |
clist | Cell list for accessibility object |
Definition at line 4721 of file routines.c.
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.
mem | Memory management object |
nosh | Parameters from input file |
pbeparm | Generic PBE parameters |
mgparm | MG-specific parmaeters |
pmg | MG object |
nforce | Set to number of forces in arrays |
atomForce | List of atom forces |
alist | List of atom lists |
Definition at line 1628 of file routines.c.
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.
<
< Number of atoms
< Used to capture length of loops to prevent multiple calls in counters
<
<
< Temporary timing variable for debugging (PCE)
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
< WCA energy per atom
<
<
<
<
<
<
<
<
<
<
<
<
<
nosh | Input parameter object |
mem | Memory manager |
param | Atom parameters |
apolparm | Apolar calculation parameters |
nforce | Number of force calculations |
atomForce | Atom force storage object |
alist | Atom list |
Definition at line 4467 of file routines.c.
VEXTERNC 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.
< Loop counter
< Mesh ID
< Loop counter
< Loop counter
< Molecule ID
<
< I/O socket for reading MCSF mesh data
< Total bytes used by this operation
< High-water memory usage for this operation
< The type of mesh being used (see struct for enum values)
<
<
<
<
<
< Return codes for function calls (see struct for enum value)
< List of atoms being operated on
< Atom/molecule being operated on
icalc | Index in pb, fetk to initialize (calculation index) |
nosh | Master parmaeter object |
feparm | FE-specific parameters |
pbeparm | Generic PBE parameters |
pbe | Array of PBE objects |
alist | Array of atom lists |
fetk | Array of finite element objects |
Definition at line 3703 of file routines.c.
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.
Initialize a multigrid calculation.
icalc | Index of calculation in pmg/pmpg arrays |
nosh | Object with parsed input file parameters |
mgparm | Object with MG-specific parameters |
pbeparm | Object with generic PBE parameters |
realCenter | The actual center of the current mesh |
pbe | Array of Vpbe objects (one for each calc) |
alist | Array of atom lists |
dielXMap | Array of x-shifted dielectric maps |
dielYMap | Array of y-shifted dielectric maps |
dielZMap | Array of z-shifted dielectric maps |
kappaMap | Array of kappa maps |
chargeMap | Array of charge maps |
pmgp | Array of MG parameter objects (one for each calc) |
pmg | Array of MG objects (one for each calc) |
potMap | Array of potential maps |
Definition at line 1212 of file routines.c.
Destroy the loaded charge maps.
nosh | NOsh object with input file information |
charge | List of charge maps |
Definition at line 984 of file routines.c.
VEXTERNC void killDielMaps | ( | NOsh * | nosh, |
Vgrid * | dielXMap[NOSH_MAXMOL], | ||
Vgrid * | dielYMap[NOSH_MAXMOL], | ||
Vgrid * | dielZMap[NOSH_MAXMOL] | ||
) |
Destroy the loaded dielectric.
nosh | NOsh object with input file information |
dielXMap | List of x-shifted dielectric maps |
dielYMap | List of y-shifted dielectric maps |
dielZMap | List of x-shifted dielectric maps |
Definition at line 639 of file routines.c.
VEXTERNC void killEnergy | ( | ) |
Kill arrays allocated for energies.
Definition at line 1766 of file routines.c.
VEXTERNC void killFE | ( | NOsh * | nosh, |
Vpbe * | pbe[NOSH_MAXCALC], | ||
Vfetk * | fetk[NOSH_MAXCALC], | ||
Gem * | gem[NOSH_MAXMOL] | ||
) |
Kill structures initialized during an FE calculation.
pbe | Object with parsed input file parameters |
fetk | Array of Vpbe objects for each calc |
gem | Array of FEtk objects for each calc Array of geometry manager objects for each calc |
Definition at line 3675 of file routines.c.
VEXTERNC void killForce | ( | Vmem * | mem, |
NOsh * | nosh, | ||
int | nforce[NOSH_MAXCALC], | ||
AtomForce * | atomForce[NOSH_MAXCALC] | ||
) |
Free memory from MG force calculation.
mem | Memory management object |
nosh | Parameters from input file |
nforce | Number of forces in arrays |
atomForce | List of atom forces |
Definition at line 1774 of file routines.c.
Destroy the loaded kappa maps.
nosh | NOsh object with input file information |
kappa | List of kappa maps |
Definition at line 776 of file routines.c.
VEXTERNC void killMeshes | ( | NOsh * | nosh, |
Gem * | alist[NOSH_MAXMOL] | ||
) |
Destroy the loaded meshes.
nosh | NOsh object with input file information |
alist | Populated list of geometry objects to be destroyed |
VEXTERNC void killMG | ( | NOsh * | nosh, |
Vpbe * | pbe[NOSH_MAXCALC], | ||
Vpmgp * | pmgp[NOSH_MAXCALC], | ||
Vpmg * | pmg[NOSH_MAXCALC] | ||
) |
Kill structures initialized during an MG calculation.
pbe | Object with parsed input file parameters |
pmgp | Array of Vpbe objects for each calc |
pmg | Array of MG parameter objects for each calc Array of MG objects for each calc |
Definition at line 1453 of file routines.c.
Destroy the loaded molecules.
nosh | NOsh object with input file information |
alist | List of atom list objects |
Definition at line 233 of file routines.c.
Destroy the loaded potential maps.
nosh | NOsh object with input file information |
pot | List of potential maps |
Definition at line 865 of file routines.c.
Load the charge maps given in NOsh into grid objects.
nosh | NOsh object with input file information |
charge | List of kappa maps |
Definition at line 884 of file routines.c.
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.
nosh | NOsh object with input file information |
dielXMap | List of x-shifted dielectric maps |
dielYMap | List of y-shifted dielectric maps |
dielZMap | List of x-shifted dielectric maps |
Loads dielectric map path data into NOsh object
Definition at line 250 of file routines.c.
Load the kappa maps given in NOsh into grid objects.
nosh | NOsh object with input file information |
kappa | List of kappa maps |
Definition at line 664 of file routines.c.
VEXTERNC Vrc_Codes loadMeshes | ( | NOsh * | nosh, |
Gem * | gm[NOSH_MAXMOL] | ||
) |
Load the meshes given in NOsh into geometry objects.
nosh | NOsh object with input file information |
gm | List of geometry objects (to be populated) |
Load the molecules given in NOsh into atom lists.
nosh | NOsh object with input file information |
param | NULL (if PQR files only) or pointer to parameter object |
alist | List of atom list objects (to be populated) |
Definition at line 95 of file routines.c.
Loads and returns parameter object.
nosh | Pointer to NOsh object with input file information |
Definition at line 60 of file routines.c.
Load the potential maps given in NOsh into grid objects.
nosh | NOsh object with input file information |
pot | List of potential maps |
Definition at line 793 of file routines.c.
int main | ( | int | argc, |
char ** | argv | ||
) |
Partition mesh (if applicable)
i | Calculation index |
nosh | Master parameter object |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
Definition at line 4031 of file routines.c.
Estimate error, mark mesh, and refine mesh after solve.
icalc | Calculation index |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
Estimates the error, marks the mesh, and refines the mesh after solving.
< Number of vertices in the molecular geometry
< Whether vertices are marked for refinement
icalc | Calculation index |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
Definition at line 4231 of file routines.c.
Pre-refine mesh before solve.
i | Calculation index |
nosh | Master parameter object |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
< Number of vertices in the mesh geometry
< Essentially a boolean; indicates whether further refinement is required after running MC's refinement algorithm.
TODO: could this be optimized by moving nverts out of the loop to just above this initial printout? This depends heavily on whether the number of vertices can change during the calculation. - PCE
Definition at line 4038 of file routines.c.
VEXTERNC int printApolEnergy | ( | NOsh * | nosh, |
int | iprint | ||
) |
Combine and pretty-print energy data.
nosh | Parameters from input file |
iprint | Index of energy statement to print |
Definition at line 2910 of file routines.c.
VEXTERNC int printApolForce | ( | Vcom * | com, |
NOsh * | nosh, | ||
int | nforce[NOSH_MAXCALC], | ||
AtomForce * | atomForce[NOSH_MAXCALC], | ||
int | i | ||
) |
Combine and pretty-print force data.
nosh | Communications object |
nforce | Parameters from input file |
atomForce | Number of forces calculated |
i | Array of force structures Index of force statement to print |
Definition at line 3463 of file routines.c.
VEXTERNC int printElecEnergy | ( | Vcom * | com, |
NOsh * | nosh, | ||
double | totEnergy[NOSH_MAXCALC], | ||
int | iprint | ||
) |
Combine and pretty-print energy data.
nosh | Communications object |
totEnergy | Parameters from input file |
iprint | Array of energies from different calculations Index of energy statement to print |
Definition at line 2845 of file routines.c.
VEXTERNC int printElecForce | ( | Vcom * | com, |
NOsh * | nosh, | ||
int | nforce[NOSH_MAXCALC], | ||
AtomForce * | atomForce[NOSH_MAXCALC], | ||
int | i | ||
) |
Combine and pretty-print force data.
nosh | Communications object |
nforce | Parameters from input file |
atomForce | Number of forces calculated |
i | Array of force structures Index of force statement to print |
Definition at line 3220 of file routines.c.
VEXTERNC int printEnergy | ( | Vcom * | com, |
NOsh * | nosh, | ||
double | totEnergy[NOSH_MAXCALC], | ||
int | iprint | ||
) |
Combine and pretty-print energy data (deprecated...see printElecEnergy)
nosh | Communications object |
totEnergy | Parameters from input file |
iprint | Array of energies from different calculations Index of energy statement to print |
Definition at line 2777 of file routines.c.
Print out FE-specific params loaded from input.
icalc | Calculation index |
nosh | Master parameter object |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
Definition at line 3895 of file routines.c.
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)
nosh | Communications object |
nforce | Parameters from input file |
atomForce | Number of forces calculated |
i | Array of force structures Index of force statement to print |
Definition at line 2972 of file routines.c.
VEXTERNC void printMGPARM | ( | MGparm * | mgparm, |
double | realCenter[3] | ||
) |
Print out MG-specific params loaded from input.
realCenter | Center of mesh for actual calculation |
mgparm | MGparm object |
Definition at line 1179 of file routines.c.
VEXTERNC void printPBEPARM | ( | PBEparm * | pbeparm | ) |
Print out generic PBE params loaded from input.
pbeparm | PBEparm object |
Definition at line 1002 of file routines.c.
VEXTERNC double returnEnergy | ( | Vcom * | com, |
NOsh * | nosh, | ||
double | totEnergy[NOSH_MAXCALC], | ||
int | iprint | ||
) |
Access net local energy.
com | Communications object |
nosh | Parameters from input file |
totEnergy | Array of energies from different calculations |
iprint | Index of energy statement to print |
Definition at line 2745 of file routines.c.
Set MG partitions for calculating observables and performing I/O.
nosh | Object with parsed input file parameters |
mgparm | MG parameters from input file |
pmg | MG object |
Definition at line 1515 of file routines.c.
Solve-estimate-refine.
i | Calculation index |
feparm | FE-specific parameters |
pbeparm | Generic PBE parameters |
fetk | Array of FE solver objects |
Call MC's mesh solving equations depending upon the type of PBE we're dealing with.
< AM_hPcg
< Coarse-grid solver; 0 = SLU, 1 = MG, 2 = CG, 3 = BCG, 4 = PCG, 5 = PBCG
< Primal problem
< Preconditioner; 0 = identity.
icalc | Calculation index |
pbeparm | PBE-specific parameters |
feparm | FE-specific parameters |
fetk | Array of FE solver objects |
Definition at line 4108 of file routines.c.
VEXTERNC int solveMG | ( | NOsh * | nosh, |
Vpmg * | pmg, | ||
MGparm_CalcType | type | ||
) |
Solve the PBE with MG.
nosh | Object with parsed input file parameters |
pmg | MG objects for this calculation |
type | Type of MG calculation |
Definition at line 1479 of file routines.c.
VEXTERNC void startVio | ( | ) |
Wrapper to start MALOC Vio layer.
Definition at line 58 of file routines.c.
VEXTERNC void storeAtomEnergy | ( | Vpmg * | pmg, |
int | icalc, | ||
double ** | atomEnergy, | ||
int * | nenergy | ||
) |
Store energy in arrays for future use.
pmg | MG object |
icalc | Calculation number |
atomEnergy | Pointer to storage array of doubles |
nenergy | Stores number of atoms per calc |
Definition at line 1862 of file routines.c.
Write FEM data to files.
rank | Rank of processor (for parallel runs) |
nosh | NOsh object |
pbeparm | PBEparm object |
fetk | FEtk object (with solution) |
Write FEM data to file.
<
<
< Loop counter
< Flag indicating whether data can be written to output
<
<
rank | Rank of processor (for parallel runs) |
nosh | NOsh object |
pbeparm | PBE-specific parameters |
fetk | FEtk object (with solution) |
Definition at line 4292 of file routines.c.
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.
nosh | Parameters from input file |
com | The communications object |
fname | The target XML file name |
totEnergy | An array with per-calc total energies (in kT) |
qfEnergy | An array with per-calc charge-potential energies (in kT) |
qmEnergy | An array with per-calc mobile energies (in kT) |
dielEnergy | An array with per-calc polarization energies (in kT) |
nenergy | An array containing the number of atoms per-calc |
atomEnergy | An array containing per-atom energies (in KT) per calc |
nforce | An array containing the number of forces calculated per-calc |
atomForce | An array containing per-atom forces per calc |
Definition at line 1879 of file routines.c.
Write out observables from MG calculation to file.
rank | Processor rank (if parallel calculation) |
nosh | Parameters from input file |
pbeparm | Generic PBE parameters |
pmg | MG object |
Definition at line 2375 of file routines.c.
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.
nosh | Parameters from input file |
com | The communications object |
fname | The target XML file name |
totEnergy | An array with per-calc total energies (in kT) |
qfEnergy | An array with per-calc charge-potential energies (in kT) |
qmEnergy | An array with per-calc mobile energies (in kT) |
dielEnergy | An array with per-calc polarization energies (in kT) |
nenergy | An array containing the number of atoms per-calc |
atomEnergy | An array containing per-atom energies (in KT) per calc |
nforce | An array containing the number of forces calculated per-calc |
atomForce | An array containing per-atom forces per calc |
Definition at line 2115 of file routines.c.
Write out operator matrix from MG calculation to file.
rank | Processor rank (if parallel calculation) |
nosh | Parameters from input file |
pbeparm | Generic PBE parameters |
pmg | MG object |
Definition at line 1791 of file routines.c.