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 |