14 #ifndef KRATOS_EMBEDDED_FLUID_ELEMENT_H
15 #define KRATOS_EMBEDDED_FLUID_ELEMENT_H
53 template<
class TBaseElement >
94 constexpr
static unsigned int Dim = TBaseElement::Dim;
95 constexpr
static unsigned int NumNodes = TBaseElement::NumNodes;
96 constexpr
static unsigned int BlockSize = TBaseElement::BlockSize;
97 constexpr
static unsigned int LocalSize = TBaseElement::LocalSize;
98 constexpr
static unsigned int StrainSize = TBaseElement::StrainSize;
160 Properties::Pointer pProperties)
const override;
172 Properties::Pointer pProperties)
const override;
278 std::string
Info()
const override;
282 void PrintInfo(std::ostream& rOStream)
const override;
464 void save(
Serializer& rSerializer)
const override;
484 void CalculateDragForce(
495 void CalculateDragForceCenter(
509 inline double AuxiliaryDensityGetter(
511 const unsigned int NodeIndex)
const;
538 namespace Internals {
540 template <
size_t TDim,
size_t TNumNodes>
558 template<
class TElementData >
566 template<
class TElementData >
571 rOStream << std::endl;
572 rThis.PrintData(rOStream);
PeriodicInterfaceProcess & operator=(const PeriodicInterfaceProcess &)=delete
Base class for all Elements.
Definition: element.h:60
Definition: embedded_data.h:29
std::vector< array_1d< double, 3 > > InterfaceNormalsType
Definition: embedded_data.h:39
Definition: embedded_fluid_element.h:55
void DefineCutGeometryData(EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:359
void AddBoundaryConditionPenaltyContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:757
Kratos::Matrix ShapeFunctionDerivativesType
Type for a matrix containing the shape function gradients.
Definition: embedded_fluid_element.h:89
void AddSlipTangentialSymmetricCounterpartContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:612
double ComputeSlipNormalPenaltyCoefficient(const EmbeddedElementData &rData, const Vector &rN) const
Definition: embedded_fluid_element.cpp:698
Matrix MatrixType
Matrix type for local contributions to the linear system.
Definition: embedded_fluid_element.h:73
void PrintInfo(std::ostream &rOStream) const override
Print information about this object.
Definition: embedded_fluid_element.cpp:305
constexpr static unsigned int Dim
Definition: embedded_fluid_element.h:94
std::vector< Dof< double >::Pointer > DofsVectorType
Definition: embedded_fluid_element.h:81
Vector VectorType
Vector type for local contributions to the linear system.
Definition: embedded_fluid_element.h:70
void AddSlipNormalSymmetricCounterpartContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:450
KRATOS_CLASS_INTRUSIVE_POINTER_DEFINITION(EmbeddedFluidElement)
Pointer definition of EmbeddedFluidElement.
Geometry< NodeType >::ShapeFunctionsGradientsType ShapeFunctionDerivativesArrayType
Type for an array of shape function gradient matrices.
Definition: embedded_fluid_element.h:92
EmbeddedFluidElement(IndexType NewId=0)
Default constuctor.
Definition: embedded_fluid_element.cpp:21
void AddSlipTangentialPenaltyContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:532
int Check(const ProcessInfo &rCurrentProcessInfo) const override
Definition: embedded_fluid_element.cpp:243
std::size_t IndexType
Definition: embedded_fluid_element.h:75
void NormalizeInterfaceNormals(typename EmbeddedElementData::InterfaceNormalsType &rNormals, double Tolerance) const
Definition: embedded_fluid_element.cpp:392
constexpr static unsigned int StrainSize
Definition: embedded_fluid_element.h:98
Kratos::Vector ShapeFunctionsType
Type for shape function values container.
Definition: embedded_fluid_element.h:86
PointerVectorSet< Dof< double >, IndexedObject > DofsArrayType
Definition: embedded_fluid_element.h:83
void AddBoundaryConditionModifiedNitscheContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:866
constexpr static unsigned int LocalSize
Definition: embedded_fluid_element.h:97
~EmbeddedFluidElement() override
Destructor.
Definition: embedded_fluid_element.cpp:43
Geometry< NodeType >::PointsArrayType NodesArrayType
Definition of nodes container type, redefined from GeometryType.
Definition: embedded_fluid_element.h:67
void Initialize(const ProcessInfo &rCurrentProcessInfo) override
Set up the element for solution.
Definition: embedded_fluid_element.cpp:63
void DefineStandardGeometryData(EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:349
double ComputePenaltyCoefficient(const EmbeddedElementData &rData, const Vector &rN) const
Definition: embedded_fluid_element.cpp:809
constexpr static unsigned int NumNodes
Definition: embedded_fluid_element.h:95
std::vector< std::size_t > EquationIdVectorType
Definition: embedded_fluid_element.h:79
void InitializeGeometryData(EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:321
void AddSlipNormalPenaltyContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:402
Element::Pointer Create(IndexType NewId, NodesArrayType const &ThisNodes, Properties::Pointer pProperties) const override
Create a new element of this type.
Definition: embedded_fluid_element.cpp:50
std::pair< const double, const double > ComputeSlipTangentialPenaltyCoefficients(const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:723
void CalculateLocalSystem(MatrixType &rLeftHandSideMatrix, VectorType &rRightHandSideVector, const ProcessInfo &rCurrentProcessInfo) override
Calculates both LHS and RHS contributions.
Definition: embedded_fluid_element.cpp:84
std::string Info() const override
Turn back information as a string.
Definition: embedded_fluid_element.cpp:298
std::size_t SizeType
Definition: embedded_fluid_element.h:77
void CalculateOnIntegrationPoints(const Variable< array_1d< double, 3 >> &rVariable, std::vector< array_1d< double, 3 >> &rValues, const ProcessInfo &rCurrentProcessInfo) override
Get the Value On Integration Points object Computes the value in the Gauss pts. for a three component...
Definition: embedded_fluid_element.cpp:217
const Parameters GetSpecifications() const override
Definition: embedded_fluid_element.cpp:258
std::pair< const double, const double > ComputeSlipTangentialNitscheCoefficients(const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:740
typename TBaseElement::ElementData BaseElementData
Definition: embedded_fluid_element.h:100
void DropOuterNodesVelocityContribution(MatrixType &rLHS, VectorType &rRHS, const EmbeddedElementData &rData) const
Definition: embedded_fluid_element.cpp:845
void Calculate(const Variable< double > &rVariable, double &rOutput, const ProcessInfo &rCurrentProcessInfo) override
Computes an elemental double value.
Definition: embedded_fluid_element.cpp:145
Node NodeType
Node type (default is: Node)
Definition: embedded_fluid_element.h:64
constexpr static unsigned int BlockSize
Definition: embedded_fluid_element.h:96
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
The serialization consists in storing the state of an object into a storage format like data file or ...
Definition: serializer.h:123
ModifiedShapeFunctions::Pointer GetShapeFunctionCalculator(const Element &rElement, const Vector &rDistance)
pybind11::list CalculateOnIntegrationPoints(TObject &dummy, const Variable< TDataType > &rVariable, const ProcessInfo &rProcessInfo)
Definition: add_mesh_to_python.cpp:142
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