https://mooseframework.inl.gov
Classes | Namespaces | Functions
PetscSupport.h File Reference

Go to the source code of this file.

Classes

class  Moose::PetscSupport::PetscOptions
 A struct for storing the various types of petsc options and values. More...
 

Namespaces

 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.
 
 Moose::PetscSupport
 

Functions

void Moose::PetscSupport::petscSetOptions (const PetscOptions &po, const SolverParams &solver_params, FEProblemBase *const problem=nullptr)
 A function for setting the PETSc options in PETSc from the options supplied to MOOSE. More...
 
void Moose::PetscSupport::petscSetOptions (const PetscOptions &po, const std::vector< SolverParams > &solver_params, FEProblemBase *problem)
 A function for setting the PETSc options in PETSc from the options supplied to MOOSE. More...
 
void Moose::PetscSupport::petscSetKSPDefaults (FEProblemBase &problem, KSP ksp)
 Set the default options for a KSP. More...
 
template<typename T >
void Moose::PetscSupport::setLinearSolverDefaults (FEProblemBase &problem, libMesh::LinearSolver< T > &linear_solver)
 Set the defaults for a libMesh LinearSolver. More...
 
void Moose::PetscSupport::petscSetDefaults (FEProblemBase &problem)
 Sets the default options for PETSc. More...
 
void Moose::PetscSupport::petscSetupDM (NonlinearSystemBase &nl, const std::string &dm_name)
 Setup the PETSc DM object. More...
 
PetscErrorCode Moose::PetscSupport::petscSetupOutput (CommandLine *cmd_line)
 
void Moose::PetscSupport::outputNorm (libMesh::Real old_norm, libMesh::Real norm, bool use_color=false)
 Helper function for outputting the norm values with/without color. More...
 
PetscErrorCode Moose::PetscSupport::petscLinearMonitor (KSP, PetscInt its, PetscReal rnorm, void *void_ptr)
 Helper function for displaying the linear residual during PETSC solve. More...
 
void Moose::PetscSupport::processSingletonMooseWrappedOptions (FEProblemBase &fe_problem, const InputParameters &params)
 Process some MOOSE-wrapped PETSc options. More...
 
void Moose::PetscSupport::storePetscOptions (FEProblemBase &fe_problem, const std::string &prefix, const ParallelParamObject &param_object)
 Stores the PETSc options supplied from the parameter object on the problem. More...
 
void Moose::PetscSupport::setConvergedReasonFlags (FEProblemBase &fe_problem, const std::string &prefix)
 Set flags that will instruct the user on the reason their simulation diverged from PETSc's perspective. More...
 
void Moose::PetscSupport::setSolveTypeFromParams (FEProblemBase &fe_problem, const InputParameters &params)
 Sets the FE problem's solve type from the input params. More...
 
void Moose::PetscSupport::setLineSearchFromParams (FEProblemBase &fe_problem, const InputParameters &params)
 Sets the FE problem's line search from the input params. More...
 
void Moose::PetscSupport::setMFFDTypeFromParams (FEProblemBase &fe_problem, const InputParameters &params)
 Sets the FE problem's matrix-free finite difference type from the input params. More...
 
void Moose::PetscSupport::storePetscOptionsFromParams (FEProblemBase &fe_problem, const InputParameters &params)
 Stores the Petsc flags and pair options fron the input params in the given PetscOptions object. More...
 
void Moose::PetscSupport::addPetscFlagsToPetscOptions (const MultiMooseEnum &petsc_flags, const std::string &prefix, const ParallelParamObject &param_object, PetscOptions &petsc_options)
 Populate flags in a given PetscOptions object using a vector of input arguments. More...
 
void Moose::PetscSupport::addPetscPairsToPetscOptions (const std::vector< std::pair< MooseEnumItem, std::string >> &petsc_pair_options, const unsigned int mesh_dimension, const std::string &prefix, const ParallelParamObject &param_object, PetscOptions &petsc_options)
 Populate name and value pairs in a given PetscOptions object using vectors of input arguments. More...
 
std::set< std::string > Moose::PetscSupport::getPetscValidLineSearches ()
 Returns the valid petsc line search options as a set of strings. More...
 
InputParameters Moose::PetscSupport::getPetscValidParams ()
 Returns the PETSc options that are common between Executioners and Preconditioners. More...
 
MultiMooseEnum Moose::PetscSupport::getCommonPetscFlags ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc single options (flags) More...
 
MultiMooseEnum Moose::PetscSupport::getCommonSNESFlags ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc snes single options (flags) More...
 
MultiMooseEnum Moose::PetscSupport::getCommonKSPFlags ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc ksp single options (flags) More...
 
MultiMooseEnum Moose::PetscSupport::getCommonPetscKeys ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc iname options (keys in key-value pairs) More...
 
MultiMooseEnum Moose::PetscSupport::getCommonSNESKeys ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc snes option names (keys) More...
 
MultiMooseEnum Moose::PetscSupport::getCommonKSPKeys ()
 A helper function to produce a MultiMooseEnum with commonly used PETSc ksp option names (keys) More...
 
bool Moose::PetscSupport::isSNESVI (FEProblemBase &fe_problem)
 check if SNES type is variational inequalities (VI) solver More...
 
void Moose::PetscSupport::setSinglePetscOption (const std::string &name, const std::string &value="", FEProblemBase *const problem=nullptr)
 A wrapper function for dealing with different versions of PetscOptionsSetValue. More...
 
void Moose::PetscSupport::setSinglePetscOptionIfAppropriate (const MultiMooseEnum &dont_add_these_options, const std::string &name, const std::string &value="", FEProblemBase *const problem=nullptr)
 Same as setSinglePetscOption, but does not set the option if it doesn't make sense for the current simulation type, e.g. More...
 
void Moose::PetscSupport::addPetscOptionsFromCommandline ()
 
void Moose::PetscSupport::petscSetDefaultPCSide (FEProblemBase &problem, KSP ksp)
 Setup which side we want to apply preconditioner. More...
 
void Moose::PetscSupport::petscSetDefaultKSPNormType (FEProblemBase &problem, KSP ksp)
 Set norm type. More...
 
void Moose::PetscSupport::colorAdjacencyMatrix (PetscScalar *adjacency_matrix, unsigned int size, unsigned int colors, std::vector< unsigned int > &vertex_colors, const char *coloring_algorithm)
 This method takes an adjacency matrix, and a desired number of colors and applies a graph coloring algorithm to produce a coloring. More...
 
void Moose::PetscSupport::dontAddPetscFlag (const std::string &flag, PetscOptions &petsc_options)
 Function to ensure that a particular petsc option is not added to the PetscOptions storage object to be later set unless explicitly specified in input or on the command line. More...
 
void Moose::PetscSupport::dontAddNonlinearConvergedReason (FEProblemBase &fe_problem)
 Function to ensure that -snes_converged_reason is not added to the PetscOptions storage object to be later set unless explicitly specified in input or on the command line. More...
 
void Moose::PetscSupport::dontAddLinearConvergedReason (FEProblemBase &fe_problem)
 Function to ensure that -ksp_converged_reason is not added to the PetscOptions storage object to be later set unless explicitly specified in input or on the command line. More...
 
void Moose::PetscSupport::dontAddCommonKSPOptions (FEProblemBase &fe_problem)
 Function to ensure that common KSP options are not added to the PetscOptions storage object to be later set unless explicitly specified in input or on the command line. More...
 
void Moose::PetscSupport::dontAddCommonSNESOptions (FEProblemBase &fe_problem)
 Function to ensure that common SNES options are not added to the PetscOptions storage object to be later set unless explicitly specified in input or on the command line. More...
 
std::unique_ptr< PetscMatrix< Number > > Moose::PetscSupport::createMatrixFromFile (const libMesh::Parallel::Communicator &comm, Mat &petsc_mat, const std::string &binary_mat_file, unsigned int mat_number_to_load=1)
 Create a matrix from a binary file. More...