KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
|
Current class provides an implementation for the base builder and solving operations. More...
#include <builder_and_solver.h>
Public Member Functions | |
Life Cycle | |
BuilderAndSolver () | |
Default constructor. More... | |
BuilderAndSolver (typename TLinearSolver::Pointer pNewLinearSystemSolver, Parameters ThisParameters) | |
Default constructor with Parameters. More... | |
BuilderAndSolver (typename TLinearSolver::Pointer pNewLinearSystemSolver) | |
Default constructor. More... | |
virtual | ~BuilderAndSolver () |
virtual ClassType::Pointer | Create (typename TLinearSolver::Pointer pNewLinearSystemSolver, Parameters ThisParameters) const |
Create method. More... | |
Access | |
void | SetEchoLevel (int Level) |
It sets the level of echo for the solving strategy. More... | |
int | GetEchoLevel () const |
It returns the echo level. More... | |
virtual TSparseSpace::MatrixType & | GetConstraintRelationMatrix () |
This method returns constraint relation (T) matrix. More... | |
virtual TSparseSpace::VectorType & | GetConstraintConstantVector () |
This method returns constraint constant vector. More... | |
Input and output | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintInfo (std::ostream &rOStream) const |
Print information about this object. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
Protected Member Functions | |
Protected Operations | |
virtual Parameters | ValidateAndAssignParameters (Parameters ThisParameters, const Parameters DefaultParameters) const |
This method validate and assign default parameters. More... | |
virtual void | AssignSettings (const Parameters ThisParameters) |
This method assigns settings to member variables. More... | |
Protected Attributes | |
Protected member Variables | |
TLinearSolver::Pointer | mpLinearSystemSolver = nullptr |
DofsArrayType | mDofSet |
Pointer to the linear solver. More... | |
bool | mReshapeMatrixFlag = false |
The set containing the DoF of the system. More... | |
bool | mDofSetIsInitialized = false |
If the matrix is reshaped each step. More... | |
bool | mCalculateReactionsFlag = false |
Flag taking care if the dof set was initialized ot not. More... | |
unsigned int | mEquationSystemSize |
Flag taking in account if it is needed or not to calculate the reactions. More... | |
int | mEchoLevel = 0 |
Number of degrees of freedom of the problem to be solve. More... | |
TSystemVectorPointerType | mpReactionsVector |
Type Definitions | |
typedef BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > | ClassType |
The definition of the current class. More... | |
typedef std::size_t | SizeType |
Definition of the size type. More... | |
typedef std::size_t | IndexType |
Definition of the index type. More... | |
typedef TSparseSpace::DataType | TDataType |
Definition of the data type. More... | |
typedef TSparseSpace::MatrixType | TSystemMatrixType |
Definition of the sparse matrix. More... | |
typedef TSparseSpace::VectorType | TSystemVectorType |
Definition of the vector size. More... | |
typedef TSparseSpace::MatrixPointerType | TSystemMatrixPointerType |
Definition of the pointer to the sparse matrix. More... | |
typedef TSparseSpace::VectorPointerType | TSystemVectorPointerType |
Definition of the pointer to the vector. More... | |
typedef TDenseSpace::MatrixType | LocalSystemMatrixType |
The local matrix definition. More... | |
typedef TDenseSpace::VectorType | LocalSystemVectorType |
The local vector definition. More... | |
typedef Scheme< TSparseSpace, TDenseSpace > | TSchemeType |
Definition of the scheme type. More... | |
typedef ModelPart::DofType | TDofType |
Definition of the DoF class. More... | |
typedef ModelPart::DofsArrayType | DofsArrayType |
Definition of the DoF array type. More... | |
typedef ModelPart::NodesContainerType | NodesArrayType |
The containers of the entities. More... | |
typedef ModelPart::ElementsContainerType | ElementsArrayType |
typedef ModelPart::ConditionsContainerType | ConditionsArrayType |
typedef PointerVectorSet< Element, IndexedObject > | ElementsContainerType |
The definition of the element container type. More... | |
KRATOS_CLASS_POINTER_DEFINITION (BuilderAndSolver) | |
Pointer definition of BuilderAndSolver. More... | |
Operators | |
bool | GetCalculateReactionsFlag () const |
This method returns the flag mCalculateReactionsFlag. More... | |
void | SetCalculateReactionsFlag (bool flag) |
This method sets the flag mCalculateReactionsFlag. More... | |
bool | GetDofSetIsInitializedFlag () const |
This method returns the flag mDofSetIsInitialized. More... | |
void | SetDofSetIsInitializedFlag (bool DofSetIsInitialized) |
This method sets the flag mDofSetIsInitialized. More... | |
bool | GetReshapeMatrixFlag () const |
This method returns the flag mReshapeMatrixFlag. More... | |
void | SetReshapeMatrixFlag (bool ReshapeMatrixFlag) |
This method sets the flag mReshapeMatrixFlag. More... | |
unsigned int | GetEquationSystemSize () const |
This method returns the value mEquationSystemSize. More... | |
TLinearSolver::Pointer | GetLinearSystemSolver () const |
This method return the linear solver used. More... | |
void | SetLinearSystemSolver (typename TLinearSolver::Pointer pLinearSystemSolver) |
This method sets the linear solver to be used. More... | |
virtual void | BuildLHS (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA) |
Function to perform the building of the LHS, depending on the implementation chosen the size of the matrix could be equal to the total number of Dofs or to the number unrestrained dofs. More... | |
virtual void | BuildRHS (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemVectorType &rb) |
Function to perform the build of the RHS. The vector could be sized as the total number of dofs or as the number of unrestrained ones. More... | |
virtual void | Build (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rb) |
equivalent (but generally faster) then performing BuildLHS and BuildRHS More... | |
virtual void | BuildLHS_CompleteOnFreeRows (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA) |
It builds a rectangular matrix of size n*N where "n" is the number of unrestrained degrees of freedom and "N" is the total number of degrees of freedom involved. More... | |
virtual void | BuildLHS_Complete (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA) |
It builds a matrix of size N*N where "N" is the total number of degrees of freedom involved. More... | |
virtual void | SystemSolve (TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
This is a call to the linear system solver. More... | |
virtual void | BuildAndSolve (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
Function to perform the building and solving phase at the same time. More... | |
virtual void | BuildAndSolveLinearizedOnPreviousIteration (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb, const bool MoveMesh) |
Function to perform the building and solving phase at the same time Linearizing with the database at the old iteration. More... | |
virtual void | BuildRHSAndSolve (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
Corresponds to the previews, but the System's matrix is considered already built and only the RHS is built again. More... | |
virtual void | ApplyDirichletConditions (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
It applies the dirichlet conditions. This operation may be very heavy or completely unexpensive depending on the implementation chosen and on how the System Matrix is built. More... | |
virtual void | ApplyDirichletConditions_LHS (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx) |
The same of the precedent but affecting only the LHS. More... | |
virtual void | ApplyDirichletConditions_RHS (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemVectorType &rDx, TSystemVectorType &rb) |
The same of the precedent but affecting only the RHS. More... | |
virtual void | ApplyRHSConstraints (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemVectorType &rb) |
Applies the constraints with master-slave relation matrix (RHS only) More... | |
virtual void | ApplyConstraints (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rb) |
Applies the constraints with master-slave relation matrix. More... | |
virtual void | SetUpDofSet (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart) |
Builds the list of the DofSets involved in the problem by "asking" to each element and condition its Dofs. More... | |
virtual DofsArrayType & | GetDofSet () |
It allows to get the list of Dofs from the element. More... | |
virtual const DofsArrayType & | GetDofSet () const |
It allows to get the list of Dofs from the element. More... | |
virtual void | SetUpSystem (ModelPart &rModelPart) |
It organises the dofset in order to speed up the building phase. More... | |
virtual void | ResizeAndInitializeVectors (typename TSchemeType::Pointer pScheme, TSystemMatrixPointerType &pA, TSystemVectorPointerType &pDx, TSystemVectorPointerType &pb, ModelPart &rModelPart) |
This method initializes and resizes the system of equations. More... | |
virtual void | InitializeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
It applies certain operations at the system of equations at the beginning of the solution step. More... | |
virtual void | FinalizeSolutionStep (ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
It applies certain operations at the system of equations at the end of the solution step. More... | |
virtual void | CalculateReactions (typename TSchemeType::Pointer pScheme, ModelPart &rModelPart, TSystemMatrixType &rA, TSystemVectorType &rDx, TSystemVectorType &rb) |
It computes the reactions of the system. More... | |
virtual void | Clear () |
This function is intended to be called at the end of the solution step to clean up memory storage not needed. More... | |
virtual int | Check (ModelPart &rModelPart) |
This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors. More... | |
virtual Parameters | GetDefaultParameters () const |
This method provides the defaults parameters to avoid conflicts between the different constructors. More... | |
static std::string | Name () |
Returns the name of the class as used in the settings (snake_case format) More... | |
Current class provides an implementation for the base builder and solving operations.
The RHS is constituted by the unbalanced loads (residual) Degrees of freedom are reordered putting the restrained degrees of freedom at the end of the system ordered in reverse order with respect to the DofSet.
typedef BuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType |
The definition of the current class.
typedef ModelPart::ConditionsContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType |
typedef ModelPart::DofsArrayType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType |
Definition of the DoF array type.
typedef ModelPart::ElementsContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType |
typedef PointerVectorSet<Element, IndexedObject> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsContainerType |
The definition of the element container type.
typedef std::size_t Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::IndexType |
Definition of the index type.
typedef TDenseSpace::MatrixType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType |
The local matrix definition.
typedef TDenseSpace::VectorType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType |
The local vector definition.
typedef ModelPart::NodesContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType |
The containers of the entities.
typedef std::size_t Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SizeType |
Definition of the size type.
typedef TSparseSpace::DataType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType |
Definition of the data type.
typedef ModelPart::DofType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TDofType |
Definition of the DoF class.
typedef Scheme<TSparseSpace, TDenseSpace> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType |
Definition of the scheme type.
typedef TSparseSpace::MatrixPointerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType |
Definition of the pointer to the sparse matrix.
typedef TSparseSpace::MatrixType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType |
Definition of the sparse matrix.
typedef TSparseSpace::VectorPointerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType |
Definition of the pointer to the vector.
typedef TSparseSpace::VectorType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType |
Definition of the vector size.
|
inlineexplicit |
Default constructor.
|
inlineexplicit |
Default constructor with Parameters.
pNewLinearSystemSolver | The linear solver for the system of equations |
ThisParameters | The configuration parameters |
|
inlineexplicit |
Default constructor.
pNewLinearSystemSolver | The linear solver for the system of equations |
|
inlinevirtual |
Destructor.
|
inlinevirtual |
Applies the constraints with master-slave relation matrix.
pScheme | The integration scheme considered |
rModelPart | The model part of the problem to solve |
rA | The LHS matrix |
rb | The RHS vector |
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedBlockBuilderAndSolverWithConstraintsForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
It applies the dirichlet conditions. This operation may be very heavy or completely unexpensive depending on the implementation chosen and on how the System Matrix is built.
For explanation of how it works for a particular implementation the user should refer to the particular Builder And Solver chosen
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TBuilderAndSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverPeriodic< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
The same of the precedent but affecting only the LHS.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
|
inlinevirtual |
The same of the precedent but affecting only the RHS.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rb | The RHS vector of the system of equations |
|
inlinevirtual |
Applies the constraints with master-slave relation matrix (RHS only)
pScheme | The integration scheme considered |
rModelPart | The model part of the problem to solve |
rb | The RHS vector |
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotectedvirtual |
This method assigns settings to member variables.
ThisParameters | Parameters that are assigned to the member variables |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ContactResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TBuilderAndSolver >.
|
inlinevirtual |
equivalent (but generally faster) then performing BuildLHS and BuildRHS
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Function to perform the building and solving phase at the same time.
It is ideally the fastest and safer function to use when it is possible to solve just after building
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuityForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Function to perform the building and solving phase at the same time Linearizing with the database at the old iteration.
It is ideally the fastest and safer function to use when it is possible to solve just after building
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
MoveMesh | tells if the update of the scheme needs to be performed when calling the Update of the scheme |
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Function to perform the building of the LHS, depending on the implementation chosen the size of the matrix could be equal to the total number of Dofs or to the number unrestrained dofs.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
It builds a matrix of size N*N where "N" is the total number of degrees of freedom involved.
This matrix is obtained by building the total matrix including the lines and columns corresponding to the fixed degrees of freedom
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
|
inlinevirtual |
It builds a rectangular matrix of size n*N where "n" is the number of unrestrained degrees of freedom and "N" is the total number of degrees of freedom involved.
This matrix is obtained by building the total matrix without the lines corresponding to the fixed degrees of freedom (but keeping the columns!!)
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Function to perform the build of the RHS. The vector could be sized as the total number of dofs or as the number of unrestrained ones.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TBuilderAndSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Corresponds to the previews, but the System's matrix is considered already built and only the RHS is built again.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
It computes the reactions of the system.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >.
|
inlinevirtual |
This function is designed to be called once to perform all the checks needed on the input provided. Checks can be "expensive" as the function is designed to catch user's errors.
rModelPart | The model part to compute |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
This function is intended to be called at the end of the solution step to clean up memory storage not needed.
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithConstraintsForChimera< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Create method.
pNewLinearSystemSolver | The linear solver for the system of equations |
ThisParameters | The configuration parameters |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ContactResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TBuilderAndSolver >.
|
inlinevirtual |
It applies certain operations at the system of equations at the end of the solution step.
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
This method returns the flag mCalculateReactionsFlag.
|
inlinevirtual |
This method returns constraint constant vector.
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
This method returns constraint relation (T) matrix.
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
This method provides the defaults parameters to avoid conflicts between the different constructors.
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ContactResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TBuilderAndSolver >.
|
inlinevirtual |
It allows to get the list of Dofs from the element.
|
inlinevirtual |
It allows to get the list of Dofs from the element.
|
inline |
This method returns the flag mDofSetIsInitialized.
|
inline |
It returns the echo level.
|
inline |
This method returns the value mEquationSystemSize.
|
inline |
This method return the linear solver used.
|
inline |
This method returns the flag mReshapeMatrixFlag.
|
inlinevirtual |
Turn back information as a string.
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithMassAndDamping< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedBlockBuilderAndSolverWithConstraintsForChimera< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
It applies certain operations at the system of equations at the beginning of the solution step.
rModelPart | The model part to compute |
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >, and Kratos::ExplicitHamiltonBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION | ( | BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > | ) |
Pointer definition of BuilderAndSolver.
|
inlinestatic |
Returns the name of the class as used in the settings (snake_case format)
|
inlinevirtual |
Print object's data.
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
Print information about this object.
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::GlobalPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlinevirtual |
This method initializes and resizes the system of equations.
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
pA | The pointer to LHS matrix of the system of equations |
pDx | The pointer to vector of unknowns |
pb | The pointer to RHS vector of the system of equations |
Reimplemented in Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inline |
This method sets the flag mCalculateReactionsFlag.
CalculateReactionsFlag | The flag that tells if the reactions are computed |
|
inline |
This method sets the flag mDofSetIsInitialized.
DofSetIsInitialized | The flag that tells if the dof set is initialized |
|
inline |
It sets the level of echo for the solving strategy.
Level | The level to set |
The different levels of echo are:
|
inline |
This method sets the linear solver to be used.
pLinearSystemSolver | The linear solver to be used |
|
inline |
This method sets the flag mReshapeMatrixFlag.
ReshapeMatrixFlag | The flag that tells if we need to reshape the LHS matrix |
|
inlinevirtual |
Builds the list of the DofSets involved in the problem by "asking" to each element and condition its Dofs.
The list of dofs is stores inside the BuilderAndSolver as it is closely connected to the way the matrix and RHS are built
pScheme | The pointer to the integration scheme |
rModelPart | The model part to compute |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::PetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::LeastSquaresPetrovGalerkinROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuityForFSI< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolverComponentwise< TSparseSpace, TDenseSpace, TLinearSolver, TVariableType >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >.
|
inlinevirtual |
It organises the dofset in order to speed up the building phase.
rModelPart | The model part to compute |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolverPeriodic< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::GlobalROMBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolverWithConstraints< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ContactResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverPeriodic< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::ResidualBasedEliminationQuasiIncompressibleBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver, TDim >.
|
inlinevirtual |
This is a call to the linear system solver.
rA | The LHS matrix of the system of equations |
rDx | The vector of unknowns |
rb | The RHS vector of the system of equations |
Reimplemented in Kratos::ResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::NodalResidualBasedEliminationBuilderAndSolverContinuity< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::NodalResidualBasedEliminationBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.
|
inlineprotectedvirtual |
This method validate and assign default parameters.
rParameters | Parameters to be validated |
DefaultParameters | The default parameters |
Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >.
|
protected |
Flag taking care if the dof set was initialized ot not.
|
protected |
Pointer to the linear solver.
|
protected |
If the matrix is reshaped each step.
|
protected |
Number of degrees of freedom of the problem to be solve.
|
protected |
Flag taking in account if it is needed or not to calculate the reactions.
|
protected |
|
protected |
|
protected |
The set containing the DoF of the system.