Oracle for Cartesian mesh data. More...
Data Structures | |
struct | sVgrid |
Electrostatic potential oracle for Cartesian mesh data. More... | |
Files | |
file | vgrid.h |
Potential oracle for Cartesian mesh data. | |
file | vgrid.c |
Class Vgrid methods. | |
Defines | |
#define | VGRID_DIGITS 6 |
Number of decimal places for comparisons and formatting. | |
Typedefs | |
typedef struct sVgrid | Vgrid |
Declaration of the Vgrid class as the sVgrid structure. | |
Functions | |
unsigned long int | Vgrid_memChk (Vgrid *thee) |
Return the memory used by this structure (and its contents) in bytes. | |
Vgrid * | Vgrid_ctor (int nx, int ny, int nz, double hx, double hy, double hzed, double xmin, double ymin, double zmin, double *data) |
Construct Vgrid object with values obtained from Vpmg_readDX (for example). | |
int | Vgrid_ctor2 (Vgrid *thee, int nx, int ny, int nz, double hx, double hy, double hzed, double xmin, double ymin, double zmin, double *data) |
Initialize Vgrid object with values obtained from Vpmg_readDX (for example). | |
int | Vgrid_value (Vgrid *thee, double x[3], double *value) |
Get potential value (from mesh or approximation) at a point. | |
void | Vgrid_dtor (Vgrid **thee) |
Object destructor. | |
void | Vgrid_dtor2 (Vgrid *thee) |
FORTRAN stub object destructor. | |
int | Vgrid_curvature (Vgrid *thee, double pt[3], int cflag, double *curv) |
Get second derivative values at a point. | |
int | Vgrid_gradient (Vgrid *thee, double pt[3], double grad[3]) |
Get first derivative values at a point. | |
void | Vgrid_writeUHBD (Vgrid *thee, const char *iodev, const char *iofmt, const char *thost, const char *fname, char *title, double *pvec) |
Write out the data in UHBD grid format. | |
void | Vgrid_writeDX (Vgrid *thee, const char *iodev, const char *iofmt, const char *thost, const char *fname, char *title, double *pvec) |
Write out the data in OpenDX grid format. | |
int | Vgrid_readDX (Vgrid *thee, const char *iodev, const char *iofmt, const char *thost, const char *fname) |
Read in data in OpenDX grid format. | |
double | Vgrid_integrate (Vgrid *thee) |
Get the integral of the data. | |
double | Vgrid_normL1 (Vgrid *thee) |
Get the ![]()
| |
double | Vgrid_normL2 (Vgrid *thee) |
Get the ![]()
| |
double | Vgrid_normLinf (Vgrid *thee) |
Get the ![]()
| |
double | Vgrid_seminormH1 (Vgrid *thee) |
Get the ![]()
| |
double | Vgrid_normH1 (Vgrid *thee) |
Get the ![]()
|
Oracle for Cartesian mesh data.
Vgrid* Vgrid_ctor | ( | int | nx, | |
int | ny, | |||
int | nz, | |||
double | hx, | |||
double | hy, | |||
double | hzed, | |||
double | xmin, | |||
double | ymin, | |||
double | zmin, | |||
double * | data | |||
) |
Construct Vgrid object with values obtained from Vpmg_readDX (for example).
nx | Number grid points in x direction | |
ny | Number grid points in y direction | |
nz | Number grid points in z direction | |
hx | Grid spacing in x direction | |
hy | Grid spacing in y direction | |
hzed | Grid spacing in z direction | |
xmin | x coordinate of lower grid corner | |
ymin | y coordinate of lower grid corner | |
zmin | z coordinate of lower grid corner | |
data | nx*ny*nz array of data. This can be VNULL if you are planning to read in data later with one of the read routines |
Referenced by loadChargeMaps(), loadDielMaps(), loadKappaMaps(), Vpmg_fillArray(), Vpmg_polarizEnergy(), and writedataMG().
int Vgrid_ctor2 | ( | Vgrid * | thee, | |
int | nx, | |||
int | ny, | |||
int | nz, | |||
double | hx, | |||
double | hy, | |||
double | hzed, | |||
double | xmin, | |||
double | ymin, | |||
double | zmin, | |||
double * | data | |||
) |
Initialize Vgrid object with values obtained from Vpmg_readDX (for example).
thee | Pointer to newly allocated Vgrid object | |
nx | Number grid points in x direction | |
ny | Number grid points in y direction | |
nz | Number grid points in z direction | |
hx | Grid spacing in x direction | |
hy | Grid spacing in y direction | |
hzed | Grid spacing in z direction | |
xmin | x coordinate of lower grid corner | |
ymin | y coordinate of lower grid corner | |
zmin | z coordinate of lower grid corner | |
data | nx*ny*nz array of data. This can be VNULL if you are planning to read in data later with one of the read routines |
int Vgrid_curvature | ( | Vgrid * | thee, | |
double | pt[3], | |||
int | cflag, | |||
double * | curv | |||
) |
Get second derivative values at a point.
thee | Pointer to Vgrid object | |
pt | Location to evaluate second derivative | |
cflag |
| |
curv | Specified curvature value |
Referenced by Vpmg_fillArray(), and Vpmg_polarizEnergy().
void Vgrid_dtor | ( | Vgrid ** | thee | ) |
Object destructor.
thee | Pointer to memory location of object to be destroyed |
Referenced by killChargeMaps(), killDielMaps(), killKappaMaps(), Vpmg_fillArray(), and writedataMG().
void Vgrid_dtor2 | ( | Vgrid * | thee | ) |
FORTRAN stub object destructor.
thee | Pointer to object to be destroyed |
int Vgrid_gradient | ( | Vgrid * | thee, | |
double | pt[3], | |||
double | grad[3] | |||
) |
Get first derivative values at a point.
thee | Pointer to Vgrid object | |
pt | Location to evaluate gradient | |
grad | Gradient |
Referenced by Vgrid_seminormH1(), and Vpmg_fillArray().
double Vgrid_integrate | ( | Vgrid * | thee | ) |
Get the integral of the data.
thee | Vgrid object |
References sVgrid::data, sVgrid::hx, sVgrid::hy, sVgrid::hzed, sVgrid::nx, sVgrid::ny, and sVgrid::nz.
unsigned long int Vgrid_memChk | ( | Vgrid * | thee | ) |
Return the memory used by this structure (and its contents) in bytes.
thee | Vgrid object |
References sVgrid::mem.
double Vgrid_normH1 | ( | Vgrid * | thee | ) |
Get the norm (or energy norm) of the data. This returns the integral:
.
thee | Vgrid object |
References Vgrid_normL2(), and Vgrid_seminormH1().
double Vgrid_normL1 | ( | Vgrid * | thee | ) |
Get the norm of the data. This returns the integral:
.
thee | Vgrid object |
References sVgrid::data, sVgrid::hx, sVgrid::hy, sVgrid::hzed, sVgrid::nx, sVgrid::ny, and sVgrid::nz.
double Vgrid_normL2 | ( | Vgrid * | thee | ) |
Get the norm of the data. This returns the integral:
.
thee | Vgrid object |
References sVgrid::data, sVgrid::hx, sVgrid::hy, sVgrid::hzed, sVgrid::nx, sVgrid::ny, and sVgrid::nz.
Referenced by Vgrid_normH1().
double Vgrid_normLinf | ( | Vgrid * | thee | ) |
Get the norm of the data. This returns the integral:
.
thee | Vgrid object |
References sVgrid::data, sVgrid::nx, sVgrid::ny, and sVgrid::nz.
int Vgrid_readDX | ( | Vgrid * | thee, | |
const char * | iodev, | |||
const char * | iofmt, | |||
const char * | thost, | |||
const char * | fname | |||
) |
Read in data in OpenDX grid format.
thee | Vgrid object | |
iodev | Input device type (FILE/BUFF/UNIX/INET) | |
iofmt | Input device format (ASCII/XDR) | |
thost | Input hostname (for sockets) | |
fname | Input FILE/BUFF/UNIX/INET name |
Referenced by loadChargeMaps(), loadDielMaps(), and loadKappaMaps().
double Vgrid_seminormH1 | ( | Vgrid * | thee | ) |
Get the semi-norm of the data. This returns the integral:
.
thee | Vgrid object |
References sVgrid::hx, sVgrid::hy, sVgrid::hzed, sVgrid::nx, sVgrid::ny, sVgrid::nz, Vgrid_gradient(), sVgrid::xmin, sVgrid::ymin, and sVgrid::zmin.
Referenced by Vgrid_normH1().
int Vgrid_value | ( | Vgrid * | thee, | |
double | x[3], | |||
double * | value | |||
) |
Get potential value (from mesh or approximation) at a point.
thee | Vgrid obejct | |
x | Point at which to evaluate potential | |
value | Value of data at point x |
Referenced by fillcoChargeMap(), and fillcoCoefMap().
void Vgrid_writeDX | ( | Vgrid * | thee, | |
const char * | iodev, | |||
const char * | iofmt, | |||
const char * | thost, | |||
const char * | fname, | |||
char * | title, | |||
double * | pvec | |||
) |
Write out the data in OpenDX grid format.
thee | Grid object | |
iodev | Output device type (FILE/BUFF/UNIX/INET) | |
iofmt | Output device format (ASCII/XDR) | |
thost | Output hostname (for sockets) | |
fname | Output FILE/BUFF/UNIX/INET name | |
title | Title to be inserted in grid file | |
pvec | Partition weight ( if 1: point in current partition, if 0 point not in current partition if > 0 && < 1 point on/near boundary ) |
Referenced by writedataMG().
void Vgrid_writeUHBD | ( | Vgrid * | thee, | |
const char * | iodev, | |||
const char * | iofmt, | |||
const char * | thost, | |||
const char * | fname, | |||
char * | title, | |||
double * | pvec | |||
) |
Write out the data in UHBD grid format.
thee | Grid object | |
iodev | Output device type (FILE/BUFF/UNIX/INET) | |
iofmt | Output device format (ASCII/XDR) | |
thost | Output hostname (for sockets) | |
fname | Output FILE/BUFF/UNIX/INET name | |
title | Title to be inserted in grid file | |
pvec | Partition weight ( if 1: point in current partition, if 0 point not in current partition if > 0 && < 1 point on/near boundary ) |
Referenced by writedataMG().