APBS
1.4.1
|
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 4507 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 4019 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 1423 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 4562 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 1490 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 4308 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 3554 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 1074 of file routines.c.
Destroy the loaded charge maps.
nosh | NOsh object with input file information |
charge | List of charge maps |
Definition at line 849 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 550 of file routines.c.
VEXTERNC void killEnergy | ( | ) |
Kill arrays allocated for energies.
Definition at line 1628 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 3526 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 1636 of file routines.c.
Destroy the loaded kappa maps.
nosh | NOsh object with input file information |
kappa | List of kappa maps |
Definition at line 662 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 1315 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 751 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 770 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 575 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 679 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 3879 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 4079 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 3886 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 2761 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 3314 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 2696 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 3071 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 2628 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 3743 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 2823 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 1041 of file routines.c.
VEXTERNC void printPBEPARM | ( | PBEparm * | pbeparm | ) |
Print out generic PBE params loaded from input.
pbeparm | PBEparm object |
Definition at line 867 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 2596 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 1377 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 3956 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 1341 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 1724 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 4140 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 1741 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 2237 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 1977 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 1653 of file routines.c.