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

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

#include <perturb_geometry_subgrid_utility.h>

Inheritance diagram for Kratos::PerturbGeometrySubgridUtility:
Collaboration diagram for Kratos::PerturbGeometrySubgridUtility:

Public Member Functions

Life Cycle
 PerturbGeometrySubgridUtility (ModelPart &rInitialModelPart, LinearSolverPointerType pEigenSolver, Parameters Settings)
 Constructor. More...
 
 ~PerturbGeometrySubgridUtility () override=default
 Destructor. More...
 
Operations
int CreateRandomFieldVectors () override
 Creates Eigenvectors of correlation matrix in a subgrid. More...
 
Input and output
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< TDenseSpaceType, TDenseSpaceTypeLinearSolverType
 
typedef LinearSolverType::Pointer LinearSolverPointerType
 
typedef ModelPart::NodesContainerType::ContainerType ResultNodesContainerType
 
 KRATOS_CLASS_POINTER_DEFINITION (PerturbGeometrySubgridUtility)
 Pointer definition of PerturbGeometrySubgridUtility. 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 reduced correlation matrix.

Random field is used to perturb initial geometry.

Author
Manuel Messmer

Member Typedef Documentation

◆ LinearSolverPointerType

◆ LinearSolverType

◆ ResultNodesContainerType

Constructor & Destructor Documentation

◆ PerturbGeometrySubgridUtility()

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

Constructor.

◆ ~PerturbGeometrySubgridUtility()

Kratos::PerturbGeometrySubgridUtility::~PerturbGeometrySubgridUtility ( )
overridedefault

Destructor.

Member Function Documentation

◆ CreateRandomFieldVectors()

int Kratos::PerturbGeometrySubgridUtility::CreateRandomFieldVectors ( )
overridevirtual

Creates Eigenvectors of correlation matrix in a subgrid.

Finds a subgrid (coarser mesh). Generates correlation matrix in subgrid. Decomposes correlation matrix.

Parameters
correlation_matrixCorrelation matrix. Stores correlation value for all nodes in the subgrid.
rPerturbationMatrixPerturbation matrix. Stores eigenvectors of correlation matrix (column-wise).

Implements Kratos::PerturbGeometryBaseUtility.

◆ Info()

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

Turn back information as a string.

Reimplemented from Kratos::PerturbGeometryBaseUtility.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::PerturbGeometrySubgridUtility::KRATOS_CLASS_POINTER_DEFINITION ( PerturbGeometrySubgridUtility  )

Pointer definition of PerturbGeometrySubgridUtility.

◆ PrintData()

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

Print object's data.

Reimplemented from Kratos::PerturbGeometryBaseUtility.

◆ PrintInfo()

void Kratos::PerturbGeometrySubgridUtility::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: