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.
Public Types | Public Member Functions | List of all members
Kratos::MultiaxialControlModuleGeneralized2DUtilities Class Reference

#include <multiaxial_control_module_generalized_2d_utilities.hpp>

Inheritance diagram for Kratos::MultiaxialControlModuleGeneralized2DUtilities:
Collaboration diagram for Kratos::MultiaxialControlModuleGeneralized2DUtilities:

Public Types

typedef std::size_t IndexType
 Definition of the index type. More...
 
typedef Table< double, doubleTableType
 Defining a table with double argument and result type as table type. More...
 

Public Member Functions

 KRATOS_CLASS_POINTER_DEFINITION (MultiaxialControlModuleGeneralized2DUtilities)
 
 MultiaxialControlModuleGeneralized2DUtilities (ModelPart &rDemModelPart, ModelPart &rFemModelPart, Parameters &rParameters)
 Default constructor. More...
 
virtual ~MultiaxialControlModuleGeneralized2DUtilities ()
 Destructor. More...
 
virtual void ExecuteInitialize ()
 
virtual void ExecuteInitializeSolutionStep ()
 
virtual void ExecuteFinalizeSolutionStep ()
 
Input and output
virtual std::string Info () const
 Turn back information as a stemplate<class T, std::size_t dim> tring. 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 Vector MeasureReactionStress (const Variable< array_1d< double, 3 >> &rVariable)
 
Vector GetPerturbations (const Vector &rTargetStress, const double &rTime)
 
double GetConditionNumber (const Matrix &rInputMatrix, const Matrix &rInvertedMatrix)
 
void CalculateVelocity (const Vector &r_next_target_stress, const double &r_current_time)
 
void CalculateAcceleration (const Vector &r_next_target_stress, const double &r_current_time)
 
void CalculateStiffness ()
 
void CalculateMaximumInputStressVariationRate ()
 
void AddTableToSubModelPart (const unsigned int TableId, const Parameters TableParameters, ModelPart *pSubModelPart)
 
Parameters GetDefaultParametersForRadialActuator ()
 
Parameters GetDefaultParametersForRadialMultiDofsActuator ()
 
Parameters GetDefaultParametersForZActuator ()
 
Parameters GetDefaultParametersForXOrYActuator ()
 
void SetProvidedInitialVelocityToTheControlledBoundaries ()
 

Protected Attributes

Protected static Member r_variables
ModelPartmrDemModelPart
 
ModelPartmrFemModelPart
 
double mCMDeltaTime
 
double mCMTime
 
double mKDeltaTime
 
double mKTime
 
unsigned int mStep
 
unsigned int mCMStep
 
unsigned int mKStep
 
unsigned int mActuatorCounter
 
double mPerturbationTolerance
 
unsigned int mPerturbationPeriod
 
double mMaxReactionCorrectionFraction
 
double mStiffnessAlpha
 
double mVelocityAlpha
 
double mReactionAlpha
 
double mMaximumInputStressVariationRate
 
std::vector< std::string > mVectorOfActuatorNames
 
std::map< std::string, std::vector< ModelPart * > > mListsOfFEMSubModelPartsForEachActuator
 
std::map< std::string, std::vector< ModelPart * > > mListsOfDEMSubModelPartsForEachActuator
 FEM SubModelParts associated to each boundary of every actuator. More...
 
std::map< std::string, std::vector< array_1d< double, 3 > > > mFEMOuterNormals
 DEM SubModelParts associated to each boundary of every actuator. More...
 
std::map< std::string, unsigned intmTargetStressTableIds
 OuterNormal associated to each FEM boundary of every actuator. More...
 
Vector mVelocity
 TargetStressTableIds associated to every actuator. More...
 
Vector mAcceleration
 
Vector mReactionStress
 
Vector mReactionStressOld
 
Vector mDisplacement
 
Vector mDisplacementOld
 
Vector mElasticReactionStress
 
Matrix mStiffness
 
Matrix mDeltaDisplacement
 
Matrix mDeltaReactionStress
 
double mNormOfInitiallyEstimatedStiffness
 
double mMaxNodalVelocityForMultiDofs = 0.0
 
double mCompressionLengthForMultiDofs = 0.0
 

Member Typedef Documentation

◆ IndexType

Definition of the index type.

◆ TableType

Defining a table with double argument and result type as table type.

Constructor & Destructor Documentation

◆ MultiaxialControlModuleGeneralized2DUtilities()

Kratos::MultiaxialControlModuleGeneralized2DUtilities::MultiaxialControlModuleGeneralized2DUtilities ( ModelPart rDemModelPart,
ModelPart rFemModelPart,
Parameters rParameters 
)

Default constructor.

◆ ~MultiaxialControlModuleGeneralized2DUtilities()

virtual Kratos::MultiaxialControlModuleGeneralized2DUtilities::~MultiaxialControlModuleGeneralized2DUtilities ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ AddTableToSubModelPart()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::AddTableToSubModelPart ( const unsigned int  TableId,
const Parameters  TableParameters,
ModelPart pSubModelPart 
)
protected

◆ CalculateAcceleration()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::CalculateAcceleration ( const Vector r_next_target_stress,
const double r_current_time 
)
protected

◆ CalculateMaximumInputStressVariationRate()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::CalculateMaximumInputStressVariationRate ( )
protected

◆ CalculateStiffness()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::CalculateStiffness ( )
protected

◆ CalculateVelocity()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::CalculateVelocity ( const Vector r_next_target_stress,
const double r_current_time 
)
protected

◆ ExecuteFinalizeSolutionStep()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::ExecuteFinalizeSolutionStep ( )
virtual

◆ ExecuteInitialize()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::ExecuteInitialize ( )
virtual

◆ ExecuteInitializeSolutionStep()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::ExecuteInitializeSolutionStep ( )
virtual

◆ GetConditionNumber()

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetConditionNumber ( const Matrix rInputMatrix,
const Matrix rInvertedMatrix 
)
protected

◆ GetDefaultParametersForRadialActuator()

Parameters Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetDefaultParametersForRadialActuator ( )
protected

◆ GetDefaultParametersForRadialMultiDofsActuator()

Parameters Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetDefaultParametersForRadialMultiDofsActuator ( )
protected

◆ GetDefaultParametersForXOrYActuator()

Parameters Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetDefaultParametersForXOrYActuator ( )
protected

◆ GetDefaultParametersForZActuator()

Parameters Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetDefaultParametersForZActuator ( )
protected

◆ GetPerturbations()

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::GetPerturbations ( const Vector rTargetStress,
const double rTime 
)
protected

◆ Info()

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

Turn back information as a stemplate<class T, std::size_t dim> tring.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::MultiaxialControlModuleGeneralized2DUtilities::KRATOS_CLASS_POINTER_DEFINITION ( MultiaxialControlModuleGeneralized2DUtilities  )

◆ MeasureReactionStress()

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::MeasureReactionStress ( const Variable< array_1d< double, 3 >> &  rVariable)
protectedvirtual

◆ PrintData()

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

Print object's data.

◆ PrintInfo()

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

Print information about this object.

◆ SetProvidedInitialVelocityToTheControlledBoundaries()

void Kratos::MultiaxialControlModuleGeneralized2DUtilities::SetProvidedInitialVelocityToTheControlledBoundaries ( )
protected

Member Data Documentation

◆ mAcceleration

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mAcceleration
protected

◆ mActuatorCounter

unsigned int Kratos::MultiaxialControlModuleGeneralized2DUtilities::mActuatorCounter
protected

◆ mCMDeltaTime

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mCMDeltaTime
protected

◆ mCMStep

unsigned int Kratos::MultiaxialControlModuleGeneralized2DUtilities::mCMStep
protected

◆ mCMTime

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mCMTime
protected

◆ mCompressionLengthForMultiDofs

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mCompressionLengthForMultiDofs = 0.0
protected

◆ mDeltaDisplacement

Matrix Kratos::MultiaxialControlModuleGeneralized2DUtilities::mDeltaDisplacement
protected

◆ mDeltaReactionStress

Matrix Kratos::MultiaxialControlModuleGeneralized2DUtilities::mDeltaReactionStress
protected

◆ mDisplacement

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mDisplacement
protected

◆ mDisplacementOld

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mDisplacementOld
protected

◆ mElasticReactionStress

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mElasticReactionStress
protected

◆ mFEMOuterNormals

std::map<std::string, std::vector<array_1d<double,3> > > Kratos::MultiaxialControlModuleGeneralized2DUtilities::mFEMOuterNormals
protected

DEM SubModelParts associated to each boundary of every actuator.

◆ mKDeltaTime

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mKDeltaTime
protected

◆ mKStep

unsigned int Kratos::MultiaxialControlModuleGeneralized2DUtilities::mKStep
protected

◆ mKTime

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mKTime
protected

◆ mListsOfDEMSubModelPartsForEachActuator

std::map<std::string, std::vector<ModelPart*> > Kratos::MultiaxialControlModuleGeneralized2DUtilities::mListsOfDEMSubModelPartsForEachActuator
protected

FEM SubModelParts associated to each boundary of every actuator.

◆ mListsOfFEMSubModelPartsForEachActuator

std::map<std::string, std::vector<ModelPart*> > Kratos::MultiaxialControlModuleGeneralized2DUtilities::mListsOfFEMSubModelPartsForEachActuator
protected

◆ mMaximumInputStressVariationRate

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mMaximumInputStressVariationRate
protected

◆ mMaxNodalVelocityForMultiDofs

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mMaxNodalVelocityForMultiDofs = 0.0
protected

◆ mMaxReactionCorrectionFraction

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mMaxReactionCorrectionFraction
protected

◆ mNormOfInitiallyEstimatedStiffness

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mNormOfInitiallyEstimatedStiffness
protected

◆ mPerturbationPeriod

unsigned int Kratos::MultiaxialControlModuleGeneralized2DUtilities::mPerturbationPeriod
protected

◆ mPerturbationTolerance

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mPerturbationTolerance
protected

◆ mrDemModelPart

ModelPart& Kratos::MultiaxialControlModuleGeneralized2DUtilities::mrDemModelPart
protected

◆ mReactionAlpha

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mReactionAlpha
protected

◆ mReactionStress

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mReactionStress
protected

◆ mReactionStressOld

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mReactionStressOld
protected

◆ mrFemModelPart

ModelPart& Kratos::MultiaxialControlModuleGeneralized2DUtilities::mrFemModelPart
protected

◆ mStep

unsigned int Kratos::MultiaxialControlModuleGeneralized2DUtilities::mStep
protected

◆ mStiffness

Matrix Kratos::MultiaxialControlModuleGeneralized2DUtilities::mStiffness
protected

◆ mStiffnessAlpha

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mStiffnessAlpha
protected

◆ mTargetStressTableIds

std::map<std::string, unsigned int> Kratos::MultiaxialControlModuleGeneralized2DUtilities::mTargetStressTableIds
protected

OuterNormal associated to each FEM boundary of every actuator.

◆ mVectorOfActuatorNames

std::vector<std::string> Kratos::MultiaxialControlModuleGeneralized2DUtilities::mVectorOfActuatorNames
protected

◆ mVelocity

Vector Kratos::MultiaxialControlModuleGeneralized2DUtilities::mVelocity
protected

TargetStressTableIds associated to every actuator.

◆ mVelocityAlpha

double Kratos::MultiaxialControlModuleGeneralized2DUtilities::mVelocityAlpha
protected

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