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.
|
Fluid characteristic numbers calculation utility This class provides static methods to calculate the common adimensional magnitudes that characterize any fluid flow. More...
#include <fluid_characteristic_numbers_utilities.h>
Public Member Functions | |
Life Cycle | |
FluidCharacteristicNumbersUtilities ()=delete | |
Intentionally deleting default constructor. More... | |
Type Definitions | |
typedef std::function< double(const Geometry< Node > &)> | ElementSizeFunctionType |
Function type for the element size calculator function. More... | |
KRATOS_CLASS_POINTER_DEFINITION (FluidCharacteristicNumbersUtilities) | |
Pointer definition of FluidCharacteristicNumbersUtilities. More... | |
Operations | |
static void | CalculateLocalCFL (ModelPart &rModelPart) |
Calculate each element's CFL for the current time step and provided model part The elemental CFL is stored in the CFL_NUMBER elemental variable To visualize in the post-process file, remember to print CFL_NUMBER as a Gauss point result. More... | |
static double | CalculateElementCFL (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator, const double Dt) |
Calulate element CFL number For the given element, this method calculates the CFL number. More... | |
static double | CalculateElementCFLWithSoundVelocity (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator, const double Dt) |
Calulate element CFL number for compressible flows (considering sound velocity) For the given element, this method calculates the CFL number. More... | |
template<bool ConsiderArtificialMagnitudes> | |
static double | CalculateElementPrandtlNumber (const Element &rElement) |
Calculate the element Prandtl number For the given element, this method calculates the Prandtl number. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static std::pair< double, double > | CalculateElementPecletNumbers (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator) |
Calculate the elemental Peclet numbers For the given element, this method calculates the Peclet number considering both the dynamic viscosity and the shear conductivity. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static double | CalculateElementViscousPecletNumber (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator) |
Calculate the elemental Peclet number For the given element, this method calculates the Peclet number. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static double | CalculateElementThermalPecletNumber (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator) |
Calculate the elemental Peclet number For the given element, this method calculates the Peclet number. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static std::pair< double, double > | CalculateElementFourierNumbers (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator, const double Dt) |
Calculate the elemental Fourier numbers For the given element, this method calculates the Fourier number considering both the dynamic viscosity and the shear conductivity. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static double | CalculateElementViscousFourierNumber (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator, const double Dt) |
Calculate the elemental Fourier number For the given element, this method calculates the viscous Fourier number. More... | |
template<bool ConsiderArtificialMagnitudes, bool DensityIsNodal> | |
static double | CalculateElementThermalFourierNumber (const Element &rElement, const ElementSizeFunctionType &rElementSizeCalculator, const double Dt) |
Calculate the elemental Fourier number For the given element, this method calculates the thermal Fourier number. More... | |
static double | CalculateElementMachNumber (const Element &rElement) |
Calculate the element Mach number For the given element, this method calculates the midpoint Mach number Note that it requires the velocity to be stored in the nodal historical database and the sound velocity to be stored in the non-historical one. More... | |
static ElementSizeFunctionType | GetMinimumElementSizeFunction (const Geometry< Node > &rGeometry) |
Get the minimum element size calculation function This method checks the geometry of the provided element and returns the corresponding minimum element size calculation fucntion. More... | |
static ElementSizeFunctionType | GetAverageElementSizeFunction (const Geometry< Node > &rGeometry) |
Get the average element size calculation function This method checks the geometry of the provided element and returns the corresponding average element size calculation fucntion. More... | |
Fluid characteristic numbers calculation utility This class provides static methods to calculate the common adimensional magnitudes that characterize any fluid flow.
typedef std::function<double(const Geometry<Node>&)> Kratos::FluidCharacteristicNumbersUtilities::ElementSizeFunctionType |
Function type for the element size calculator function.
|
delete |
Intentionally deleting default constructor.
|
static |
Calulate element CFL number For the given element, this method calculates the CFL number.
rElement | Element to calculate the CFL number |
rGeometryInfo | Auxiliary geometry data container |
Dt | Current time increment |
|
static |
Calulate element CFL number for compressible flows (considering sound velocity) For the given element, this method calculates the CFL number.
rElement | Element to calculate the CFL number |
rGeometryInfo | Auxiliary geometry data container |
Dt | Current time increment |
|
static |
Calculate the elemental Fourier numbers For the given element, this method calculates the Fourier number considering both the dynamic viscosity and the shear conductivity.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Fourier number |
|
static |
Calculate the element Mach number For the given element, this method calculates the midpoint Mach number Note that it requires the velocity to be stored in the nodal historical database and the sound velocity to be stored in the non-historical one.
rElement | Element to calculate the Mach number |
|
static |
Calculate the elemental Peclet numbers For the given element, this method calculates the Peclet number considering both the dynamic viscosity and the shear conductivity.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Peclet number |
|
static |
Calculate the element Prandtl number For the given element, this method calculates the Prandtl number.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
rElement | Element to calculate the Prandtl number |
|
static |
Calculate the elemental Fourier number For the given element, this method calculates the thermal Fourier number.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Fourier number |
|
static |
Calculate the elemental Peclet number For the given element, this method calculates the Peclet number.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Peclet number |
|
static |
Calculate the elemental Fourier number For the given element, this method calculates the viscous Fourier number.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Fourier number |
|
static |
Calculate the elemental Peclet number For the given element, this method calculates the Peclet number.
ConsiderArtificialMagnitudes | Template parameter specifying if the artificial values are considered |
DensityIsNodal | Template parameter specifying if the density is nodally stored |
rElement | Element to calculate the Peclet number |
|
static |
Calculate each element's CFL for the current time step and provided model part The elemental CFL is stored in the CFL_NUMBER elemental variable To visualize in the post-process file, remember to print CFL_NUMBER as a Gauss point result.
|
static |
Get the average element size calculation function This method checks the geometry of the provided element and returns the corresponding average element size calculation fucntion.
rGeometry | Geoemtry in which the element size is to be computed |
|
static |
Get the minimum element size calculation function This method checks the geometry of the provided element and returns the corresponding minimum element size calculation fucntion.
rGeometry | Geoemtry in which the element size is to be computed |
Kratos::FluidCharacteristicNumbersUtilities::KRATOS_CLASS_POINTER_DEFINITION | ( | FluidCharacteristicNumbersUtilities | ) |
Pointer definition of FluidCharacteristicNumbersUtilities.