double dot tensor product (double inner product) implementation
[RESOLVED]
Hello, I'm trying to solve energy equation using a modified icoFoam solver. I would like to take into account viscous dissipations in energy equation and to do that I need to calculate the double inner product between the viscous stress tensor and gradient of velocity. I tried this: Code:
//tensors computation Code:
error: no match for ‘operator-’ in ‘Foam::operator-(const Foam::tmp<Foam::fvMatrix<Type> >&, const Foam::tmp<Foam::fvMatrix<Type> >&) [with Type = Foam::Vector<double>](((const Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > >&)((const Foam::tmp<Foam::fvMatrix<Foam::Vector<double> > >*)(& Foam::fvm::laplacian(const Foam::dimensioned<Type2>&, Foam::GeometricField<Type, Foam::fvPatchField, Foam::volMesh>&) [with Type = Foam::Vector<double>, GType = double](((Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>&)(& T))))))) Code:
- (tau && gradU) So it's seems to be the double dot product implementation which doesn't work... Any ideas ? (I use OpenFoam1.7.1) Thanks in advance Clément |
Hi,
just a suggestion but I not sure it works: Quote:
|
Thank you Amir,
I understood my mistake ! T was declared as a vector field in my createField.H ! I don't understand anymore why it successed to compile without the inner product term. Although laplacian can be a vector field, I believed that the divergence one cannot... Maybe the divergence of a tensor field is a vector field ? Anyway, that's working perfectly now. Bye |
All times are GMT -4. The time now is 23:32. |