A charge-simplex map for evaluating integrals of delta functions in a finite element setting.
More...
|
file | vcsm.c |
| Class Vcsm methods.
|
|
file | vcsm.h |
| Contains declarations for the Vcsm class.
|
|
|
typedef struct sVcsm | Vcsm |
| Declaration of the Vcsm class as the Vcsm structure.
|
|
|
VEXTERNC void | Gem_setExternalUpdateFunction (Gem *thee, void(*externalUpdate)(SS **simps, int num)) |
| External function for FEtk Gem class to use during mesh refinement.
|
|
VEXTERNC Valist * | Vcsm_getValist (Vcsm *thee) |
| Get atom list.
|
|
VEXTERNC int | Vcsm_getNumberAtoms (Vcsm *thee, int isimp) |
| Get number of atoms associated with a simplex.
|
|
VEXTERNC Vatom * | Vcsm_getAtom (Vcsm *thee, int iatom, int isimp) |
| Get particular atom associated with a simplex.
|
|
VEXTERNC int | Vcsm_getAtomIndex (Vcsm *thee, int iatom, int isimp) |
| Get ID of particular atom in a simplex.
|
|
VEXTERNC int | Vcsm_getNumberSimplices (Vcsm *thee, int iatom) |
| Get number of simplices associated with an atom.
|
|
VEXTERNC SS * | Vcsm_getSimplex (Vcsm *thee, int isimp, int iatom) |
| Get particular simplex associated with an atom.
|
|
VEXTERNC int | Vcsm_getSimplexIndex (Vcsm *thee, int isimp, int iatom) |
| Get index particular simplex associated with an atom.
|
|
VEXTERNC unsigned long int | Vcsm_memChk (Vcsm *thee) |
| Return the memory used by this structure (and its contents) in bytes.
|
|
VEXTERNC Vcsm * | Vcsm_ctor (Valist *alist, Gem *gm) |
| Construct Vcsm object.
|
|
VEXTERNC int | Vcsm_ctor2 (Vcsm *thee, Valist *alist, Gem *gm) |
| FORTRAN stub to construct Vcsm object.
|
|
VEXTERNC void | Vcsm_dtor (Vcsm **thee) |
| Destroy Vcsm object.
|
|
VEXTERNC void | Vcsm_dtor2 (Vcsm *thee) |
| FORTRAN stub to destroy Vcsm object.
|
|
VEXTERNC void | Vcsm_init (Vcsm *thee) |
| Initialize charge-simplex map with mesh and atom data.
|
|
VEXTERNC 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.
◆ Vcsm
Declaration of the Vcsm class as the Vcsm structure.
Definition at line 122 of file vcsm.h.
◆ Gem_setExternalUpdateFunction()
VEXTERNC 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 | The FEtk geometry manager |
externalUpdate | Function pointer for call during mesh refinement |
◆ Vcsm_ctor()
VEXTERNC 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
- Returns
- Pointer to newly allocated Vcsm object
- Parameters
-
alist | List of atoms |
gm | FEtk geometry manager defining the mesh |
Definition at line 136 of file vcsm.c.
◆ Vcsm_ctor2()
VEXTERNC 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
- Returns
- 1 if successful, 0 otherwise
- Parameters
-
thee | The Vcsm object |
alist | The list of atoms |
gm | The FEtk geometry manager defining the mesh |
Definition at line 147 of file vcsm.c.
◆ Vcsm_dtor()
VEXTERNC void Vcsm_dtor |
( |
Vcsm ** | thee | ) |
|
Destroy Vcsm object.
- Author
- Nathan Baker
- Parameters
-
thee | Pointer to memory location for Vcsm object |
Definition at line 292 of file vcsm.c.
◆ Vcsm_dtor2()
VEXTERNC void Vcsm_dtor2 |
( |
Vcsm * | thee | ) |
|
FORTRAN stub to destroy Vcsm object.
- Author
- Nathan Baker
- Parameters
-
thee | Pointer to Vcsm object |
Definition at line 300 of file vcsm.c.
◆ Vcsm_getAtom()
VEXTERNC Vatom * Vcsm_getAtom |
( |
Vcsm * | thee, |
|
|
int | iatom, |
|
|
int | isimp ) |
Get particular atom associated with a simplex.
- Author
- Nathan Baker
- Returns
- Array of atoms associated with a simplex
- Parameters
-
thee | The Vcsm object |
iatom | Index of atom in Vcsm list ofr this simplex |
isimp | Simplex ID |
Definition at line 77 of file vcsm.c.
◆ Vcsm_getAtomIndex()
VEXTERNC int Vcsm_getAtomIndex |
( |
Vcsm * | thee, |
|
|
int | iatom, |
|
|
int | isimp ) |
Get ID of particular atom in a simplex.
- Author
- Nathan Baker
- Returns
- Index of atom in Valist object
- Parameters
-
thee | The Vcsm object |
iatom | Index of atom in Vcsm list for this simplex |
isimp | Simplex ID |
Definition at line 88 of file vcsm.c.
◆ Vcsm_getNumberAtoms()
VEXTERNC int Vcsm_getNumberAtoms |
( |
Vcsm * | thee, |
|
|
int | isimp ) |
Get number of atoms associated with a simplex.
- Author
- Nathan Baker
- Returns
- Number of atoms associated with a simplex
- Parameters
-
thee | The Vcsm object |
isimp | Simplex ID |
Definition at line 69 of file vcsm.c.
◆ Vcsm_getNumberSimplices()
VEXTERNC int Vcsm_getNumberSimplices |
( |
Vcsm * | thee, |
|
|
int | iatom ) |
Get number of simplices associated with an atom.
- Author
- Nathan Baker
- Returns
- Number of simplices associated with an atom
- Parameters
-
thee | The Vcsm object |
iatom | The Valist atom index |
Definition at line 99 of file vcsm.c.
◆ Vcsm_getSimplex()
VEXTERNC SS * Vcsm_getSimplex |
( |
Vcsm * | thee, |
|
|
int | isimp, |
|
|
int | iatom ) |
Get particular simplex associated with an atom.
- Author
- Nathan Baker
- Returns
- Pointer to simplex object
- Parameters
-
thee | The Vcsm object |
isimp | Index of simplex in Vcsm list |
iatom | Valist atom index |
Definition at line 109 of file vcsm.c.
◆ Vcsm_getSimplexIndex()
VEXTERNC int Vcsm_getSimplexIndex |
( |
Vcsm * | thee, |
|
|
int | isimp, |
|
|
int | iatom ) |
Get index particular simplex associated with an atom.
- Author
- Nathan Baker
- Returns
- Gem index of specified simplex
- Parameters
-
thee | The Vcsm object |
isimp | Index of simplex in Vcsm list |
iatom | Index of atom in Valist |
Definition at line 119 of file vcsm.c.
◆ Vcsm_getValist()
Get atom list.
- Author
- Nathan Baker
- Returns
- Pointer to Valist atom list
- Parameters
-
Definition at line 62 of file vcsm.c.
◆ Vcsm_init()
VEXTERNC void Vcsm_init |
( |
Vcsm * | thee | ) |
|
Initialize charge-simplex map with mesh and atom data.
- Author
- Nathan Baker
- Note
- The initial mesh must be sufficiently coarse for the assignment procedures to be efficient
- Parameters
-
Definition at line 170 of file vcsm.c.
◆ Vcsm_memChk()
VEXTERNC unsigned long int Vcsm_memChk |
( |
Vcsm * | thee | ) |
|
Return the memory used by this structure (and its contents) in bytes.
- Author
- Nathan Baker
- Returns
- The memory used by this structure and its contents in bytes
- Parameters
-
Definition at line 129 of file vcsm.c.
◆ Vcsm_update()
VEXTERNC int Vcsm_update |
( |
Vcsm * | thee, |
|
|
SS ** | simps, |
|
|
int | num ) |
Update the charge-simplex and simplex-charge maps after refinement.
- Author
- Nathan Baker
- Returns
- 1 if successful, 0 otherwise
- Parameters
-
thee | The Vcsm object |
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 |
Definition at line 326 of file vcsm.c.