|  | v0.15.0 | 
structure for projection matrices More...
#include "src/finite_elements/ConstrainMatrixCtx.hpp"
| Public Member Functions | |
| ConstrainMatrixCtx (MoFEM::Interface &m_field, string x_problem, string y_problem, bool create_ksp=true, bool own_contrain_matrix=false) | |
| ConstrainMatrixCtx (MoFEM::Interface &m_field, VecScatter scatter, bool create_ksp=true, bool own_contrain_matrix=false) | |
| virtual | ~ConstrainMatrixCtx () | 
| MoFEMErrorCode | initializeQorP (Vec x) | 
| initialize vectors and matrices for Q and P shell matrices, scattering is set based on x_problem and y_problem | |
| MoFEMErrorCode | initializeQTKQ () | 
| initialize vectors and matrices for CTC+QTKQ shell matrices, scattering is set based on x_problem and y_problem | |
| MoFEMErrorCode | recalculateCTandCCT () | 
| re-calculate CT and CCT if C matrix has been changed since initialization | |
| MoFEMErrorCode | recalculateCTC () | 
| re-calculate CTC matrix has been changed since initialization | |
| MoFEMErrorCode | destroyQorP () | 
| destroy sub-matrices used for shell matrices P, Q, R, RT | |
| MoFEMErrorCode | destroyQTKQ () | 
| destroy sub-matrices used for shell matrix QTKQ | |
| Public Attributes | |
| MoFEM::Interface & | mField | 
| KSP | kSP | 
| Mat | C | 
| Mat | CT | 
| Mat | CCT | 
| Mat | CTC | 
| Mat | K | 
| Vec | Cx | 
| Vec | CCTm1_Cx | 
| Vec | CT_CCTm1_Cx | 
| Vec | CTCx | 
| Vec | X | 
| Vec | Qx | 
| Vec | KQx | 
| bool | initQorP | 
| bool | initQTKQ | 
| bool | createKSP | 
| bool | createScatter | 
| bool | cancelKSPMonitor | 
| bool | ownConstrainMatrix | 
| VecScatter | sCatter | 
| string | xProblem | 
| string | yProblem | 
| PetscLogEvent | MOFEM_EVENT_projInit | 
| PetscLogEvent | MOFEM_EVENT_projQ | 
| PetscLogEvent | MOFEM_EVENT_projP | 
| PetscLogEvent | MOFEM_EVENT_projR | 
| PetscLogEvent | MOFEM_EVENT_projRT | 
| PetscLogEvent | MOFEM_EVENT_projCTC_QTKQ | 
| PetscReal | rTol | 
| PetscReal | absTol | 
| PetscReal | dTol | 
| PetscInt | maxIts | 
| Friends | |
| MoFEMErrorCode | ProjectionMatrixMultOpQ (Mat Q, Vec x, Vec f) | 
| Multiplication operator for Q = I-CTC(CCT)^-1C. | |
| MoFEMErrorCode | ConstrainMatrixMultOpP (Mat P, Vec x, Vec f) | 
| Multiplication operator for P = CT(CCT)^-1C. | |
| MoFEMErrorCode | ConstrainMatrixMultOpR (Mat R, Vec x, Vec f) | 
| Multiplication operator for R = CT(CCT)^-1. | |
| MoFEMErrorCode | ConstrainMatrixMultOpRT (Mat RT, Vec x, Vec f) | 
| Multiplication operator for RT = (CCT)^-TC. | |
| MoFEMErrorCode | ConstrainMatrixMultOpCTC_QTKQ (Mat CTC_QTKQ, Vec x, Vec f) | 
| Multiplication operator for RT = (CCT)^-TC. | |
| MoFEMErrorCode | ConstrainMatrixDestroyOpPorQ () | 
| MoFEMErrorCode | ConstrainMatrixDestroyOpQTKQ () | 
structure for projection matrices
Definition at line 18 of file ConstrainMatrixCtx.hpp.
| MoFEM::ConstrainMatrixCtx::ConstrainMatrixCtx | ( | MoFEM::Interface & | m_field, | 
| string | x_problem, | ||
| string | y_problem, | ||
| bool | create_ksp = true, | ||
| bool | own_contrain_matrix = false | ||
| ) | 
Construct data structure to build operators for projection matrices
User need to set matrix C to make it work
| x_problem | problem on which vector is projected | 
| y_problem | problem used to construct projection matrices | 
| create_ksp | create ksp solver otherwise user need to set it up | 
Definition at line 19 of file ConstrainMatrixCtx.cpp.
| MoFEM::ConstrainMatrixCtx::ConstrainMatrixCtx | ( | MoFEM::Interface & | m_field, | 
| VecScatter | scatter, | ||
| bool | create_ksp = true, | ||
| bool | own_contrain_matrix = false | ||
| ) | 
Definition at line 33 of file ConstrainMatrixCtx.cpp.
| 
 | inlinevirtual | 
Definition at line 61 of file ConstrainMatrixCtx.hpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::destroyQorP | ( | ) | 
destroy sub-matrices used for shell matrices P, Q, R, RT
Definition at line 94 of file ConstrainMatrixCtx.cpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::destroyQTKQ | ( | ) | 
destroy sub-matrices used for shell matrix QTKQ
Definition at line 151 of file ConstrainMatrixCtx.cpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::initializeQorP | ( | Vec | x | ) | 
initialize vectors and matrices for Q and P shell matrices, scattering is set based on x_problem and y_problem
| x | is a vector from problem x | 
Definition at line 45 of file ConstrainMatrixCtx.cpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::initializeQTKQ | ( | ) | 
initialize vectors and matrices for CTC+QTKQ shell matrices, scattering is set based on x_problem and y_problem
Definition at line 114 of file ConstrainMatrixCtx.cpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::recalculateCTandCCT | ( | ) | 
re-calculate CT and CCT if C matrix has been changed since initialization
Definition at line 85 of file ConstrainMatrixCtx.cpp.
| MoFEMErrorCode MoFEM::ConstrainMatrixCtx::recalculateCTC | ( | ) | 
re-calculate CTC matrix has been changed since initialization
Definition at line 143 of file ConstrainMatrixCtx.cpp.
| 
 | friend | 
| 
 | friend | 
| 
 | friend | 
Multiplication operator for RT = (CCT)^-TC.
Definition at line 261 of file ConstrainMatrixCtx.cpp.
| 
 | friend | 
Multiplication operator for P = CT(CCT)^-1C.
Definition at line 197 of file ConstrainMatrixCtx.cpp.
| 
 | friend | 
Multiplication operator for R = CT(CCT)^-1.
Definition at line 221 of file ConstrainMatrixCtx.cpp.
| 
 | friend | 
Multiplication operator for RT = (CCT)^-TC.
Definition at line 243 of file ConstrainMatrixCtx.cpp.
| 
 | friend | 
Multiplication operator for Q = I-CTC(CCT)^-1C.
Definition at line 163 of file ConstrainMatrixCtx.cpp.
| PetscReal MoFEM::ConstrainMatrixCtx::absTol | 
Definition at line 72 of file ConstrainMatrixCtx.hpp.
| Mat MoFEM::ConstrainMatrixCtx::C | 
Definition at line 23 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::cancelKSPMonitor | 
Definition at line 29 of file ConstrainMatrixCtx.hpp.
| Mat MoFEM::ConstrainMatrixCtx::CCT | 
Definition at line 23 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::CCTm1_Cx | 
Definition at line 24 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::createKSP | 
Definition at line 27 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::createScatter | 
Definition at line 28 of file ConstrainMatrixCtx.hpp.
| Mat MoFEM::ConstrainMatrixCtx::CT | 
Definition at line 23 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::CT_CCTm1_Cx | 
Definition at line 24 of file ConstrainMatrixCtx.hpp.
| Mat MoFEM::ConstrainMatrixCtx::CTC | 
Definition at line 23 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::CTCx | 
Definition at line 24 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::Cx | 
Definition at line 24 of file ConstrainMatrixCtx.hpp.
| PetscReal MoFEM::ConstrainMatrixCtx::dTol | 
Definition at line 72 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::initQorP | 
Definition at line 26 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::initQTKQ | 
Definition at line 26 of file ConstrainMatrixCtx.hpp.
| Mat MoFEM::ConstrainMatrixCtx::K | 
Definition at line 23 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::KQx | 
Definition at line 25 of file ConstrainMatrixCtx.hpp.
| KSP MoFEM::ConstrainMatrixCtx::kSP | 
Definition at line 22 of file ConstrainMatrixCtx.hpp.
| PetscInt MoFEM::ConstrainMatrixCtx::maxIts | 
Definition at line 73 of file ConstrainMatrixCtx.hpp.
| MoFEM::Interface& MoFEM::ConstrainMatrixCtx::mField | 
Definition at line 20 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projCTC_QTKQ | 
Definition at line 43 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projInit | 
Definition at line 38 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projP | 
Definition at line 40 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projQ | 
Definition at line 39 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projR | 
Definition at line 41 of file ConstrainMatrixCtx.hpp.
| PetscLogEvent MoFEM::ConstrainMatrixCtx::MOFEM_EVENT_projRT | 
Definition at line 42 of file ConstrainMatrixCtx.hpp.
| bool MoFEM::ConstrainMatrixCtx::ownConstrainMatrix | 
Definition at line 30 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::Qx | 
Definition at line 25 of file ConstrainMatrixCtx.hpp.
| PetscReal MoFEM::ConstrainMatrixCtx::rTol | 
Definition at line 72 of file ConstrainMatrixCtx.hpp.
| VecScatter MoFEM::ConstrainMatrixCtx::sCatter | 
Definition at line 35 of file ConstrainMatrixCtx.hpp.
| Vec MoFEM::ConstrainMatrixCtx::X | 
Definition at line 25 of file ConstrainMatrixCtx.hpp.
| string MoFEM::ConstrainMatrixCtx::xProblem | 
Definition at line 36 of file ConstrainMatrixCtx.hpp.
| string MoFEM::ConstrainMatrixCtx::yProblem | 
Definition at line 36 of file ConstrainMatrixCtx.hpp.
