Data Structures | Files | Typedefs | Functions

Vcsm class

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

VEXTERNC void Gem_setExternalUpdateFunction (Gem *thee, void(*externalUpdate)(SS **simps, int num))
 External function for FEtk Gem class to use during mesh refinement.
VEXTERNC ValistVcsm_getValist (Vcsm *thee)
 Get atom list.
VEXTERNC int Vcsm_getNumberAtoms (Vcsm *thee, int isimp)
 Get number of atoms associated with a simplex.
VEXTERNC VatomVcsm_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 VcsmVcsm_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.

Detailed Description

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


Function Documentation

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

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

Author:
Nathan Baker
Parameters:
theeThe FEtk geometry manager
externalUpdateFunction pointer for call during mesh refinement

Here is the caller graph for this function:

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:
alistList of atoms
gmFEtk geometry manager defining the mesh

Definition at line 132 of file vcsm.c.

Here is the call graph for this function:

Here is the caller graph for this function:

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:
theeThe Vcsm object
alistThe list of atoms
gmThe FEtk geometry manager defining the mesh

Definition at line 143 of file vcsm.c.

Here is the caller graph for this function:

VEXTERNC void Vcsm_dtor ( Vcsm **  thee )

Destroy Vcsm object.

Author:
Nathan Baker
Parameters:
theePointer to memory location for Vcsm object

Definition at line 284 of file vcsm.c.

Here is the call graph for this function:

Here is the caller graph for this function:

VEXTERNC void Vcsm_dtor2 ( Vcsm thee )

FORTRAN stub to destroy Vcsm object.

Author:
Nathan Baker
Parameters:
theePointer to Vcsm object

Definition at line 292 of file vcsm.c.

Here is the caller graph for this function:

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:
theeThe Vcsm object
iatomIndex of atom in Vcsm list ofr this simplex
isimpSimplex ID

Definition at line 73 of file vcsm.c.

Here is the call graph for this function:

Here is the caller graph for this function:

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:
theeThe Vcsm object
iatomIndex of atom in Vcsm list for this simplex
isimpSimplex ID

Definition at line 84 of file vcsm.c.

Here is the caller graph for this function:

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:
theeThe Vcsm object
isimpSimplex ID

Definition at line 65 of file vcsm.c.

Here is the caller graph for this function:

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:
theeThe Vcsm object
iatomThe Valist atom index

Definition at line 95 of file vcsm.c.

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:
theeThe Vcsm object
isimpIndex of simplex in Vcsm list
iatomValist atom index

Definition at line 105 of file vcsm.c.

Here is the caller graph for this function:

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:
theeThe Vcsm object
isimpIndex of simplex in Vcsm list
iatomIndex of atom in Valist

Definition at line 115 of file vcsm.c.

VEXTERNC Valist* Vcsm_getValist ( Vcsm thee )

Get atom list.

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

Definition at line 58 of file vcsm.c.

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:
theeThe Vcsm object

Definition at line 166 of file vcsm.c.

Here is the call graph for this function:

Here is the caller graph for this function:

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:
theeThe Vcsm object

Definition at line 125 of file vcsm.c.

Here is the caller graph for this function:

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:
theeThe Vcsm object
simpsList 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.
numNumber of simplices in simps list

Definition at line 318 of file vcsm.c.

Here is the call graph for this function:

Here is the caller graph for this function: