https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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 22 of file MFEMSuperLU.h.

Constructor & Destructor Documentation

◆ SuperLUSolver()

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

Definition at line 25 of file MFEMSuperLU.h.

26 : mfem::SuperLUSolver(comm), _s_superlu(std::make_unique<mfem::SuperLUSolver>(comm, npdep))
27 {
28 }
std::unique_ptr< mfem::SuperLUSolver > _s_superlu
Definition MFEMSuperLU.h:38

Member Function Documentation

◆ Mult()

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

Definition at line 34 of file MFEMSuperLU.h.

34{ _s_superlu->Mult(x, y); }

◆ SetOperator()

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

Definition at line 29 of file MFEMSuperLU.h.

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

Member Data Documentation

◆ _a_superlu

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

Definition at line 37 of file MFEMSuperLU.h.

37{nullptr};

Referenced by SetOperator().

◆ _s_superlu

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

Definition at line 38 of file MFEMSuperLU.h.

38{nullptr};

Referenced by Mult(), and SetOperator().


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