Transpiration Boundary Condition
Hi there,
I would like to implement a transpiration boundary condition in SU2 for simulating blowing/suction from a solid permeable surface of an airfoil, for instance. What I exactly mean with transpiration (or permeability) boundary condition is practically a solid wall, where the velocity components tangential to the wall are zero, while a nonzero velocity is allowed in the wall-normal direction. In pratice, this should be something like the already available subsonic BC_Inlet boundary condition with specified flow direction and mass flow, with the only difference that the wall-parallel velocity components should be aware that there is a wall. This is at the moment not the case. Has anyone experience on this or an idea on how to formulate this in SU2? I have been trying to merge the inlet boundary condition and the (for instance) isothermal wall boundary condition but without success at the moment. ______________________ Davide Gatti Postdoctoral Researcher Karlsruhe Institute of Technology (Germany) |
So what happens if you just copy the inlet boundary conditions into the isothermal wall bc function So basically what is inside the function BC_INLET. You throw away the PRESSURE_INLET sections. You hardcode the values for Flow_Dir.
|
Hi bigfootedrockmidget,
thank you for your reply! I'll try to do that asap and report the result. The closest I've done so far is to simply use the BC_Inlet boundary condition to mimic blowing through a portion of the suction side of an airfoil in the subsonic regime. The result was that the imposed velocity was not exactly the one that I prescribed in the configuration file (most importantly, it varied along the chord while it should have been constant). In particular, a wall-parallel velocity component started to build up, like if there was no no-slip condition. This is probably due to the missing viscous correction in BC_Inlet (it is commented out in the code, due to severe convergence problems, a comment says). Probably I should try, when I copy the BC_Inlet in the CNSSolver, to try to reactivate the correction by using the CNSSolver::Viscous_Residual method. What do you think? |
Hi bigfootedrockmidget,
here some tries I have done: 1) If I use BC_Inlet with the laminar compressible boundary layer case, it does not converge 2) If I use BC_Isothermal wall but I modify the SetVelocity_Old part as follows /*--- Store the corrected velocity at the wall which will be zero (v = 0), unless there is grid motion (v = u_wall)---*/ if (dynamic_grid) { nodes->SetVelocity_Old(iPoint, geometry->nodes->GetGridVel(iPoint)); } else { nodes->SetVelocity_Old(iPoint, blowingVelocity); } for (auto iDim = 0u; iDim < nDim; iDim++) LinSysRes(iPoint, iDim+1) = 0.0; nodes->SetVel_ResTruncError_Zero(iPoint); it does converge and the velocity at the wall is correct. The wall-normal velocity does not seem to affect the flow. I obtain a wall-normal velocity profile similar to the boundary layer without blowing, the only difference being the first few 3 to 5 grid points at the wall, where I see an oscillatory behaviour of the wall-normal velocity. 3) If I combine the isothermal and inlet boundary condition, the simulation does not converge, as for the inlet case. |
Hi,
You should not forget that the inlet boundary conditions are imposed in a weak way, so they are not exact. You might want to impose them in a strong way instead. |
Thank you bigfootedrockmidget,
I'll try to compute the inlet state as done in BC_Inlet for the MASS_FLOW inlet and impose it in a strong way as done for (some) variables in BC_Isothermal_Wall. I guess, tough, that I will incur in the same problem as before, i.e. that I do achieve the specified values for the variables at the wall, however these values do not seem to affect the flow. It seems like the information that there is a mass flux is missing. I'll try it and let you know how it goes. Thank you for your support! |
I tried to impose the values of the Primitives computed by BC_Inlet in a strong way (i.e. as done in BC_isothermal_wall by setting Solution_old, setting LinSysRes to zero and making the respective rows of the Jacobian unitary diagonal).
If the velocity I set is actually zero, then everything looks fine and I get a result like the one for the standard boundary layer, as we should. If I set a positive velocity, which would correspond to wall blowing, then I do still get unphyical results. In particular, a positive wall-normal momentum can be observed at the wall and outside of the boundary layer, while within the boundary layer the wall-normal velocity is negative. Maybe I am doing something wrong? Do you see any big problems in my way of proceeding? |
All times are GMT -4. The time now is 05:25. |