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.
|
Helper class to dynamically determine a value for the Smagorinsly parameter. More...
#include <dynamic_smagorinsky_utilities.h>
Public Member Functions | |
Life Cycle | |
DynamicSmagorinskyUtils (ModelPart &rModelPart, unsigned int DomainSize) | |
Constructor. More... | |
~DynamicSmagorinskyUtils () | |
Destructor. More... | |
Operations | |
void | StoreCoarseMesh () |
Store current mesh as coarse mesh. Call before refining. More... | |
void | CalculateC () |
Provide a value for the Smagorinsky coefficient using the Variational Germano Identity. More... | |
void | CorrectFlagValues (Variable< double > &rThisVariable=FLAG_VARIABLE) |
For the bridge analysis problem, correct the boundary flag after the refinement. More... | |
Helper class to dynamically determine a value for the Smagorinsly parameter.
This class uses the Variational Germano Identity to determine a value for the Smagorinsky parameter. This value is stored in the elemental variable C_SMAGORINSKY, the element implementation is responsible for using it. The ability to assign different values to different patches of elements (identified by the PATCH_INDEX variable) is supported, although it tends to produce unreliable results due to a 0/0 indetermination in patches with smooth velocity fields.
This class is based in Oberai, A.A. and Wanderer, J., Variational formulation of the Germano identity for the Navier Stokes equations, Journal of Turbulence, 2005, vol 6. Note that the formulation described there requires a nested mesh. It takes the model part containing a coarse mesh as input and assumes that all elements will be subdivided before CalculateC() is called.
Remember to call StoreCoarseMesh before refining the element, otherwise the coarse mesh will be lost.
|
inline |
Constructor.
rModelPart | Reference to the model part containing the coarse mesh |
DomainSize | Spatial dimension (2 or 3) |
|
inline |
Destructor.
|
inline |
Provide a value for the Smagorinsky coefficient using the Variational Germano Identity.
|
inline |
For the bridge analysis problem, correct the boundary flag after the refinement.
Remember to run this AFTER EACH REFINEMENT STEP Possible values for the variable: 1.0 inlet, 2.0 bridge surface, 3.0 outlet, 0.0 otherwise
rThisVariable | The Kratos variable used to identify the boundary |
|
inline |
Store current mesh as coarse mesh. Call before refining.
If you are refining more than once, this only has to be called before last refinement.