Strain Rate and Mass flux Velocity

Strain Rate and Mass flux Velocity

naray202 edited this page on Jan 12 · 4 revisions

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

https://sites.ji.sjtu.edu.cn/dezhi-zhou/wp-content/uploads/sites/25/2021/04/393e970ab5d7fa6fa3af0d0f32be133b.pdf

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.