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::PerturbGeometryBaseUtility Class Referenceabstract

Base class for geometry perturbation utilities. More...

#include <perturb_geometry_base_utility.h>

Inheritance diagram for Kratos::PerturbGeometryBaseUtility:
Collaboration diagram for Kratos::PerturbGeometryBaseUtility:

Public Member Functions

Life Cycle
 PerturbGeometryBaseUtility (ModelPart &rInitialModelPart, Parameters Settings)
 Constructor. More...
 
virtual ~PerturbGeometryBaseUtility ()
 Destructor. More...
 
Operations
virtual int CreateRandomFieldVectors ()=0
 
void ApplyRandomFieldVectorsToGeometry (ModelPart &rThisModelPart, const std::vector< double > &variables)
 Assemble random field and apply to initial geometry. 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
double CorrelationFunction (ModelPart::NodeType &itNode1, ModelPart::NodeType &itNode2, double CorrelationLenth)
 Correlation function. More...
 

Protected Attributes

Protected member Variables
DenseMatrixPointerType mpPerturbationMatrix
 
ModelPartmrInitialModelPart
 
double mCorrelationLength
 
double mTruncationError
 
int mEchoLevel
 

Type Definitions

typedef TUblasSparseSpace< doubleTSparseSpaceType
 
typedef TUblasDenseSpace< doubleTDenseSpaceType
 
typedef TDenseSpaceType::MatrixPointerType DenseMatrixPointerType
 
typedef TDenseSpaceType::VectorType DenseVectorType
 
typedef TDenseSpaceType::MatrixType DenseMatrixType
 
 KRATOS_CLASS_POINTER_DEFINITION (PerturbGeometryBaseUtility)
 Pointer definition of PerturbGeometryBaseUtility. More...
 

Detailed Description

Base class for geometry perturbation utilities.

Author
Manuel Messmer

Member Typedef Documentation

◆ DenseMatrixPointerType

◆ DenseMatrixType

◆ DenseVectorType

◆ TDenseSpaceType

◆ TSparseSpaceType

Constructor & Destructor Documentation

◆ PerturbGeometryBaseUtility()

Kratos::PerturbGeometryBaseUtility::PerturbGeometryBaseUtility ( ModelPart rInitialModelPart,
Parameters  Settings 
)

Constructor.

◆ ~PerturbGeometryBaseUtility()

virtual Kratos::PerturbGeometryBaseUtility::~PerturbGeometryBaseUtility ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ ApplyRandomFieldVectorsToGeometry()

void Kratos::PerturbGeometryBaseUtility::ApplyRandomFieldVectorsToGeometry ( ModelPart rThisModelPart,
const std::vector< double > &  variables 
)

Assemble random field and apply to initial geometry.

Parameters
rPerturbationMatrixPerturbation matrix. Stores eigenvectors of correlation matrix (colum-wise).
random_fieldRandom field vector. Stores nodal deviations.

◆ CorrelationFunction()

double Kratos::PerturbGeometryBaseUtility::CorrelationFunction ( ModelPart::NodeType itNode1,
ModelPart::NodeType itNode2,
double  CorrelationLenth 
)
protected

Correlation function.

Returns
Correlation value of two nodes

◆ CreateRandomFieldVectors()

virtual int Kratos::PerturbGeometryBaseUtility::CreateRandomFieldVectors ( )
pure virtual

◆ Info()

virtual std::string Kratos::PerturbGeometryBaseUtility::Info ( ) const
inlinevirtual

Turn back information as a string.

Reimplemented in Kratos::PerturbGeometrySubgridUtility, and Kratos::PerturbGeometrySparseUtility.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::PerturbGeometryBaseUtility::KRATOS_CLASS_POINTER_DEFINITION ( PerturbGeometryBaseUtility  )

Pointer definition of PerturbGeometryBaseUtility.

◆ PrintData()

virtual void Kratos::PerturbGeometryBaseUtility::PrintData ( std::ostream &  rOStream) const
inlinevirtual

◆ PrintInfo()

virtual void Kratos::PerturbGeometryBaseUtility::PrintInfo ( std::ostream &  rOStream) const
inlinevirtual

Print information about this object.

Reimplemented in Kratos::PerturbGeometrySubgridUtility, and Kratos::PerturbGeometrySparseUtility.

Member Data Documentation

◆ mCorrelationLength

double Kratos::PerturbGeometryBaseUtility::mCorrelationLength
protected

◆ mEchoLevel

int Kratos::PerturbGeometryBaseUtility::mEchoLevel
protected

◆ mpPerturbationMatrix

DenseMatrixPointerType Kratos::PerturbGeometryBaseUtility::mpPerturbationMatrix
protected

◆ mrInitialModelPart

ModelPart& Kratos::PerturbGeometryBaseUtility::mrInitialModelPart
protected

◆ mTruncationError

double Kratos::PerturbGeometryBaseUtility::mTruncationError
protected

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