Wrapper to Mumps solver. More...
#include <mumps_solver.h>
Public Member Functions | |
MumpsSolver () | |
Constructor: Call setup. More... | |
MumpsSolver (const MumpsSolver &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const MumpsSolver &)=delete |
Broken assignment operator. More... | |
~MumpsSolver () | |
Destructor: Cleanup. More... | |
void | disable_resolve () |
Overload disable resolve so that it cleans up memory too. More... | |
void | enable_suppress_warning_about_MPI_COMM_WORLD () |
Set boolean to suppress warning about communicator not equal to MPI_COMM_WORLD. More... | |
void | disable_suppress_warning_about_MPI_COMM_WORLD () |
Don't suppress warning about communicator not equal to MPI_COMM_WORLD. More... | |
void | enable_suppress_mumps_info_during_solve () |
Set boolean to suppress info being printed to screen during MUMPS solve. More... | |
void | disable_suppress_mumps_info_during_solve () |
Don't suppress info being printed to screen during MUMPS solve. More... | |
void | solve (Problem *const &problem_pt, DoubleVector &result) |
Solver: Takes pointer to problem and returns the results Vector which contains the solution of the linear system defined by the problem's fully assembled Jacobian and residual Vector. More... | |
void | solve (DoubleMatrixBase *const &matrix_pt, const DoubleVector &rhs, DoubleVector &result) |
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. The function returns the global result Vector. Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data. More... | |
void | resolve (const DoubleVector &rhs, DoubleVector &result) |
Resolve the system defined by the last assembled Jacobian and the specified rhs vector if resolve has been enabled. Note: returns the global result Vector. More... | |
void | enable_doc_stats () |
Enable documentation of statistics. More... | |
void | disable_doc_stats () |
Disable documentation of statistics. More... | |
double | jacobian_setup_time () |
Returns the time taken to assemble the Jacobian matrix and residual vector. More... | |
virtual double | linear_solver_solution_time () |
Return the time taken to solve the linear system (needs to be overloaded for each linear solver) More... | |
void | enable_suppress_solve () |
Set the flag to avoid solution of the system, so just assemble the Jacobian and the rhs. (Used only for timing runs, obviously) More... | |
void | disable_suppress_solve () |
Unset the flag so that the system is actually solved again This is the default (obviously) More... | |
void | enable_delete_matrix_data () |
Set Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false. More... | |
void | disable_delete_matrix_data () |
Unset Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false. More... | |
void | factorise (DoubleMatrixBase *const &matrix_pt) |
Do the factorisation stage Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data. More... | |
void | backsub (const DoubleVector &rhs, DoubleVector &result) |
Do the backsubstitution for mumps solver Note: returns the global result Vector. More... | |
void | clean_up_memory () |
Clean up the memory allocated by the mumps solver. More... | |
void | declare_jacobian_is_unsymmetric () |
Tell MUMPS that the Jacobian matrix is unsymmetric. More... | |
void | declare_jacobian_is_symmetric () |
Tell MUMPS that the Jacobian matrix is general symmetric. More... | |
void | declare_jacobian_is_symmetric_positive_definite () |
Tell MUMPS that the Jacobian matrix is symmetric positive-definite. More... | |
void | use_pord_ordering () |
void | use_metis_ordering () |
void | use_scotch_ordering () |
Public Member Functions inherited from oomph::LinearSolver | |
LinearSolver () | |
Empty constructor, initialise the member data. More... | |
LinearSolver (const LinearSolver &dummy)=delete | |
Broken copy constructor. More... | |
void | operator= (const LinearSolver &)=delete |
Broken assignment operator. More... | |
virtual | ~LinearSolver () |
Empty virtual destructor. More... | |
void | enable_doc_time () |
Enable documentation of solve times. More... | |
void | disable_doc_time () |
Disable documentation of solve times. More... | |
bool | is_doc_time_enabled () const |
Is documentation of solve times enabled? More... | |
bool | is_resolve_enabled () const |
Boolean flag indicating if resolves are enabled. More... | |
virtual void | enable_resolve () |
Enable resolve (i.e. store matrix and/or LU decomposition, say) Virtual so it can be overloaded to perform additional tasks. More... | |
virtual void | solve (DoubleMatrixBase *const &matrix_pt, const Vector< double > &rhs, Vector< double > &result) |
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. More... | |
virtual void | solve_transpose (Problem *const &problem_pt, DoubleVector &result) |
Solver: Takes pointer to problem and returns the results vector which contains the solution of the linear system defined by the problem's fully assembled Jacobian and residual vector (broken virtual). More... | |
virtual void | solve_transpose (DoubleMatrixBase *const &matrix_pt, const DoubleVector &rhs, DoubleVector &result) |
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. More... | |
virtual void | solve_transpose (DoubleMatrixBase *const &matrix_pt, const Vector< double > &rhs, Vector< double > &result) |
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. More... | |
virtual void | resolve_transpose (const DoubleVector &rhs, DoubleVector &result) |
Solver: Resolve the system defined by the last assembled jacobian and the rhs vector. Solution is returned in the vector result. (broken virtual) More... | |
virtual double | jacobian_setup_time () const |
returns the time taken to assemble the Jacobian matrix and residual vector (needs to be overloaded for each solver) More... | |
virtual double | linear_solver_solution_time () const |
return the time taken to solve the linear system (needs to be overloaded for each linear solver) More... | |
virtual void | enable_computation_of_gradient () |
function to enable the computation of the gradient required for the globally convergent Newton method More... | |
void | disable_computation_of_gradient () |
function to disable the computation of the gradient required for the globally convergent Newton method More... | |
void | reset_gradient () |
function to reset the size of the gradient before each Newton solve More... | |
void | get_gradient (DoubleVector &gradient) |
function to access the gradient, provided it has been computed More... | |
Public Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
DistributableLinearAlgebraObject () | |
Default constructor - create a distribution. More... | |
DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix)=delete | |
Broken copy constructor. More... | |
void | operator= (const DistributableLinearAlgebraObject &)=delete |
Broken assignment operator. More... | |
virtual | ~DistributableLinearAlgebraObject () |
Destructor. More... | |
LinearAlgebraDistribution * | distribution_pt () const |
access to the LinearAlgebraDistribution More... | |
unsigned | nrow () const |
access function to the number of global rows. More... | |
unsigned | nrow_local () const |
access function for the num of local rows on this processor. More... | |
unsigned | nrow_local (const unsigned &p) const |
access function for the num of local rows on this processor. More... | |
unsigned | first_row () const |
access function for the first row on this processor More... | |
unsigned | first_row (const unsigned &p) const |
access function for the first row on this processor More... | |
bool | distributed () const |
distribution is serial or distributed More... | |
bool | distribution_built () const |
if the communicator_pt is null then the distribution is not setup then false is returned, otherwise return true More... | |
void | build_distribution (const LinearAlgebraDistribution *const dist_pt) |
setup the distribution of this distributable linear algebra object More... | |
void | build_distribution (const LinearAlgebraDistribution &dist) |
setup the distribution of this distributable linear algebra object More... | |
Static Public Attributes | |
static bool | Suppress_incorrect_rhs_distribution_warning_in_resolve |
Static flag that determines whether the warning about incorrect distribution of RHSs will be printed or not. More... | |
static int | Default_workspace_scaling_factor = 5 |
Default factor for workspace – static so it can be overwritten globally. More... | |
Private Types | |
enum | MumpsJacobianSymmetryFlags { Unsymmetric = 0 , Symmetric_positive_definite = 1 , Symmetric = 2 } |
values of the SYM variable used by the MUMPS solver which dictates the symmetry properties of the Jacobian matrix; magic numbers as defined by MUMPS documentation More... | |
enum | MumpsJacobianOrderingFlags { Scotch_ordering = 3 , Pord_ordering = 4 , Metis_ordering = 5 } |
ordering library to use for serial analysis; magic numbers as defined by MUMPS documentation More... | |
Private Member Functions | |
void | initialise_mumps () |
Initialise instance of mumps data structure. More... | |
void | shutdown_mumps () |
Shutdown mumps. More... | |
Private Attributes | |
double | Jacobian_setup_time |
Jacobian setup time. More... | |
double | Solution_time |
Solution time. More... | |
bool | Suppress_solve |
Suppress solve? More... | |
bool | Doc_stats |
Set to true for MumpsSolver to output statistics (false by default). More... | |
bool | Suppress_warning_about_MPI_COMM_WORLD |
Boolean to suppress warning about communicator not equal to MPI_COMM_WORLD. More... | |
bool | Suppress_mumps_info_during_solve |
Boolean to suppress info being printed to screen during MUMPS solve. More... | |
bool | Mumps_is_initialised |
Has mumps been initialised? More... | |
unsigned | Workspace_scaling_factor |
bool | Delete_matrix_data |
Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false. More... | |
Vector< int > | Irn_loc |
Vector for row numbers. More... | |
Vector< int > | Jcn_loc |
Vector< double > | A_loc |
DMUMPS_STRUC_C * | Mumps_struc_pt |
Pointer to MUMPS struct that contains the solver data. More... | |
unsigned | Jacobian_symmetry_flag |
symmetry of the Jacobian matrix we're solving; takes one of the enum values above More... | |
unsigned | Jacobian_ordering_flag |
stores an integer from the public enum which specifies which package (PORD, Metis or SCOTCH) is used to reorder the Jacobian matrix during the analysis More... | |
Additional Inherited Members | |
Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
void | clear_distribution () |
clear the distribution of this distributable linear algebra object More... | |
Protected Attributes inherited from oomph::LinearSolver | |
bool | Enable_resolve |
Boolean that indicates whether the matrix (or its factors, in the case of direct solver) should be stored so that the resolve function can be used. More... | |
bool | Doc_time |
Boolean flag that indicates whether the time taken. More... | |
bool | Compute_gradient |
flag that indicates whether the gradient required for the globally convergent Newton method should be computed or not More... | |
bool | Gradient_has_been_computed |
flag that indicates whether the gradient was computed or not More... | |
DoubleVector | Gradient_for_glob_conv_newton_solve |
DoubleVector storing the gradient for the globally convergent Newton method. More... | |
Wrapper to Mumps solver.
Definition at line 61 of file mumps_solver.h.
|
private |
ordering library to use for serial analysis; magic numbers as defined by MUMPS documentation
Enumerator | |
---|---|
Scotch_ordering | |
Pord_ordering | |
Metis_ordering |
Definition at line 311 of file mumps_solver.h.
|
private |
values of the SYM variable used by the MUMPS solver which dictates the symmetry properties of the Jacobian matrix; magic numbers as defined by MUMPS documentation
Enumerator | |
---|---|
Unsymmetric | |
Symmetric_positive_definite | |
Symmetric |
Definition at line 302 of file mumps_solver.h.
oomph::MumpsSolver::MumpsSolver | ( | ) |
Constructor: Call setup.
Definition at line 69 of file mumps_solver.cc.
|
delete |
Broken copy constructor.
oomph::MumpsSolver::~MumpsSolver | ( | ) |
Destructor: Cleanup.
Destructor: Shutdown mumps.
Definition at line 168 of file mumps_solver.cc.
References shutdown_mumps().
void oomph::MumpsSolver::backsub | ( | const DoubleVector & | rhs, |
DoubleVector & | result | ||
) |
Do the backsubstitution for mumps solver Note: returns the global result Vector.
Do the backsubstitution for mumps solver. This does not make any assumption about the distribution of the vectors.
Definition at line 526 of file mumps_solver.cc.
References oomph::DoubleVector::built(), oomph::LinearAlgebraDistribution::built(), oomph::TimingHelpers::convert_secs_to_formatted_string(), oomph::DistributableLinearAlgebraObject::distribution_built(), oomph::DistributableLinearAlgebraObject::distribution_pt(), Doc_stats, oomph::LinearSolver::Doc_time, Mumps_is_initialised, Mumps_struc_pt, oomph::LinearAlgebraDistribution::nrow(), oomph::oomph_info, oomph::DoubleVector::redistribute(), Suppress_incorrect_rhs_distribution_warning_in_resolve, Suppress_warning_about_MPI_COMM_WORLD, and oomph::TimingHelpers::timer().
|
virtual |
Clean up the memory allocated by the mumps solver.
Clean up the memory allocated for the MumpsSolver solver.
Reimplemented from oomph::LinearSolver.
Definition at line 710 of file mumps_solver.cc.
References shutdown_mumps().
Referenced by oomph::NewMumpsPreconditioner::clean_up_memory(), disable_resolve(), and solve().
|
inline |
Tell MUMPS that the Jacobian matrix is general symmetric.
Definition at line 218 of file mumps_solver.h.
References Jacobian_symmetry_flag, and Symmetric.
|
inline |
Tell MUMPS that the Jacobian matrix is symmetric positive-definite.
Definition at line 224 of file mumps_solver.h.
References Jacobian_symmetry_flag, and Symmetric_positive_definite.
|
inline |
Tell MUMPS that the Jacobian matrix is unsymmetric.
Definition at line 212 of file mumps_solver.h.
References Jacobian_symmetry_flag, and Unsymmetric.
|
inline |
Unset Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false.
Definition at line 190 of file mumps_solver.h.
References Delete_matrix_data.
|
inline |
Disable documentation of statistics.
Definition at line 139 of file mumps_solver.h.
References Doc_stats.
|
inlinevirtual |
Overload disable resolve so that it cleans up memory too.
Reimplemented from oomph::LinearSolver.
Definition at line 81 of file mumps_solver.h.
References clean_up_memory(), and oomph::LinearSolver::disable_resolve().
|
inline |
Don't suppress info being printed to screen during MUMPS solve.
Definition at line 108 of file mumps_solver.h.
References Suppress_mumps_info_during_solve.
|
inline |
Unset the flag so that the system is actually solved again This is the default (obviously)
Definition at line 168 of file mumps_solver.h.
References Suppress_solve.
|
inline |
Don't suppress warning about communicator not equal to MPI_COMM_WORLD.
Definition at line 95 of file mumps_solver.h.
References Suppress_warning_about_MPI_COMM_WORLD.
|
inline |
Set Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false.
Definition at line 179 of file mumps_solver.h.
References Delete_matrix_data.
|
inline |
Enable documentation of statistics.
Definition at line 133 of file mumps_solver.h.
References Doc_stats.
|
inline |
Set boolean to suppress info being printed to screen during MUMPS solve.
Definition at line 102 of file mumps_solver.h.
References Suppress_mumps_info_during_solve.
|
inline |
Set the flag to avoid solution of the system, so just assemble the Jacobian and the rhs. (Used only for timing runs, obviously)
Definition at line 161 of file mumps_solver.h.
References Suppress_solve.
|
inline |
Set boolean to suppress warning about communicator not equal to MPI_COMM_WORLD.
Definition at line 89 of file mumps_solver.h.
References Suppress_warning_about_MPI_COMM_WORLD.
void oomph::MumpsSolver::factorise | ( | DoubleMatrixBase *const & | matrix_pt | ) |
Do the factorisation stage Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data.
LU decompose the matrix addressed by matrix_pt using mumps. The resulting matrix factors are stored internally. Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data.
Definition at line 180 of file mumps_solver.cc.
References A_loc, oomph::DistributableLinearAlgebraObject::build_distribution(), oomph::CRDoubleMatrix::built(), oomph::CRDoubleMatrix::clear(), oomph::CRDoubleMatrix::column_index(), oomph::LinearAlgebraDistribution::communicator_pt(), oomph::TimingHelpers::convert_secs_to_formatted_string(), Delete_matrix_data, oomph::DistributableLinearAlgebraObject::distributed(), oomph::DistributableLinearAlgebraObject::distribution_pt(), Doc_stats, oomph::LinearSolver::Doc_time, oomph::DistributableLinearAlgebraObject::first_row(), initialise_mumps(), Irn_loc, Jcn_loc, Mumps_is_initialised, Mumps_struc_pt, oomph::DoubleMatrixBase::ncol(), oomph::CRDoubleMatrix::nnz(), oomph::DoubleMatrixBase::nrow(), oomph::oomph_info, oomph::CRDoubleMatrix::row_start(), shutdown_mumps(), Suppress_mumps_info_during_solve, Suppress_warning_about_MPI_COMM_WORLD, oomph::TimingHelpers::timer(), oomph::CRDoubleMatrix::value(), and Workspace_scaling_factor.
Referenced by oomph::NewMumpsPreconditioner::setup(), and solve().
|
private |
Initialise instance of mumps data structure.
Definition at line 86 of file mumps_solver.cc.
References Jacobian_ordering_flag, Jacobian_symmetry_flag, Mumps_is_initialised, and Mumps_struc_pt.
Referenced by factorise().
|
inline |
Returns the time taken to assemble the Jacobian matrix and residual vector.
Definition at line 146 of file mumps_solver.h.
References Jacobian_setup_time.
|
inlinevirtual |
Return the time taken to solve the linear system (needs to be overloaded for each linear solver)
Definition at line 153 of file mumps_solver.h.
References Solution_time.
|
delete |
Broken assignment operator.
|
virtual |
Resolve the system defined by the last assembled Jacobian and the specified rhs vector if resolve has been enabled. Note: returns the global result Vector.
Resolve the system defined by the last assembled jacobian and the specified rhs vector if resolve has been enabled. Note: returns the global result Vector.
Reimplemented from oomph::LinearSolver.
Definition at line 1005 of file mumps_solver.cc.
References backsub(), oomph::TimingHelpers::convert_secs_to_formatted_string(), oomph::DistributableLinearAlgebraObject::distribution_pt(), Doc_stats, oomph::LinearSolver::Doc_time, Mumps_struc_pt, oomph::oomph_info, Solution_time, Suppress_warning_about_MPI_COMM_WORLD, and oomph::TimingHelpers::timer().
Referenced by oomph::NewMumpsPreconditioner::preconditioner_solve().
|
private |
Shutdown mumps.
Definition at line 141 of file mumps_solver.cc.
References A_loc, Irn_loc, Jcn_loc, Mumps_is_initialised, and Mumps_struc_pt.
Referenced by clean_up_memory(), factorise(), and ~MumpsSolver().
|
virtual |
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. The function returns the global result Vector. Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data.
Linear-algebra-type solver: Takes pointer to a matrix and rhs vector and returns the solution of the linear system. Problem pointer defaults to NULL and can be omitted. The function returns the global result vector. Matrix must be CRDoubleMatrix. Note: if Delete_matrix_data is true the function matrix_pt->clean_up_memory() will be used to wipe the matrix data.
Reimplemented from oomph::LinearSolver.
Definition at line 724 of file mumps_solver.cc.
References backsub(), oomph::DistributableLinearAlgebraObject::build_distribution(), oomph::DoubleVector::built(), oomph::LinearAlgebraDistribution::built(), clean_up_memory(), oomph::TimingHelpers::convert_secs_to_formatted_string(), oomph::LinearAlgebraDistribution::distributed(), oomph::DistributableLinearAlgebraObject::distribution_pt(), oomph::LinearSolver::Doc_time, oomph::LinearSolver::Enable_resolve, factorise(), Mumps_struc_pt, oomph::DoubleMatrixBase::ncol(), oomph::DistributableLinearAlgebraObject::nrow(), oomph::DoubleMatrixBase::nrow(), oomph::oomph_info, Solution_time, Suppress_warning_about_MPI_COMM_WORLD, and oomph::TimingHelpers::timer().
|
virtual |
Solver: Takes pointer to problem and returns the results Vector which contains the solution of the linear system defined by the problem's fully assembled Jacobian and residual Vector.
Implements oomph::LinearSolver.
Definition at line 894 of file mumps_solver.cc.
References oomph::DoubleVector::build(), oomph::LinearAlgebraDistribution::build(), oomph::DoubleVector::built(), oomph::Problem::communicator_pt(), oomph::LinearAlgebraDistribution::communicator_pt(), oomph::TimingHelpers::convert_secs_to_formatted_string(), Delete_matrix_data, oomph::DistributableLinearAlgebraObject::distribution_pt(), oomph::LinearSolver::Doc_time, oomph::Problem::get_jacobian(), Jacobian_setup_time, oomph::Problem::ndof(), oomph::oomph_info, oomph::DoubleVector::redistribute(), Suppress_solve, Suppress_warning_about_MPI_COMM_WORLD, and oomph::TimingHelpers::timer().
|
inline |
Definition at line 236 of file mumps_solver.h.
References Jacobian_ordering_flag, and Metis_ordering.
|
inline |
Definition at line 230 of file mumps_solver.h.
References Jacobian_ordering_flag, and Pord_ordering.
|
inline |
Definition at line 242 of file mumps_solver.h.
References Jacobian_ordering_flag, and Scotch_ordering.
|
private |
Definition at line 294 of file mumps_solver.h.
Referenced by factorise(), and shutdown_mumps().
|
static |
Default factor for workspace – static so it can be overwritten globally.
/////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////
Default factor for workspace – static so it can be overwritten globally.
Definition at line 209 of file mumps_solver.h.
|
private |
Delete_matrix_data flag. MumpsSolver needs its own copy of the input matrix, therefore a copy must be made if any matrix used with this solver is to be preserved. If the input matrix can be deleted the flag can be set to true to reduce the amount of memory required, and the matrix data will be wiped using its clean_up_memory() function. Default value is false.
Definition at line 285 of file mumps_solver.h.
Referenced by disable_delete_matrix_data(), enable_delete_matrix_data(), factorise(), and solve().
|
private |
Set to true for MumpsSolver to output statistics (false by default).
Definition at line 264 of file mumps_solver.h.
Referenced by backsub(), disable_doc_stats(), enable_doc_stats(), factorise(), and resolve().
|
private |
Vector for row numbers.
Definition at line 288 of file mumps_solver.h.
Referenced by factorise(), and shutdown_mumps().
|
private |
stores an integer from the public enum which specifies which package (PORD, Metis or SCOTCH) is used to reorder the Jacobian matrix during the analysis
Definition at line 325 of file mumps_solver.h.
Referenced by initialise_mumps(), use_metis_ordering(), use_pord_ordering(), and use_scotch_ordering().
|
private |
Jacobian setup time.
Definition at line 255 of file mumps_solver.h.
Referenced by jacobian_setup_time(), and solve().
|
private |
symmetry of the Jacobian matrix we're solving; takes one of the enum values above
Definition at line 320 of file mumps_solver.h.
Referenced by declare_jacobian_is_symmetric(), declare_jacobian_is_symmetric_positive_definite(), declare_jacobian_is_unsymmetric(), and initialise_mumps().
|
private |
Definition at line 291 of file mumps_solver.h.
Referenced by factorise(), and shutdown_mumps().
|
private |
Has mumps been initialised?
Definition at line 274 of file mumps_solver.h.
Referenced by backsub(), factorise(), initialise_mumps(), and shutdown_mumps().
|
private |
Pointer to MUMPS struct that contains the solver data.
Definition at line 297 of file mumps_solver.h.
Referenced by backsub(), factorise(), initialise_mumps(), resolve(), shutdown_mumps(), and solve().
|
private |
Solution time.
Definition at line 258 of file mumps_solver.h.
Referenced by linear_solver_solution_time(), resolve(), and solve().
|
static |
Static flag that determines whether the warning about incorrect distribution of RHSs will be printed or not.
Static warning to suppress warnings about incorrect distribution of RHS vector. Default is false.
Definition at line 66 of file mumps_solver.h.
Referenced by backsub().
|
private |
Boolean to suppress info being printed to screen during MUMPS solve.
Definition at line 271 of file mumps_solver.h.
Referenced by disable_suppress_mumps_info_during_solve(), enable_suppress_mumps_info_during_solve(), and factorise().
|
private |
Suppress solve?
Definition at line 261 of file mumps_solver.h.
Referenced by disable_suppress_solve(), enable_suppress_solve(), and solve().
|
private |
Boolean to suppress warning about communicator not equal to MPI_COMM_WORLD.
Definition at line 268 of file mumps_solver.h.
Referenced by backsub(), disable_suppress_warning_about_MPI_COMM_WORLD(), enable_suppress_warning_about_MPI_COMM_WORLD(), factorise(), resolve(), and solve().
|
private |
Definition at line 277 of file mumps_solver.h.
Referenced by factorise().