13 #ifndef KRATOS_QS_VMS_H
14 #define KRATOS_QS_VMS_H
50 template<
class TElementData >
135 QSVMS(
IndexType NewId, GeometryType::Pointer pGeometry, Properties::Pointer pProperties);
160 Properties::Pointer pProperties)
const override;
171 GeometryType::Pointer pGeom,
172 Properties::Pointer pProperties)
const override;
208 std::vector<double>& rValues,
218 std::vector<Vector>& rValues,
223 std::vector<Matrix>& rValues,
239 std::string
Info()
const override;
243 void PrintInfo(std::ostream& rOStream)
const override;
300 const Vector& rUnitNormal,
311 const TElementData& rData,
327 const TElementData& rData,
330 double &TauTwo)
const;
335 const TElementData& rData,
340 const TElementData& rData,
341 double& rMassRHS)
const;
344 const TElementData& rData,
348 const TElementData& rData,
349 double &rPressureSubscale)
const;
352 const TElementData& rData,
357 const TElementData& rData,
358 double& rMomentumRes)
const;
361 const TElementData& rData,
366 const TElementData& rData,
367 double& rMassRes)
const;
400 void save(
Serializer& rSerializer)
const override;
451 template<
class TElementData >
459 template<
class TElementData >
464 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
std::size_t IndexType
Definition: flags.h:74
Large Displacement Lagrangian Element for 3D and 2D geometries. (base class)
Definition: fluid_element.h:61
static constexpr unsigned int Dim
Definition: fluid_element.h:105
static constexpr unsigned int NumNodes
Definition: fluid_element.h:107
static constexpr unsigned int LocalSize
Definition: fluid_element.h:111
static constexpr unsigned int BlockSize
Definition: fluid_element.h:109
static constexpr unsigned int StrainSize
Definition: fluid_element.h:113
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: fluid_element.hpp:584
This defines the geometrical object, base definition of the element and condition entities.
Definition: geometrical_object.h:58
Geometry base class.
Definition: geometry.h:71
This object defines an indexed object.
Definition: indexed_object.h:54
This class defines the node.
Definition: node.h:65
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
PointerVector is a container like stl vector but using a vector to store pointers to its data.
Definition: pointer_vector.h:72
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
void AddTimeIntegratedLHS(TElementData &rData, MatrixType &rLHS) override
Definition: qs_vms.cpp:379
void Calculate(const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: qs_vms.cpp:73
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: qs_vms.h:84
constexpr static unsigned int BlockSize
Definition: qs_vms.h:99
constexpr static unsigned int LocalSize
Definition: qs_vms.h:100
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: qs_vms.h:86
std::size_t IndexType
Definition: qs_vms.h:78
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: qs_vms.h:76
QSVMS(IndexType NewId=0)
Default constuctor.
Definition: qs_vms.cpp:30
virtual void MassProjTerm(const TElementData &rData, double &rMassRHS) const
Definition: qs_vms.cpp:355
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: qs_vms.cpp:115
virtual void SubscalePressure(const TElementData &rData, double &rPressureSubscale) const
Definition: qs_vms.cpp:783
constexpr static unsigned int Dim
Definition: qs_vms.h:97
Kratos::Vector ShapeFunctionsType
Type for shape function values container.
Definition: qs_vms.h:89
virtual void SubscaleVelocity(const TElementData &rData, array_1d< double, 3 > &rVelocitySubscale) const
Definition: qs_vms.cpp:763
virtual void CalculateProjections(const ProcessInfo &rCurrentProcessInfo)
Definition: qs_vms.cpp:708
std::string Info() const override
Turn back information as a string.
Definition: qs_vms.cpp:264
GeometryType::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: qs_vms.h:95
virtual void MomentumProjTerm(const TElementData &rData, const array_1d< double, 3 > &rConvectionVelocity, array_1d< double, 3 > &rMomentumRHS) const
Definition: qs_vms.cpp:337
virtual void CalculateTau(const TElementData &rData, const array_1d< double, 3 > &Velocity, double &TauOne, double &TauTwo) const
Definition: qs_vms.cpp:681
std::size_t SizeType
Definition: qs_vms.h:80
void AddTimeIntegratedRHS(TElementData &rData, VectorType &rRHS) override
Definition: qs_vms.cpp:386
void AddMassStabilization(TElementData &rData, MatrixType &rMassMatrix)
Definition: qs_vms.cpp:535
virtual void AddViscousTerm(const TElementData &rData, BoundedMatrix< double, LocalSize, LocalSize > &rLHS, VectorType &rRHS)
Definition: qs_vms.cpp:620
virtual void AlgebraicMassResidual(const TElementData &rData, double &rMomentumRes) const
Definition: qs_vms.cpp:306
void CalculateOnIntegrationPoints(Variable< array_1d< double, 3 >> const &rVariable, std::vector< array_1d< double, 3 >> &rValues, ProcessInfo const &rCurrentProcessInfo) override
const Parameters GetSpecifications() const override
This method provides the specifications/requirements of the element.
Definition: qs_vms.cpp:230
void AddTimeIntegratedSystem(TElementData &rData, MatrixType &rLHS, VectorType &rRHS) override
Definition: qs_vms.cpp:369
Geometry< NodeType > GeometryType
Geometry type (using with given NodeType)
Definition: qs_vms.h:67
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(QSVMS)
Pointer definition of QSVMS.
virtual KRATOS_DEPRECATED double EffectiveViscosity(TElementData &rData, double ElementSize)
EffectiveViscosity Evaluate the total kinematic viscosity at a given integration point....
Definition: qs_vms.cpp:642
Node NodeType
Node type (default is: Node)
Definition: qs_vms.h:64
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition of nodes container type, redefined from GeometryType.
Definition: qs_vms.h:70
constexpr static unsigned int NumNodes
Definition: qs_vms.h:98
std::vector< std::size_t > EquationIdVectorType
Definition: qs_vms.h:82
void Calculate(const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
void AddBoundaryTraction(TElementData &rData, const Vector &rUnitNormal, MatrixType &rLHS, VectorType &rRHS) override
Adds the boundary traction component along a cut plane for embedded formulations. This method adds th...
Definition: qs_vms.cpp:577
constexpr static unsigned int StrainSize
Definition: qs_vms.h:101
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: qs_vms.cpp:273
virtual void OrthogonalMassResidual(const TElementData &rData, double &rMassRes) const
Definition: qs_vms.cpp:326
Vector VectorType
Vector type for local contributions to the linear system.
Definition: qs_vms.h:73
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
Create a new element of this type.
Definition: qs_vms.cpp:60
void AddMassLHS(TElementData &rData, MatrixType &rMassMatrix) override
Definition: qs_vms.cpp:502
void AddVelocitySystem(TElementData &rData, MatrixType &rLocalLHS, VectorType &rLocalRHS) override
Definition: qs_vms.cpp:393
virtual void OrthogonalMomentumResidual(const TElementData &rData, const array_1d< double, 3 > &rConvectionVelocity, array_1d< double, 3 > &rResidual) const
Definition: qs_vms.cpp:314
Kratos::Matrix ShapeFunctionDerivativesType
Type for a matrix containing the shape function gradients.
Definition: qs_vms.h:92
virtual void AlgebraicMomentumResidual(const TElementData &rData, const array_1d< double, 3 > &rConvectionVelocity, array_1d< double, 3 > &rResidual) const
Definition: qs_vms.cpp:282
~QSVMS() override
Destructor.
Definition: qs_vms.cpp:53
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
#define KRATOS_DEPRECATED
Definition: define.h:738
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21
std::istream & operator>>(std::istream &rIStream, LinearMasterSlaveConstraint &rThis)
input stream function
std::ostream & operator<<(std::ostream &rOStream, const LinearMasterSlaveConstraint &rThis)
output stream function
Definition: linear_master_slave_constraint.h:432
def load(f)
Definition: ode_solve.py:307