petsc并行程序设计方法(ppt133)-流程管理(编辑修改稿)内容摘要:

) 等。 47 KSPSetType: 设置 Krylov子空间方法的求解类型 KSPSetType( KSP ksp, KSPType method ) 其中第二个参数为 Krylov子空间方法的类型,包括: Richardson 方法 KSPRICHARDSON 切比雪夫方法 KSPCHEBYCHEV 共扼梯度法 KSPCG 广义最小残差法 KSPGMRES 共扼转置拟最小残差法 KSPTCQMR 双共扼梯度平方法 KSPBCGS 48 经典 GramSchmidt方法 KSPCGS 无转置拟最小残差法 KSPTFQMR 共扼残差法 KSPCR 最小二乘 QR分解方法 KSPLSQR 双共扼梯度法 KSPBICG 无迭代直接求解方法 KSPPREONLY 49 KSPRichardsonSetScale: 设置 Richardson 方法的阻尼系数 KSPRichardsonSetScale ( KSP ksp, double damping_factor ) KSPChebychevSetEigenvalues: 设置切比雪夫方法的参数 KSPChebychevSetEigenvalues ( KSP ksp, double emax, double emin ), 默认值 emax =, emin =,没有描述 KSPGMRESSetRestart: 设置广义最小残差法的迭代步数 KSPGMRESSetRestart ( KSP ksp, int max_steps ) KSPGMRESSetOrthogonalization: 设置为经典的 GramSchmidt方法(其计算性能好,但数值稳定性差) 50 KSPCGSetType: 设置共扼梯度方法中的算子对称类型 KSPCGSetType ( KSP ksp, KSPCGType KSP_CG_SYM METRIC ) KSPSetInitialGuessNonzero: 设置一个非零的初始猜值 KSPSetInitialGuessNonzero( KSP ksp, PetscTruth flg ) KSPSetPreconditionerSide: 设置为右预条件子 KSPSetPreconditionerSide(KSP ksp, PCSide PC_RIGHT) 51 KSPSetNormType: 设置为真实残差的范数类型 KSPSetNormType( KSP ksp, KSP_UNPRECONDITIONED_ NORM) ,其中大多数方法默认为预处理后的残差范数 KSPSetTolerances: 设置最大误差界和最大迭代步数 KSPSetTolerances ( KSP ksp, double rtol, double atol, double dtol, int maxits ) 其中从第二个参数起依次为相对误差(默认值为 rtol =105)、绝对误差(默认值为 atol = 1050)、相对误差比率 (默认值为 dtol =105 )和最大迭代步数(默认值为 maxits =105)。 52 KSPSetConvergenceTest: 启动用户收敛性测试程序的封装 KSPSetConvergenceTest ( KSP ksp, int (test)(KSP ksp, int it , double rnorm, KSPConvergedReason reason, void ctx), void ctx) , 其中 ctx为用户程序运行环境 KSPDefaultMonitor: 输出每迭代步的残差 KSPSingularValueMonitor: 输出每迭代步预条件子的最大 奇异值 KSPTrueMonitor: 输出每个迭代步的残差的详细信息 53 KSPLGMonitorCreate: 创建一个图形输出对象 /环境 KSPLGMonitorCreate ( char display, char title, int x, int y, Int w, int h, PetscDrawLG lg ) KSPSetMonitor: 设置输出模式 KSPSetMonitor ( KSP ksp, KSPLGMonitor, lg, 0 ) KSPLGMonitorDestroy: 释放一个图形输出对象 /环境 54 KSPSetComputeEigenvalues: 设置预条件子特征值的计算 环境 KSPComputeEigenvalues: 计算预条件子的特征值 KSPComputeEigenvalues ( KSP ksp, int n, double realpart, double plexpart, double neig ) KSPComputeEigenvaluesExplicitly: 用直接方法计算预条 件子的特征值 KSPComputeEigenvaluesExplicitly ( KSP ksp, int n, double realpart, double plexpart ) 55 KSPGetSolution: 获得解向量的值 KSPGetRhs: 获得右边向量的值 KSPBuildSolution: 获得每个迭代步解向量的逼近值 KSPBuildResidual: 获得每个迭代步残差的逼近值 56 预条件子 PCSetType: 设置预条件子的类型 PCSetType( PC pc, PCType method ) 其中第二个参数为预条件子的可选类型,包括: Jacobi PCJAOBI 块 Jacobi PCBJAOBI SOR/SSOR PCSOR SOR(Eisenstat方法,串行 ) PCEISENSTAT 57 不完全 Cholesky分解 PCICC 不完全 LU分解 (串行 ) PCILU 可加性 Schwarz PCASM 线性解法器 PCSLES 组合预条件子 PCCOMPOSITE LU分解 (串行 ) PCLU Cholesky分解 PCCholesky 无预条件子 PCNONE 用户提供预条件子 PCSHELL 58 PCILUSetLevels: 设置 ILU预条件子的优化级别 PCILCCSetLevels: 设置 ILCC预条件子的优化级别 PCILUSetReuseOrdering: 复用上次 ILU分解中的排序对象 PCILUSetUseDropTolerance: 没有描述 PCILUSetUseDropTolerance( PC pc, double dt, double dtcol, int dtcount ) PCILUDTSetReuseFill: 复用上次 ILU分解中的填充模式 PCILUSetUSeInPlace: 设置 ILU分解的本地存取方式 PCILUSetAllowDiagonalFill: 没有描述 59 MatCreateMPIRowbs: 创建 BlockSolve95矩阵稀疏行结构 MatCreateMPIRowbs ( MPI_Comm, int m, int M, int nz, int nnz, Mat A) PCSORSetOmega: 设置 SOR方法的松弛因子 PCSORSetIterations: 设置 SOR方法的迭代步数 PCSORSetSymmetric: 设置 SOR方法的对称类型 PCLUSetUseInplace: 设置 LU分解的本地存取方式 60 PCBJacobiGetSubSLES: 为子块获取 SLES环境信息 PCBJacobiGetSubSLES( PC pc, int n_local, int first_local, SLES subsles ) PCJacobiSetTotalBlocks: 设置全局划分块数目 PCBJacobiSetLocalBlocks: 设置局部划分块数目 PCASMGetSubSLES: 为子块获取 SLES环境信息 (同上 ) PCASMSetTotalSubdomains: 设置全局划分(索引集) PCASMSetLocalSubdomains: 设置局部划分(索引集) 61 PCASMSetType: 设置可加性 Schwarz 预条件子的类型 PCASMSetOverlap: 设置重叠区域 PCASMSetOverlap ( PC pc, int overlap ), 其默认值为 1。 PCShellSetApply: 设置一个由用户提供预条件子的环境 PCShellSetApply ( PC pc, int (apply)(void ctx, Vec, Vec), void ctx) PCShellSetSetup: 设置由用户提供预条件子的启动程序 PCShellSetSetup ( PC pc, int (setup)(void ctx)) 62 PCCompositeAddPC: 添加一个新的预条件子及其类型 PCCompositeAddPC ( PC pc, PCType type ),默认为可 加性的复合类型 PCCompositeSetType: 设置预条件子的复合类型 PCCompositeSetType ( PC pc, PCCompositeType type ), 其中第二个参数为 PC_COMPOSITE_ADDITIVE或 PC_ COMPOSITE_MULTIPLICATIVE PCCompositeSetUseTrue: 设置为真实残差的范数类型 63 PCCompositeGetPC: 设置单个预条件子的类型参数 PCCompositeGetPC ( PC pc, int count, PC subtype ) PCSLESGetSLES: 将解法器设置为预条件子 PCSLESSetUserTrue: 将解法器算子设置为预条件子 64 MGSetLevels: 设置多重网格预条件子的优化级别 MGSetType: 设置多重网格预条件子的类型 MGSetCycles: 设置 Wcycle参数 MGSetNumberSmoothUp: 设置向前平滑参数 MGSetNumberSmoothDown: 设置向后平滑参数 MGGetCoarseSolve: 设置粗网格求解器 MGGetSmoother: 设置平滑算子 MGGetSmootherUp: 设置向前平滑算子 MGGetSmootherDown: 设置向后平滑算子 MGSetInterpolate: 设置插值算子 65 MGSetRestriction: 设置约束条件 MGSetResidual: 设置多重网格预条件子的残差 MGSetRhs: 设置多重网格预条件子的右边向量 MGSetX: 设置多重网格预条件子的解向量 MGSetR: 设置多重网格预条件子的残差 66 奇异方程求解 MatNullSpaceCreate: 创建一个零子空间对象 MatNullSpaceCreate ( MPI_Comm, PetscTruth hasconstants, int dim, Vec basis, MatNullSpace ns。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。