![]() |
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.
|
#include <embedded_fluid_element.h>
Public Member Functions | |
Life Cycle | |
| EmbeddedFluidElement (IndexType NewId=0) | |
| Default constuctor. More... | |
| EmbeddedFluidElement (IndexType NewId, const NodesArrayType &ThisNodes) | |
| Constructor using an array of nodes. More... | |
| EmbeddedFluidElement (IndexType NewId, Geometry< NodeType >::Pointer pGeometry) | |
| Constructor using a geometry object. More... | |
| EmbeddedFluidElement (IndexType NewId, Geometry< NodeType >::Pointer pGeometry, Properties::Pointer pProperties) | |
| Constuctor using geometry and properties. More... | |
| ~EmbeddedFluidElement () override | |
| Destructor. More... | |
Operations | |
| Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override |
| Create a new element of this type. More... | |
| Element::Pointer | Create (IndexType NewId, Geometry< NodeType >::Pointer pGeom, Properties::Pointer pProperties) const override |
| Create a new element of this type using given geometry. More... | |
| void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
| Set up the element for solution. More... | |
| void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
| Calculates both LHS and RHS contributions. More... | |
| void | Calculate (const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
| Computes an elemental double value. More... | |
| void | Calculate (const Variable< array_1d< double, 3 >> &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
| Computes an elemental 3 components array value. More... | |
| void | Calculate (const Variable< Vector > &rVariable, Vector &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
| Computes an elemental vector value. More... | |
| void | Calculate (const Variable< Matrix > &rVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
| Computes an elemental matrix value. More... | |
Access | |
| void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override |
| Get the Value On Integration Points object Computes the value in the Gauss pts. for a three component array variable. More... | |
Inquiry | |
| int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
Input and output | |
| const Parameters | GetSpecifications () const override |
| 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... | |
Type Definitions | |
| typedef Node | NodeType |
| Node type (default is: Node) More... | |
| typedef Geometry< NodeType >::PointsArrayType | NodesArrayType |
| Definition of nodes container type, redefined from GeometryType. More... | |
| typedef Vector | VectorType |
| Vector type for local contributions to the linear system. More... | |
| typedef Matrix | MatrixType |
| Matrix type for local contributions to the linear system. More... | |
| typedef std::size_t | IndexType |
| typedef std::size_t | SizeType |
| typedef std::vector< std::size_t > | EquationIdVectorType |
| typedef std::vector< Dof< double >::Pointer > | DofsVectorType |
| typedef PointerVectorSet< Dof< double >, IndexedObject > | DofsArrayType |
| typedef Kratos::Vector | ShapeFunctionsType |
| Type for shape function values container. More... | |
| typedef Kratos::Matrix | ShapeFunctionDerivativesType |
| Type for a matrix containing the shape function gradients. More... | |
| typedef Geometry< NodeType >::ShapeFunctionsGradientsType | ShapeFunctionDerivativesArrayType |
| Type for an array of shape function gradient matrices. More... | |
| using | BaseElementData = typename TBaseElement::ElementData |
| using | EmbeddedElementData = EmbeddedData< BaseElementData > |
| constexpr static unsigned int | Dim = TBaseElement::Dim |
| constexpr static unsigned int | NumNodes = TBaseElement::NumNodes |
| constexpr static unsigned int | BlockSize = TBaseElement::BlockSize |
| constexpr static unsigned int | LocalSize = TBaseElement::LocalSize |
| constexpr static unsigned int | StrainSize = TBaseElement::StrainSize |
| KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (EmbeddedFluidElement) | |
| Pointer definition of EmbeddedFluidElement. More... | |
Serialization | |
| class | Serializer |
| using Kratos::EmbeddedFluidElement< TBaseElement >::BaseElementData = typename TBaseElement::ElementData |
| typedef PointerVectorSet<Dof<double>, IndexedObject> Kratos::EmbeddedFluidElement< TBaseElement >::DofsArrayType |
| typedef std::vector< Dof<double>::Pointer > Kratos::EmbeddedFluidElement< TBaseElement >::DofsVectorType |
| using Kratos::EmbeddedFluidElement< TBaseElement >::EmbeddedElementData = EmbeddedData< BaseElementData > |
| typedef std::vector<std::size_t> Kratos::EmbeddedFluidElement< TBaseElement >::EquationIdVectorType |
| typedef std::size_t Kratos::EmbeddedFluidElement< TBaseElement >::IndexType |
| typedef Matrix Kratos::EmbeddedFluidElement< TBaseElement >::MatrixType |
Matrix type for local contributions to the linear system.
| typedef Geometry<NodeType>::PointsArrayType Kratos::EmbeddedFluidElement< TBaseElement >::NodesArrayType |
Definition of nodes container type, redefined from GeometryType.
| typedef Node Kratos::EmbeddedFluidElement< TBaseElement >::NodeType |
| typedef Geometry<NodeType>::ShapeFunctionsGradientsType Kratos::EmbeddedFluidElement< TBaseElement >::ShapeFunctionDerivativesArrayType |
Type for an array of shape function gradient matrices.
| typedef Kratos::Matrix Kratos::EmbeddedFluidElement< TBaseElement >::ShapeFunctionDerivativesType |
Type for a matrix containing the shape function gradients.
| typedef Kratos::Vector Kratos::EmbeddedFluidElement< TBaseElement >::ShapeFunctionsType |
Type for shape function values container.
| typedef std::size_t Kratos::EmbeddedFluidElement< TBaseElement >::SizeType |
| typedef Vector Kratos::EmbeddedFluidElement< TBaseElement >::VectorType |
Vector type for local contributions to the linear system.
| Kratos::EmbeddedFluidElement< TBaseElement >::EmbeddedFluidElement | ( | IndexType | NewId = 0 | ) |
Default constuctor.
| NewId | Index number of the new element (optional) |
| Kratos::EmbeddedFluidElement< TBaseElement >::EmbeddedFluidElement | ( | IndexType | NewId, |
| const NodesArrayType & | ThisNodes | ||
| ) |
Constructor using an array of nodes.
| NewId | Index of the new element |
| ThisNodes | An array containing the nodes of the new element |
| Kratos::EmbeddedFluidElement< TBaseElement >::EmbeddedFluidElement | ( | IndexType | NewId, |
| Geometry< NodeType >::Pointer | pGeometry | ||
| ) |
Constructor using a geometry object.
| NewId | Index of the new element |
| pGeometry | Pointer to a geometry object |
| Kratos::EmbeddedFluidElement< TBaseElement >::EmbeddedFluidElement | ( | IndexType | NewId, |
| Geometry< NodeType >::Pointer | pGeometry, | ||
| Properties::Pointer | pProperties | ||
| ) |
Constuctor using geometry and properties.
| NewId | Index of the new element |
| pGeometry | Pointer to a geometry object |
| pProperties | Pointer to the element's properties |
|
override |
Destructor.
|
protected |
This functions adds the level set strong boundary condition imposition contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
protected |
This functions adds the penalty extra term level set contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
protected |
This functions adds the no-penetration condition penalty level set contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
protected |
This functions adds the no-penetration condition adjoint term level set contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
protected |
This functions adds the tangential stress condition penalty level set contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
protected |
This functions adds the tangential stress condition adjoint term level set contribution.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
override |
Computes an elemental 3 components array value.
Given a 3 components array variable, this function computes its value inside de element. If the function has not implemented this variable computation, calls the base class one.
| rVariable | Variable to be computed |
| rOutput | Reference to the output array |
| rCurrentProcessInfo | Reference to the process info |
|
override |
Computes an elemental double value.
Given a double variable, this function computes its value inside de element. If the function has not implemented this variable computation, calls the base class one.
| rVariable | Variable to be computed |
| rOutput | Reference to the output double |
| rCurrentProcessInfo | Reference to the process info |
|
override |
Computes an elemental matrix value.
Given a matrix variable, this function computes its value inside de element. If the function has not implemented this variable computation, calls the base class one.
| rVariable | Variable to be computed |
| rOutput | Reference to the output matrix |
| rCurrentProcessInfo | Reference to the process info |
|
override |
Computes an elemental vector value.
Given a vector variable, this function computes its value inside de element. If the function has not implemented this variable computation, calls the base class one.
| rVariable | Variable to be computed |
| rOutput | Reference to the output vector |
| rCurrentProcessInfo | Reference to the process info |
|
override |
Calculates both LHS and RHS contributions.
Computes the LHS and RHS elementar matrices. If the element is split includes the contribution of the level set boundary condition imposition.
| rLeftHandSideMatrix | reference to the LHS matrix |
| rRightHandSideVector | reference to the RHS vector |
| rCurrentProcessInfo | reference to the ProcessInfo |
|
override |
Get the Value On Integration Points object Computes the value in the Gauss pts. for a three component array variable.
| rVariable | Array variable to be computed |
| rValues | Computed gauss point values |
| rCurrentProcessInfo | Current process info |
|
override |
|
protected |
This function computes the penalty coefficient for the level set BC imposition
| rData | reference to element data structure |
| rN | shape function values for the current Gauss pt |
|
protected |
This function computes the penalty coefficient for the Nitsche normal imposition
| rData | reference to element data structure |
| rN | the current Gauss pt. shape functions vector |
|
protected |
This function computes the Nitsche coefficients for the Nitsche tangential imposition
| rData | reference to element data structure |
|
protected |
This function computes the Nitsche coefficients for the Nitsche normal imposition
| rData | reference to element data structure |
|
override |
Create a new element of this type using given geometry.
Returns a pointer to a new FluidElement element, created using given input
| NewId | the ID of the new element |
| pGeom | a pointer to the geomerty to be used to create the element |
| pProperties | the properties assigned to the new element |
|
override |
Create a new element of this type.
Returns a pointer to a new EmbeddedFluidElement element, created using given input
| NewId | the ID of the new element |
| ThisNodes | the nodes of the new element |
| pProperties | the properties assigned to the new element |
|
protected |
|
protected |
|
protected |
This drops the outer nodes velocity constributions in both LHS and RHS matrices.
| rLHS | reference to the LHS matrix |
| rRHS | reference to the RHS vector |
| rData | reference to element data structure |
|
override |
|
override |
Turn back information as a string.
|
override |
Set up the element for solution.
For EmbeddedFluidElement, this initializes the nodal imposed velocity (EMBEDDED_VELOCITY)
|
protected |
| Kratos::EmbeddedFluidElement< TBaseElement >::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | EmbeddedFluidElement< TBaseElement > | ) |
Pointer definition of EmbeddedFluidElement.
|
protected |
|
override |
Print information about this object.
|
friend |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |