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.
|
Typedefs | |
typedef Element | ElementType |
typedef std::size_t | SizeType |
typedef Matrix | MatrixType |
Functions | |
void | CondenseLeftHandSide (ElementType &rTheElement, MatrixType &rLeftHandSideMatrix, const std::vector< int > &rDofList) |
This function is the main operation of this utility. It sorts the reference matrix w.r.t. the given dofs and condenses the reference matrix by using the following inputs: More... | |
std::vector< MatrixType > | CalculateSchurComplements (ElementType &rTheElement, const MatrixType &rLeftHandSideMatrix, const std::vector< int > &rDofList) |
This function calculates the 4 schur-complements linking the dofs to be condensed to the dofs to remain by using the following inputs: More... | |
std::vector< int > | CreateRemainingDofList (ElementType &rTheElement, const std::vector< int > &rDofList) |
This function creates a list containing all dofs to remain by using the following inputs: More... | |
void | FillSchurComplements (MatrixType &Submatrix, const MatrixType &rLeftHandSideMatrix, const std::vector< int > &rVecA, const std::vector< int > &rVecB, const SizeType &rSizeA, const SizeType &rSizeB) |
This function creates the single schur-complements, called by CalculateSchurComplements, by using the following inputs: More... | |
void | ConvertingCondensation (ElementType &rTheElement, Vector &rLocalizedDofVector, Vector &rValues, const std::vector< int > &rDofList, const MatrixType &rLeftHandSideMatrix) |
This function re-calculates the condensed degree of freedom in relation to the remaining dofs by using the following inputs: More... | |
SizeType | GetNumDofsElement (const ElementType &rTheElement) |
This function returns the number of dofs of the respective element by using the following input: More... | |
typedef std::size_t Kratos::StaticCondensationUtility::SizeType |
std::vector<MatrixType> Kratos::StaticCondensationUtility::CalculateSchurComplements | ( | ElementType & | rTheElement, |
const MatrixType & | rLeftHandSideMatrix, | ||
const std::vector< int > & | rDofList | ||
) |
This function calculates the 4 schur-complements linking the dofs to be condensed to the dofs to remain by using the following inputs:
rTheElement | The current element |
rLeftHandSideMatrix | The matrix which will be condensed |
rDofList | The list containing the dofs to be condensed |
void Kratos::StaticCondensationUtility::CondenseLeftHandSide | ( | ElementType & | rTheElement, |
MatrixType & | rLeftHandSideMatrix, | ||
const std::vector< int > & | rDofList | ||
) |
This function is the main operation of this utility. It sorts the reference matrix w.r.t. the given dofs and condenses the reference matrix by using the following inputs:
rTheElement | The current element |
rLeftHandSideMatrix | The matrix which will be condensed |
rDofList | The list containing the dofs to be condensed |
void Kratos::StaticCondensationUtility::ConvertingCondensation | ( | ElementType & | rTheElement, |
Vector & | rLocalizedDofVector, | ||
Vector & | rValues, | ||
const std::vector< int > & | rDofList, | ||
const MatrixType & | rLeftHandSideMatrix | ||
) |
This function re-calculates the condensed degree of freedom in relation to the remaining dofs by using the following inputs:
rTheElement | The current element |
rLocalizedDofVector | The localized remaining dof values @rValues rValues The complete localized dof values after re-calculation @rDofList rValues The list containing the dofs to be condensed @rLeftHandSideMatrix The matrix which will be condensed |
std::vector< int > Kratos::StaticCondensationUtility::CreateRemainingDofList | ( | ElementType & | rTheElement, |
const std::vector< int > & | rDofList | ||
) |
This function creates a list containing all dofs to remain by using the following inputs:
rTheElement | The current element |
rDofList | The list containing the dofs to be condensed |
void Kratos::StaticCondensationUtility::FillSchurComplements | ( | MatrixType & | Submatrix, |
const MatrixType & | rLeftHandSideMatrix, | ||
const std::vector< int > & | rVecA, | ||
const std::vector< int > & | rVecB, | ||
const SizeType & | rSizeA, | ||
const SizeType & | rSizeB | ||
) |
This function creates the single schur-complements, called by CalculateSchurComplements, by using the following inputs:
Submatrix | The current submatrix to be filled (schur-complement i) |
rLeftHandSideMatrix | The matrix which will be condensed |
rVecA | RemainingDofs or CondensedDof (according to schur-complement i) |
rVecB | RemainingDofs or CondensedDof (according to schur-complement i) |
rSizeA | Size of RemainingDofs or CondensedDof (according to schur-complement i) |
rSizeB | Size of RemainingDofs or CondensedDof (according to schur-complement i) |
SizeType Kratos::StaticCondensationUtility::GetNumDofsElement | ( | const ElementType & | rTheElement | ) |
This function returns the number of dofs of the respective element by using the following input:
rTheElement | The current element |