https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Namespaces | Functions | Variables
SlepcSupport.C File Reference

Go to the source code of this file.

Namespaces

namespace  Moose
 MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to address this in their environment if C++17 compatibility isn't found.
 
namespace  Moose::SlepcSupport
 

Functions

InputParameters Moose::SlepcSupport::getSlepcValidParams (InputParameters &params)
 
InputParameters Moose::SlepcSupport::getSlepcEigenProblemValidParams ()
 Retrieve valid params that allow users to specify eigen problem configuration.
 
void Moose::SlepcSupport::setSlepcEigenSolverTolerances (EigenProblem &eigen_problem, const SolverParams &solver_params, const InputParameters &params)
 Control eigen solver tolerances via SLEPc options.
 
void Moose::SlepcSupport::setEigenProblemSolverParams (EigenProblem &eigen_problem, const InputParameters &params)
 Retrieve eigen problem params from 'params', and then set these params into SolverParams.
 
void Moose::SlepcSupport::storeSolveType (FEProblemBase &fe_problem, const InputParameters &params)
 Set solve type into eigen problem (solverParams)
 
void Moose::SlepcSupport::setEigenProblemOptions (SolverParams &solver_params, const MultiMooseEnum &dont_add_these_options)
 
void Moose::SlepcSupport::setWhichEigenPairsOptions (SolverParams &solver_params, const MultiMooseEnum &dont_add_these_options)
 
void Moose::SlepcSupport::setFreeNonlinearPowerIterations (unsigned int free_power_iterations)
 Set SLEPc/PETSc options to trigger free power iteration.
 
void Moose::SlepcSupport::clearFreeNonlinearPowerIterations (const InputParameters &params)
 
void Moose::SlepcSupport::setNewtonPetscOptions (SolverParams &solver_params, const InputParameters &params)
 
void Moose::SlepcSupport::setNonlinearPowerOptions (SolverParams &solver_params)
 
void Moose::SlepcSupport::setEigenSolverOptions (SolverParams &solver_params, const InputParameters &params)
 
void Moose::SlepcSupport::slepcSetOptions (EigenProblem &eigen_problem, SolverParams &solver_params, const InputParameters &params)
 Push all SLEPc/PETSc options into SLEPc/PETSc side.
 
PetscErrorCode Moose::SlepcSupport::mooseEPSFormMatrices (EigenProblem &eigen_problem, EPS eps, Vec x, void *ctx)
 
void Moose::SlepcSupport::moosePetscSNESFormMatrixTag (SNES, Vec x, Mat eigen_mat, SparseMatrix< Number > &all_dofs_mat, void *ctx, TagID tag)
 Form matrix according to tag.
 
void Moose::SlepcSupport::moosePetscSNESFormMatricesTags (SNES, Vec x, std::vector< Mat > &eigen_mats, std::vector< SparseMatrix< Number > * > &all_dofs_mats, void *ctx, const std::set< TagID > &tags)
 Form multiple matrices for multiple tags.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormFunctionMFFD (void *ctx, Vec x, Vec r)
 Function call for MFFD.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormJacobianA (SNES snes, Vec x, Mat jac, Mat pc, void *ctx)
 Form Jacobian matrix A.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormJacobianB (SNES snes, Vec x, Mat jac, Mat pc, void *ctx)
 Form Jacobian matrix B.
 
void Moose::SlepcSupport::moosePetscSNESFormFunction (SNES, Vec x, Vec r, void *ctx, TagID tag)
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormFunctionA (SNES snes, Vec x, Vec r, void *ctx)
 Form function residual Ax.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormFunctionB (SNES snes, Vec x, Vec r, void *ctx)
 Form function residual Bx.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormFunctionAB (SNES snes, Vec x, Vec Ax, Vec Bx, void *ctx)
 Form function residual Ax-Bx.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEigenFormNorm (SNES, Vec, PetscReal *norm, void *ctx)
 
void Moose::SlepcSupport::attachCallbacksToMat (EigenProblem &eigen_problem, Mat mat, bool eigen)
 Attach call backs to mat.
 
PetscErrorCode Moose::SlepcSupport::mooseMatMult_Eigen (Mat mat, Vec x, Vec y)
 Implement MatMult via function evaluation for Bx.
 
PetscErrorCode Moose::SlepcSupport::mooseMatMult_NonEigen (Mat mat, Vec x, Vec y)
 Implement MatMult via function evaluation for Ax.
 
void Moose::SlepcSupport::setOperationsForShellMat (EigenProblem &eigen_problem, Mat mat, bool eigen)
 Set operations to shell mat.
 
PETSC_EXTERN PetscErrorCode Moose::SlepcSupport::registerPCToPETSc ()
 Let PETSc know there is a preconditioner.
 
PETSC_EXTERN PetscErrorCode Moose::SlepcSupport::PCCreate_MoosePC (PC pc)
 Create a preconditioner from moose side.
 
PetscErrorCode Moose::SlepcSupport::PCDestroy_MoosePC (PC pc)
 Destroy preconditioner.
 
PetscErrorCode Moose::SlepcSupport::PCView_MoosePC (PC pc, PetscViewer viewer)
 View preconditioner.
 
PetscErrorCode Moose::SlepcSupport::PCApply_MoosePC (PC pc, Vec x, Vec y)
 Preconditioner application.
 
PetscErrorCode Moose::SlepcSupport::PCSetUp_MoosePC (PC pc)
 Setup preconditioner.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcStoppingTest (EPS eps, PetscInt its, PetscInt max_it, PetscInt nconv, PetscInt nev, EPSConvergedReason *reason, void *ctx)
 A customized convergence checker.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEPSGetSNES (EPS eps, SNES *snes)
 Retrieve SNES from EPS.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEPSSNESSetUpOptionPrefix (EPS eps)
 Get rid of prefix "-eps_power" for SNES, KSP, PC, etc.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEPSSNESSetCustomizePC (EPS eps)
 Attach a customized PC.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEPSSNESKSPSetPCSide (FEProblemBase &problem, EPS eps)
 Allow users to specify PC side.
 
PetscErrorCode Moose::SlepcSupport::mooseSlepcEPSMonitor (EPS eps, PetscInt its, PetscInt nconv, PetscScalar *eigr, PetscScalar *eigi, PetscReal *errest, PetscInt nest, void *mctx)
 A customized solver monitor to print out eigenvalue.
 

Variables

const int Moose::SlepcSupport::subspace_factor = 2