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.
List of all members
Kratos::DragUtilities Class Reference

Auxiliary utility to compute the drag force. More...

#include <drag_utilities.h>

Collaboration diagram for Kratos::DragUtilities:

Public Member Functions

Life Cycle
 DragUtilities ()
 Constructor. More...
 
 ~DragUtilities ()
 Destructor. More...
 
Operations
array_1d< double, 3 > CalculateBodyFittedDrag (ModelPart &rModelPart)
 
array_1d< double, 3 > CalculateEmbeddedDrag (ModelPart &rModelPart)
 
array_1d< double, 3 > CalculateEmbeddedDragCenter (const ModelPart &rModelPart)
 
Input and output
std::string Info () const
 Turn back information as a string. More...
 
void PrintInfo (std::ostream &rOStream) const
 Print information about this object. More...
 
void PrintData (std::ostream &rOStream) const
 Print object's data. More...
 

Type Definitions

typedef Geometry< NodeGeometryType
 
typedef IntegrationPoint< 3 > IntegrationPointType
 
typedef std::vector< IntegrationPointTypeIntegrationPointsArrayType
 
 KRATOS_CLASS_POINTER_DEFINITION (DragUtilities)
 Pointer definition of DragUtilities. More...
 

Detailed Description

Auxiliary utility to compute the drag force.

For embedded formulations, this utility iterates all the elements of a provided model part. In this iteration calls the calculate method of each element to compute the value of the variable DRAG_FORCE. If the element is split, this method computes the integration of the stress term over the interface. Otherwise, the value is just zero. The obtained values are accumulated to get the total drag force in the model part.

Note that if there is more than one embedded object, one just needs to save the surrounding elements to each embedded object in different submodelparts and call this process for each one of that submodelparts.

For the body fitted slip case, it integrates the pressure stress term over the given submodelpart conditions (the shear stress term is assumed to be zero).

Member Typedef Documentation

◆ GeometryType

◆ IntegrationPointsArrayType

◆ IntegrationPointType

Constructor & Destructor Documentation

◆ DragUtilities()

Kratos::DragUtilities::DragUtilities ( )
inline

Constructor.

◆ ~DragUtilities()

Kratos::DragUtilities::~DragUtilities ( )
inline

Destructor.

Member Function Documentation

◆ CalculateBodyFittedDrag()

array_1d< double, 3 > Kratos::DragUtilities::CalculateBodyFittedDrag ( ModelPart rModelPart)

Computes the integral of the pressure stress term normal projection over the conditions of the given modelpart

Parameters
rModelPartreference to the model part in where the drag is to be computed
Returns
An array containing the drag force value.

◆ CalculateEmbeddedDrag()

array_1d< double, 3 > Kratos::DragUtilities::CalculateEmbeddedDrag ( ModelPart rModelPart)

Computes the integral of the Cauchy stress term normal projection in the given modelpart elements.

Parameters
rModelPartreference to the model part in where the drag is to be computed
Returns
An array containing the drag force value.

◆ CalculateEmbeddedDragCenter()

array_1d< double, 3 > Kratos::DragUtilities::CalculateEmbeddedDragCenter ( const ModelPart rModelPart)

Calculates the drag force location in embedded formulations

Parameters
rModelPartreference to the model part in where the drag force location is to be computed
Returns
An array containing the drag force location coordinates.

◆ Info()

std::string Kratos::DragUtilities::Info ( ) const

Turn back information as a string.

◆ KRATOS_CLASS_POINTER_DEFINITION()

Kratos::DragUtilities::KRATOS_CLASS_POINTER_DEFINITION ( DragUtilities  )

Pointer definition of DragUtilities.

◆ PrintData()

void Kratos::DragUtilities::PrintData ( std::ostream &  rOStream) const

Print object's data.

◆ PrintInfo()

void Kratos::DragUtilities::PrintInfo ( std::ostream &  rOStream) const

Print information about this object.


The documentation for this class was generated from the following files: