Hi all, I expected laplacia
I expected laplacian scheme when using a tensor Gamma to reproduce, say, an anisotropic material heat transfer.
But when I checked gaussLaplacianScheme.C, I realized that it actually takes the trace of the tensor, instead of the tensor itself...
What is the reason for that? (I suspect it is because otherwise we could not multiply Sf by vf and take advantage of snGrad. Is that right?)
Any suggestions on how to implement a fvm scheme like div ( gammaTensor * grad(T) ) or even div (gammaTensor & grad(U))?
Thanks a lot.
As you correctly say, if you w
As you correctly say, if you want to have tensorial viscosity and make use of the snGrad, you can only make it implicit in the trace. What you do is to decompose the tensor into the diagonal bit and the rest and for the diagonal bit the (S_f . grad) maps through to
(phi_N - phi_P)/distance
For the rest, you cannot do the trick because the tensorial viscosity dots the gradient before the face area vector (so there is a rotation). Thus, for the full tensorial viscosity, you will have an implicit and explicit part; you have to be pretty careful because of possible stability/boundedness problems. For an example of how to add the explicit part, have a look at how non-orthogonal correction is handled - pretty easy.
If your variable is a vector, we can recognise that tensorial viscosity actually represents a rotation and couples the components of the vector, making it interesting for the block solver, but that's further down the line.
BTWm can you tell me what kind of tensorial viscosity you are looking at - I suspect it is at least a symmetric tensor. If you align the grid with the eigenvalues (like you can for porous media), you may get much better behaviour because the explicit correction vanishes.
Thanks Prof. Jasak, Yes I am
Thanks Prof. Jasak,
Yes I am using a symmetric tensor.
|All times are GMT -4. The time now is 23:35.|