In the FlameMaster input file, we can specify the strainrate as an initial guess. In addition, we can also specify the mass flux boundary condition at the fuel and oxidizer sides (in the case of counterflow diffusion flames).
The definition of the strainrate according to the User Manual is: “Defined as the horizonal gradient of the vertical velocity at the stagnation plane”.
In the code, there are two types of strainrates calculated:
1) Sesha Strain rate: Double TCountDiffPhysEigen::GetSeshaStrainRate( void )
TNewtonPtr bt = GetSolver()->bt;
TGridPtr currentGrid = bt->GetGrid()->GetCurrentGrid();
Double *yLeft = currentGrid->GetYLeft()->vec,
*yRight = currentGrid->GetYRight()->vec;
Double *rho = fProperties->GetDensity()->vec;
int gridPoints = currentGrid->GetNGridPoints();
Double rhoOx = rho[gridPoints];
Double rhoFu = rho[-1];
Double vOx = fabs( yRight[fVVelocity] / rhoOx );
Double vFu = fabs( yLeft[fVVelocity] / rhoFu );
return 2.0 * vOx * ( 1.0 + vFu / vOx * sqrt( rhoFu/rhoOx ) )
/ ( bt->GetRight() - bt->GetLeft() );
This definition agrees with the Global strain rate definition as found by Williams and Seshadri. Also see the following papers for the definition:
https://doi.org/10.1080/00102202.2018.1452128
https://doi.org/10.1016/S0010-2180(03)00012-9
2) Liquid Pool strain rate: Double TCountDiffPhysEigen::GetLiquidPoolStrainRate( void )
TNewtonPtr bt = GetSolver()->bt;
TGridPtr currentGrid = bt->GetGrid()->GetCurrentGrid();
Double *yLeft = currentGrid->GetYLeft()->vec,
*yRight = currentGrid->GetYRight()->vec;
Double *rho = fProperties->GetDensity()->vec;
int gridPoints = currentGrid->GetNGridPoints();
Double rhoOx = rho[gridPoints];
Double rhoFu = rho[-1];
Double vOx = fabs( yRight[fVVelocity] / rhoOx );
Double vFu = fabs( yLeft[fVVelocity] / rhoFu );
return 2.0 * vOx / ( bt->GetRight() - bt->GetLeft() );
This definition is also found in the Williams and Seshadri paper, and it is cited along with the equation in this paper. This strainrate is also calculated in the code.
If you specify the inlet/outlet mass fluxes, the code will calculate both the strain rates. It is always advisable to specify the mass fluxes as the boundary condition.