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.
|
Topology Optimization Small Displacement Element for 3D geometries. More...
#include <small_displacement_simp_element.h>
Public Member Functions | |
Life Cycle | |
SmallDisplacementSIMPElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructors. More... | |
SmallDisplacementSIMPElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
SmallDisplacementSIMPElement (SmallDisplacementSIMPElement const &rOther) | |
Copy constructor. More... | |
~SmallDisplacementSIMPElement () override | |
Destructor. More... | |
Operators | |
SmallDisplacementSIMPElement & | operator= (SmallDisplacementSIMPElement const &rOther) |
Assignment operator. More... | |
Operations | |
Element::Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override |
Called to initialize the element. More... | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Creates a new element. More... | |
Element::Pointer | Clone (IndexType NewId, NodesArrayType const &rThisNodes) const override |
It creates a new element pointer and clones the previous element data. More... | |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Function that gets the value on the Integration Point (For printing purposes in the output GiD) More... | |
void | Calculate (const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Function to calculate the sensitivities and the objective function. 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::SmallDisplacement | |
SmallDisplacement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
SmallDisplacement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
SmallDisplacement (SmallDisplacement const &rOther) | |
~SmallDisplacement () override | |
Destructor. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (SmallDisplacement) | |
Counted pointer of SmallDisplacement. More... | |
Public Member Functions inherited from Kratos::BaseSolidElement | |
BaseSolidElement () | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
BaseSolidElement (BaseSolidElement const &rOther) | |
~BaseSolidElement () override | |
BaseSolidElement () | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
BaseSolidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
BaseSolidElement (BaseSolidElement const &rOther) | |
~BaseSolidElement () override | |
void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
Called to initialize the element. More... | |
void | ResetConstitutiveLaw () override |
This resets the constitutive law. More... | |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the beginning of each solution step. More... | |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the end of eahc solution step. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rResult the ID's of the element degrees of freedom. More... | |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rElementalDofList the degrees of freedom of the considered element geometry. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
Returns the used integration method. More... | |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal displacements. More... | |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal velocities. More... | |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal accelerations. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This function provides a more general interface to the element. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental left hand side matrix only. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental right hand side vector only. More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental mass matrix. More... | |
void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental damping matrix. More... | |
void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a boolean Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a integer Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 3 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 6 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Vector Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Matrix Variable on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a bool Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a int Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a double Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Vector Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Matrix Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Constitutive Law Value on the Element. More... | |
void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Get on rVariable Constitutive Law from the element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, const std::vector< array_1d< double, 3 > > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 3 compoenents Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 > > &rVariable, const std::vector< array_1d< double, 6 > > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 6 compoenents Value on the Element. More... | |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
void | CalculateRayleighDampingMatrix (Element &rElement, Element::MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo, const std::size_t MatrixSize) |
void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
Called to initialize the element. More... | |
void | ResetConstitutiveLaw () override |
This resets the constitutive law. More... | |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the beginning of each solution step. More... | |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
This is called for non-linear analysis at the beginning of the iteration process. More... | |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
Called at the end of eahc solution step. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rResult the ID's of the element degrees of freedom. More... | |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
Sets on rElementalDofList the degrees of freedom of the considered element geometry. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
Returns the used integration method. More... | |
virtual bool | UseGeometryIntegrationMethod () const |
virtual const GeometryType::IntegrationPointsArrayType | IntegrationPoints () const |
virtual const GeometryType::IntegrationPointsArrayType | IntegrationPoints (IntegrationMethod ThisMethod) const |
virtual const Matrix & | ShapeFunctionsValues (IntegrationMethod ThisMethod) const |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal displacements. More... | |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal velocities. More... | |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
Sets on rValues the nodal accelerations. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This function provides a more general interface to the element. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental left hand side matrix only. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental right hand side vector only. More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable (double version) More... | |
void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable (array_1d<double, 3>) version rDestinationVariable. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental mass matrix. More... | |
void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override |
This is called during the assembling process in order to calculate the elemental damping matrix. More... | |
void | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a boolean Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a integer Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 3 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a 6 components array_1d on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Vector Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Calculate a Matrix Variable on the Element Constitutive Law. More... | |
void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Get on rVariable Constitutive Law from the element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a bool Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a int Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a double Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Vector Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Matrix Value on the Element Constitutive Law. More... | |
void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a Constitutive Law Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 3 compoenents Value on the Element. More... | |
void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Set a array of 6 compoenents Value on the Element. More... | |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
This function provides the place to perform checks on the completeness of the input. More... | |
const Parameters | GetSpecifications () const override |
This method provides the specifications/requirements of the element. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (BaseSolidElement) | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (BaseSolidElement) | |
KRATOS_DEFINE_LOCAL_FLAG (ROTATED) | |
Public Member Functions inherited from Kratos::Element | |
Element (IndexType NewId=0) | |
Element (IndexType NewId, const NodesArrayType &ThisNodes) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry) | |
Element (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Element (Element const &rOther) | |
Copy constructor. More... | |
~Element () override | |
Destructor. More... | |
Element & | operator= (Element const &rOther) |
Assignment operator. More... | |
virtual void | CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const MatrixType &rLHSMatrix, const Variable< MatrixType > &rLHSVariable, const Variable< Matrix > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) |
This function is designed to make the element to assemble an rRHS vector identified by a variable rRHSVariable by assembling it to the nodes on the variable rDestinationVariable. (This is the matrix version) More... | |
virtual void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, std::vector< array_1d< double, 4 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, std::vector< array_1d< double, 9 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 4 >> &rVariable, const std::vector< array_1d< double, 4 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 9 >> &rVariable, const std::vector< array_1d< double, 9 >> &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | MassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddMassMatrix (MatrixType &rLeftHandSideMatrix, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | DampMatrix (MatrixType &rDampMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddInertiaForces (VectorType &rRightHandSideVector, double coeff, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< double > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateSensitivityMatrix (const Variable< array_1d< double, 3 > > &rDesignVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) |
PropertiesType::Pointer | pGetProperties () |
returns the pointer to the property of the element. Does not throw an error, to allow copying of elements which don't have any property assigned. More... | |
const PropertiesType::Pointer | pGetProperties () const |
PropertiesType & | GetProperties () |
PropertiesType const & | GetProperties () const |
void | SetProperties (PropertiesType::Pointer pProperties) |
bool | HasProperties () const |
Check that the Element has a correctly initialized pointer to a Properties instance. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Element) | |
Public Member Functions inherited from Kratos::GeometricalObject | |
GeometricalObject (IndexType NewId=0) | |
Default constructor. More... | |
GeometricalObject (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructor. More... | |
~GeometricalObject () override | |
Destructor. More... | |
GeometricalObject (GeometricalObject const &rOther) | |
Copy constructor. More... | |
GeometricalObject & | operator= (GeometricalObject const &rOther) |
Assignment operator. More... | |
virtual void | SetGeometry (GeometryType::Pointer pGeometry) |
Sets the pointer to the geometry. More... | |
GeometryType::Pointer | pGetGeometry () |
Returns the pointer to the geometry. More... | |
const GeometryType::Pointer | pGetGeometry () const |
Returns the pointer to the geometry (const version) More... | |
GeometryType & | GetGeometry () |
Returns the reference of the geometry. More... | |
GeometryType const & | GetGeometry () const |
Returns the reference of the geometry (const version) More... | |
Flags & | GetFlags () |
Returns the flags of the object. More... | |
Flags const & | GetFlags () const |
Returns the flags of the object (const version) More... | |
void | SetFlags (Flags const &rThisFlags) |
Sets the flags of the object. More... | |
DataValueContainer & | Data () |
DataValueContainer & | GetData () |
DataValueContainer const & | GetData () const |
void | SetData (DataValueContainer const &rThisData) |
template<class TDataType > | |
bool | Has (const Variable< TDataType > &rThisVariable) const |
template<class TVariableType > | |
void | SetValue (const TVariableType &rThisVariable, typename TVariableType::Type const &rValue) |
template<class TVariableType > | |
TVariableType::Type & | GetValue (const TVariableType &rThisVariable) |
template<class TVariableType > | |
TVariableType::Type const & | GetValue (const TVariableType &rThisVariable) const |
unsigned int | use_count () const noexcept |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (GeometricalObject) | |
Pointer definition of GeometricalObject. More... | |
bool | IsActive () const |
Checks if the GeometricalObject is active. 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... | |
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 |
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 Member Functions | |
Protected Operators | |
SmallDisplacementSIMPElement () | |
Protected Member Functions inherited from Kratos::SmallDisplacement | |
SmallDisplacement () | |
bool | UseElementProvidedStrain () const override |
This method returns if the element provides the strain. More... | |
void | CalculateAll (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo, const bool CalculateStiffnessMatrixFlag, const bool CalculateResidualVectorFlag) override |
This functions calculates both the RHS and the LHS. More... | |
void | CalculateKinematicVariables (KinematicVariables &rThisKinematicVariables, const IndexType PointNumber, const GeometryType::IntegrationMethod &rIntegrationMethod) override |
This functions updates the kinematics variables. More... | |
void | SetConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints) override |
This functions updates the data structure passed to the CL. More... | |
virtual void | CalculateB (Matrix &rB, const Matrix &rDN_DX, const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const IndexType PointNumber) const |
virtual void | ComputeEquivalentF (Matrix &rF, const Vector &StrainVector) const |
Calculation of the equivalent deformation gradient. More... | |
Protected Member Functions inherited from Kratos::BaseSolidElement | |
void | SetIntegrationMethod (const IntegrationMethod &ThisIntegrationMethod) |
Sets the used integration method. More... | |
void | SetConstitutiveLawVector (const std::vector< ConstitutiveLaw::Pointer > &ThisConstitutiveLawVector) |
Sets the used constitutive laws. More... | |
virtual void | InitializeMaterial () |
It initializes the material. More... | |
virtual ConstitutiveLaw::StressMeasure | GetStressMeasure () const |
Gives the StressMeasure used. More... | |
virtual void | CalculateConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const ConstitutiveLaw::StressMeasure ThisStressMeasure=ConstitutiveLaw::StressMeasure_PK2) |
This functions updates the constitutive variables. More... | |
Matrix & | CalculateDeltaDisplacement (Matrix &DeltaDisplacement) const |
This methods gives us a matrix with the increment of displacement. More... | |
virtual double | CalculateDerivativesOnReferenceConfiguration (Matrix &rJ0, Matrix &rInvJ0, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the reference frame. More... | |
double | CalculateDerivativesOnCurrentConfiguration (Matrix &rJ, Matrix &rInvJ, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the current frame. More... | |
virtual array_1d< double, 3 > | GetBodyForce (const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const IndexType PointNumber) const |
This function computes the body force. More... | |
virtual void | CalculateAndAddKm (MatrixType &rLeftHandSideMatrix, const Matrix &B, const Matrix &D, const double IntegrationWeight) const |
Calculation of the Material Stiffness Matrix. Km = B^T * D *B. More... | |
void | CalculateAndAddKg (MatrixType &rLeftHandSideMatrix, const Matrix &DN_DX, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the Geometric Stiffness Matrix. Kg = dB * S. More... | |
virtual void | CalculateAndAddResidualVector (VectorType &rRightHandSideVector, const KinematicVariables &rThisKinematicVariables, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the RHS. More... | |
void | CalculateAndAddExtForceContribution (const Vector &rN, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, VectorType &rRightHandSideVector, const double IntegrationWeight) const |
This function add the external force contribution. More... | |
virtual double | GetIntegrationWeight (const GeometryType::IntegrationPointsArrayType &rThisIntegrationPoints, const IndexType PointNumber, const double detJ) const |
This functions computes the integration weight to consider. More... | |
void | CalculateShapeGradientOfMassMatrix (MatrixType &rMassMatrix, ShapeParameter Deriv) const |
This function computes the shape gradient of mass matrix. More... | |
double | GetRayleighAlpha (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) |
double | GetRayleighBeta (const Properties &rProperties, const ProcessInfo &rCurrentProcessInfo) |
void | SetIntegrationMethod (const IntegrationMethod &ThisIntegrationMethod) |
Sets the used integration method. More... | |
void | SetConstitutiveLawVector (const std::vector< ConstitutiveLaw::Pointer > &ThisConstitutiveLawVector) |
Sets the used constitutive laws. More... | |
virtual void | InitializeMaterial () |
It initializes the material. More... | |
virtual ConstitutiveLaw::StressMeasure | GetStressMeasure () const |
Gives the StressMeasure used. More... | |
virtual void | CalculateConstitutiveVariables (KinematicVariables &rThisKinematicVariables, ConstitutiveVariables &rThisConstitutiveVariables, ConstitutiveLaw::Parameters &rValues, const IndexType PointNumber, const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const ConstitutiveLaw::StressMeasure ThisStressMeasure=ConstitutiveLaw::StressMeasure_PK2, const bool IsElementRotated=true) |
This functions updates the constitutive variables. More... | |
Matrix & | CalculateDeltaDisplacement (Matrix &DeltaDisplacement) const |
This methods gives us a matrix with the increment of displacement. More... | |
virtual double | CalculateDerivativesOnReferenceConfiguration (Matrix &rJ0, Matrix &rInvJ0, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the reference frame. More... | |
double | CalculateDerivativesOnCurrentConfiguration (Matrix &rJ, Matrix &rInvJ, Matrix &rDN_DX, const IndexType PointNumber, IntegrationMethod ThisIntegrationMethod) const |
This functions calculate the derivatives in the current frame. More... | |
virtual array_1d< double, 3 > | GetBodyForce (const GeometryType::IntegrationPointsArrayType &IntegrationPoints, const IndexType PointNumber) const |
This function computes the body force. More... | |
virtual void | CalculateAndAddKm (MatrixType &rLeftHandSideMatrix, const Matrix &B, const Matrix &D, const double IntegrationWeight) const |
Calculation of the Material Stiffness Matrix. Km = B^T * D *B. More... | |
void | CalculateAndAddKg (MatrixType &rLeftHandSideMatrix, const Matrix &DN_DX, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the Geometric Stiffness Matrix. Kg = dB * S. More... | |
virtual void | CalculateAndAddResidualVector (VectorType &rRightHandSideVector, const KinematicVariables &rThisKinematicVariables, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, const Vector &rStressVector, const double IntegrationWeight) const |
Calculation of the RHS. More... | |
void | CalculateAndAddExtForceContribution (const Vector &rN, const ProcessInfo &rCurrentProcessInfo, const array_1d< double, 3 > &rBodyForce, VectorType &rRightHandSideVector, const double IntegrationWeight) const |
This function add the external force contribution. More... | |
virtual double | GetIntegrationWeight (const GeometryType::IntegrationPointsArrayType &rThisIntegrationPoints, const IndexType PointNumber, const double detJ) const |
This functions computes the integration weight to consider. More... | |
void | CalculateShapeGradientOfMassMatrix (MatrixType &rMassMatrix, ShapeParameter Deriv) const |
This function computes the shape gradient of mass matrix. More... | |
virtual bool | IsElementRotated () const |
This method checks is an element has to be rotated according to a set of local axes. More... | |
void | RotateToLocalAxes (ConstitutiveLaw::Parameters &rValues, KinematicVariables &rThisKinematicVariables) |
This method rotates the F or strain according to local axis from global to local coordinates. More... | |
void | RotateToGlobalAxes (ConstitutiveLaw::Parameters &rValues, KinematicVariables &rThisKinematicVariables) |
This method rotates the F or strain according to local axis from local de global. More... | |
Type Definitions | |
typedef ConstitutiveLaw | ConstitutiveLawType |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef SmallDisplacement | BaseType |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | SizeType |
The definition of the sizetype. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (SmallDisplacementSIMPElement) | |
Counted pointer of SmallDisplacementSIMPElement. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
Public Types inherited from Kratos::SmallDisplacement | |
typedef ConstitutiveLaw | ConstitutiveLawType |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef BaseSolidElement | BaseType |
The base element type. More... | |
typedef std::size_t | IndexType |
The definition of the index type. More... | |
typedef std::size_t | SizeType |
The definition of the sizetype. More... | |
Public Types inherited from Kratos::BaseSolidElement | |
typedef ConstitutiveLaw | ConstitutiveLawType |
Reference type definition for constitutive laws. More... | |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef Node | NodeType |
This is the definition of the node. More... | |
typedef Element | BaseType |
The base element type. More... | |
typedef ConstitutiveLaw | ConstitutiveLawType |
Reference type definition for constitutive laws. More... | |
typedef ConstitutiveLawType::Pointer | ConstitutiveLawPointerType |
Pointer type for constitutive laws. More... | |
typedef ConstitutiveLawType::StressMeasure | StressMeasureType |
StressMeasure from constitutive laws. More... | |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef Node | NodeType |
This is the definition of the node. More... | |
typedef Element | BaseType |
The base element type. More... | |
Public Types inherited from Kratos::Element | |
typedef Element | ElementType |
definition of element type More... | |
typedef GeometricalObject | BaseType |
base type: an GeometricalObject that automatically has a unique number More... | |
typedef Node | NodeType |
definition of node type (default is: Node) More... | |
typedef Properties | PropertiesType |
typedef Geometry< NodeType > | GeometryType |
definition of the geometry type with given NodeType More... | |
typedef Geometry< NodeType >::PointsArrayType | NodesArrayType |
definition of nodes container type, redefined from GeometryType More... | |
typedef Vector | VectorType |
typedef Matrix | MatrixType |
typedef std::size_t | IndexType |
typedef std::size_t | SizeType |
typedef Dof< double > | DofType |
typedef std::vector< std::size_t > | EquationIdVectorType |
typedef std::vector< DofType::Pointer > | DofsVectorType |
typedef PointerVectorSet< DofType > | DofsArrayType |
typedef GeometryData::IntegrationMethod | IntegrationMethod |
Type definition for integration methods. More... | |
typedef GeometryData | GeometryDataType |
Public Types inherited from Kratos::GeometricalObject | |
typedef Node | NodeType |
Definition of the node type. More... | |
typedef Geometry< NodeType > | GeometryType |
The geometry type definition. More... | |
typedef std::size_t | IndexType |
Defines the index type. More... | |
typedef std::size_t | result_type |
Defines the result type. 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::GeometricalObject | |
static bool | HasSameType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same type. More... | |
static bool | HasSameType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same type (pointer version) More... | |
static bool | HasSameGeometryType (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject have the same geometry type. More... | |
static bool | HasSameGeometryType (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject have the same geometry type (pointer version) More... | |
static bool | IsSame (const GeometricalObject &rLHS, const GeometricalObject &rRHS) |
Checks if two GeometricalObject are the same. More... | |
static bool | IsSame (const GeometricalObject *rLHS, const GeometricalObject *rRHS) |
Checks if two GeometricalObject are the same (pointer version) More... | |
Static Public Member Functions inherited from Kratos::Flags | |
static const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
Protected Attributes inherited from Kratos::BaseSolidElement | |
IntegrationMethod | mThisIntegrationMethod |
std::vector< ConstitutiveLaw::Pointer > | mConstitutiveLawVector |
Currently selected integration methods. More... | |
Topology Optimization Small Displacement Element for 3D geometries.
Implements a Topology Optimization Small Displacement Lagrangian definition for structural analysis. This works for arbitrary geometries in 3D
Type for element variables typedef SmallDisplacement::ElementDataType ElementDataType; hinugefügt am 10.02. The base element type
typedef ConstitutiveLawType::Pointer Kratos::SmallDisplacementSIMPElement::ConstitutiveLawPointerType |
Pointer type for constitutive laws.
typedef std::size_t Kratos::SmallDisplacementSIMPElement::IndexType |
The definition of the index type.
Type definition for integration methods.
typedef std::size_t Kratos::SmallDisplacementSIMPElement::SizeType |
The definition of the sizetype.
StressMeasure from constitutive laws.
Kratos::SmallDisplacementSIMPElement::SmallDisplacementSIMPElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Default constructors.
Kratos::SmallDisplacementSIMPElement::SmallDisplacementSIMPElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
|
inline |
Copy constructor.
|
override |
Destructor.
|
inlineprotected |
|
overridevirtual |
Function to calculate the sensitivities and the objective function.
Normalize the youngs modulus
Reimplemented from Kratos::Element.
|
overridevirtual |
Function that gets the value on the Integration Point (For printing purposes in the output GiD)
Reimplemented from Kratos::BaseSolidElement.
|
overridevirtual |
It creates a new element pointer and clones the previous element data.
NewId | the ID of the new element |
ThisNodes | the nodes of the new element |
pProperties | the properties assigned to the new element |
Reimplemented from Kratos::SmallDisplacement.
|
overridevirtual |
Called to initialize the element.
Creates a new element
NewId | The Id of the new created element |
pGeom | The pointer to the geometry of the element |
pProperties | The pointer to property |
Reimplemented from Kratos::SmallDisplacement.
|
overridevirtual |
Creates a new element.
NewId | The Id of the new created element |
ThisNodes | The array containing nodes |
pProperties | The pointer to property |
Reimplemented from Kratos::SmallDisplacement.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::SmallDisplacement.
Kratos::SmallDisplacementSIMPElement::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | SmallDisplacementSIMPElement | ) |
Counted pointer of SmallDisplacementSIMPElement.
SmallDisplacementSIMPElement& Kratos::SmallDisplacementSIMPElement::operator= | ( | SmallDisplacementSIMPElement const & | rOther | ) |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::SmallDisplacement.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::SmallDisplacement.
|
friend |