Data Structures | |
struct | sVpee |
Contains public data members for Vpee class/module. More... | |
Files | |
file | vpee.h |
Contains declarations for class Vpee. | |
file | vpee.c |
Class Vpee methods. | |
Typedefs | |
typedef struct sVpee | Vpee |
Declaration of the Vpee class as the Vpee structure. | |
Functions | |
Vpee * | Vpee_ctor (Gem *gm, int localPartID, int killFlag, double killParam) |
Construct the Vpee object. | |
int | Vpee_ctor2 (Vpee *thee, Gem *gm, int localPartID, int killFlag, double killParam) |
FORTRAN stub to construct the Vpee object. | |
void | Vpee_dtor (Vpee **thee) |
Object destructor. | |
void | Vpee_dtor2 (Vpee *thee) |
FORTRAN stub object destructor. | |
int | Vpee_markRefine (Vpee *thee, AM *am, int level, int akey, int rcol, double etol, int bkey) |
Mark simplices for refinement based on attenuated error estimates. | |
int | Vpee_numSS (Vpee *thee) |
Returns the number of simplices in the local partition. |
This class provides some functionality for error esimation in parallel. The purpose is to modulate the error returned by some external error estimator according to the partitioning of the mesh. For example, the Bank/Holst parallel refinement routine essentially reduces the error outside the ``local" partition to zero. However, this leads to the need for a few final overlapping Schwarz solves to smooth out the errors near partition boundaries. Supposedly, if the region in which we allow error-based refinement includes the ``local" partition and an external buffer zone approximately equal in size to the local region, then the solution will asymptotically approach the solution obtained via more typical methods. This is essentially a more flexible parallel implementation of MC's AM_markRefine.
Vpee* Vpee_ctor | ( | Gem * | gm, | |
int | localPartID, | |||
int | killFlag, | |||
double | killParam | |||
) |
Construct the Vpee object.
localPartID | FEtk geometry manager object |
killFlag | ID of the local partition (focus of refinement) |
killParam |
A flag to indicate how error estimates are to be attenuated outside the local partition:
|
int Vpee_ctor2 | ( | Vpee * | thee, | |
Gem * | gm, | |||
int | localPartID, | |||
int | killFlag, | |||
double | killParam | |||
) |
FORTRAN stub to construct the Vpee object.
gm | The Vpee object |
localPartID | FEtk geometry manager object |
killFlag | ID of the local partition (focus of refinement) |
killParam |
A flag to indicate how error estimates are to be attenuated outside the local partition:
|
void Vpee_dtor | ( | Vpee ** | thee | ) |
Object destructor.
thee | Pointer to memory location of the Vpee object |
void Vpee_dtor2 | ( | Vpee * | thee | ) |
FORTRAN stub object destructor.
thee | Pointer to object to be destroyed |
int Vpee_markRefine | ( | Vpee * | thee, | |
AM * | am, | |||
int | level, | |||
int | akey, | |||
int | rcol, | |||
double | etol, | |||
int | bkey | |||
) |
Mark simplices for refinement based on attenuated error estimates.
A wrapper/reimplementation of AM_markRefine that allows for more flexible attenuation of error-based markings outside the local partition. The error in each simplex is modified by the method (see killFlag) specified in the Vpee constructor. This allows the user to confine refinement to an arbitrary area around the local partition.
am | The Vpee object |
level | The FEtk algebra manager currently used to solve the PB |
akey | The current level of the multigrid hierarchy |
rcol |
The marking method:
|
etol | The ID of the main parition on which to mark (or -1 if all partitions should be marked). NOte that we shouldhave (rcol == thee->localPartID) for (thee->killFlag == 2 or 3) |
bkey |
The error tolerance criterion for marking How the error tolerance is interpreted:
|
int Vpee_numSS | ( | Vpee * | thee | ) |
Returns the number of simplices in the local partition.
thee | The Vpee object |