https://mooseframework.inl.gov
Public Member Functions | Private Attributes | List of all members
Moose::MFEM::SuperLUSolver Class Reference

Wrapper for mfem::SuperLUSolver that creates a SuperLURowLocMatrix from the operator when set. More...

#include <MFEMSuperLU.h>

Inheritance diagram for Moose::MFEM::SuperLUSolver:
[legend]

Public Member Functions

 SuperLUSolver (MPI_Comm comm, int npdep=1)
 
void SetOperator (const mfem::Operator &op) override
 
void Mult (const mfem::Vector &x, mfem::Vector &y) const override
 

Private Attributes

std::unique_ptr< mfem::SuperLURowLocMatrix > _a_superlu {nullptr}
 
std::unique_ptr< mfem::SuperLUSolver > _s_superlu {nullptr}
 

Detailed Description

Wrapper for mfem::SuperLUSolver that creates a SuperLURowLocMatrix from the operator when set.

Definition at line 25 of file MFEMSuperLU.h.

Constructor & Destructor Documentation

◆ SuperLUSolver()

Moose::MFEM::SuperLUSolver::SuperLUSolver ( MPI_Comm  comm,
int  npdep = 1 
)
inline

Definition at line 28 of file MFEMSuperLU.h.

29  : mfem::SuperLUSolver(comm), _s_superlu(std::make_unique<mfem::SuperLUSolver>(comm, npdep)) {};
std::unique_ptr< mfem::SuperLUSolver > _s_superlu
Definition: MFEMSuperLU.h:39

Member Function Documentation

◆ Mult()

void Moose::MFEM::SuperLUSolver::Mult ( const mfem::Vector &  x,
mfem::Vector &  y 
) const
inlineoverride

Definition at line 35 of file MFEMSuperLU.h.

35 { _s_superlu->Mult(x, y); }
std::unique_ptr< mfem::SuperLUSolver > _s_superlu
Definition: MFEMSuperLU.h:39

◆ SetOperator()

void Moose::MFEM::SuperLUSolver::SetOperator ( const mfem::Operator &  op)
inlineoverride

Definition at line 30 of file MFEMSuperLU.h.

31  {
32  _a_superlu = std::make_unique<mfem::SuperLURowLocMatrix>(op);
33  _s_superlu->SetOperator(*_a_superlu.get());
34  }
std::unique_ptr< mfem::SuperLUSolver > _s_superlu
Definition: MFEMSuperLU.h:39
std::unique_ptr< mfem::SuperLURowLocMatrix > _a_superlu
Definition: MFEMSuperLU.h:38

Member Data Documentation

◆ _a_superlu

std::unique_ptr<mfem::SuperLURowLocMatrix> Moose::MFEM::SuperLUSolver::_a_superlu {nullptr}
private

Definition at line 38 of file MFEMSuperLU.h.

Referenced by SetOperator().

◆ _s_superlu

std::unique_ptr<mfem::SuperLUSolver> Moose::MFEM::SuperLUSolver::_s_superlu {nullptr}
private

Definition at line 39 of file MFEMSuperLU.h.

Referenced by Mult(), and SetOperator().


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