direct_lu_none.cpp direct_lu.hpp serif::solver::preconditioner::backend::mfem::detail::DirectLUPattern::State serif::solver::preconditioner::backend::mfem::detail::DirectLU::State serif serif::solver serif::solver::preconditioner serif::solver::preconditioner::backend serif::solver::preconditioner::backend::mfem serif::solver::preconditioner::backend::mfem::detail //sparse_direct=none:theSparseDirectstrategyexists,butitspreparationreportsthatnobackendwasbuilt. #include"direct_lu.hpp" namespaceserif::solver::preconditioner::backend::mfem::detail { structDirectLUPattern::State{}; structDirectLU::State{}; constchar*direct_lu_backend()noexcept{return"none";} booldirect_lu_available()noexcept{returnfalse;} std::shared_ptr<constDirectLUPattern>DirectLUPattern::analyze(int,constlong*,constint*,constdouble*,int&status) { status=-1; returnnullptr; } DirectLUPattern::DirectLUPattern(std::unique_ptr<State>state):m_state(std::move(state)){} DirectLUPattern::~DirectLUPattern()=default; boolDirectLUPattern::matches(int,constlong*,constint*)const{returnfalse;} std::unique_ptr<DirectLU>DirectLU::factor(std::shared_ptr<constDirectLUPattern>,constdouble*,int&status) { status=-1; returnnullptr; } DirectLU::DirectLU(std::unique_ptr<State>state):m_state(std::move(state)){} DirectLU::~DirectLU()=default; voidDirectLU::solve(constdouble*,double*)const{} voidDirectLU::solve_many(int,constdouble*,double*)const{} }//namespaceserif::solver::preconditioner::backend::mfem::detail