A charge-simplex map for evaluating integrals of delta functions in a finite element setting. More...
Data Structures | |
struct | sVcsm |
Charge-simplex map class. More... | |
Files | |
file | vcsm.h |
Contains declarations for the Vcsm class. | |
file | vcsm.c |
Class Vcsm methods. | |
Typedefs | |
typedef struct 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. | |
Valist * | Vcsm_getValist (Vcsm *thee) |
Get atom list. | |
int | Vcsm_getNumberAtoms (Vcsm *thee, int isimp) |
Get number of atoms associated with a simplex. | |
Vatom * | Vcsm_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. | |
unsigned long 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. |
A charge-simplex map for evaluating integrals of delta functions in a finite element setting.
void Gem_setExternalUpdateFunction | ( | Gem * | thee, | |
void(*)(SS **simps, int num) | externalUpdate | |||
) |
External function for FEtk Gem class to use during mesh refinement.
externalUpdate | The FEtk geometry managery Function pointer for call during mesh refinement |
Referenced by Vfetk_ctor2().
Construct Vcsm object.
gm | List of atoms FEtk geometry manager defining the mesh |
References Vcsm_ctor2().
Referenced by Vfetk_loadMesh().
FORTRAN stub to construct Vcsm object.
alist | The Vcsm object | |
gm | The list of atoms The FEtk geometry manager defining the mesh |
References sVcsm::alist, sVcsm::gm, sVcsm::initFlag, and sVcsm::vmem.
Referenced by Vcsm_ctor().
void Vcsm_dtor | ( | Vcsm ** | thee | ) |
Destroy Vcsm object.
thee | Pointer to memory location for Vcsm object |
References Vcsm_dtor2().
Referenced by Vfetk_dtor2().
void Vcsm_dtor2 | ( | Vcsm * | thee | ) |
FORTRAN stub to destroy Vcsm object.
thee | Pointer to Vcsm object |
References sVcsm::initFlag, sVcsm::msimp, sVcsm::natom, sVcsm::nqsm, sVcsm::nsqm, sVcsm::qsm, sVcsm::sqm, and sVcsm::vmem.
Referenced by Vcsm_dtor().
Get particular atom associated with a simplex.
iatom | The Vcsm object | |
isimp | Index of atom in Vcsm list ofr this simplex Simplex ID |
References sVcsm::alist, sVcsm::initFlag, sVcsm::nsqm, sVcsm::sqm, and Valist_getAtom().
Referenced by Vfetk_PDE_delta().
int Vcsm_getAtomIndex | ( | Vcsm * | thee, | |
int | iatom, | |||
int | isimp | |||
) |
Get ID of particular atom in a simplex.
iatom | The Vcsm object | |
isimp | Index of atom in Vcsm list for this simplex Simplex ID |
References sVcsm::initFlag, sVcsm::nsqm, and sVcsm::sqm.
Referenced by Vfetk_PDE_delta().
int Vcsm_getNumberAtoms | ( | Vcsm * | thee, | |
int | isimp | |||
) |
Get number of atoms associated with a simplex.
isimp | The Vcsm object Simplex ID |
References sVcsm::initFlag, and sVcsm::nsqm.
Referenced by Vfetk_PDE_delta().
int Vcsm_getNumberSimplices | ( | Vcsm * | thee, | |
int | iatom | |||
) |
Get number of simplices associated with an atom.
iatom | The Vcsm object The Valist atom index |
References sVcsm::initFlag, and sVcsm::nqsm.
SS* Vcsm_getSimplex | ( | Vcsm * | thee, | |
int | isimp, | |||
int | iatom | |||
) |
Get particular simplex associated with an atom.
isimp | The Vcsm object | |
iatom | Index of simplex in Vcsm list Valist atom index |
References sVcsm::gm, sVcsm::initFlag, and sVcsm::qsm.
Referenced by Vfetk_setAtomColors().
int Vcsm_getSimplexIndex | ( | Vcsm * | thee, | |
int | isimp, | |||
int | iatom | |||
) |
Get index particular simplex associated with an atom.
isimp | THe Vcsm object | |
iatom | Index of simplex in Vcsm list Index of atom in Valist |
References sVcsm::initFlag, and sVcsm::qsm.
Get atom list.
thee | The Vcsm object |
References sVcsm::alist.
void Vcsm_init | ( | Vcsm * | thee | ) |
Initialize charge-simplex map with mesh and atom data.
thee | The Vcsm object |
References sVcsm::alist, sVcsm::gm, sVcsm::initFlag, sVcsm::msimp, sVcsm::natom, sVcsm::nqsm, sVcsm::nsimp, sVcsm::nsqm, sVcsm::qsm, sVcsm::sqm, Valist_getAtom(), Valist_getNumberAtoms(), Vatom_getPosition(), and sVcsm::vmem.
Referenced by Vfetk_loadMesh().
unsigned long int Vcsm_memChk | ( | Vcsm * | thee | ) |
Return the memory used by this structure (and its contents) in bytes.
thee | The Vcsm object |
References sVcsm::vmem.
Referenced by Vfetk_memChk().
int Vcsm_update | ( | Vcsm * | thee, | |
SS ** | simps, | |||
int | num | |||
) |
Update the charge-simplex and simplex-charge maps after refinement.
simps | The Vcsm object | |
num | 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. Number of simplices in simps list |
References sVcsm::alist, sVcsm::gm, sVcsm::initFlag, sVcsm::msimp, sVcsm::nqsm, sVcsm::nsimp, sVcsm::nsqm, sVcsm::qsm, sVcsm::sqm, Valist_getAtom(), Vatom_getPosition(), and sVcsm::vmem.
Referenced by Vfetk_externalUpdateFunction().