Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

Vcsm class

A charge-simplex map for evaluating integrals of delta functions in a finite element setting. More...


Files

file  vcsm.h
 Contains declarations for the Vcsm class.


Data Structures

struct  sVcsm
 Charge-simplex map class. More...


Typedefs

typedef sVcsm Vcsm
 Declaration of the Vcsm class as the Vcsm structure.


Functions

void Gem_setExternalUpdateFunction (Gem *thee, void(*externalUpdate)(SS **simps, int num))
 External function for FEtk Gem class to use during mesh refinement.

ValistVcsm_getValist (Vcsm *thee)
 Get atom list.

int Vcsm_getNumberAtoms (Vcsm *thee, int isimp)
 Get number of atoms associated with a simplex.

VatomVcsm_getAtom (Vcsm *thee, int iatom, int isimp)
 Get particular atom associated with a simplex.

int Vcsm_getAtomIndex (Vcsm *thee, int iatom, int isimp)
 Get ID of particular atom in a simplex.

int Vcsm_getNumberSimplices (Vcsm *thee, int iatom)
 Get number of simplices associated with an atom.

SS * Vcsm_getSimplex (Vcsm *thee, int isimp, int iatom)
 Get particular simplex associated with an atom.

int Vcsm_getSimplexIndex (Vcsm *thee, int isimp, int iatom)
 Get index particular simplex associated with an atom.

int Vcsm_memChk (Vcsm *thee)
 Return the memory used by this structure (and its contents) in bytes.

Vcsm * Vcsm_ctor (Valist *alist, Gem *gm)
 Construct Vcsm object.

int Vcsm_ctor2 (Vcsm *thee, Valist *alist, Gem *gm)
 FORTRAN stub to construct Vcsm object.

void Vcsm_dtor (Vcsm **thee)
 Destroy Vcsm object.

void Vcsm_dtor2 (Vcsm *thee)
 FORTRAN stub to destroy Vcsm object.

void Vcsm_init (Vcsm *thee)
 Initialize charge-simplex map with mesh and atom data.

int Vcsm_update (Vcsm *thee, SS **simps, int num)
 Update the charge-simplex and simplex-charge maps after refinement.


Detailed Description

A charge-simplex map for evaluating integrals of delta functions in a finite element setting.


Function Documentation

void Gem_setExternalUpdateFunction Gem *    thee,
void(*    externalUpdate)(SS **simps, int num)
 

External function for FEtk Gem class to use during mesh refinement.

Author:
Nathan Baker
Parameters:
thee  Gem (FEtk geometry manager) object
externalUpdate  Function pointer for function to call during mesh refinement

Vcsm* Vcsm_ctor Valist   alist,
Gem *    gm
 

Construct Vcsm object.

Author:
Nathan Baker
Note:
  • The initial mesh must be sufficiently coarse for the assignment procedures to be efficient
  • The map is not built until Vcsm_init is called
Parameters:
alist  List of atoms
gm  FEtk geometry manager (defines mesh)
Returns:
Pointer to newly allocated Vcsm object

int Vcsm_ctor2 Vcsm   thee,
Valist   alist,
Gem *    gm
 

FORTRAN stub to construct Vcsm object.

Author:
Nathan Baker
Note:
  • The initial mesh must be sufficiently coarse for the assignment procedures to be efficient
  • The map is not built until Vcsm_init is called
Parameters:
thee  Pointer to space for Vcsm object
alist  List of atoms
gm  FEtk geometry manager (defines mesh)
Returns:
1 if successful, 0 otherwise

void Vcsm_dtor Vcsm **    thee
 

Destroy Vcsm object.

Author:
Nathan Baker
Parameters:
thee  Pointer to memory location for Vcsm object

void Vcsm_dtor2 Vcsm   thee
 

FORTRAN stub to destroy Vcsm object.

Author:
Nathan Baker
Parameters:
thee  Pointer to Vcsm object

Vatom* Vcsm_getAtom Vcsm   thee,
int    iatom,
int    isimp
 

Get particular atom associated with a simplex.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
iatom  Index of atom in Vcsm list for this simplex
isimp  Simplex ID
Returns:
Array of atoms associated with a simplex

int Vcsm_getAtomIndex Vcsm   thee,
int    iatom,
int    isimp
 

Get ID of particular atom in a simplex.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
isimp  Simplex ID
iatom  Index of atom in Vcsm list for this simplex
Returns:
Index of atom in Valist object

int Vcsm_getNumberAtoms Vcsm   thee,
int    isimp
 

Get number of atoms associated with a simplex.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
isimp  Simplex ID
Returns:
Number of atoms associated with a simplex

int Vcsm_getNumberSimplices Vcsm   thee,
int    iatom
 

Get number of simplices associated with an atom.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
iatom  Valist atom index
Returns:
Number of simplices associated with an atom

SS* Vcsm_getSimplex Vcsm   thee,
int    isimp,
int    iatom
 

Get particular simplex associated with an atom.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
iatom  Valist atom index
isimp  Index of simplex in Vcsm list
Returns:
Pointer to simplex object

int Vcsm_getSimplexIndex Vcsm   thee,
int    isimp,
int    iatom
 

Get index particular simplex associated with an atom.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
iatom  Valist atom index
isimp  Index of simplex in Vcsm list
Returns:
Gem index of specified simplex

Valist* Vcsm_getValist Vcsm   thee
 

Get atom list.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
Returns:
Pointer to Valist atom list

void Vcsm_init Vcsm   thee
 

Initialize charge-simplex map with mesh and atom data.

Author:
Nathan Baker
Parameters:
thee  Vcsm object to be initialized
Note:
The initial mesh must be sufficiently coarse for the assignment procedures to be efficient

int Vcsm_memChk Vcsm   thee
 

Return the memory used by this structure (and its contents) in bytes.

Author:
Nathan Baker
Parameters:
thee  Vcsm object
Returns:
The memory used by this structure and its contents in bytes

int Vcsm_update Vcsm   thee,
SS **    simps,
int    num
 

Update the charge-simplex and simplex-charge maps after refinement.

Author:
Nathan Baker
Parameters:
thee  Vcsm object to be updated
simps  List of pointer to newly created (by refinement) simplex objects. The first simplex is expected to be derived from the parent simplex and therefore have the same ID. The remaining simplices are the children and should represent new entries in the charge-simplex map.
num  Number of simplices in simps list
Returns:
1 if successful, 0 otherwise


Generated on Tue Feb 17 09:27:33 2004 for APBS by doxygen1.2.18