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.
List of all members
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver > Class Template Reference

Current class provides an implementation for the base builder and solving operations. More...

#include <builder_and_solver.h>

Inheritance diagram for Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >:
Collaboration diagram for Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >:

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, IndexedObjectElementsContainerType
 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 DofsArrayTypeGetDofSet ()
 It allows to get the list of Dofs from the element. More...
 
virtual const DofsArrayTypeGetDofSet () 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...
 

Detailed Description

template<class TSparseSpace, class TDenseSpace, class TLinearSolver>
class Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >

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.

Author
Riccardo Rossi

Member Typedef Documentation

◆ ClassType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef BuilderAndSolver<TSparseSpace, TDenseSpace, TLinearSolver> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ClassType

The definition of the current class.

◆ ConditionsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::ConditionsContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ConditionsArrayType

◆ DofsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::DofsArrayType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::DofsArrayType

Definition of the DoF array type.

◆ ElementsArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::ElementsContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsArrayType

◆ ElementsContainerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef PointerVectorSet<Element, IndexedObject> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ElementsContainerType

The definition of the element container type.

◆ IndexType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef std::size_t Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::IndexType

Definition of the index type.

◆ LocalSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TDenseSpace::MatrixType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemMatrixType

The local matrix definition.

◆ LocalSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TDenseSpace::VectorType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::LocalSystemVectorType

The local vector definition.

◆ NodesArrayType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::NodesContainerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::NodesArrayType

The containers of the entities.

◆ SizeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef std::size_t Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SizeType

Definition of the size type.

◆ TDataType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::DataType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TDataType

Definition of the data type.

◆ TDofType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef ModelPart::DofType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TDofType

Definition of the DoF class.

◆ TSchemeType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef Scheme<TSparseSpace, TDenseSpace> Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSchemeType

Definition of the scheme type.

◆ TSystemMatrixPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::MatrixPointerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixPointerType

Definition of the pointer to the sparse matrix.

◆ TSystemMatrixType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::MatrixType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemMatrixType

Definition of the sparse matrix.

◆ TSystemVectorPointerType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::VectorPointerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorPointerType

Definition of the pointer to the vector.

◆ TSystemVectorType

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
typedef TSparseSpace::VectorType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::TSystemVectorType

Definition of the vector size.

Constructor & Destructor Documentation

◆ BuilderAndSolver() [1/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolver ( )
inlineexplicit

Default constructor.

◆ BuilderAndSolver() [2/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolver ( typename TLinearSolver::Pointer  pNewLinearSystemSolver,
Parameters  ThisParameters 
)
inlineexplicit

Default constructor with Parameters.

Parameters
pNewLinearSystemSolverThe linear solver for the system of equations
ThisParametersThe configuration parameters

◆ BuilderAndSolver() [3/3]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuilderAndSolver ( typename TLinearSolver::Pointer  pNewLinearSystemSolver)
inlineexplicit

Default constructor.

Parameters
pNewLinearSystemSolverThe linear solver for the system of equations

◆ ~BuilderAndSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::~BuilderAndSolver ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ApplyConstraints()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ApplyConstraints ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rb 
)
inlinevirtual

◆ ApplyDirichletConditions()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ApplyDirichletConditions ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
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

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rDxThe vector of unknowns
rbThe 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 >.

◆ ApplyDirichletConditions_LHS()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ApplyDirichletConditions_LHS ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx 
)
inlinevirtual

The same of the precedent but affecting only the LHS.

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rDxThe vector of unknowns

◆ ApplyDirichletConditions_RHS()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ApplyDirichletConditions_RHS ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

The same of the precedent but affecting only the RHS.

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rbThe RHS vector of the system of equations

◆ ApplyRHSConstraints()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ApplyRHSConstraints ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemVectorType rb 
)
inlinevirtual

Applies the constraints with master-slave relation matrix (RHS only)

Parameters
pSchemeThe integration scheme considered
rModelPartThe model part of the problem to solve
rbThe RHS vector

Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >, Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ AssignSettings()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::AssignSettings ( const Parameters  ThisParameters)
inlineprotectedvirtual

◆ Build()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Build ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rb 
)
inlinevirtual

◆ BuildAndSolve()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildAndSolve ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
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

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rDxThe vector of unknowns
rbThe 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 >.

◆ BuildAndSolveLinearizedOnPreviousIteration()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildAndSolveLinearizedOnPreviousIteration ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb,
const bool  MoveMesh 
)
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

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rDxThe vector of unknowns
rbThe RHS vector of the system of equations
MoveMeshtells if the update of the scheme needs to be performed when calling the Update of the scheme

Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ BuildLHS()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildLHS ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA 
)
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.

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe 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 >.

◆ BuildLHS_Complete()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildLHS_Complete ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA 
)
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

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations

◆ BuildLHS_CompleteOnFreeRows()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildLHS_CompleteOnFreeRows ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA 
)
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!!)

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe model part to compute
rAThe 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 >.

◆ BuildRHS()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildRHS ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemVectorType rb 
)
inlinevirtual

◆ BuildRHSAndSolve()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::BuildRHSAndSolve ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

◆ CalculateReactions()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::CalculateReactions ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

◆ Check()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual int Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Check ( ModelPart rModelPart)
inlinevirtual

◆ Clear()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Clear ( )
inlinevirtual

◆ Create()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual ClassType::Pointer Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Create ( typename TLinearSolver::Pointer  pNewLinearSystemSolver,
Parameters  ThisParameters 
) const
inlinevirtual

◆ FinalizeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::FinalizeSolutionStep ( ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

It applies certain operations at the system of equations at the end of the solution step.

Parameters
rModelPartThe model part to compute
rAThe LHS matrix of the system of equations
rDxThe vector of unknowns
rbThe 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 >.

◆ GetCalculateReactionsFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetCalculateReactionsFlag ( ) const
inline

This method returns the flag mCalculateReactionsFlag.

Returns
The flag that tells if the reactions are computed

◆ GetConstraintConstantVector()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual TSparseSpace::VectorType& Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetConstraintConstantVector ( )
inlinevirtual

This method returns constraint constant vector.

Returns
The constraint constant vector

Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ GetConstraintRelationMatrix()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual TSparseSpace::MatrixType& Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetConstraintRelationMatrix ( )
inlinevirtual

This method returns constraint relation (T) matrix.

Returns
The constraint relation (T) matrix

Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >, and Kratos::TrilinosBlockBuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >.

◆ GetDefaultParameters()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual Parameters Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetDefaultParameters ( ) const
inlinevirtual

This method provides the defaults parameters to avoid conflicts between the different constructors.

Returns
The default parameters

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 >.

◆ GetDofSet() [1/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual DofsArrayType& Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetDofSet ( )
inlinevirtual

It allows to get the list of Dofs from the element.

◆ GetDofSet() [2/2]

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual const DofsArrayType& Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetDofSet ( ) const
inlinevirtual

It allows to get the list of Dofs from the element.

◆ GetDofSetIsInitializedFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetDofSetIsInitializedFlag ( ) const
inline

This method returns the flag mDofSetIsInitialized.

Returns
The flag that tells if the dof set is initialized

◆ GetEchoLevel()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetEchoLevel ( ) const
inline

It returns the echo level.

Returns
The echo level of the builder and solver

◆ GetEquationSystemSize()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetEquationSystemSize ( ) const
inline

This method returns the value mEquationSystemSize.

Returns
Size of the system of equations

◆ GetLinearSystemSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TLinearSolver::Pointer Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetLinearSystemSolver ( ) const
inline

This method return the linear solver used.

Returns
mpLinearSystemSolver The linear solver used

◆ GetReshapeMatrixFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::GetReshapeMatrixFlag ( ) const
inline

This method returns the flag mReshapeMatrixFlag.

Returns
The flag that tells if we need to reshape the LHS matrix

◆ Info()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual std::string Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Info ( ) const
inlinevirtual

◆ InitializeSolutionStep()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::InitializeSolutionStep ( ModelPart rModelPart,
TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

◆ KRATOS_CLASS_POINTER_DEFINITION()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::KRATOS_CLASS_POINTER_DEFINITION ( BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >  )

Pointer definition of BuilderAndSolver.

◆ Name()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
static std::string Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::Name ( )
inlinestatic

Returns the name of the class as used in the settings (snake_case format)

Returns
The name of the class

◆ PrintData()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::PrintData ( std::ostream &  rOStream) const
inlinevirtual

◆ PrintInfo()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

◆ ResizeAndInitializeVectors()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ResizeAndInitializeVectors ( typename TSchemeType::Pointer  pScheme,
TSystemMatrixPointerType pA,
TSystemVectorPointerType pDx,
TSystemVectorPointerType pb,
ModelPart rModelPart 
)
inlinevirtual

◆ SetCalculateReactionsFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetCalculateReactionsFlag ( bool  flag)
inline

This method sets the flag mCalculateReactionsFlag.

Parameters
CalculateReactionsFlagThe flag that tells if the reactions are computed

◆ SetDofSetIsInitializedFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetDofSetIsInitializedFlag ( bool  DofSetIsInitialized)
inline

This method sets the flag mDofSetIsInitialized.

Parameters
DofSetIsInitializedThe flag that tells if the dof set is initialized

◆ SetEchoLevel()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetEchoLevel ( int  Level)
inline

It sets the level of echo for the solving strategy.

Parameters
LevelThe level to set

The different levels of echo are:

  • 0: Mute... no echo at all
  • 1: Printing time and basic information
  • 2: Printing linear solver data
  • 3: Print of debug information: Echo of stiffness matrix, Dx, b...
  • 4: Print of stiffness matrix, b to Matrix Market

◆ SetLinearSystemSolver()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetLinearSystemSolver ( typename TLinearSolver::Pointer  pLinearSystemSolver)
inline

This method sets the linear solver to be used.

Parameters
pLinearSystemSolverThe linear solver to be used

◆ SetReshapeMatrixFlag()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetReshapeMatrixFlag ( bool  ReshapeMatrixFlag)
inline

This method sets the flag mReshapeMatrixFlag.

Parameters
ReshapeMatrixFlagThe flag that tells if we need to reshape the LHS matrix

◆ SetUpDofSet()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetUpDofSet ( typename TSchemeType::Pointer  pScheme,
ModelPart rModelPart 
)
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

Parameters
pSchemeThe pointer to the integration scheme
rModelPartThe 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 >.

◆ SetUpSystem()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SetUpSystem ( ModelPart rModelPart)
inlinevirtual

◆ SystemSolve()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual void Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::SystemSolve ( TSystemMatrixType rA,
TSystemVectorType rDx,
TSystemVectorType rb 
)
inlinevirtual

◆ ValidateAndAssignParameters()

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
virtual Parameters Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::ValidateAndAssignParameters ( Parameters  ThisParameters,
const Parameters  DefaultParameters 
) const
inlineprotectedvirtual

This method validate and assign default parameters.

Parameters
rParametersParameters to be validated
DefaultParametersThe default parameters
Returns
Returns validated Parameters

Reimplemented in Kratos::ResidualBasedBlockBuilderAndSolverWithLagrangeMultiplier< TSparseSpace, TDenseSpace, TLinearSolver >.

Member Data Documentation

◆ mCalculateReactionsFlag

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mCalculateReactionsFlag = false
protected

Flag taking care if the dof set was initialized ot not.

◆ mDofSet

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
DofsArrayType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mDofSet
protected

Pointer to the linear solver.

◆ mDofSetIsInitialized

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mDofSetIsInitialized = false
protected

If the matrix is reshaped each step.

◆ mEchoLevel

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
int Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mEchoLevel = 0
protected

Number of degrees of freedom of the problem to be solve.

◆ mEquationSystemSize

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
unsigned int Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mEquationSystemSize
protected

Flag taking in account if it is needed or not to calculate the reactions.

◆ mpLinearSystemSolver

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TLinearSolver::Pointer Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mpLinearSystemSolver = nullptr
protected

◆ mpReactionsVector

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
TSystemVectorPointerType Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mpReactionsVector
protected

◆ mReshapeMatrixFlag

template<class TSparseSpace , class TDenseSpace , class TLinearSolver >
bool Kratos::BuilderAndSolver< TSparseSpace, TDenseSpace, TLinearSolver >::mReshapeMatrixFlag = false
protected

The set containing the DoF of the system.


The documentation for this class was generated from the following file: