v0.14.0 |
shell matrix for arc-length method More...
#include <users_modules/basic_finite_elements/src/ArcLengthTools.hpp>
Public Member Functions | |
ArcLengthMatShell (Mat aij, boost::shared_ptr< ArcLengthCtx > arc_ptr, string problem_name) | |
virtual | ~ArcLengthMatShell ()=default |
DEPRECATED | ArcLengthMatShell (Mat aij, ArcLengthCtx *arc_ptr_raw, string problem_name) |
MoFEMErrorCode | setLambda (Vec ksp_x, double *lambda, ScatterMode scattermode) |
Public Attributes | |
SmartPetscObj< Mat > | Aij |
string | problemName |
ArcLengthCtx * | arcPtrRaw |
Private Attributes | |
boost::shared_ptr< ArcLengthCtx > | arcPtr |
Friends | |
MoFEMErrorCode | ArcLengthMatMultShellOp (Mat A, Vec x, Vec f) |
shell matrix for arc-length method
Shell matrix which has structure:
\[ \left[ \begin{array}{cc} \mathbf{K} & -\mathbf{F}_\lambda \\ \textrm{d}\mathbf{b} & D \end{array} \right] \left\{ \begin{array}{c} \delta \Delta \mathbf{x} \\ \delta \Delta \lambda \end{array} \right\} = \left[ \begin{array}{c} -\mathbf{f}_\textrm{int} \\ -r_\lambda \end{array} \right] \]
Definition at line 205 of file ArcLengthTools.hpp.
ArcLengthMatShell::ArcLengthMatShell | ( | Mat | aij, |
boost::shared_ptr< ArcLengthCtx > | arc_ptr, | ||
string | problem_name | ||
) |
Definition at line 137 of file ArcLengthTools.cpp.
|
virtualdefault |
ArcLengthMatShell::ArcLengthMatShell | ( | Mat | aij, |
ArcLengthCtx * | arc_ptr_raw, | ||
string | problem_name | ||
) |
MoFEMErrorCode ArcLengthMatShell::setLambda | ( | Vec | ksp_x, |
double * | lambda, | ||
ScatterMode | scattermode | ||
) |
Definition at line 143 of file ArcLengthTools.cpp.
|
friend |
SmartPetscObj<Mat> ArcLengthMatShell::Aij |
Definition at line 207 of file ArcLengthTools.hpp.
|
private |
Definition at line 223 of file ArcLengthTools.hpp.
ArcLengthCtx* ArcLengthMatShell::arcPtrRaw |
Definition at line 209 of file ArcLengthTools.hpp.
string ArcLengthMatShell::problemName |
Definition at line 208 of file ArcLengthTools.hpp.