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.
|
Auxiliary utility to compute the drag force. More...
#include <drag_utilities.h>
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< Node > | GeometryType |
typedef IntegrationPoint< 3 > | IntegrationPointType |
typedef std::vector< IntegrationPointType > | IntegrationPointsArrayType |
KRATOS_CLASS_POINTER_DEFINITION (DragUtilities) | |
Pointer definition of DragUtilities. More... | |
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).
typedef std::vector<IntegrationPointType> Kratos::DragUtilities::IntegrationPointsArrayType |
|
inline |
Constructor.
|
inline |
Destructor.
Computes the integral of the pressure stress term normal projection over the conditions of the given modelpart
rModelPart | reference to the model part in where the drag is to be computed |
Computes the integral of the Cauchy stress term normal projection in the given modelpart elements.
rModelPart | reference to the model part in where the drag is to be computed |
array_1d< double, 3 > Kratos::DragUtilities::CalculateEmbeddedDragCenter | ( | const ModelPart & | rModelPart | ) |
Calculates the drag force location in embedded formulations
rModelPart | reference to the model part in where the drag force location is to be computed |
std::string Kratos::DragUtilities::Info | ( | ) | const |
Turn back information as a string.
Kratos::DragUtilities::KRATOS_CLASS_POINTER_DEFINITION | ( | DragUtilities | ) |
Pointer definition of DragUtilities.
void Kratos::DragUtilities::PrintData | ( | std::ostream & | rOStream | ) | const |
Print object's data.
void Kratos::DragUtilities::PrintInfo | ( | std::ostream & | rOStream | ) | const |
Print information about this object.