flux limiter involving tensor : How to use fvc::flux() with volTensorField ?
Hi!
I am trying to build a flux from the fvc::flux() function with an volTensorField. The aim is to use flux limiter such as vanLeer scheme. For a volScalarField I use: Code:
volScalarField fS = blahblah; Now I want to replace the volScalarField fS with a volTensorField TfS but Code:
volTensorField TfS = blahblah; I can replace the previous snippet of code by: Code:
volTensorField TfS = blahblah; Do you know a trick to do such a thing ? Thank you very much for your help, Cyp |
Hi!
I am still facing this problem. Does anyone have an idea to solve this issue ? Best regards, Cyp (and happy new year!) |
Hi!
Here is the solution I found out to use tensor with the fvc::flux() object. Since fvc::flux() doesn't seem to be adapted to volTensorField, I turn the tensor formulation to a sum of scalarField formulation. Hence I can use fvc::flux(). U = Ux + Uy + Uz fS&U = fSxx*Ux+fSyx*Ux+fSzx*Ux + fSxy*Uy+fSyy*Uy + ...... Firstly, I need to get the surfacic flux of each component of the velocity field: Code:
phi_x = linearInterpolate(U.component(vector::X)*vector(1,0,0)) & mesh.Sf(); Then, I defined a surfaceScalarField which is based on the sum of volScalarField: Code:
surfaceScalarField phiS = fvc::flux(phi_x,fSb.component(tensor::XX),sScheme) I hope the snippet above could some of you, Best regards, Cyp |
All times are GMT -4. The time now is 14:07. |