Turbulence model implementation errors
2 Attachment(s)
Dear Foamers,
I have implemented a nonlinear eddy viscosity model, by modifying the kOmegaSST and including additional nonlinear terms (code attached). I get a number of errors as: no matching function to call to 'Foam:: .....' final error as: Quote:
Thanks, Elbert 
Is IV_ a scalar or tensor?
IV_( (S_&&W_)&&W_), If it is a scalar there should be a normal matrix multiplication somewhere either IV_( (S_&W_)&&W_) or IV_( S_&& (W_ & W_) ) 
some other issues...
C1prime_ is defined as a volScalarField, but its just a constant, so I would change it to dimensionedScalar, otherwise you need to supply size information et.c.... Beta2_ is a volScalarField, but you cant just initialize it with a value it needs more information than that. (same error as C1prime_) To get it to compile i just set it to Beta2_( 0.*N_), // why use a volScalarField for a zero? but Im guessing that it really should be something else, otherwise why have it :) aij_ is a symmetric tensor W_ is a tensor and W_ & W_ is just a tensor multiplication, this does not imply that the result is a symmetric tensor. sure in this example it will be, but the code sees this as any other tensor multiplication so you need to explicitly extract the symmetric part. aij_ ( Beta1_ *S_ + Beta2_ * ( (S_ & S_)(1./3.)*(IIs_ * I )) + Beta3_ * (symm(W_ & W_)(1./3.)*( IIo_*I)) // why should a tensor multiplication yield a symm tensor? + Beta4_*symm((S_ & W_)(W_ & S_)) + Beta6_*(symm(((S_ & W_) & W_) + ((W_ & W_) & S_))  (2./3.)*IV_*I  IIo_*S_) + Beta9_*(symm(((W_ & S_) & (W_ & W_))  ((W_ & W_) & (S_ & W_)) + 0.5*IIo_*((S_ & W_)  (W_ & S_)))) ), 
1 Attachment(s)
Hi Niklas,
Thanks, after making changes you suggested, it is working! I did this for aij_ , Quote:
A_=symm(W_&W_) ? In the constructor portion of my BSLEARSM.C (attached) , can you please tell me how I can include this code: Quote:

Quote:
in the tensor class the multiplication operation between two tensors returns another tensor, not a symmetric tensor. Quote:
This is a good start if the dimensions of IIs_ and N_ are the same otherwise use another field which has the same dimensions as N_ or a constructor like the one for nut_. For that kind of complicated expressions you have to place it in here. Code:
{ 
Hi, I am also using this model.
Which reference did you use to write this model. Because your correlations are a little different with mine. Quote:

I used the formulation described here:
"Explicit Algebraic Reynolds Stress Models for Anisotropic WallBounded Flows", F.R. Menter, A.V. Garbaruk, and Y. Egorov. EUCASS – 3rd European Conference for AeroSpace Sciences, July 69th 2009 Versailles 
Does this model work well?
I use the formula of " Wallin, S. and A. Johansson (2000). "An explicit algebraic Reynolds stress model for incompressible and compressible turbulent flows." Journal of Fluid Mechanics 403: 89132 ", it does not work quite well. I want to try this one you use. Would you mind to send me the reference you use because I cannot find the file. my mail: maolongliu@gmail.com Thank you. Quote:

Hi Elbert,
I am also using the WJ model. The reference you are using seem much newer. Would it be possible for you to send me copy as well please: mw405@soton.ac.uk Thanks, Markus. 
Quote:
I recently had a similar issue when implementing Wilcox 1998 komega model (http://turbmodels.larc.nasa.gov/wilcox.html), which is different than the komega model implemented in OF (Wilcox 1988 komega model). I have the following expression Code:
forAll(fBetaStar_, cellI) Why should it be placed there and how is that related to the complexity of the expression? Thanks and best regards, Florian 
Hi all, I know this thread is a bit old but I have a question regarding the implementation of elbertj(thanks for the code), I have been playing with this formulation and my question is the following:
In the kOmega_LowRel.H file to update the omega and G field: Code:
forAll(curPatch, facei) 
All times are GMT 4. The time now is 12:07. 