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.
|
This class allows to add a master-slave constraint which is of the form SlaveDofVector = T * MasterDofVector + ConstantVector. More...
#include <linear_master_slave_constraint.h>
Public Member Functions | |
Life Cycle | |
LinearMasterSlaveConstraint (IndexType Id=0) | |
The default constructor. More... | |
LinearMasterSlaveConstraint (IndexType Id, DofPointerVectorType &rMasterDofsVector, DofPointerVectorType &rSlaveDofsVector, const MatrixType &rRelationMatrix, const VectorType &rConstantVector) | |
Constructor by passing a vector of Master and slave dofs and corresponding Matrix and constant vector. More... | |
LinearMasterSlaveConstraint (IndexType Id, NodeType &rMasterNode, const VariableType &rMasterVariable, NodeType &rSlaveNode, const VariableType &rSlaveVariable, const double Weight, const double Constant) | |
Constructor by passing a single Master and slave dofs and corresponding weight and constant for a variable component. More... | |
~LinearMasterSlaveConstraint () override | |
Destructor. More... | |
LinearMasterSlaveConstraint (const LinearMasterSlaveConstraint &rOther) | |
Copy Constructor. More... | |
LinearMasterSlaveConstraint & | operator= (const LinearMasterSlaveConstraint &rOther) |
Assignment operator. More... | |
Operations | |
MasterSlaveConstraint::Pointer | Create (IndexType Id, DofPointerVectorType &rMasterDofsVector, DofPointerVectorType &rSlaveDofsVector, const MatrixType &rRelationMatrix, const VectorType &rConstantVector) const override |
Create method by passing a single Master and slave dofs and corresponding weight and constant for a variable component. More... | |
MasterSlaveConstraint::Pointer | Create (IndexType Id, NodeType &rMasterNode, const VariableType &rMasterVariable, NodeType &rSlaveNode, const VariableType &rSlaveVariable, const double Weight, const double Constant) const override |
Create method by passing a single Master and slave dofs and corresponding weight and constant for a variable component. More... | |
MasterSlaveConstraint::Pointer | Clone (IndexType NewId) const override |
It creates a new constraint pointer and clones the previous constraint data. More... | |
void | GetDofList (DofPointerVectorType &rSlaveDofsVector, DofPointerVectorType &rMasterDofsVector, const ProcessInfo &rCurrentProcessInfo) const override |
Determines the constrant's slvae and master list of DOFs. More... | |
void | SetDofList (const DofPointerVectorType &rSlaveDofsVector, const DofPointerVectorType &rMasterDofsVector, const ProcessInfo &rCurrentProcessInfo) override |
Determines the constrant's slave and master list of DOFs. More... | |
void | EquationIdVector (EquationIdVectorType &rSlaveEquationIds, EquationIdVectorType &rMasterEquationIds, const ProcessInfo &rCurrentProcessInfo) const override |
This determines the master equation IDs connected to this constraint. More... | |
const DofPointerVectorType & | GetSlaveDofsVector () const override |
This method returns the slave dof vector. More... | |
void | SetSlaveDofsVector (const DofPointerVectorType &rSlaveDofsVector) override |
This method returns the slave dof vector. More... | |
const DofPointerVectorType & | GetMasterDofsVector () const override |
This method returns the slave dof vector. More... | |
void | SetMasterDofsVector (const DofPointerVectorType &rMasterDofsVector) override |
This method returns the slave dof vector. More... | |
void | ResetSlaveDofs (const ProcessInfo &rCurrentProcessInfo) override |
This method resets the values of the slave dofs. More... | |
void | Apply (const ProcessInfo &rCurrentProcessInfo) override |
This method directly applies the master/slave relationship. More... | |
void | SetLocalSystem (const MatrixType &rRelationMatrix, const VectorType &rConstantVector, const ProcessInfo &rCurrentProcessInfo) override |
This method allows to set the Local System in case is not computed on tunning time (internal variable) More... | |
void | CalculateLocalSystem (MatrixType &rRelationMatrix, VectorType &rConstantVector, const ProcessInfo &rCurrentProcessInfo) const override |
This is called during the assembling process in order. More... | |
Input and output | |
std::string | GetInfo () const override |
Returns the string containing a detailed description of this object. More... | |
void | PrintInfo (std::ostream &rOStream) const override |
This method prints the current Constraint Id. More... | |
Public Member Functions inherited from Kratos::MasterSlaveConstraint | |
MasterSlaveConstraint (IndexType Id=0) | |
The default constructor. More... | |
virtual | ~MasterSlaveConstraint () override |
Destructor. More... | |
MasterSlaveConstraint (const MasterSlaveConstraint &rOther) | |
Copy Constructor. More... | |
MasterSlaveConstraint & | operator= (const MasterSlaveConstraint &rOther) |
Assignment operator. More... | |
virtual void | Clear () |
Clears the maps contents. More... | |
virtual void | Initialize (const ProcessInfo &rCurrentProcessInfo) |
It is called to initialize the constraint. More... | |
virtual void | Finalize (const ProcessInfo &rCurrentProcessInfo) |
It is called to finalize the constraint. More... | |
virtual void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) |
This is called in the beginning of each solution step. More... | |
virtual void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
virtual void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) |
This is called for non-linear analysis at the end of the iteration process. More... | |
virtual void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) |
This is called at the end of each solution step. More... | |
virtual void | GetLocalSystem (MatrixType &rRelationMatrix, VectorType &rConstantVector, const ProcessInfo &rCurrentProcessInfo) const |
This method allows to get the Local System in case is not computed on running time (internal variable) More... | |
virtual int | Check (const ProcessInfo &rCurrentProcessInfo) const |
This method provides the place to perform checks on the completeness of the input and the compatibility with the problem options. More... | |
DataValueContainer & | Data () |
This method returns the data container of the constraint. More... | |
DataValueContainer const & | GetData () const |
This method returns the data container of the constraint (constant) More... | |
void | SetData (DataValueContainer const &rThisData) |
This method sets the data container of the constraint. More... | |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
Check if the Data exists with Has(..) methods: More... | |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
Set Data with SetValue and the Variable to set. More... | |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
Get Data with GetValue and the Variable to get. More... | |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) const |
Get Data with GetValue and the Variable to get. More... | |
bool | IsActive () const |
Checks if the GeometricalObject is active. More... | |
KRATOS_CLASS_POINTER_DEFINITION (MasterSlaveConstraint) | |
Pointer definition of MasterSlaveConstraint. More... | |
Public Member Functions inherited from Kratos::IndexedObject | |
IndexedObject (IndexType NewId=0) | |
Default constructor. More... | |
virtual | ~IndexedObject () |
Destructor. More... | |
IndexedObject (IndexedObject const &rOther) | |
Copy constructor. More... | |
IndexedObject & | operator= (IndexedObject const &rOther) |
Assignment operator. More... | |
template<class TObjectType > | |
IndexType | operator() (TObjectType const &rThisObject) const |
IndexType | Id () const |
IndexType | GetId () const |
virtual void | SetId (IndexType NewId) |
IndexType & | DepricatedIdAccess () |
TODO: remove this function when removing data_file_io object. More... | |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (IndexedObject) | |
Pointer definition of IndexedObject. More... | |
Public Member Functions inherited from Kratos::Flags | |
Flags & | operator= (Flags const &rOther) |
Assignment operator. More... | |
operator bool () const | |
Flags | operator~ () const |
bool | operator! () const |
void | AssignFlags (Flags const &rOther) |
void | Set (const Flags ThisFlag) |
void | Set (const Flags ThisFlag, bool Value) |
void | Reset (const Flags ThisFlag) |
void | Flip (const Flags ThisFlag) |
void | SetPosition (IndexType Position, bool Value=true) |
bool | GetPosition (IndexType Position) const |
void | FlipPosition (IndexType Position) |
void | ClearPosition (IndexType Position) |
void | Clear () |
Flags | AsFalse () const |
bool | Is (Flags const &rOther) const |
bool | IsDefined (Flags const &rOther) const |
bool | IsNot (Flags const &rOther) const |
bool | IsNotDefined (Flags const &rOther) const |
virtual std::string | Info () const |
Turn back information as a string. More... | |
virtual void | PrintData (std::ostream &rOStream) const |
Print object's data. More... | |
KRATOS_CLASS_POINTER_DEFINITION (Flags) | |
Pointer definition of Flags. More... | |
const Flags & | operator|= (const Flags &Other) |
const Flags & | operator&= (const Flags &Other) |
Flags () | |
Default constructor. More... | |
Flags (Flags const &rOther) | |
Copy constructor. More... | |
virtual | ~Flags () |
Destructor. More... | |
Protected Attributes | |
Protected member Variables | |
DofPointerVectorType | mSlaveDofsVector |
DofPointerVectorType | mMasterDofsVector |
The DoFs of slave side. More... | |
MatrixType | mRelationMatrix |
The DoFs of master side. More... | |
VectorType | mConstantVector |
The relation matrix between the master/slave DoF. More... | |
Type Definitions | |
typedef MasterSlaveConstraint | BaseType |
The definition of the base class, we take the rest of the definitions from the base class. More... | |
typedef BaseType::IndexType | IndexType |
The index type definition. More... | |
typedef BaseType::DofType | DofType |
The DoF type definition. More... | |
typedef BaseType::DofPointerVectorType | DofPointerVectorType |
The DoF pointer vector type definition. More... | |
typedef BaseType::NodeType | NodeType |
The node type definition. More... | |
typedef BaseType::EquationIdVectorType | EquationIdVectorType |
The equation Id vector type definition. More... | |
typedef BaseType::MatrixType | MatrixType |
The matrix type definition. More... | |
typedef BaseType::VectorType | VectorType |
The vector type definition. More... | |
typedef BaseType::VariableType | VariableType |
The variable type definition (double) More... | |
KRATOS_CLASS_POINTER_DEFINITION (LinearMasterSlaveConstraint) | |
Pointer definition of DataValueContainer. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::MasterSlaveConstraint | |
typedef IndexedObject | BaseType |
The definition of the base class. More... | |
typedef std::size_t | IndexType |
The index type definition. More... | |
typedef Dof< double > | DofType |
The DoF type definition. More... | |
typedef std::vector< DofType::Pointer > | DofPointerVectorType |
The DoF pointer vector type definition. More... | |
typedef Node | NodeType |
The node type definition. More... | |
typedef std::vector< std::size_t > | EquationIdVectorType |
The equation Id vector type definition. More... | |
typedef Matrix | MatrixType |
The matrix type definition. More... | |
typedef Vector | VectorType |
The vector type definition. More... | |
typedef Kratos::Variable< double > | VariableType |
The variable type definition (double) More... | |
Public Types inherited from Kratos::IndexedObject | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | result_type |
The definition of the result_type. More... | |
Public Types inherited from Kratos::Flags | |
enum | FlagsList { Flag0 = BlockType(1) , Flag1 = BlockType(1) << 1 , Flag2 = BlockType(1) << 2 , Flag3 = BlockType(1) << 3 , Flag4 = BlockType(1) << 4 , Flag5 = BlockType(1) << 5 , Flag6 = BlockType(1) << 6 , Flag7 = BlockType(1) << 7 , Flag8 = BlockType(1) << 8 , Flag9 = BlockType(1) << 9 , Flag10 = BlockType(1) << 10 , Flag11 = BlockType(1) << 11 , Flag12 = BlockType(1) << 12 , Flag13 = BlockType(1) << 13 , Flag14 = BlockType(1) << 14 , Flag15 = BlockType(1) << 15 , Flag16 = BlockType(1) << 16 , Flag17 = BlockType(1) << 17 , Flag18 = BlockType(1) << 18 , Flag19 = BlockType(1) << 19 , Flag20 = BlockType(1) << 20 , Flag21 = BlockType(1) << 21 , Flag22 = BlockType(1) << 22 , Flag23 = BlockType(1) << 23 , Flag24 = BlockType(1) << 24 , Flag25 = BlockType(1) << 25 , Flag26 = BlockType(1) << 26 , Flag27 = BlockType(1) << 27 , Flag28 = BlockType(1) << 28 , Flag29 = BlockType(1) << 29 , Flag30 = BlockType(1) << 30 } |
typedef int64_t | BlockType |
typedef int64_t | FlagType |
typedef std::size_t | IndexType |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
This class allows to add a master-slave constraint which is of the form SlaveDofVector = T * MasterDofVector + ConstantVector.
or
SlaveDof = weight * MasterDof + Constant
The data T and ConstantVector (or the equivalent scalars) are not stored in the base class, since they can be eventually evaluated runtime.
The definition of the base class, we take the rest of the definitions from the base class.
The DoF pointer vector type definition.
The DoF type definition.
The equation Id vector type definition.
The index type definition.
The matrix type definition.
The node type definition.
The variable type definition (double)
The vector type definition.
|
inlineexplicit |
The default constructor.
IndexType | The Id of the new created constraint |
|
inline |
Constructor by passing a vector of Master and slave dofs and corresponding Matrix and constant vector.
IndexType | The Id of the new created constraint |
rMasterDofsVector | The vector containing the DoF of the master side |
rSlaveDofsVector | The vector containing the DoF of the slave side |
rRelationMatrix | The relation matrix between the master/slave DoF |
rConstantVector | The vector containing the additional kinematic relationship |
Kratos::LinearMasterSlaveConstraint::LinearMasterSlaveConstraint | ( | IndexType | Id, |
NodeType & | rMasterNode, | ||
const VariableType & | rMasterVariable, | ||
NodeType & | rSlaveNode, | ||
const VariableType & | rSlaveVariable, | ||
const double | Weight, | ||
const double | Constant | ||
) |
Constructor by passing a single Master and slave dofs and corresponding weight and constant for a variable component.
IndexType | The Id of the new created constraint |
rMasterNode | The node of master side |
rMasterVariable | The variable of the master DoF |
rSlaveNode | The node of slave side |
rSlaveVariable | The variable of the slave DoF |
Weight | The relation between the master/slave DoF |
Constant | The additional kinematic relationship |
|
inlineoverride |
Destructor.
|
inline |
Copy Constructor.
|
overridevirtual |
This method directly applies the master/slave relationship.
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
|
overridevirtual |
This is called during the assembling process in order.
To calculate the relation between the master and slave.
rRelationMatrix | the matrix which relates the master and slave degree of freedom |
rConstant | The constant vector (one entry for each slave) |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
It creates a new constraint pointer and clones the previous constraint data.
NewId | the ID of the new constraint |
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
Create method by passing a single Master and slave dofs and corresponding weight and constant for a variable component.
IndexType | The Id of the new created constraint |
rMasterDofsVector | The DoFs of master side |
rSlaveDofsVector | The DoFs of master side |
rRelationMatrix | The relation matrix between the master/slave DoF |
rConstantVector | The vector containing the additional kinematic relationship |
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::ContactMasterSlaveConstraint.
|
inlineoverridevirtual |
Create method by passing a single Master and slave dofs and corresponding weight and constant for a variable component.
IndexType | The Id of the new created constraint |
rMasterNode | The node of master side |
rMasterVariable | The variable of the master DoF |
rSlaveNode | The node of slave side |
rSlaveVariable | The variable of the slave DoF |
Weight | The relation between the master/slave DoF |
Constant | The additional kinematic relationship |
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::ContactMasterSlaveConstraint.
|
overridevirtual |
This determines the master equation IDs connected to this constraint.
rSlaveEquationIds | The vector of slave equation ids. |
rMasterEquationIds | The vector of master equation ids. |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
Determines the constrant's slvae and master list of DOFs.
rSlaveDofsVector | The list of slave DOFs |
rMasterDofsVector | The list of slave DOFs |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
Returns the string containing a detailed description of this object.
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint, and Kratos::ContactMasterSlaveConstraint.
|
inlineoverridevirtual |
This method returns the slave dof vector.
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
This method returns the slave dof vector.
Reimplemented from Kratos::MasterSlaveConstraint.
Kratos::LinearMasterSlaveConstraint::KRATOS_CLASS_POINTER_DEFINITION | ( | LinearMasterSlaveConstraint | ) |
Pointer definition of DataValueContainer.
|
inline |
Assignment operator.
|
inlineoverridevirtual |
This method prints the current Constraint Id.
rOStream | The buffer where the information is given |
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint, and Kratos::ContactMasterSlaveConstraint.
|
overridevirtual |
This method resets the values of the slave dofs.
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
|
inlineoverridevirtual |
Determines the constrant's slave and master list of DOFs.
rSlaveDofsVector | The list of slave DOFs |
rMasterDofsVector | The list of slave DOFs |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint.
|
overridevirtual |
This method allows to set the Local System in case is not computed on tunning time (internal variable)
rRelationMatrix | the matrix which relates the master and slave degree of freedom |
rConstant | The constant vector (one entry for each slave) |
rCurrentProcessInfo | The current process info instance |
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint.
|
inlineoverridevirtual |
This method returns the slave dof vector.
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint.
|
inlineoverridevirtual |
This method returns the slave dof vector.
Reimplemented from Kratos::MasterSlaveConstraint.
Reimplemented in Kratos::SlipConstraint.
|
friend |
|
protected |
The relation matrix between the master/slave DoF.
|
protected |
The DoFs of slave side.
|
protected |
The DoFs of master side.
|
protected |