![]() |
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.
|
Updated Lagrangian Segregated Fluid Element for 3D and 2D geometries. More...
#include <updated_lagrangian_segregated_fluid_element.hpp>
Public Types | |
enum | StepType { VELOCITY_STEP = 0 , PRESSURE_STEP = 1 } |
![]() | |
typedef ElementData | ElementDataType |
Type for element variables. More... | |
typedef Node | NodeType |
Node type (default is: Node) More... | |
typedef Geometry< NodeType > | GeometryType |
Geometry type (using with given NodeType) 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 MatrixRow< Matrix > | ShapeFunctionsType |
Type for shape function values container. More... | |
typedef Kratos::Matrix | ShapeFunctionDerivativesType |
Type for a matrix containing the shape function gradients. More... | |
typedef GeometryType::ShapeFunctionsGradientsType | ShapeFunctionDerivativesArrayType |
Type for an array of shape function gradient matrices. More... | |
using | ElementData = TElementData |
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 GeometryData::SizeType | SizeType |
Type for size. More... | |
![]() | |
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 |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 |
Public Member Functions | |
Life Cycle | |
UpdatedLagrangianSegregatedFluidElement () | |
Empty constructor needed for serialization. More... | |
UpdatedLagrangianSegregatedFluidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructors. More... | |
UpdatedLagrangianSegregatedFluidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
UpdatedLagrangianSegregatedFluidElement (UpdatedLagrangianSegregatedFluidElement const &rOther) | |
Copy constructor. More... | |
virtual | ~UpdatedLagrangianSegregatedFluidElement () |
Destructor. More... | |
Operators | |
UpdatedLagrangianSegregatedFluidElement & | operator= (UpdatedLagrangianSegregatedFluidElement const &rOther) |
Assignment operator. More... | |
Operations | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Element::Pointer | Clone (IndexType NewId, NodesArrayType const &ThisNodes) const override |
void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) override |
void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
void | GetValuesVector (Vector &rValues, int Step=0) const override |
void | GetFirstDerivativesVector (Vector &rValues, int Step=0) const override |
void | GetSecondDerivativesVector (Vector &rValues, int Step=0) const override |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateDampingMatrix (MatrixType &rDampingMatrix, const ProcessInfo &rCurrentProcessInfo) override |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
Input and output | |
Turn back information as a string. | |
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... | |
![]() | |
FluidElement (IndexType NewId=0) | |
Default constuctor. More... | |
FluidElement (IndexType NewId, const NodesArrayType &ThisNodes) | |
Constructor using an array of nodes. More... | |
FluidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Constructor using a geometry object. More... | |
FluidElement (IndexType NewId, GeometryType::Pointer pGeometry, Properties::Pointer pProperties) | |
Constuctor using geometry and properties. More... | |
virtual | ~FluidElement () |
Destructor. More... | |
FluidElement () | |
Empty constructor needed for serialization. More... | |
FluidElement (IndexType NewId, GeometryType::Pointer pGeometry) | |
Default constructors. More... | |
FluidElement (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
FluidElement (FluidElement const &rOther) | |
Copy constructor. More... | |
virtual | ~FluidElement () |
Destructor. More... | |
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, GeometryType::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 |
CalculateLocalSystem Return empty matrices and vectors of appropriate size. This element does not have a local contribution in terms of displacements, but the scheme may require a proper-sized matrix, even if it is empty. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
CalculateLeftHandSide Return an empty matrix of appropriate size. This element does not have a local contribution in terms of displacements, but the scheme may require a proper-sized matrix, even if it is empty. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
CalculateRightHandSide Return an empty matrix of appropriate size. This element does not have a local contribution in terms of displacements, but the scheme may require a proper-sized matrix, even if it is empty. More... | |
void | CalculateLocalVelocityContribution (MatrixType &rDampMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
CalculateLocalVelocityContribution Calculate the local contribution in terms of velocity and pressure. More... | |
GeometryData::IntegrationMethod | GetIntegrationMethod () const override |
GetIntegrationMethod Return the integration order to be used. More... | |
IntegrationMethod | GetIntegrationMethod () const override |
virtual void | SetValuesOnIntegrationPoints (const Variable< double > &rVariable, const std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
virtual void | Initialize (const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateFirstDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesContributions (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateSecondDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &rDestinationVariable, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (Variable< array_1d< double, 3 >> const &rVariable, std::vector< array_1d< double, 3 >> &rValues, ProcessInfo const &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (Variable< double > const &rVariable, std::vector< double > &rValues, ProcessInfo const &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (Variable< array_1d< double, 6 >> const &rVariable, std::vector< array_1d< double, 6 >> &rValues, ProcessInfo const &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (Variable< Vector > const &rVariable, std::vector< Vector > &rValues, ProcessInfo const &rCurrentProcessInfo) override |
void | CalculateOnIntegrationPoints (Variable< Matrix > const &rVariable, std::vector< Matrix > &rValues, ProcessInfo const &rCurrentProcessInfo) override |
FluidElement & | operator= (FluidElement const &rOther) |
Assignment operator. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (FluidElement) | |
Pointer definition of FluidElement. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (FluidElement) | |
Counted pointer of FluidElement. More... | |
![]() | |
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 Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const |
It creates a new element pointer. More... | |
virtual void | CalculateFirstDerivativesLHS (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateFirstDerivativesRHS (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateLumpedMassVector (VectorType &rLumpedMassVector, const ProcessInfo &rCurrentProcessInfo) const |
virtual void | AddExplicitContribution (const ProcessInfo &rCurrentProcessInfo) |
virtual void | AddExplicitContribution (const VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< double > &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 double version) More... | |
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 | CalculateOnIntegrationPoints (const Variable< bool > &rVariable, std::vector< bool > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateOnIntegrationPoints (const Variable< int > &rVariable, std::vector< int > &rOutput, 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< bool > &rVariable, const std::vector< bool > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< int > &rVariable, const std::vector< int > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< array_1d< double, 3 >> &rVariable, const std::vector< array_1d< double, 3 >> &rValues, 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, 6 >> &rVariable, const std::vector< array_1d< double, 6 >> &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 | 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... | |
virtual const Parameters | GetSpecifications () const |
This method provides the specifications/requirements of the element. More... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (Element) | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 Operations | |
void | SetProcessInformation (const ProcessInfo &rCurrentProcessInfo) override |
void | InitializeElementData (ElementDataType &rVariables, const ProcessInfo &rCurrentProcessInfo) override |
void | GetStepAlpha (double &rAlpha) |
void | CalculateKinematics (ElementDataType &rVariables, const double &rPointNumber) override |
void | CalculateAndAddLHS (LocalSystemComponents &rLocalSystem, ElementDataType &rVariables) override |
void | CalculateAndAddRHS (LocalSystemComponents &rLocalSystem, ElementDataType &rVariables) override |
void | CalculateAndAddDynamicLHS (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables) override |
void | CalculateAndAddDynamicRHS (VectorType &rRightHandSideVector, ElementDataType &rVariables) override |
unsigned int | GetDofsSize () const override |
void | CalculateAndAddKvvm (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables) override |
void | CalculateAndAddKvvg (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables) override |
void | CalculateAndAddKpp (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables) |
void | CalculateAndAddInternalForces (VectorType &rRightHandSideVector, ElementDataType &rVariables) override |
void | CalculateAndAddPressureForces (VectorType &rRightHandSideVector, ElementDataType &rVariables) |
void | AddVolumetricPart (Vector &rStressVector, const double &rMeanPressure) |
void | RemoveVolumetricPart (Vector &rStressVector, const double &rMeanPressure) |
void | AddVolumetricPart (Matrix &rConstitutiveMatrix, const double &rBulkFactor) |
void | RemoveVolumetricPart (Matrix &rConstitutiveMatrix, const double &rBulkFactor) |
void | CalculateDenseMatrixMeanValue (MatrixType &rMatrix, double &rMeanValue) |
void | CalculateLumpedMatrixMeanValue (MatrixType &rMatrix, double &rMeanValue) |
void | CalculateStiffnessFactor (MatrixType &rLeftHandSideMatrix, ElementDataType &rVariables, const double &rBulkFactor, double &rStiffnessFactor) |
void | SetElementData (ElementDataType &rVariables, ConstitutiveLaw::Parameters &rValues, const int &rPointNumber) override |
void | CalculateMaterialResponse (ElementDataType &rVariables, ConstitutiveLaw::Parameters &rValues, const int &rPointNumber) override |
void | CalculateStabilizationTau (ElementDataType &rVariables) |
void | GetFreeSurfaceFaces (std::vector< std::vector< SizeType > > &Faces) |
void | GetFaceNormal (const std::vector< SizeType > &rFace, const ElementDataType &rVariables, Vector &rNormal) |
void | GetFaceWeight (const std::vector< SizeType > &rFace, const ElementDataType &rVariables, double &rWeight, double &rNormalSize) |
void | GetFaceNormal (const std::vector< SizeType > &rFace, Vector &rNormal) |
double & | CalculateVolumeChange (double &rVolumeChange, ElementDataType &rVariables) override |
![]() | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_RHS_VECTOR) | |
KRATOS_DEFINE_LOCAL_FLAG (COMPUTE_LHS_MATRIX) | |
KRATOS_DEFINE_LOCAL_FLAG (FINALIZED_STEP) | |
virtual double | GetAtCoordinate (const typename TElementData::NodalScalarData &rValues, const typename TElementData::ShapeFunctionsType &rN) const |
Get information from TElementData at a given point. More... | |
virtual array_1d< double, 3 > | GetAtCoordinate (const typename TElementData::NodalVectorData &rValues, const typename TElementData::ShapeFunctionsType &rN) const |
Get information from TElementData at a given point. More... | |
virtual BoundedMatrix< double, TElementData::Dim, TElementData::Dim > | GetAtCoordinate (const typename TElementData::NodalTensorData &rValues, const typename TElementData::ShapeFunctionsType &rN) const |
Get information from TElementData at a given point. More... | |
virtual double | GetAtCoordinate (const double Value, const typename TElementData::ShapeFunctionsType &rN) const |
Get information from TElementData at a given point. More... | |
virtual void | UpdateIntegrationPointData (TElementData &rData, unsigned int IntegrationPointIndex, double Weight, const typename TElementData::MatrixRowType &rN, const typename TElementData::ShapeDerivativesType &rDN_DX) const |
Set up the element's data and constitutive law for the current integration point. More... | |
virtual void | CalculateMaterialResponse (TElementData &rData) const |
virtual void | CalculateStrainRate (TElementData &rData) const |
Calculate and save the strain rate in the data container This method calculates the strain rate with the information provided by the data container The resultant strain rate is stored in the StrainRate vector variable of the data container The base implementation calculates the standard symmetric gradient with the current step velocity However this can be overridden in derived classes (e.g. to calculate the mid step strain rate for alpha-type time schemes) More... | |
virtual void | CalculateGeometryData (Vector &rGaussWeights, Matrix &rNContainer, ShapeFunctionDerivativesArrayType &rDN_DX) const |
Determine integration point weights and shape funcition derivatives from the element's geometry. More... | |
void | ConvectionOperator (Vector &rResult, const array_1d< double, 3 > &rConvVel, const ShapeFunctionDerivativesType &DN_DX) const |
Write the convective operator evaluated at this point (for each nodal funciton) to an array Evaluate the convective operator for each node's shape function at an arbitrary point. More... | |
virtual void | AddTimeIntegratedSystem (TElementData &rData, MatrixType &rLHS, VectorType &rRHS) |
virtual void | AddTimeIntegratedLHS (TElementData &rData, MatrixType &rLHS) |
virtual void | AddTimeIntegratedRHS (TElementData &rData, VectorType &rRHS) |
virtual void | AddVelocitySystem (TElementData &rData, MatrixType &rLocalLHS, VectorType &rLocalRHS) |
virtual void | AddMassLHS (TElementData &rData, MatrixType &rMassMatrix) |
virtual void | AddBoundaryTraction (TElementData &rData, const Vector &rUnitNormal, MatrixType &rLHS, VectorType &rRHS) |
Adds the boundary traction component along a cut plane for embedded formulations. This method adds the boundary traction component to the LHS and RHS arrays. Such boundary integral must be implemented in all the fluid dynamics elements deriving from this one in accordance to the formulation used. This method is intended to be called from the derived elements to add the contribution of the tractions on the elemental cuts to enforce equilibrium. This means that what we call external traction is nothing but minus the base formulation boundary term. More... | |
void | GetCurrentValuesVector (const TElementData &rData, array_1d< double, LocalSize > &rValues) const |
void | Calculate (const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | Calculate (const Variable< array_1d< double, 3 >> &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | Calculate (const Variable< Vector > &rVariable, Vector &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | Calculate (const Variable< Matrix > &rVariable, Matrix &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
void | IncreaseIntegrationMethod (IntegrationMethod &rThisIntegrationMethod, unsigned int increment) const |
virtual void | CalculateElementalSystem (LocalSystemComponents &rLocalSystem, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateDynamicSystem (LocalSystemComponents &rLocalSystem, const ProcessInfo &rCurrentProcessInfo) |
void | PrintElementCalculation (LocalSystemComponents &rLocalSystem, ElementDataType &rVariables) |
void | CalculatePerturbedLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) |
virtual void | CalculateAndAddExternalForces (VectorType &rRightHandSideVector, ElementDataType &rVariables) |
bool | IsSliver () |
virtual void | InitializeSystemMatrices (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, Flags &rCalculationFlags) |
void | InitializeConstitutiveLaw () |
void | ResetConstitutiveLaw () override |
void | InitializeExplicitContributions () |
virtual void | CalculateKinetics (ElementDataType &rVariables, const double &rPointNumber) |
virtual void | TransformElementData (ElementDataType &rVariables, const double &rPointNumber) |
virtual void | FinalizeStepVariables (ElementDataType &rVariables, const double &rPointNumber) |
void | CalculateVelocityGradient (Matrix &rL, const Matrix &rDN_DX, unsigned int step=0) |
void | CalculateVelocityGradientVector (Vector &rVector, const Matrix &rL, const Matrix &rDN_DX, unsigned int step=0) |
void | CalculateVelocityGradientVector (Vector &rVector, const Matrix &rDN_DX, unsigned int step=0) |
void | CalculateSymmetricVelocityGradient (const Matrix &rL, Vector &rStrainVector) |
void | CalculateSkewSymmetricVelocityGradient (const Matrix &rL, Vector &rStrainVector) |
virtual double & | CalculateIntegrationWeight (double &rIntegrationWeight) |
virtual double & | CalculateTotalMass (double &rTotalMass, const ProcessInfo &rCurrentProcessInfo) |
virtual Vector & | CalculateVolumeForce (Vector &rVolumeForce, ElementDataType &rVariables) |
const ConstitutiveLaw::Pointer | GetConstitutiveLaw () const |
ConstitutiveLaw::Pointer | GetConstitutiveLaw () |
Protected Attributes | |
Protected member Variables | |
StepType | mStepVariable |
![]() | |
IntegrationMethod | mThisIntegrationMethod |
std::vector< ConstitutiveLaw::Pointer > | mConstitutiveLawVector |
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 GeometryData::SizeType | SizeType |
Type for size. More... | |
typedef GlobalPointersVector< Element > | ElementWeakPtrVectorType |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (UpdatedLagrangianSegregatedFluidElement) | |
Counted pointer of UpdatedLagrangianSegregatedFluidElement. More... | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
![]() | |
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 const Flags | AllDefined () |
static const Flags | AllTrue () |
static Flags | Create (IndexType ThisPosition, bool Value=true) |
![]() | |
static constexpr unsigned int | Dim = TElementData::Dim |
static constexpr unsigned int | NumNodes = TElementData::NumNodes |
static constexpr unsigned int | BlockSize = Dim + 1 |
static constexpr unsigned int | LocalSize = NumNodes * BlockSize |
static constexpr unsigned int | StrainSize = TElementData::StrainSize |
Updated Lagrangian Segregated Fluid Element for 3D and 2D geometries.
Implements a Large Displacement Lagrangian definition for fluid analysis. This works for linear Triangles and Tetrahedra (base class)
typedef ConstitutiveLawType::Pointer Kratos::UpdatedLagrangianSegregatedFluidElement::ConstitutiveLawPointerType |
Pointer type for constitutive laws.
typedef GlobalPointersVector<Element> Kratos::UpdatedLagrangianSegregatedFluidElement::ElementWeakPtrVectorType |
typedef GeometryData::IntegrationMethod Kratos::UpdatedLagrangianSegregatedFluidElement::IntegrationMethod |
Type definition for integration methods.
Type for size.
typedef ConstitutiveLawType::StressMeasure Kratos::UpdatedLagrangianSegregatedFluidElement::StressMeasureType |
StressMeasure from constitutive laws.
Kratos::UpdatedLagrangianSegregatedFluidElement::UpdatedLagrangianSegregatedFluidElement | ( | ) |
Empty constructor needed for serialization.
Kratos::UpdatedLagrangianSegregatedFluidElement::UpdatedLagrangianSegregatedFluidElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry | ||
) |
Default constructors.
Kratos::UpdatedLagrangianSegregatedFluidElement::UpdatedLagrangianSegregatedFluidElement | ( | IndexType | NewId, |
GeometryType::Pointer | pGeometry, | ||
PropertiesType::Pointer | pProperties | ||
) |
Kratos::UpdatedLagrangianSegregatedFluidElement::UpdatedLagrangianSegregatedFluidElement | ( | UpdatedLagrangianSegregatedFluidElement const & | rOther | ) |
Copy constructor.
|
virtual |
Destructor.
|
protected |
Add volumetric part to Constitutive Matrix
|
protected |
Add volumetric part to Stress Vector
|
overrideprotectedvirtual |
Calculation and addition of the matrices of the LHS
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Calculation and addition of the vectors of the RHS
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Calculation of the Internal Forces Vector. Fi = B * sigma
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculation of the Pressure Stiffness Matrix. Kpp
|
overrideprotectedvirtual |
Calculation of the Geometric Stiffness Matrix. Kvvg = BT * S
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Calculation of the Geometric Stiffness Matrix. Kvvm = BT * C * B
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Calculation and addition of the matrices of the LHS
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculation of the Pressure Vector.
|
overrideprotectedvirtual |
Calculation and addition of the matrices of the RHS
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental damping matrix
rDampingMatrix | the elemental damping matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculation of the Mean value considering a Dense Matrix.
|
overrideprotectedvirtual |
Calculate Element Kinematics
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculation of the Mean value considering a Lumped Matrix.
|
overridevirtual |
this is called during the assembling process in order to calculate the elemental mass matrix
rMassMatrix | the elemental mass matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Set Parameters for the Constitutive Law and Calculate Material Response
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculate stabilization factor
|
protected |
Calculation of the Stiffness factor to improve matrix condition number
|
overrideprotectedvirtual |
Calculation of the Volume Change of the Element
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
This function provides the place to perform checks on the completeness of the input. It is designed to be called only once (or anyway, not often) typically at the beginning of the calculations, so to verify that nothing is missing from the input or that no common error is found.
rCurrentProcessInfo |
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
clones the selected element variables, creating a new one
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::FluidElement< TElementData >.
|
overridevirtual |
Returns the currently selected integration method
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::FluidElement< TElementData >.
|
overridevirtual |
Sets on rResult the ID's of the element degrees of freedom
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
this is called for non-linear analysis at the beginning of the iteration process
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
Called at the end of eahc solution step
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
Sets on rElementalDofList the degrees of freedom of the considered element geometry
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Get element size from the dofs
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Get Face normal
|
protected |
Get Face normal
|
protected |
Get Face weight
|
overridevirtual |
Sets on rValues the nodal velocities
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Get Faces with nodes in the freesurface
|
overridevirtual |
Sets on rValues the nodal accelerations
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Calculate Integration Step Alpha
|
overridevirtual |
Sets on rValues the nodal displacements
Reimplemented from Kratos::FluidElement< TElementData >.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Initialize Element General Variables
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
this is called for non-linear analysis at the beginning of the iteration process
Reimplemented from Kratos::FluidElement< TElementData >.
|
overridevirtual |
Called at the beginning of each solution step
Reimplemented from Kratos::FluidElement< TElementData >.
Kratos::UpdatedLagrangianSegregatedFluidElement::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | UpdatedLagrangianSegregatedFluidElement | ) |
Counted pointer of UpdatedLagrangianSegregatedFluidElement.
UpdatedLagrangianSegregatedFluidElement & Kratos::UpdatedLagrangianSegregatedFluidElement::operator= | ( | UpdatedLagrangianSegregatedFluidElement const & | rOther | ) |
Assignment operator.
|
inlineoverridevirtual |
Print object's data.
Reimplemented from Kratos::FluidElement< TElementData >.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::FluidElement< TElementData >.
|
protected |
Remove volumetric part from Constitutive Matrix
|
protected |
Remove volumetric part from Stress Vector
|
overrideprotectedvirtual |
Set Variables of the Element to the Parameters of the Constitutive Law
Reimplemented from Kratos::FluidElement< TElementData >.
|
overrideprotectedvirtual |
Sets process information to set member variables like mStepVariable
Reimplemented from Kratos::FluidElement< TElementData >.
|
friend |
|
protected |