

| Public Member Functions | |
| BCapplier (int cnt_, int base_, const int *dof_, const double *value_) | |
| void | set_c (IFEM_Matrix_product_c A, void *ptr_) | 
| void | set_f (IFEM_Matrix_product_f A, void *ptr_) | 
| void | solve (ILSI_Solver s, ILSI_Param *p, int fem_mesh, int fem_entity, int length, int width, const double *b, double *x) | 
| void | multiply (int length, int width, const double *u, double *Au) | 
| Private Member Functions | |
| void | userMultiply (int length, int width, const double *src, double *dest) | 
| int | at (int bcIdx) | 
| Private Attributes | |
| IFEM_Matrix_product_c | A_c | 
| IFEM_Matrix_product_f | A_f | 
| void * | ptr | 
| int | bcCount | 
| Definition of boundary conditions: for (i=0;i<bcCount;i++) assert(x[at(i)]==bcValue[i]). | |
| int | idxBase | 
| const int * | bcDOF | 
| const double * | bcValue | 
The basic idea is that given a problem A x = b where x is only partially unknowns--that is, if x=u+c (Unknowns and boundary Conditions) A u + A c = b so there's an equivalent all-unknown system A u = b - A c = b' Now for A u = b', we have to just zero out all the boundary conditions.
Definition at line 137 of file ifem.C.
| void BCapplier::set_c | ( | IFEM_Matrix_product_c | A, | |
| void * | ptr_ | |||
| ) |  [inline] | 
Definition at line 168 of file ifem.C.
Referenced by IFEM_Solve_shared_bc().

| void BCapplier::set_f | ( | IFEM_Matrix_product_f | A, | |
| void * | ptr_ | |||
| ) |  [inline] | 
Definition at line 171 of file ifem.C.
Referenced by FTN_NAME().

| void BCapplier::solve | ( | ILSI_Solver | s, | |
| ILSI_Param * | p, | |||
| int | fem_mesh, | |||
| int | fem_entity, | |||
| int | length, | |||
| int | width, | |||
| const double * | b, | |||
| double * | x | |||
| ) | 
Definition at line 202 of file ifem.C.
References at(), BCapplier_multiply(), bcCount, bcValue, c, IFEM_Solve_shared(), and userMultiply().
Referenced by FTN_NAME(), and IFEM_Solve_shared_bc().


Definition at line 181 of file ifem.C.
References at(), bcCount, and userMultiply().
Referenced by BCapplier_multiply().


| IFEM_Matrix_product_c BCapplier::A_c  [private] | 
| IFEM_Matrix_product_f BCapplier::A_f  [private] | 
| void* BCapplier::ptr  [private] | 
Definition at line 141 of file ifem.C.
Referenced by FTN_NAME(), set_c(), set_f(), and userMultiply().
| int BCapplier::bcCount  [private] | 
Definition of boundary conditions: for (i=0;i<bcCount;i++) assert(x[at(i)]==bcValue[i]).
Definition at line 154 of file ifem.C.
Referenced by FTN_NAME(), multiply(), and solve().
| int BCapplier::idxBase  [private] | 
| const int* BCapplier::bcDOF  [private] | 
| const double* BCapplier::bcValue  [private] | 
 1.5.5
 1.5.5