Serac  0.1
Serac is an implicit thermal strucural mechanics simulation code.
Public Member Functions | List of all members
serac::SuperLUSolver Class Reference

A wrapper class for using the MFEM SuperLU solver with a HypreParMatrix. More...

#include <equation_solver.hpp>

Collaboration diagram for serac::SuperLUSolver:
Collaboration graph
[legend]

Public Member Functions

 SuperLUSolver (int print_level, MPI_Comm comm)
 Constructs a wrapper over an mfem::SuperLUSolver. More...
 
void Mult (const mfem::Vector &input, mfem::Vector &output) const
 Factor and solve the linear system y = Op^{-1} x using DSuperLU. More...
 
void SetOperator (const mfem::Operator &op)
 Set the underlying matrix operator to use in the solution algorithm. More...
 

Detailed Description

A wrapper class for using the MFEM SuperLU solver with a HypreParMatrix.

Definition at line 149 of file equation_solver.hpp.

Constructor & Destructor Documentation

◆ SuperLUSolver()

serac::SuperLUSolver::SuperLUSolver ( int  print_level,
MPI_Comm  comm 
)
inline

Constructs a wrapper over an mfem::SuperLUSolver.

Parameters
[in]commThe MPI communicator used by the vectors and matrices in the solve
[in]print_levelThe verbosity level for the mfem::SuperLUSolver

Definition at line 156 of file equation_solver.hpp.

Member Function Documentation

◆ Mult()

void serac::SuperLUSolver::Mult ( const mfem::Vector &  input,
mfem::Vector &  output 
) const

Factor and solve the linear system y = Op^{-1} x using DSuperLU.

Parameters
inputThe input RHS vector
outputThe output solution vector

Definition at line 56 of file equation_solver.cpp.

◆ SetOperator()

void serac::SuperLUSolver::SetOperator ( const mfem::Operator &  op)

Set the underlying matrix operator to use in the solution algorithm.

Parameters
opThe matrix operator to factorize with SuperLU
Precondition
This operator must be an assembled HypreParMatrix or a BlockOperator with all blocks either null or HypreParMatrixs for compatibility with SuperLU

Definition at line 100 of file equation_solver.cpp.


The documentation for this class was generated from the following files: