#include "petscpc.h"
#include "petscksp.h"
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | ot |
namespace | par |
Classes | |
struct | ot::_p_DAMG |
The Octree-Multigrid Object. More... | |
class | ot::FineTouchedDummyStatus |
A class used within the dummy restriction operation. More... | |
class | ot::FineTouchedStatus |
A private class used inside Restriction and Prolongation. More... | |
class | par::Mpi_datatype< ot::FineTouchedDummyStatus > |
class | par::Mpi_datatype< ot::FineTouchedStatus > |
struct | ot::PC_KSP_Shell |
A private preconditioner object used within DAMG at the coarsest grid when not all processors are active on the coarsest grid. More... | |
struct | ot::TransferOpData |
Context used for storing information required by the inter-grid transfer operators. More... | |
Defines | |
#define | DAMGGetB(ctx) (ctx)[(ctx)[0]->nlevels-1]->B |
The finest level preconditioning matrix. | |
#define | DAMGGetComm(ctx) (ctx)[(ctx)[0]->nlevels-1]->comm |
Returns the MPI communicator. | |
#define | DAMGGetDA(ctx) ((ctx)[(ctx)[0]->nlevels-1]->da) |
The finest grid ot::DA* object. | |
#define | DAMGGetDAMG(ctx) (ctx)[(ctx)[0]->nlevels-1] |
The finest DAMG. | |
#define | DAMGGetFine(ctx) (ctx)[(ctx)[0]->nlevels-1] |
The finest DAMG object. | |
#define | DAMGGetJ(ctx) (ctx)[(ctx)[0]->nlevels-1]->J |
The finest level matrix. | |
#define | DAMGGetKSP(ctx) (ctx)[(ctx)[0]->nlevels-1]->ksp |
The finest grid KSP object. | |
#define | DAMGGetLevels(ctx) (ctx)[0]->nlevels |
The total number of levels. | |
#define | DAMGGetr(ctx) (ctx)[(ctx)[0]->nlevels-1]->r |
The residual vector at the finest level. | |
#define | DAMGGetRHS(ctx) (ctx)[(ctx)[0]->nlevels-1]->b |
The RHS vector at the finest level. | |
#define | DAMGGetUser(ctx, level) ((ctx)[level]->user) |
The user context at this level. | |
#define | DAMGGetx(ctx) (ctx)[(ctx)[0]->nlevels-1]->x |
The finest level Vec object containing the solution. | |
#define | DAMGSetUser(ctx, level, usr) ((ctx)[level]->user = usr,0) |
Set the user context for this level. | |
#define | PROF_MG_CREATE_RP1_BEGIN PetscFunctionBegin; |
#define | PROF_MG_CREATE_RP1_END PetscFunctionReturn(0); |
#define | PROF_MG_CREATE_RP2_BEGIN PetscFunctionBegin; |
#define | PROF_MG_CREATE_RP2_END PetscFunctionReturn(0); |
#define | PROF_MG_FINAL_BEGIN PetscFunctionBegin; |
#define | PROF_MG_FINAL_END PetscFunctionReturn(0); |
#define | PROF_MG_INIT_BEGIN PetscFunctionBegin; |
#define | PROF_MG_INIT_END PetscFunctionReturn(0); |
#define | PROF_MG_PROLONG_BEGIN PetscFunctionBegin; |
#define | PROF_MG_PROLONG_END PetscFunctionReturn(0); |
#define | PROF_MG_RESTRICT_BEGIN PetscFunctionBegin; |
#define | PROF_MG_RESTRICT_DUMMY_BEGIN PetscFunctionBegin; |
#define | PROF_MG_RESTRICT_DUMMY_END PetscFunctionReturn(0); |
#define | PROF_MG_RESTRICT_END PetscFunctionReturn(0); |
#define | PROF_MG_SCATTER_BEGIN |
#define | PROF_MG_SCATTER_END return 0; |
#define | PROF_MG_SET_DA_BEGIN PetscFunctionBegin; |
#define | PROF_MG_SET_DA_END PetscFunctionReturn(0); |
#define | PROF_MG_SET_KSP_BEGIN PetscFunctionBegin; |
#define | PROF_MG_SET_KSP_END PetscFunctionReturn(0); |
#define | PROF_MG_SETUP_BEGIN PetscFunctionBegin; |
#define | PROF_MG_SETUP_END PetscFunctionReturn(0); |
#define | PROF_PC_KSP_SHELL_APPLY_BEGIN PetscFunctionBegin; |
#define | PROF_PC_KSP_SHELL_APPLY_END PetscFunctionReturn(0); |
#define | PROF_PC_KSP_SHELL_DESTROY_BEGIN PetscFunctionBegin; |
#define | PROF_PC_KSP_SHELL_DESTROY_END PetscFunctionReturn(0); |
#define | PROF_PC_KSP_SHELL_SETUP_BEGIN PetscFunctionBegin; |
#define | PROF_PC_KSP_SHELL_SETUP_END PetscFunctionReturn(0); |
#define | PROF_SET_DA_STAGE1_BEGIN |
#define | PROF_SET_DA_STAGE1_END |
#define | PROF_SET_DA_STAGE2_BEGIN |
#define | PROF_SET_DA_STAGE2_END |
#define | PROF_SET_DA_STAGE3_BEGIN |
#define | PROF_SET_DA_STAGE3_END |
#define | PROF_SET_DA_STAGE4_BEGIN |
#define | PROF_SET_DA_STAGE4_END |
#define | PROF_SET_DA_STAGE5_BEGIN |
#define | PROF_SET_DA_STAGE5_END |
#define | PROF_SET_DA_STAGE6_BEGIN |
#define | PROF_SET_DA_STAGE6_END |
Typedefs | |
typedef _p_DAMG * | DAMG |
Functions | |
PetscErrorCode | DAMGCreateJMatrix (DAMG damg, PetscErrorCode(*crJ)(DAMG, Mat *J)) |
This is the function used to create the J matrix. This must be called before calling DAMGSetKSP if you want to set J and B to be different. If this is not called, by default J and B will be equal. | |
PetscErrorCode | DAMGSetKSP (DAMG *damg, PetscErrorCode(*crjac)(DAMG, Mat *B), PetscErrorCode(*computeJac)(DAMG, Mat J, Mat B), PetscErrorCode(*rhs)(DAMG, Vec)) |
Set function handles to create and set values in the matrices and compute the RHS. | |
PetscErrorCode | DAMGSetNullSpace (DAMG *damg, PetscTruth, int, PetscErrorCode(*)(DAMG, Vec[])) |
Definition in file omg.h.
|
The finest level preconditioning matrix.
|
|
Returns the MPI communicator.
|
|
The finest grid ot::DA* object.
Definition at line 582 of file omg.h. Referenced by main(). |
|
The finest DAMG.
|
|
The finest DAMG object.
Definition at line 570 of file omg.h. Referenced by ot::DAMGSolve(). |
|
The finest level matrix.
Definition at line 558 of file omg.h. Referenced by main(). |
|
The finest grid KSP object.
|
|
The total number of levels.
|
|
The residual vector at the finest level.
|
|
The RHS vector at the finest level.
Definition at line 534 of file omg.h. Referenced by main(). |
|
The user context at this level.
|
|
The finest level Vec object containing the solution.
Definition at line 546 of file omg.h. Referenced by main(), solve_neumann(), and solve_neumann_oct(). |
|
Set the user context for this level.
|
|
Definition at line 201 of file omg.h. Referenced by ot::createInterpolationType1(). |
|
Definition at line 203 of file omg.h. Referenced by ot::createInterpolationType1(). |
|
Definition at line 205 of file omg.h. Referenced by ot::createInterpolationType2(). |
|
Definition at line 207 of file omg.h. Referenced by ot::createInterpolationType2(). |
|
Definition at line 185 of file omg.h. Referenced by ot::DAMG_Finalize(). |
|
Definition at line 187 of file omg.h. Referenced by ot::DAMG_Finalize(). |
|
Definition at line 181 of file omg.h. Referenced by ot::DAMG_Initialize(). |
|
Definition at line 183 of file omg.h. Referenced by ot::DAMG_Initialize(). |
|
Definition at line 221 of file omg.h. Referenced by ot::prolongMatVecType1(). |
|
Definition at line 223 of file omg.h. Referenced by ot::prolongMatVecType1(). |
|
Definition at line 213 of file omg.h. Referenced by ot::restrictMatVecType1(). |
|
Definition at line 217 of file omg.h. Referenced by ot::dummyRestrictMatVecType1(). |
|
Definition at line 219 of file omg.h. Referenced by ot::dummyRestrictMatVecType1(). |
|
Definition at line 215 of file omg.h. Referenced by ot::restrictMatVecType1(). |
|
Definition at line 209 of file omg.h. Referenced by ot::scatterValues(). |
|
Definition at line 211 of file omg.h. Referenced by ot::scatterValues(). |
|
Definition at line 193 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 195 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 189 of file omg.h. Referenced by ot::DAMGSetKSP(). |
|
Definition at line 191 of file omg.h. Referenced by ot::DAMGSetKSP(). |
|
Definition at line 197 of file omg.h. Referenced by ot::DAMGSetUp(). |
|
Definition at line 199 of file omg.h. Referenced by ot::DAMGSetUp(). |
|
Definition at line 177 of file omg.h. Referenced by ot::PC_KSP_Shell_Apply(). |
|
Definition at line 179 of file omg.h. Referenced by ot::PC_KSP_Shell_Apply(). |
|
Definition at line 173 of file omg.h. Referenced by ot::PC_KSP_Shell_Destroy(). |
|
Definition at line 175 of file omg.h. Referenced by ot::PC_KSP_Shell_Destroy(). |
|
Definition at line 169 of file omg.h. Referenced by ot::PC_KSP_Shell_SetUp(). |
|
Definition at line 171 of file omg.h. Referenced by ot::PC_KSP_Shell_SetUp(). |
|
Definition at line 151 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 152 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 154 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 155 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 157 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 158 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 160 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 161 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 163 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 164 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 166 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
Definition at line 167 of file omg.h. Referenced by ot::DAMGCreateAndSetDA(). |
|
|
This is the function used to create the J matrix. This must be called before calling DAMGSetKSP if you want to set J and B to be different. If this is not called, by default J and B will be equal.
|
|
Set function handles to create and set values in the matrices and compute the RHS.
Referenced by main(). |
|
|