![]() |
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 <two_fluid_vms.h>
Public Member Functions | |
Life Cycle | |
TwoFluidVMS (IndexType NewId=0) | |
Default constuctor. More... | |
TwoFluidVMS (IndexType NewId, const NodesArrayType &ThisNodes) | |
Constructor using an array of nodes. More... | |
TwoFluidVMS (IndexType NewId, GeometryType::Pointer pGeometry) | |
Constructor using a geometry object. More... | |
TwoFluidVMS (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Constuctor using geometry and properties. More... | |
~TwoFluidVMS () override | |
Destructor. More... | |
Operations | |
Create a new element of this type | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Element::Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override |
It creates a new element pointer. More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
Provides local contributions from body forces to the RHS. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
Computes local contributions to the mass matrix. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
Checks the input and that all required Kratos variables have been registered. More... | |
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... | |
![]() | |
VMS (IndexType NewId=0) | |
Default constuctor. More... | |
VMS (IndexType NewId, const NodesArrayType &ThisNodes) | |
Constructor using an array of nodes. More... | |
VMS (IndexType NewId, GeometryType::Pointer pGeometry) | |
Constructor using a geometry object. More... | |
VMS (IndexType NewId, GeometryType::Pointer pGeometry, PropertiesType::Pointer pProperties) | |
Constuctor using geometry and properties. More... | |
~VMS () override | |
Destructor. More... | |
Element::Pointer | Create (IndexType NewId, NodesArrayType const &ThisNodes, PropertiesType::Pointer pProperties) const override |
Create a new element of this type. More... | |
Element::Pointer | Create (IndexType NewId, GeometryType::Pointer pGeom, PropertiesType::Pointer pProperties) const override |
It creates a new element pointer. More... | |
void | CalculateLocalSystem (MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
Provides local contributions from body forces and OSS projection terms. More... | |
void | CalculateLeftHandSide (MatrixType &rLeftHandSideMatrix, const ProcessInfo &rCurrentProcessInfo) override |
Returns a zero matrix of appropiate size (provided for compatibility with scheme) More... | |
void | CalculateRightHandSide (VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
Provides local contributions from body forces and projections to the RHS. More... | |
void | CalculateMassMatrix (MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override |
Computes local contributions to the mass matrix. More... | |
void | CalculateLocalVelocityContribution (MatrixType &rDampingMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override |
Computes the local contribution associated to 'new' velocity and pressure values. More... | |
void | FinalizeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) override |
void | Calculate (const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Implementation of Calculate to compute an error estimate. More... | |
void | Calculate (const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Implementation of Calculate to compute the local OSS projections. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const override |
Provides the global indices for each one of this element's local rows. More... | |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const override |
Returns a list of the element's Dofs. More... | |
void | GetFirstDerivativesVector (Vector &Values, int Step=0) const override |
Returns VELOCITY_X, VELOCITY_Y, (VELOCITY_Z,) PRESSURE for each node. More... | |
void | GetSecondDerivativesVector (Vector &Values, int Step=0) const override |
Returns ACCELERATION_X, ACCELERATION_Y, (ACCELERATION_Z,) 0 for each node. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &rOutput, const ProcessInfo &rCurrentProcessInfo) override |
Obtain an array_1d<double,3> elemental variable, evaluated on gauss points. More... | |
void | CalculateOnIntegrationPoints (const Variable< double > &rVariable, std::vector< double > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Obtain a double elemental variable, evaluated on gauss points. More... | |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 6 > > &rVariable, std::vector< array_1d< double, 6 > > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Empty implementation of unused CalculateOnIntegrationPoints overloads to avoid compilation warning. More... | |
void | CalculateOnIntegrationPoints (const Variable< Vector > &rVariable, std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Empty implementation of unused CalculateOnIntegrationPoints overloads to avoid compilation warning. More... | |
void | CalculateOnIntegrationPoints (const Variable< Matrix > &rVariable, std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) override |
Empty implementation of unused CalculateOnIntegrationPoints overloads to avoid compilation warning. More... | |
int | Check (const ProcessInfo &rCurrentProcessInfo) const override |
Checks the input and that all required Kratos variables have been registered. More... | |
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... | |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (VMS) | |
Pointer definition of VMS. More... | |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const |
void | EquationIdVector (EquationIdVectorType &rResult, const ProcessInfo &rCurrentProcessInfo) const |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const |
void | GetDofList (DofsVectorType &rElementalDofList, const ProcessInfo &rCurrentProcessInfo) const |
void | GetFirstDerivativesVector (Vector &Values, int Step) const |
void | GetFirstDerivativesVector (Vector &Values, int Step) const |
void | GetSecondDerivativesVector (Vector &Values, int Step) const |
void | GetSecondDerivativesVector (Vector &Values, int Step) const |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
void | CalculateOnIntegrationPoints (const Variable< array_1d< double, 3 > > &rVariable, std::vector< array_1d< double, 3 > > &rOutput, const ProcessInfo &rCurrentProcessInfo) |
![]() | |
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 | Clone (IndexType NewId, NodesArrayType const &ThisNodes) const |
It creates a new element pointer and clones the previous element data. More... | |
virtual IntegrationMethod | GetIntegrationMethod () const |
virtual void | GetValuesVector (Vector &values, int Step=0) const |
virtual void | Initialize (const ProcessInfo &rCurrentProcessInfo) |
virtual void | ResetConstitutiveLaw () |
virtual void | InitializeSolutionStep (const ProcessInfo &rCurrentProcessInfo) |
virtual void | InitializeNonLinearIteration (const ProcessInfo &rCurrentProcessInfo) |
virtual void | FinalizeSolutionStep (const ProcessInfo &rCurrentProcessInfo) |
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 | CalculateDampingMatrix (MatrixType &rDampingMatrix, 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 VectorType &rRHSVector, const Variable< VectorType > &rRHSVariable, const Variable< array_1d< double, 3 > > &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 vector 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< Vector > &rVariable, Vector &Output, const ProcessInfo &rCurrentProcessInfo) |
virtual void | Calculate (const Variable< Matrix > &rVariable, Matrix &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, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &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, 6 >> &rVariable, std::vector< array_1d< double, 6 >> &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 | CalculateOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, std::vector< ConstitutiveLaw::Pointer > &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< double > &rVariable, const std::vector< double > &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 | SetValuesOnIntegrationPoints (const Variable< Vector > &rVariable, const std::vector< Vector > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< Matrix > &rVariable, const std::vector< Matrix > &rValues, const ProcessInfo &rCurrentProcessInfo) |
virtual void | SetValuesOnIntegrationPoints (const Variable< ConstitutiveLaw::Pointer > &rVariable, const std::vector< ConstitutiveLaw::Pointer > &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... | |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. 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 |
void | PrintData (std::ostream &rOStream) const override |
Print object's data. More... | |
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 | LumpMassMatrix (MatrixType &rMassMatrix) |
Add lumped mass matrix. More... | |
virtual void | AddPointContribution (double &rResult, const Variable< double > &rVariable, const array_1d< double, TNumNodes > &rShapeFunc, const double Weight=1.0) |
Add the weighted value of a variable at a point inside the element to a double. More... | |
void | EvaluateInPoint (double &rResult, const Variable< double > &rVariable, const array_1d< double, TNumNodes > &rShapeFunc) override |
Write the value of a variable at a point inside the element to a double. More... | |
virtual void | AddPointContribution (array_1d< double, 3 > &rResult, const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, TNumNodes > &rShapeFunc, const double Weight=1.0) |
Add the weighted value of a variable at a point inside the element to a vector. More... | |
void | EvaluateInPoint (array_1d< double, 3 > &rResult, const Variable< array_1d< double, 3 > > &rVariable, const array_1d< double, TNumNodes > &rShapeFunc) override |
Write the value of a variable at a point inside the element to a double. More... | |
void | AddIntegrationPointVelocityContribution (MatrixType &rDampingMatrix, VectorType &rDampRHS, const double Density, const double Viscosity, const array_1d< double, 3 > &rAdvVel, const double ReactionTerm, const double TauOne, const double TauTwo, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Add a the contribution from a single integration point to the velocity contribution. More... | |
void | AddMassStabTerms (MatrixType &rLHSMatrix, const double Density, const array_1d< double, 3 > &rAdvVel, const double ReactionTerm, const double TauOne, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
void | CalculateStabilizationTau (double &TauOne, double &TauTwo, const double VelNorm, const double ElemSize, const double Density, const double DynamicViscosity, const double ReactionTerm, const ProcessInfo &rCurrentProcessInfo) |
virtual double | CalculateDarcyTerm (const double Density, const double DynamicViscosity, const double LinearCoefficient, const double NonlinearCoefficient, const array_1d< double, TNumNodes > &rShapefunctions) |
![]() | |
virtual void | CalculateTau (double &TauOne, double &TauTwo, const array_1d< double, 3 > &rAdvVel, const double ElemSize, const double Density, const double Viscosity, const ProcessInfo &rCurrentProcessInfo) |
Calculate Stabilization parameters. More... | |
virtual void | CalculateStaticTau (double &TauOne, const array_1d< double, 3 > &rAdvVel, const double ElemSize, const double Density, const double Viscosity) |
Calculate momentum stabilization parameter (without time term). More... | |
virtual void | AddMomentumRHS (VectorType &F, const double Density, const array_1d< double, TNumNodes > &rShapeFunc, const double Weight) |
Add the momentum equation contribution to the RHS (body forces) More... | |
virtual void | AddProjectionToRHS (VectorType &RHS, const array_1d< double, 3 > &rAdvVel, const double Density, const double TauOne, const double TauTwo, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight, const double DeltaTime=1.0) |
Add OSS projection terms to the RHS. More... | |
void | CalculateLumpedMassMatrix (MatrixType &rLHSMatrix, const double Mass) |
Add lumped mass matrix. More... | |
void | AddConsistentMassMatrixContribution (MatrixType &rLHSMatrix, const array_1d< double, TNumNodes > &rShapeFunc, const double Density, const double Weight) |
void | AddMassStabTerms (MatrixType &rLHSMatrix, const double Density, const array_1d< double, 3 > &rAdvVel, const double TauOne, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Add mass-like stabilization terms to LHS. More... | |
void | AddIntegrationPointVelocityContribution (MatrixType &rDampingMatrix, VectorType &rDampRHS, const double Density, const double Viscosity, const array_1d< double, 3 > &rAdvVel, const double TauOne, const double TauTwo, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Add a the contribution from a single integration point to the velocity contribution. More... | |
void | AddProjectionResidualContribution (const array_1d< double, 3 > &rAdvVel, const double Density, array_1d< double, 3 > &rElementalMomRes, double &rElementalMassRes, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Assemble the contribution from an integration point to the element's residual. More... | |
void | ASGSMomResidual (const array_1d< double, 3 > &rAdvVel, const double Density, array_1d< double, 3 > &rElementalMomRes, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Assemble the contribution from an integration point to the element's residual. More... | |
void | OSSMomResidual (const array_1d< double, 3 > &rAdvVel, const double Density, array_1d< double, 3 > &rElementalMomRes, const array_1d< double, TNumNodes > &rShapeFunc, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Assemble the contribution from an integration point to the element's residual. More... | |
virtual double | EffectiveViscosity (double Density, const array_1d< double, TNumNodes > &rN, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX, double ElemSize, const ProcessInfo &rProcessInfo) |
EffectiveViscosity Calculate the viscosity at given integration point, using Smagorinsky if enabled. More... | |
double | EquivalentStrainRate (const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX) const |
EquivalentStrainRate Calculate the second invariant of the strain rate tensor GammaDot = (2SijSij)^0.5. More... | |
virtual void | GetAdvectiveVel (array_1d< double, 3 > &rAdvVel, const array_1d< double, TNumNodes > &rShapeFunc) |
Write the advective velocity evaluated at this point to an array. More... | |
virtual void | GetAdvectiveVel (array_1d< double, 3 > &rAdvVel, const array_1d< double, TNumNodes > &rShapeFunc, const std::size_t Step) |
Write the advective velocity evaluated at this point to an array. More... | |
void | GetConvectionOperator (array_1d< double, TNumNodes > &rResult, const array_1d< double, 3 > &rVelocity, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv) |
Write the convective operator evaluated at this point (for each nodal funciton) to an array. More... | |
double | ElementSize (const double) |
Return an estimate for the element size h, used to calculate the stabilization parameters. More... | |
virtual void | AddViscousTerm (MatrixType &rDampingMatrix, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Adds the contribution of the viscous term to the momentum equation. More... | |
void | AddBTransCB (MatrixType &rDampingMatrix, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv, const double Weight) |
Adds the contribution of the viscous term to the momentum equation (alternate). More... | |
void | ModulatedGradientDiffusion (MatrixType &rDampingMatrix, const BoundedMatrix< double, TNumNodes, TDim > &rDN_DX, const double Weight) |
void | CalculateB (BoundedMatrix< double,(TDim *TNumNodes)/2, TDim *TNumNodes > &rB, const BoundedMatrix< double, TNumNodes, TDim > &rShapeDeriv) |
Calculate the strain rate matrix. More... | |
virtual void | CalculateC (BoundedMatrix< double,(TDim *TNumNodes)/2,(TDim *TNumNodes)/2 > &rC, const double Viscosity) |
Calculate a matrix that provides the stress given the strain rate. More... | |
double | ConsistentMassCoef (const double Area) |
double | SubscaleErrorEstimate (const ProcessInfo &rProcessInfo) |
double | EquivalentStrainRate (const BoundedMatrix< double, 3, 2 > &rDN_DX) const |
double | EquivalentStrainRate (const BoundedMatrix< double, 4, 3 > &rDN_DX) const |
double | ElementSize (const double Area) |
double | ElementSize (const double Volume) |
void | AddViscousTerm (MatrixType &rDampingMatrix, const BoundedMatrix< double, 3, 2 > &rShapeDeriv, const double Weight) |
void | AddViscousTerm (MatrixType &rDampingMatrix, const BoundedMatrix< double, 4, 3 > &rShapeDeriv, const double Weight) |
void | CalculateB (BoundedMatrix< double, 3, 6 > &rB, const BoundedMatrix< double, 3, 2 > &rShapeDeriv) |
void | CalculateB (BoundedMatrix< double, 6, 12 > &rB, const BoundedMatrix< double, 4, 3 > &rShapeDeriv) |
void | CalculateC (BoundedMatrix< double, 3, 3 > &rC, const double Viscosity) |
void | CalculateC (BoundedMatrix< double, 6, 6 > &rC, const double Viscosity) |
double | ConsistentMassCoef (const double Area) |
double | ConsistentMassCoef (const double Volume) |
Type Definitions | |
Pointer definition of TwoFluidVMS | |
typedef IndexedObject | BaseType |
base type: an IndexedObject that automatically has a unique number More... | |
typedef VMS< TDim, TNumNodes > | ElementBaseType |
Element from which it is derived. 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 ElementBaseType::MatrixType | MatrixType |
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 |
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION (TwoFluidVMS) | |
Serialization | |
class | Serializer |
Additional Inherited Members | |
![]() | |
typedef IndexedObject | BaseType |
base type: an IndexedObject 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 std::vector< std::size_t > | EquationIdVectorType |
typedef std::vector< Dof< double >::Pointer > | DofsVectorType |
typedef PointerVectorSet< Dof< double >, IndexedObject > | DofsArrayType |
typedef array_1d< double, TNumNodes > | ShapeFunctionsType |
typedef BoundedMatrix< double, TNumNodes, TDim > | ShapeFunctionDerivativesType |
![]() | |
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 |
![]() | |
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) |
typedef IndexedObject Kratos::TwoFluidVMS< TDim, TNumNodes >::BaseType |
base type: an IndexedObject that automatically has a unique number
typedef PointerVectorSet<Dof<double>, IndexedObject> Kratos::TwoFluidVMS< TDim, TNumNodes >::DofsArrayType |
typedef std::vector< Dof<double>::Pointer > Kratos::TwoFluidVMS< TDim, TNumNodes >::DofsVectorType |
typedef VMS<TDim, TNumNodes> Kratos::TwoFluidVMS< TDim, TNumNodes >::ElementBaseType |
Element from which it is derived.
typedef std::vector<std::size_t> Kratos::TwoFluidVMS< TDim, TNumNodes >::EquationIdVectorType |
typedef Geometry<NodeType> Kratos::TwoFluidVMS< TDim, TNumNodes >::GeometryType |
definition of the geometry type with given NodeType
typedef std::size_t Kratos::TwoFluidVMS< TDim, TNumNodes >::IndexType |
typedef ElementBaseType::MatrixType Kratos::TwoFluidVMS< TDim, TNumNodes >::MatrixType |
typedef Geometry<NodeType>::PointsArrayType Kratos::TwoFluidVMS< TDim, TNumNodes >::NodesArrayType |
definition of nodes container type, redefined from GeometryType
typedef Node Kratos::TwoFluidVMS< TDim, TNumNodes >::NodeType |
definition of node type (default is: Node)
typedef Properties Kratos::TwoFluidVMS< TDim, TNumNodes >::PropertiesType |
Properties are used to store any parameters related to the constitutive law
typedef std::size_t Kratos::TwoFluidVMS< TDim, TNumNodes >::SizeType |
typedef Vector Kratos::TwoFluidVMS< TDim, TNumNodes >::VectorType |
|
inline |
Default constuctor.
NewId | Index number of the new element (optional) |
|
inline |
Constructor using an array of nodes.
NewId | Index of the new element |
ThisNodes | An array containing the nodes of the new element |
|
inline |
Constructor using a geometry object.
NewId | Index of the new element |
pGeometry | Pointer to a geometry object |
|
inline |
Constuctor using geometry and properties.
NewId | Index of the new element |
pGeometry | Pointer to a geometry object |
pProperties | Pointer to the element's properties |
|
inlineoverride |
Destructor.
|
inlineprotected |
Add a the contribution from a single integration point to the velocity contribution.
|
inlineprotected |
|
inlineprotectedvirtual |
Add the weighted value of a variable at a point inside the element to a vector.
Evaluate a vector variable in the point where the form functions take the values given by rShapeFunc and add the result, weighted by Weight, to rResult. This is an auxiliary function used to compute values in integration points.
rResult | The vector where the value will be added to |
rVariable | The nodal variable to be read |
rShapeFunc | The values of the form functions in the point |
Weight | The variable will be weighted by this value before it is added to rResult |
|
inlineprotectedvirtual |
Add the weighted value of a variable at a point inside the element to a double.
Evaluate a scalar variable in the point where the form functions take the values given by rShapeFunc and add the result, weighted by Weight, to rResult. This is an auxiliary function used to compute values in integration points.
rResult | The double where the value will be added to |
rVariable | The nodal variable to be read |
rShapeFunc | The values of the form functions in the point |
Step | The time Step (Defaults to 0 = Current) |
Weight | The variable will be weighted by this value before it is added to rResult |
|
inlineoverridevirtual |
does nothing for this element
rVariable | |
Output | |
rCurrentProcessInfo |
Reimplemented from Kratos::Element.
|
inlineprotectedvirtual |
Reimplemented in Kratos::TwoFluidVMSLinearizedDarcy< TDim, TNumNodes >, and Kratos::TwoFluidVMSLinearizedDarcy< 3, 4 >.
|
inlineoverridevirtual |
Calculate the element's local contribution to the system for the current step. this function is essentially identical to the one of the father element, to which it only adds a term in the momentum equation to allow imposing weakly the tangential component of the velocity on the cut elements
Reimplemented from Kratos::Element.
|
inlineoverridevirtual |
Computes local contributions to the mass matrix.
Provides the local contributions to the mass matrix, which is defined here as the matrix associated to velocity derivatives. Note that the mass matrix implemented here is lumped.
rMassMatrix | Will be filled with the elemental mass matrix |
rCurrentProcessInfo | the current process info instance |
Reimplemented from Kratos::Element.
|
inlineoverridevirtual |
Provides local contributions from body forces to the RHS.
This is called during the assembly process and provides the RHS terms of the system that are either constant or computed explicitly (from the 'old' iteration variables). In this case this means the body force terms
rRightHandSideVector | Will be filled with the elemental right hand side |
rCurrentProcessInfo | ProcessInfo instance from the ModelPart. It is expected to contain values for DYNAMIC_TAU and DELTA_TIME |
Reimplemented from Kratos::Element.
|
inlineprotected |
|
inlineoverridevirtual |
Checks the input and that all required Kratos variables have been registered.
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 | The ProcessInfo of the ModelPart that contains this element. |
Reimplemented from Kratos::Element.
|
inlineoverridevirtual |
It creates a new element pointer.
NewId | the ID of the new element |
pGeom | the geometry to be employed |
pProperties | the properties assigned to the new element |
Reimplemented from Kratos::Element.
Reimplemented in Kratos::TwoFluidVMSLinearizedDarcy< 3, 4 >.
|
inlineoverridevirtual |
Returns a pointer to a new TwoFluidVMS 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 |
Reimplemented from Kratos::Element.
Reimplemented in Kratos::TwoFluidVMSLinearizedDarcy< 3, 4 >.
|
inlineoverrideprotectedvirtual |
Write the value of a variable at a point inside the element to a double.
Evaluate a scalar variable in the point where the form functions take the values given by rShapeFunc and write the result to rResult. This is an auxiliary function used to compute values in integration points.
rResult | The double where the value will be added to |
rVariable | The nodal variable to be read |
rShapeFunc | The values of the form functions in the point |
Reimplemented from Kratos::VMS< TDim, TDim+1 >.
|
inlineoverrideprotectedvirtual |
Write the value of a variable at a point inside the element to a double.
Evaluate a scalar variable in the point where the form functions take the values given by rShapeFunc and write the result to rResult. This is an auxiliary function used to compute values in integration points.
rResult | The double where the value will be added to |
rVariable | The nodal variable to be read |
rShapeFunc | The values of the form functions in the point |
Step | The time Step (Defaults to 0 = Current) |
Reimplemented from Kratos::VMS< TDim, TDim+1 >.
|
inlineoverridevirtual |
Turn back information as a string.
Reimplemented from Kratos::Element.
Kratos::TwoFluidVMS< TDim, TNumNodes >::KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION | ( | TwoFluidVMS< TDim, TNumNodes > | ) |
|
inlineprotected |
Add lumped mass matrix.
|
inlineoverridevirtual |
Print information about this object.
Reimplemented from Kratos::Element.
|
friend |