13 #ifndef KRATOS_ALTERNATIVE_QS_VMS_DEM_COUPLED_H
14 #define KRATOS_ALTERNATIVE_QS_VMS_DEM_COUPLED_H
59 template<
class TElementData >
169 Properties::Pointer pProperties)
const override;
181 GeometryType::Pointer pGeom,
182 Properties::Pointer pProperties)
const override;
204 std::string
Info()
const override;
208 void PrintInfo(std::ostream& rOStream)
const override;
247 const TElementData& rData,
252 const TElementData& rData,
266 const TElementData& rData,
272 const TElementData& rData,
275 double &TauTwo)
const;
282 unsigned int IntegrationPointIndex,
284 const typename TElementData::MatrixRowType& rN,
285 const typename TElementData::ShapeDerivativesType& rDN_DX,
286 const typename TElementData::ShapeFunctionsSecondDerivativesType& rDDN_DDX)
const;
305 const TElementData& rData);
308 const TElementData& rData,
309 double &rMassRHS)
const override;
312 const TElementData& rData,
316 const TElementData& rData,
317 double &rPressureSubscale)
const override;
330 std::vector<double>& rOutput,
335 std::vector<Matrix>& rValues,
377 void save(
Serializer& rSerializer)
const override;
427 template<
class TElementData >
435 template<
class TElementData >
440 rOStream << std::endl;
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Definition: alternative_qs_vms_dem_coupled.h:61
void CalculateProjections(const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:1151
Geometry< NodeType > GeometryType
Geometry type (using with given NodeType)
Definition: alternative_qs_vms_dem_coupled.h:73
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: alternative_qs_vms_dem_coupled.h:92
void Initialize(const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:70
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(AlternativeQSVMSDEMCoupled)
Pointer definition of AlternativeQSVMSDEMCoupled.
void CalculateResistanceTensor(const TElementData &rData)
Definition: alternative_qs_vms_dem_coupled.cpp:1041
void SubscaleVelocity(const TElementData &rData, array_1d< double, 3 > &rVelocitySubscale) const override
Definition: alternative_qs_vms_dem_coupled.cpp:1210
constexpr static unsigned int BlockSize
Definition: alternative_qs_vms_dem_coupled.h:107
void MassProjTerm(const TElementData &rData, double &rMassRHS) const override
Definition: alternative_qs_vms_dem_coupled.cpp:1082
constexpr static unsigned int Dim
Definition: alternative_qs_vms_dem_coupled.h:105
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: alternative_qs_vms_dem_coupled.h:90
std::string Info() const override
Turn back information as a string.
Definition: alternative_qs_vms_dem_coupled.cpp:338
~AlternativeQSVMSDEMCoupled()
Destructor.
Definition: alternative_qs_vms_dem_coupled.cpp:54
void AddMassStabilization(TElementData &rData, MatrixType &rMassMatrix)
Definition: alternative_qs_vms_dem_coupled.cpp:508
std::vector< std::size_t > EquationIdVectorType
Definition: alternative_qs_vms_dem_coupled.h:88
GeometryData::IntegrationMethod GetIntegrationMethod() const override
Definition: alternative_qs_vms_dem_coupled.cpp:306
constexpr static unsigned int LocalSize
Definition: alternative_qs_vms_dem_coupled.h:108
DenseVector< array_1d< double, Dim > > mPredictedSubscaleVelocity
Definition: alternative_qs_vms_dem_coupled.h:231
void UpdateIntegrationPointDataSecondDerivatives(TElementData &rData, unsigned int IntegrationPointIndex, double Weight, const typename TElementData::MatrixRowType &rN, const typename TElementData::ShapeDerivativesType &rDN_DX, const typename TElementData::ShapeFunctionsSecondDerivativesType &rDDN_DDX) const
Definition: alternative_qs_vms_dem_coupled.cpp:398
constexpr static unsigned int NumNodes
Definition: alternative_qs_vms_dem_coupled.h:106
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
Create a new element of this type.
Definition: alternative_qs_vms_dem_coupled.cpp:58
Kratos::Vector ShapeFunctionsType
Type for shape function values container.
Definition: alternative_qs_vms_dem_coupled.h:95
void UpdateSubscaleVelocity(const TElementData &rData)
Definition: alternative_qs_vms_dem_coupled.cpp:1270
AlternativeQSVMSDEMCoupled(IndexType NewId=0)
Default constuctor.
Definition: alternative_qs_vms_dem_coupled.cpp:30
std::size_t SizeType
Definition: alternative_qs_vms_dem_coupled.h:86
array_1d< double, 3 > FullConvectiveVelocity(const TElementData &rData) const
Definition: alternative_qs_vms_dem_coupled.cpp:1255
Vector VectorType
Vector type for local contributions to the linear system.
Definition: alternative_qs_vms_dem_coupled.h:79
DenseVector< array_1d< double, Dim > > mPreviousVelocity
Definition: alternative_qs_vms_dem_coupled.h:232
void CalculateOnIntegrationPoints(const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:181
void AddViscousTerm(const TElementData &rData, BoundedMatrix< double, LocalSize, LocalSize > &rLHS, VectorType &rRHS) override
Definition: alternative_qs_vms_dem_coupled.cpp:667
void CalculateMassMatrix(MatrixType &rMassMatrix, const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:963
void Calculate(const Variable< array_1d< double, 3 >> &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:224
Kratos::Matrix ShapeFunctionDerivativesType
Type for a matrix containing the shape function gradients.
Definition: alternative_qs_vms_dem_coupled.h:98
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: alternative_qs_vms_dem_coupled.h:82
void AddReactionStabilization(TElementData &rData, BoundedMatrix< double, NumNodes *(Dim+1), NumNodes *(Dim+1)> &rLHS, VectorType &rLocalRHS)
Definition: alternative_qs_vms_dem_coupled.cpp:572
GeometryType::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: alternative_qs_vms_dem_coupled.h:101
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition of nodes container type, redefined from GeometryType.
Definition: alternative_qs_vms_dem_coupled.h:76
void AlgebraicMomentumResidual(const TElementData &rData, const array_1d< double, 3 > &rConvectionVelocity, array_1d< double, 3 > &rResidual) const override
Determine the shape second derivative in the gauss point.
Definition: alternative_qs_vms_dem_coupled.cpp:411
void MomentumProjTerm(const TElementData &rData, const array_1d< double, 3 > &rConvectionVelocity, array_1d< double, 3 > &rMomentumRHS) const override
Definition: alternative_qs_vms_dem_coupled.cpp:462
void AddMassLHS(TElementData &rData, MatrixType &rMassMatrix) override
Definition: alternative_qs_vms_dem_coupled.cpp:1051
void SubscalePressure(const TElementData &rData, double &rPressureSubscale) const override
Definition: alternative_qs_vms_dem_coupled.cpp:1233
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: alternative_qs_vms_dem_coupled.cpp:347
Node NodeType
Node type (default is: Node)
Definition: alternative_qs_vms_dem_coupled.h:70
void CalculateLocalVelocityContribution(MatrixType &rDampMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:999
void CalculateTau(const TElementData &rData, const array_1d< double, 3 > &Velocity, BoundedMatrix< double, Dim, Dim > &TauOne, double &TauTwo) const
Definition: alternative_qs_vms_dem_coupled.cpp:1102
GeometryType::ShapeFunctionsSecondDerivativesType ShapeFunctionsSecondDerivativesType
Definition: alternative_qs_vms_dem_coupled.h:103
void AddVelocitySystem(TElementData &rData, MatrixType &rLocalLHS, VectorType &rLocalRHS) override
Definition: alternative_qs_vms_dem_coupled.cpp:688
int mInterpolationOrder
Definition: alternative_qs_vms_dem_coupled.h:228
constexpr static unsigned int StrainSize
Definition: alternative_qs_vms_dem_coupled.h:109
DenseVector< BoundedMatrix< double, Dim, Dim > > mViscousResistanceTensor
Definition: alternative_qs_vms_dem_coupled.h:229
void InitializeNonLinearIteration(const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:353
std::size_t IndexType
Definition: alternative_qs_vms_dem_coupled.h:84
void FinalizeNonLinearIteration(const ProcessInfo &rCurrentProcessInfo) override
Definition: alternative_qs_vms_dem_coupled.cpp:376
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: alternative_qs_vms_dem_coupled.cpp:318
std::size_t IndexType
Definition: flags.h:74
void PrintData(std::ostream &rOStream) const override
Print object's data.
Definition: fluid_element.hpp:584
IntegrationMethod
Definition: geometry_data.h:76
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
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
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
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