14 #ifndef KRATOS_FIC_FLUID_ELEMENT_H
15 #define KRATOS_FIC_FLUID_ELEMENT_H
55 template<
class TElementData >
140 FIC(
IndexType NewId, GeometryType::Pointer pGeometry, Properties::Pointer pProperties);
165 Properties::Pointer pProperties)
const override;
176 GeometryType::Pointer pGeom,
177 Properties::Pointer pProperties)
const override;
212 std::vector<double>& rValues,
222 std::vector<Vector>& rValues,
227 std::vector<Matrix>& rValues,
243 std::string
Info()
const override;
247 void PrintInfo(std::ostream& rOStream)
const override;
302 const Vector& rUnitNormal,
313 const TElementData& rData,
318 const TElementData& rData,
325 const TElementData& rData,
329 const TElementData& rData,
330 const Vector& rConvection,
364 void save(
Serializer& rSerializer)
const override;
415 template<
class TElementData >
423 template<
class TElementData >
428 rOStream << std::endl;
436 namespace Internals {
438 template <
class TElementData,
bool TDataKnowsAboutTimeIntegration>
445 template <
class TElementData>
452 template <
class TElementData>
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
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
static void AddSystem(FIC< TElementData > *pElement, TElementData &rData, Kratos::Matrix &rLHS, Vector &rRHS)
static void AddSystem(FIC< TElementData > *pElement, TElementData &rData, Kratos::Matrix &rLHS, Vector &rRHS)
static void AddSystem(FIC< TElementData > *pElement, TElementData &rData, Kratos::Matrix &rLHS, Vector &rRHS)
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
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
std::string Info() const override
Turn back information as a string.
Definition: fic.cpp:215
void AddMassLHS(TElementData &rData, MatrixType &rMassMatrix) override
Definition: fic.cpp:389
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: fic.h:81
Kratos::Matrix ShapeFunctionDerivativesType
Type for a matrix containing the shape function gradients.
Definition: fic.h:97
constexpr static unsigned int NumNodes
Definition: fic.h:103
constexpr static unsigned int BlockSize
Definition: fic.h:104
GeometryType::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: fic.h:100
void Calculate(const Variable< array_1d< double, 3 > > &rVariable, array_1d< double, 3 > &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Vector VectorType
Vector type for local contributions to the linear system.
Definition: fic.h:78
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: fic.h:89
std::size_t SizeType
Definition: fic.h:85
constexpr static unsigned int LocalSize
Definition: fic.h:105
void Calculate(const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Definition: fic.cpp:74
void CalculateOnIntegrationPoints(Variable< array_1d< double, 3 >> const &rVariable, std::vector< array_1d< double, 3 >> &rValues, ProcessInfo const &rCurrentProcessInfo) override
std::size_t IndexType
Definition: fic.h:83
Kratos::Vector ShapeFunctionsType
Type for shape function values container.
Definition: fic.h:94
virtual void CalculateTau(const TElementData &rData, const array_1d< double, 3 > &Velocity, double &TauIncompr, double &TauMomentum, array_1d< double, 3 > &TauGrad) const
Definition: fic.cpp:525
std::vector< std::size_t > EquationIdVectorType
Definition: fic.h:87
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: fic.cpp:224
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition of nodes container type, redefined from GeometryType.
Definition: fic.h:75
~FIC() override
Destructor.
Definition: fic.cpp:54
void AddMassStabilization(TElementData &rData, MatrixType &rMassMatrix)
Definition: fic.cpp:417
void AddTimeIntegratedSystem(TElementData &rData, MatrixType &rLHS, VectorType &rRHS) override
Definition: fic.cpp:257
virtual void CalculateTauGrad(const TElementData &rData, array_1d< double, 3 > &TauGrad) const
Definition: fic.cpp:581
Geometry< NodeType > GeometryType
Geometry type (using with given NodeType)
Definition: fic.h:72
void AddVelocitySystem(TElementData &rData, MatrixType &rLocalLHS, VectorType &rLocalRHS) override
Definition: fic.cpp:279
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
Create a new element of this type.
Definition: fic.cpp:61
void AddViscousTerm(const TElementData &rData, BoundedMatrix< double, LocalSize, LocalSize > &rLHS, VectorType &rRHS)
Definition: fic.cpp:504
const Parameters GetSpecifications() const override
This method provides the specifications/requirements of the element.
Definition: fic.cpp:181
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: fic.cpp:113
virtual void AlgebraicMomentumResidual(const TElementData &rData, const Vector &rConvection, array_1d< double, 3 > &rResidual) const
Definition: fic.cpp:233
Node NodeType
Node type (default is: Node)
Definition: fic.h:69
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(FIC)
Pointer definition of FIC.
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: fic.h:91
constexpr static unsigned int Dim
Definition: fic.h:102
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: fic.cpp:461
void AddTimeIntegratedLHS(TElementData &rData, MatrixType &rLHS) override
Definition: fic.cpp:267
FIC(IndexType NewId=0)
Default constuctor.
Definition: fic.cpp:31
void AddTimeIntegratedRHS(TElementData &rData, VectorType &rRHS) override
Definition: fic.cpp:273
constexpr static unsigned int StrainSize
Definition: fic.h:106
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