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::PerturbGeometrySparseUtility Class Reference

This class generates a random field based on a sparse correlation matrix. More...

#include <perturb_geometry_sparse_utility.h>

Inheritance diagram for Kratos::PerturbGeometrySparseUtility:
Collaboration diagram for Kratos::PerturbGeometrySparseUtility:

Public Member Functions

Life Cycle
 PerturbGeometrySparseUtility (ModelPart &rInitialModelPart, LinearSolverPointerType pEigenSolver, Parameters Settings)
 Constructor. More...
 
 ~PerturbGeometrySparseUtility () override=default
 Destructor. More...
 
Operations
int CreateRandomFieldVectors () override
 Creates Eigenvectors of a sparse correlation matrix. More...
 
std::string Info () const override
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const override
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const override
 Print object's data. More...
 
- Public Member Functions inherited from Kratos::PerturbGeometryBaseUtility
 PerturbGeometryBaseUtility (ModelPart &rInitialModelPart, Parameters Settings)
 Constructor. More...
 
virtual ~PerturbGeometryBaseUtility ()
 Destructor. More...
 
void ApplyRandomFieldVectorsToGeometry (ModelPart &rThisModelPart, const std::vector< double > &variables)
 Assemble random field and apply to initial geometry. More...
 
 KRATOS_CLASS_POINTER_DEFINITION (PerturbGeometryBaseUtility)
 Pointer definition of PerturbGeometryBaseUtility. More...
 

Type Definitions

typedef LinearSolver< TSparseSpaceType, TDenseSpaceTypeLinearSolverType
 
typedef LinearSolverType::Pointer LinearSolverPointerType
 
typedef ModelPart::NodesContainerType::ContainerType ResultNodesContainerType
 
typedef TSparseSpaceType::MatrixType SparseMatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (PerturbGeometrySparseUtility)
 Pointer definition of PerturbGeometrySparseUtility. More...
 

Additional Inherited Members

- Public Types inherited from Kratos::PerturbGeometryBaseUtility
typedef TUblasSparseSpace< doubleTSparseSpaceType
 
typedef TUblasDenseSpace< doubleTDenseSpaceType
 
typedef TDenseSpaceType::MatrixPointerType DenseMatrixPointerType
 
typedef TDenseSpaceType::VectorType DenseVectorType
 
typedef TDenseSpaceType::MatrixType DenseMatrixType
 
- Protected Member Functions inherited from Kratos::PerturbGeometryBaseUtility
double CorrelationFunction (ModelPart::NodeType &itNode1, ModelPart::NodeType &itNode2, double CorrelationLenth)
 Correlation function. More...
 
- Protected Attributes inherited from Kratos::PerturbGeometryBaseUtility
DenseMatrixPointerType mpPerturbationMatrix
 
ModelPartmrInitialModelPart
 
double mCorrelationLength
 
double mTruncationError
 
int mEchoLevel
 

Detailed Description

This class generates a random field based on a sparse correlation matrix.

Random field is used to perturb initial geometry.

Author
Manuel Messmer

Member Typedef Documentation

◆ LinearSolverPointerType

◆ LinearSolverType

◆ ResultNodesContainerType

◆ SparseMatrixType

Constructor & Destructor Documentation

◆ PerturbGeometrySparseUtility()

Kratos::PerturbGeometrySparseUtility::PerturbGeometrySparseUtility ( ModelPart rInitialModelPart,
LinearSolverPointerType  pEigenSolver,
Parameters  Settings 
)
inline

Constructor.

◆ ~PerturbGeometrySparseUtility()

Kratos::PerturbGeometrySparseUtility::~PerturbGeometrySparseUtility ( )
overridedefault

Destructor.

Member Function Documentation

◆ CreateRandomFieldVectors()

int Kratos::PerturbGeometrySparseUtility::CreateRandomFieldVectors ( )
overridevirtual

Creates Eigenvectors of a sparse correlation matrix.

Generates sparse correlation matrix. Decomposes correlation matrix.

Parameters
correlation_matrixCorrelation matrix. Stores correlation value for all nodes.
rPerturbationMatrixPerturbation matrix. Stores eigenvectors of correlation matrix (colum-wise).

Implements Kratos::PerturbGeometryBaseUtility.

◆ Info()

std::string Kratos::PerturbGeometrySparseUtility::Info ( ) const
inlineoverridevirtual

Turn back information as a string.

Reimplemented from Kratos::PerturbGeometryBaseUtility.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::PerturbGeometrySparseUtility::KRATOS_CLASS_POINTER_DEFINITION ( PerturbGeometrySparseUtility  )

Pointer definition of PerturbGeometrySparseUtility.

◆ PrintData()

void Kratos::PerturbGeometrySparseUtility::PrintData ( std::ostream &  rOStream) const
inlineoverridevirtual

Print object's data.

Reimplemented from Kratos::PerturbGeometryBaseUtility.

◆ PrintInfo()

void Kratos::PerturbGeometrySparseUtility::PrintInfo ( std::ostream &  rOStream) const
inlineoverridevirtual

Print information about this object.

Reimplemented from Kratos::PerturbGeometryBaseUtility.


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